USB Host Device Assigned to Guest
From KVM
Example Assigning Host USB device to a Guest VM
This example is based on qemu-kvm (0.15.0) as installed in Fedora 15. Will first show how to do this manually, and second how to do it using the virt-manager tool. This HOWTO is limited to UHCI devices (no USB2 EHCI).
Here we'll use a phone attached to the host:
# lsusb ... Bus 002 Device 003: ID 18d1:4e11 Google Inc. Nexus One
(Note the Bus and device numbers).
Manually, using qemu-kvm command line
#/usr/bin/qemu-kvm -m 1024 -name f15 -drive file=/images/f15.img,if=virtio -usb -device usb-host,hostbus=2,hostaddr=3
Here we add the
-usb
to add a host controller, and add
-device usb-host,hostbus=2,hostaddr=3
to add the host's USB device at Bus 2, Device 3. Simple as that.
Now, we can verify this in the guest:
$ lspci ... 00:01.2 USB Controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
$ lsusb Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 18d1:4e11 Google Inc. Nexus One Phone
And on the phone enable USB Mass Storage, and the guest should display a dialog seeing a new USB filesystem. Open it and...
$ ls /media/[mountpoint] Android/ data/ DCIM/ ...