Phone not detected with adb in the VirtualBox Ubuntu guest

If you create a Linux Virtual Machine using VirtualBox, then you will find that when an Android Phone is connected to the computer via USB port, it will not be detected in the Linux virtual machine.

To overcome this, in VirtualBox select Machine->Settings->USB and check Enable USB Controller and also check Enable USB 2.0 (EHCI) Controller

If there are still Invalid settings detected, then download the VirtualBox extension pack for the version of VirtualBox you have installed on your computer from

Once download complete, select File->Preferences->Extensions to add the extension. Then select the Virtual Machine (Ubuntu) in my case and add the extension.

Restart the virtual machine.

Add the USB 2.0 device and hopefully it should show up as the phone.

If the above does not work, add your user ID to the vboxusers group from Settings -> Users and Groups on the host.

Next ensure Android Debugging or USB Debugging is enabled on the phone. If not, you will keep getting error: device not found till you enable this Android Debugging or USB Debugging.