mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-10-15 15:32:51 +00:00
qemu-doc: Update to use the new way of attaching USB devices
The preferred way of adding USB devices is via "-device" and "device_add" nowadays, so let's start to get rid of "-usbdevice" and "usb_add" in the documentation. While we're at it, also add the new USB devices there which have been added to QEMU during the last years, and get rid of the old "vendorid" and "productid" parameters of "-usbdevice serial" which have been removed in QEMU version 0.14.0 already. Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-id: 1494256429-31720-1-git-send-email-thuth@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
76d20ea0f1
commit
a92ff8c123
|
@ -182,15 +182,13 @@ The appropriate DEVNAME depends on the machine type. For type "pc":
|
||||||
|
|
||||||
This lets you control I/O ports and IRQs.
|
This lets you control I/O ports and IRQs.
|
||||||
|
|
||||||
* -usbdevice serial:vendorid=VID,productid=PRID becomes
|
* -usbdevice serial::chardev becomes -device usb-serial,chardev=dev.
|
||||||
-device usb-serial,vendorid=VID,productid=PRID
|
|
||||||
|
|
||||||
* -usbdevice braille doesn't support LEGACY-CHARDEV syntax. It always
|
* -usbdevice braille doesn't support LEGACY-CHARDEV syntax. It always
|
||||||
uses "braille". With -device, this useful default is gone, so you
|
uses "braille". With -device, this useful default is gone, so you
|
||||||
have to use something like
|
have to use something like
|
||||||
|
|
||||||
-device usb-braille,chardev=braille,vendorid=VID,productid=PRID
|
-device usb-braille,chardev=braille -chardev braille,id=braille
|
||||||
-chardev braille,id=braille
|
|
||||||
|
|
||||||
* -virtioconsole becomes
|
* -virtioconsole becomes
|
||||||
-device virtio-serial-pci,class=C,vectors=V,ioeventfd=IOEVENTFD,max_ports=N
|
-device virtio-serial-pci,class=C,vectors=V,ioeventfd=IOEVENTFD,max_ports=N
|
||||||
|
|
|
@ -182,7 +182,7 @@ Gravis Ultrasound GF1 sound card
|
||||||
@item
|
@item
|
||||||
CS4231A compatible sound card
|
CS4231A compatible sound card
|
||||||
@item
|
@item
|
||||||
PCI UHCI USB controller and a virtual USB hub.
|
PCI UHCI, OHCI, EHCI or XHCI USB controller and a virtual USB-1.1 hub.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
SMP is supported with up to 255 CPUs.
|
SMP is supported with up to 255 CPUs.
|
||||||
|
@ -1357,10 +1357,10 @@ monitor (@pxref{pcsys_keys}).
|
||||||
@node pcsys_usb
|
@node pcsys_usb
|
||||||
@section USB emulation
|
@section USB emulation
|
||||||
|
|
||||||
QEMU emulates a PCI UHCI USB controller. You can virtually plug
|
QEMU can emulate a PCI UHCI, OHCI, EHCI or XHCI USB controller. You can
|
||||||
virtual USB devices or real host USB devices (experimental, works only
|
plug virtual USB devices or real host USB devices (only works with certain
|
||||||
on Linux hosts). QEMU will automatically create and connect virtual USB hubs
|
host operating systems). QEMU will automatically create and connect virtual
|
||||||
as necessary to connect multiple USB devices.
|
USB hubs as necessary to connect multiple USB devices.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* usb_devices::
|
* usb_devices::
|
||||||
|
@ -1369,53 +1369,64 @@ as necessary to connect multiple USB devices.
|
||||||
@node usb_devices
|
@node usb_devices
|
||||||
@subsection Connecting USB devices
|
@subsection Connecting USB devices
|
||||||
|
|
||||||
USB devices can be connected with the @option{-usbdevice} commandline option
|
USB devices can be connected with the @option{-device usb-...} command line
|
||||||
or the @code{usb_add} monitor command. Available devices are:
|
option or the @code{device_add} monitor command. Available devices are:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item mouse
|
@item usb-mouse
|
||||||
Virtual Mouse. This will override the PS/2 mouse emulation when activated.
|
Virtual Mouse. This will override the PS/2 mouse emulation when activated.
|
||||||
@item tablet
|
@item usb-tablet
|
||||||
Pointer device that uses absolute coordinates (like a touchscreen).
|
Pointer device that uses absolute coordinates (like a touchscreen).
|
||||||
This means QEMU is able to report the mouse position without having
|
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.
|
to grab the mouse. Also overrides the PS/2 mouse emulation when activated.
|
||||||
@item disk:@var{file}
|
@item usb-storage,drive=@var{drive_id}
|
||||||
Mass storage device based on @var{file} (@pxref{disk_images})
|
Mass storage device backed by @var{drive_id} (@pxref{disk_images})
|
||||||
@item host:@var{bus.addr}
|
@item usb-uas
|
||||||
Pass through the host device identified by @var{bus.addr}
|
USB attached SCSI device, see
|
||||||
(Linux only)
|
@url{http://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/usb-storage.txt,usb-storage.txt}
|
||||||
@item host:@var{vendor_id:product_id}
|
for details
|
||||||
Pass through the host device identified by @var{vendor_id:product_id}
|
@item usb-bot
|
||||||
(Linux only)
|
Bulk-only transport storage device, see
|
||||||
@item wacom-tablet
|
@url{http://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/usb-storage.txt,usb-storage.txt}
|
||||||
|
for details here, too
|
||||||
|
@item usb-mtp,x-root=@var{dir}
|
||||||
|
Media transfer protocol device, using @var{dir} as root of the file tree
|
||||||
|
that is presented to the guest.
|
||||||
|
@item usb-host,hostbus=@var{bus},hostaddr=@var{addr}
|
||||||
|
Pass through the host device identified by @var{bus} and @var{addr}
|
||||||
|
@item usb-host,vendorid=@var{vendor},productid=@var{product}
|
||||||
|
Pass through the host device identified by @var{vendor} and @var{product} ID
|
||||||
|
@item usb-wacom-tablet
|
||||||
Virtual Wacom PenPartner tablet. This device is similar to the @code{tablet}
|
Virtual Wacom PenPartner tablet. This device is similar to the @code{tablet}
|
||||||
above but it can be used with the tslib library because in addition to touch
|
above but it can be used with the tslib library because in addition to touch
|
||||||
coordinates it reports touch pressure.
|
coordinates it reports touch pressure.
|
||||||
@item keyboard
|
@item usb-kbd
|
||||||
Standard USB keyboard. Will override the PS/2 keyboard (if present).
|
Standard USB keyboard. Will override the PS/2 keyboard (if present).
|
||||||
@item serial:[vendorid=@var{vendor_id}][,product_id=@var{product_id}]:@var{dev}
|
@item usb-serial,chardev=@var{id}
|
||||||
Serial converter. This emulates an FTDI FT232BM chip connected to host character
|
Serial converter. This emulates an FTDI FT232BM chip connected to host character
|
||||||
device @var{dev}. The available character devices are the same as for the
|
device @var{id}.
|
||||||
@code{-serial} option. The @code{vendorid} and @code{productid} options can be
|
@item usb-braille,chardev=@var{id}
|
||||||
used to override the default 0403:6001. For instance,
|
|
||||||
@example
|
|
||||||
usb_add serial:productid=FA00:tcp:192.168.0.2:4444
|
|
||||||
@end example
|
|
||||||
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).
|
|
||||||
@item braille
|
|
||||||
Braille device. This will use BrlAPI to display the braille output on a real
|
Braille device. This will use BrlAPI to display the braille output on a real
|
||||||
or fake device.
|
or fake device referenced by @var{id}.
|
||||||
@item net:@var{options}
|
@item usb-net[,netdev=@var{id}]
|
||||||
Network adapter that supports CDC ethernet and RNDIS protocols. @var{options}
|
Network adapter that supports CDC ethernet and RNDIS protocols. @var{id}
|
||||||
specifies NIC options as with @code{-net nic,}@var{options} (see description).
|
specifies a netdev defined with @code{-netdev @dots{},id=@var{id}}.
|
||||||
For instance, user-mode networking can be used with
|
For instance, user-mode networking can be used with
|
||||||
@example
|
@example
|
||||||
qemu-system-i386 [...OPTIONS...] -net user,vlan=0 -usbdevice net:vlan=0
|
qemu-system-i386 [...] -netdev user,id=net0 -device usb-net,netdev=net0
|
||||||
@end example
|
@end example
|
||||||
Currently this cannot be used in machines that support PCI NICs.
|
@item usb-ccid
|
||||||
@item bt[:@var{hci-type}]
|
Smartcard reader device
|
||||||
Bluetooth dongle whose type is specified in the same format as with
|
@item usb-audio
|
||||||
|
USB audio device
|
||||||
|
@item usb-bt-dongle
|
||||||
|
Bluetooth dongle for the transport layer of HCI. It is connected to HCI
|
||||||
|
scatternet 0 by default (corresponds to @code{-bt hci,vlan=0}).
|
||||||
|
Note that the syntax for the @code{-device usb-bt-dongle} option is not as
|
||||||
|
useful yet as it was with the legacy @code{-usbdevice} option. So to
|
||||||
|
configure an USB bluetooth device, you might need to use
|
||||||
|
"@code{-usbdevice bt}[:@var{hci-type}]" instead. This configures a
|
||||||
|
bluetooth dongle whose type is specified in the same format as with
|
||||||
the @option{-bt hci} option, @pxref{bt-hcis,,allowed HCI types}. If
|
the @option{-bt hci} option, @pxref{bt-hcis,,allowed HCI types}. If
|
||||||
no type is given, the HCI logic corresponds to @code{-bt hci,vlan=0}.
|
no type is given, the HCI logic corresponds to @code{-bt hci,vlan=0}.
|
||||||
This USB device implements the USB Transport Layer of HCI. Example
|
This USB device implements the USB Transport Layer of HCI. Example
|
||||||
|
@ -1460,11 +1471,11 @@ hubs, it won't work).
|
||||||
|
|
||||||
@item Add the device in QEMU by using:
|
@item Add the device in QEMU by using:
|
||||||
@example
|
@example
|
||||||
usb_add host:1234:5678
|
device_add usb-host,vendorid=0x1234,productid=0x5678
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Normally the guest OS should report that a new USB device is
|
Normally the guest OS should report that a new USB device is plugged.
|
||||||
plugged. You can use the option @option{-usbdevice} to do the same.
|
You can use the option @option{-device usb-host,...} to do the same.
|
||||||
|
|
||||||
@item Now you can try to use the host USB device in QEMU.
|
@item Now you can try to use the host USB device in QEMU.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue