virtualbox-usb-winxp-host-linux-guest
FIRST: make sure the device works fine with your host machine SECOND: pick a linux distro that has good autoconfiguration for devices e.g. knoppix, damnSmallLinux, etc.
Often your device will end up in one of three states: Host controls it (and won't allow others to use it) Guest controls it (and won't allow others to use it - sometimes even other Guests!) Host & Guest have a tug of war or the Guest takes control but doesn't have the right info...
bset the settings with a filter that the remote does not have access (i suppose to prevent read/write conflicts)
if you need to pick multiple existing devices (you may have to plug in your usb for it to be recognized by the host os and then the virtualbox software will list it so that you can add a filter for it that does NOT allow access by the remote machine)
start the virtual machine
insert the usb device in the port and
ensure that it is checked in the menu under devices
you can use "Devices" -> usb -> look for the name of your device (e.g. lexar media or kingston etc.)
you will then notice a prompt (if in winxp) for drivers, just use install automatically and it will install vboxusb.inf or something so that you can use your device in virtualbox.
gets an error "USB device ... with UUID is busy with a previous request.
following opensourceexperiments.wordpress blog about it
connect the device & ensure windows has the right drivers, then you'll be able to add a filter (no remote access) for that particular device (you should see the "safely remove icon" in windows)
start up the usb and try fdisk -l (iscsi device?)
more /proc/scsi/scsi dmesg //shows us that the device was remounted or something?
from virtualbox forums (because error shows it is always busy)
- start vb cpu
- right click usb device and select it -> driver will load/andor error msg will appear
- shutdown vb cpu
- in the settings for the vb cpu, usb -> enable
- "add from" to select it again (add the filter)
- confirm that remote has no access and click ok
- unplug usb device
- start vb cpu
- plug usb device in
GET I/O ERROR: DEV ...
GOOD ADVICE (note, device manager in my case detected a generic driver/device so skip below if that's your case too) open device manager, choose view->devices by connection browse through the tree until you find your device (proves that the host has installed with drivers) right click on the device and choose the "Details" tab to see the "Hardware Ids" write it down (e.g. USBSTOR\DiskLexar__Media_Inc._SM/xD019D) Choose the "blank filter (empty blue circle)"
on the details: enter the 3 four digit hexadecimal numbers from the ID string from device manager: four characters following 'Vid_' (vendor id) e.g. LEXAR four characters following 'PID' (product id) e.g. MEDIA_INC.SD four characters following 'REV' (revision) e.g. REV_019D
these, from windows, unfortunately are not hexadecimal =(
THERE ARE LISTS ON THE INTERNET OF MANUFACTURERS AND THEIR VENDOR/PRODUCT ID'S www.linux-usb.org/usb.ids and better yet listing.driveragent.com/usb
which lists the hex usb id for the Lexar Media 2.0 Multi-Card Reader lexar VID = 0x 05dc lexar PID = 0x b018
AN ALTERNATIVE IS usbview.exe (a free app from microsoft, and there's also a linux version by the same name) it shows me (in tree view of devices by connection) VID = 0x05DC PID = 0XB022 bcdDevice = 0X018A
funny that they don't all seem to match...
You'll notice that the "Safely Remove Hardware" may disappear as the guest tries to take control of the device.
the USB view one was "better" in that I see linux trying to autoconfiguring... sync: during boot... but again I got the I/O device error message
if you hover over the usb symbol in the virtual box frame of your guest machine you'll see the usb devices, if you hover over the particular device you'll see it's status, e.g. Lexar Media Inc. RW022 [018A] Vendor ID: 05DC Product ID: B022 Revision: 018A Serial No: .... Captured //really!??!?!
nope... I give up... Revision: 018A
ahh... The secret is to ensure the device is on and works fine with the right drivers on the host system.
THEN start the virtualbox application. Then start the virtual machine, (following the basic filter settings described above) and look in the bottom right to see if the device is detected, you may have to click on the "USB" symbol to activate it.
If it's the first time you'll be prompted to install virtualbox drivers, do so and then close everything down, restart your computer and start again from "ahh..."