summaryrefslogtreecommitdiffstats
path: root/docs/system/usb.rst
diff options
context:
space:
mode:
authorAlex Bennée2021-07-21 01:26:36 +0200
committerAlex Bennée2021-07-23 18:22:16 +0200
commit189c099f75f39da1c1a0f3e527109af2b169a8fe (patch)
tree3808775d8bfe8bff849c2289c3073afb41ecc913 /docs/system/usb.rst
parentgitignore: Update with some filetypes (diff)
downloadqemu-189c099f75f39da1c1a0f3e527109af2b169a8fe.tar.gz
qemu-189c099f75f39da1c1a0f3e527109af2b169a8fe.tar.xz
qemu-189c099f75f39da1c1a0f3e527109af2b169a8fe.zip
docs: collect the disparate device emulation docs into one section
While we are at it add a brief preamble that explains some of the common concepts in QEMU's device emulation which will hopefully lead to less confusing about our dizzying command line options. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Markus Armbruster <armbru@redhat.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Daniel P. Berrangé <berrange@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20210720232703.10650-3-alex.bennee@linaro.org>
Diffstat (limited to 'docs/system/usb.rst')
-rw-r--r--docs/system/usb.rst140
1 files changed, 0 insertions, 140 deletions
diff --git a/docs/system/usb.rst b/docs/system/usb.rst
deleted file mode 100644
index eeab78dcfb..0000000000
--- a/docs/system/usb.rst
+++ /dev/null
@@ -1,140 +0,0 @@
-.. _pcsys_005fusb:
-
-USB emulation
--------------
-
-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.
-
-.. _Connecting USB devices:
-
-Connecting USB devices
-~~~~~~~~~~~~~~~~~~~~~~
-
-USB devices can be connected with the ``-device usb-...`` command line
-option or the ``device_add`` monitor command. Available devices are:
-
-``usb-mouse``
- Virtual Mouse. This will override the PS/2 mouse emulation when
- activated.
-
-``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.
-
-``usb-storage,drive=drive_id``
- Mass storage device backed by drive_id (see the :ref:`disk images`
- chapter in the System Emulation Users Guide)
-
-``usb-uas``
- USB attached SCSI device, see
- `usb-storage.txt <https://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/usb-storage.txt>`__
- for details
-
-``usb-bot``
- Bulk-only transport storage device, see
- `usb-storage.txt <https://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/usb-storage.txt>`__
- for details here, too
-
-``usb-mtp,rootdir=dir``
- Media transfer protocol device, using dir as root of the file tree
- that is presented to the guest.
-
-``usb-host,hostbus=bus,hostaddr=addr``
- Pass through the host device identified by bus and addr
-
-``usb-host,vendorid=vendor,productid=product``
- Pass through the host device identified by vendor and product ID
-
-``usb-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.
-
-``usb-kbd``
- Standard USB keyboard. Will override the PS/2 keyboard (if present).
-
-``usb-serial,chardev=id``
- Serial converter. This emulates an FTDI FT232BM chip connected to
- host character device id.
-
-``usb-braille,chardev=id``
- Braille device. This will use BrlAPI to display the braille output on
- a real or fake device referenced by id.
-
-``usb-net[,netdev=id]``
- Network adapter that supports CDC ethernet and RNDIS protocols. id
- specifies a netdev defined with ``-netdev …,id=id``. For instance,
- user-mode networking can be used with
-
- .. parsed-literal::
-
- |qemu_system| [...] -netdev user,id=net0 -device usb-net,netdev=net0
-
-``usb-ccid``
- Smartcard reader device
-
-``usb-audio``
- USB audio device
-
-``u2f-{emulated,passthru}``
- Universal Second Factor device
-
-.. _host_005fusb_005fdevices:
-
-Using host USB devices on a Linux host
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-WARNING: this is an experimental feature. QEMU will slow down when using
-it. USB devices requiring real time streaming (i.e. USB Video Cameras)
-are not supported yet.
-
-1. If you use an early Linux 2.4 kernel, verify that no Linux driver is
- actually using the USB device. A simple way to do that is simply to
- disable the corresponding kernel module by renaming it from
- ``mydriver.o`` to ``mydriver.o.disabled``.
-
-2. Verify that ``/proc/bus/usb`` is working (most Linux distributions
- should enable it by default). You should see something like that:
-
- ::
-
- ls /proc/bus/usb
- 001 devices drivers
-
-3. Since only root can access to the USB devices directly, you can
- either launch QEMU as root or change the permissions of the USB
- devices you want to use. For testing, the following suffices:
-
- ::
-
- chown -R myuid /proc/bus/usb
-
-4. Launch QEMU and do in the monitor:
-
- ::
-
- info usbhost
- Device 1.2, speed 480 Mb/s
- Class 00: USB device 1234:5678, USB DISK
-
- You should see the list of the devices you can use (Never try to use
- hubs, it won't work).
-
-5. Add the device in QEMU by using:
-
- ::
-
- device_add usb-host,vendorid=0x1234,productid=0x5678
-
- Normally the guest OS should report that a new USB device is plugged.
- You can use the option ``-device usb-host,...`` to do the same.
-
-6. Now you can try to use the host USB device in QEMU.
-
-When relaunching QEMU, you may have to unplug and plug again the USB
-device to make it work again (this is a bug).