3.11 USB emulation
QEMU emulates a PCI UHCI USB controller. You can virtually plug
virtual USB devices or real host USB devices (experimental, works only
on Linux hosts). QEMU will automatically create and connect virtual
USB hubs as necessary to connect multiple USB devices.
3.11.1 Connecting USB devices
USB devices can be connected with the -usbdevice commandline option or
the usb_add monitor command. Available devices are:
mouse Virtual Mouse. This will override the PS/2 mouse emulation when
tablet Pointer device that uses absolute coordinates (like a
touchscreen). This means QEMU is able to report the mouse position
without having to grab the mouse. Also overrides the PS/2 mouse
emulation when activated.
disk:file Mass storage device based on file (see disk_images)
host:bus.addr Pass through the host device identified by bus.addr
host:vendor_id:product_id Pass through the host device identified by
vendor_id:product_id (Linux only)
wacom-tablet Virtual Wacom PenPartner tablet. This device is similar
to the tablet above but it can be used with the tslib library because
in addition to touch coordinates it reports touch pressure.
keyboard Standard USB keyboard. Will override the PS/2 keyboard (if
converter. This emulates an FTDI FT232BM chip connected to host
character device dev. The available character devices are the same as
for the -serial option. The vendorid and productid options can be used
to override the default 0403:6001. For instance,
usb_add serial:productid=FA00:tcp:192.168.0.2:4444 will connect to tcp
port 4444 of ip 192.168.0.2, and plug that to the virtual serial
converter, faking a Matrix Orbital LCD Display (USB ID 0403:FA00).
braille Braille device. This will use BrlAPI to display the braille
output on a real or fake device.
net:options Network adapter that supports CDC ethernet and RNDIS
protocols. options specifies NIC options as with -net nic,options (see
description). For instance, user-mode networking can be used with
qemu-system-i386 [...OPTIONS...] -net user,vlan=0 -usbdevice
net:vlan=0 Currently this cannot be used in machines that support PCI
bt[:hci-type] Bluetooth dongle whose type is specified in the same
format as with the -bt hci option, see allowed HCI types. If no type
is given, the HCI logic corresponds to -bt hci,vlan=0. This USB device
implements the USB Transport Layer of HCI. Example usage:
qemu-system-i386 [...OPTIONS...] -usbdevice bt:hci,vlan=3 -bt