mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
usb: bugfixes, doc update
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJZFaiNAAoJEEy22O7T6HE4CxUP/3EdVQfz9z/wipB1Jkd4BI4h joWw5mY2EVx8oTtVfmCbPogBzKkcBXYhnYciJWoDmdMB3DsPsOnWLu407M8P9Nq9 dVCey7Qhv3acC8ZP3L/GlUs+RQ/lNEq+TPvnM4/1IhatKOf13XYxTMamzMCdg4XM wroH240EER2b7qMN9im1G0ETAzfHfdMPpVF2taPa3kxCNHKwcJQGMVoPnGIO0Cxp mXuNqNkVkd1+UYurJ1PI8/mr/nkUcaLamfmf4H3hZL/mvls+YBK4CH+QVQVF/X6L YGRlDM3QNCuNX4SJIYwvYI4pEAM6S4+RHKdkoKNRP3svFryBlJCuMDPyTYQVMrYT jACZWxto7LC9uOzlNZoCs9zIpbqSVIcyFT3o5lNKRvIWg6dR2M6ehCRXZox5w1Jd 8GEmdPN4y1yrKKKhEHzUfQQQngXQQ+9iHJSE+oGvtVOUenYTzzIbT4s0wWvBs7gL d4mEcAvlaUe1wpPm4SwoHtr2XqSC9LV6o/czLh5iRnSkzPirt96owTCLZMbi5C53 k3mmtpSKk9BnuWOWkKvKAToLjhO847D6NXvCn5XeUddxr0aGSAXjzuqj+Nd1ZYSC UwhXXPCoLnZ8c4rw8BRY+PpZd1NR0BlmuqRTIrb5hXNBM7o9rN+KLkZgqtDK2qaD wLQvGszzgbWaTTE7p0mZ =grov -----END PGP SIGNATURE----- Merge remote-tracking branch 'kraxel/tags/pull-usb-20170512-1' into staging usb: bugfixes, doc update # gpg: Signature made Fri 12 May 2017 01:20:29 PM BST # gpg: using RSA key 0x4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * kraxel/tags/pull-usb-20170512-1: hw/usb/dev-serial: Do not try to set vendorid or productid properties xhci: relax link check usb-hub: clear PORT_STAT_SUSPEND on wakeup xhci: fix logging usb-redir: fix stack overflow in usbredir_log_data qemu-doc: Update to use the new way of attaching USB devices Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
commit
8a813c9868
6 changed files with 64 additions and 80 deletions
|
@ -182,7 +182,7 @@ Gravis Ultrasound GF1 sound card
|
|||
@item
|
||||
CS4231A compatible sound card
|
||||
@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
|
||||
|
||||
SMP is supported with up to 255 CPUs.
|
||||
|
@ -1357,10 +1357,10 @@ monitor (@pxref{pcsys_keys}).
|
|||
@node pcsys_usb
|
||||
@section 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.
|
||||
QEMU can emulate a PCI UHCI, OHCI, EHCI or XHCI USB controller. You can
|
||||
plug virtual USB devices or real host USB devices (only works with certain
|
||||
host operating systems). QEMU will automatically create and connect virtual
|
||||
USB hubs as necessary to connect multiple USB devices.
|
||||
|
||||
@menu
|
||||
* usb_devices::
|
||||
|
@ -1369,53 +1369,64 @@ as necessary to connect multiple USB devices.
|
|||
@node usb_devices
|
||||
@subsection Connecting USB devices
|
||||
|
||||
USB devices can be connected with the @option{-usbdevice} commandline option
|
||||
or the @code{usb_add} monitor command. Available devices are:
|
||||
USB devices can be connected with the @option{-device usb-...} command line
|
||||
option or the @code{device_add} monitor command. Available devices are:
|
||||
|
||||
@table @code
|
||||
@item mouse
|
||||
@item usb-mouse
|
||||
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).
|
||||
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.
|
||||
@item disk:@var{file}
|
||||
Mass storage device based on @var{file} (@pxref{disk_images})
|
||||
@item host:@var{bus.addr}
|
||||
Pass through the host device identified by @var{bus.addr}
|
||||
(Linux only)
|
||||
@item host:@var{vendor_id:product_id}
|
||||
Pass through the host device identified by @var{vendor_id:product_id}
|
||||
(Linux only)
|
||||
@item wacom-tablet
|
||||
@item usb-storage,drive=@var{drive_id}
|
||||
Mass storage device backed by @var{drive_id} (@pxref{disk_images})
|
||||
@item usb-uas
|
||||
USB attached SCSI device, see
|
||||
@url{http://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/usb-storage.txt,usb-storage.txt}
|
||||
for details
|
||||
@item usb-bot
|
||||
Bulk-only transport storage device, see
|
||||
@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}
|
||||
above but it can be used with the tslib library because in addition to touch
|
||||
coordinates it reports touch pressure.
|
||||
@item keyboard
|
||||
@item usb-kbd
|
||||
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
|
||||
device @var{dev}. The available character devices are the same as for the
|
||||
@code{-serial} option. The @code{vendorid} and @code{productid} options can be
|
||||
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
|
||||
device @var{id}.
|
||||
@item usb-braille,chardev=@var{id}
|
||||
Braille device. This will use BrlAPI to display the braille output on a real
|
||||
or fake device.
|
||||
@item net:@var{options}
|
||||
Network adapter that supports CDC ethernet and RNDIS protocols. @var{options}
|
||||
specifies NIC options as with @code{-net nic,}@var{options} (see description).
|
||||
or fake device referenced by @var{id}.
|
||||
@item usb-net[,netdev=@var{id}]
|
||||
Network adapter that supports CDC ethernet and RNDIS protocols. @var{id}
|
||||
specifies a netdev defined with @code{-netdev @dots{},id=@var{id}}.
|
||||
For instance, user-mode networking can be used with
|
||||
@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
|
||||
Currently this cannot be used in machines that support PCI NICs.
|
||||
@item bt[:@var{hci-type}]
|
||||
Bluetooth dongle whose type is specified in the same format as with
|
||||
@item usb-ccid
|
||||
Smartcard reader device
|
||||
@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
|
||||
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
|
||||
|
@ -1460,11 +1471,11 @@ hubs, it won't work).
|
|||
|
||||
@item Add the device in QEMU by using:
|
||||
@example
|
||||
usb_add host:1234:5678
|
||||
device_add usb-host,vendorid=0x1234,productid=0x5678
|
||||
@end example
|
||||
|
||||
Normally the guest OS should report that a new USB device is
|
||||
plugged. You can use the option @option{-usbdevice} to do the same.
|
||||
Normally the guest OS should report that a new USB device is plugged.
|
||||
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.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue