I am using VirtualBox 4.0.8 on Windows 7 64-bit Professional. I have two guests, one Ubuntu 11.04 64-bit and one Ubuntu 11.04 32-bit. On these I run Eclipse and other development tools, in order to develop Android applications.
To debug my applications on a real phone, I connect my Google Nexus S via USB and publish/debug the application on the physical phone through Eclipse on the VM. This has worked fine in VMware Player, but I recently switched to VirtualBox which overall seems more responsive and has a cleaner user interface. In VirtualBox, however, I can't get the USB redirection to work for the Nexus S.
I tried other USB devices, like USB sticks, and they work. But when I plug in the Nexus S, the "connected" symbol only shows for a few seconds (if I have the USB filter enabled), then it disconnects. Also, I cannot mount any USB storage on the Nexus S in any of the Ubuntu guests. I have installed the extension pack and enabled USB 2.0, but the command lsusb just shows me the USB 1.1 port hub and the USB 2.0 port hub, nothing else.
I have tried:
- Installing a pre-beta of VirtualBox 4.1, as per suggestion in the IRC channel.
- Various combinations of reboots, plug in before enabling filter, plug in with focus, have phone plugged in during startup, etc, etc (this could be twenty other "have tried"-points, but let's keep it at this )
- The same thing on both my Ubuntu guests (installed the 32-bit version particulary for this).
People at IRC (thanks to klaus-vb for his help!) told me it probably was caused by the Nexus S switching USB identities when plugged in. However, I added a USB "any"-filter (with only the vendorId set) which should capture them all, but that doesn't help.
I also found a thread over at xda-developers with people having the same problem. Their solution was to switch to VMware, which is kind of bad for VirtualBox I guess... Check the thread here: http://forum.xda-developers.com/showthread.php?t=882708. However, there are other people who actually got this working on another phone: http://www.balyer.com/android-development-with-virtualbox-and-the-lg-p500-phone/. I tried to follow those steps, but my Nexus S just wont show up using lsusb.
I would be happy to help any developer to find this bug, just contact me with information on what kind of logs/information I can extract etc or how I can help. The only thing I cannot help you with is to give you a Nexus S, I am a student and have bought the phone particulary to learn how to develop Android applications and have a good phone to test them on, and I cannot afford to buy one more for you guys
Thanks in advance for any response! As I said, I am ready to spend some time to help investigate this if anyone believes it's a bug.