[Spice-devel] [PATCH spice-space-pages] usbredir documentation

Snir Sheriber ssheribe at redhat.com
Wed Mar 22 06:39:47 UTC 2017


Hi,


On 03/21/2017 02:43 PM, Christophe Fergeau wrote:
> On Sun, Mar 19, 2017 at 06:47:17PM +0200, Snir Sheriber wrote:
>> ---
>>   page/UsbRedir.rst | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
>>   1 file changed, 132 insertions(+), 5 deletions(-)
>>
>> diff --git a/page/UsbRedir.rst b/page/UsbRedir.rst
>> index 958a086..00c8fbe 100644
>> --- a/page/UsbRedir.rst
>> +++ b/page/UsbRedir.rst
>> @@ -1,8 +1,6 @@
>>   usbredir
>>   ###############################################################################
>>   
>> -:slug: usbredir
>> -
>>   
>>   usbredir is the name of a network protocol for sending usb device
>>   traffic over a network connection. It is also the name of the software
>> @@ -23,8 +21,136 @@ The usbguest side is currently only implemented for qemu, and shipped as
>>   part of qemu (enabling this in qemu requires the libusbredirparser
>>   library to be available when building qemu).
>>   
>> -usbredir supports USB device filtering configurable by `filter
>> -string <http://people.fedoraproject.org/~jwrdegoede/spice-reference/SpiceUsbDeviceManager.html#SpiceUsbDeviceManager--auto-connect-filter>`__.
>> +usbredir supports USB device filtering configurable by filter string
>> +
>> +Configuration
>> +^^^^^^^^^^^^^
>> +
>> +For redirection to work, the virtual machine must have an USB2 EHCI controller
>> +(this implies 3 additional UHCI controllers). It also needs to have Spice
>> +channels for USB redirection. The number of such channels correspond to the
>> +number of USB devices that it will be possible to redirect at the same time.
>> +
>> +Using virt-manager
>> +++++++++++++++++++
>> +Virtual machines created with virt-manager should have a USB controller by
>> +default. In the virtual machine details, select "Controller USB" in the left
>> +pane, and make sure its model is set to USB2. You can then click on "Add
>> +Hardware" and add as many "USB Redirection" items as the number of USB devices
>> +you want to be able to redirect simultaneously.
>> +
>> +Using libvirt
>> ++++++++++++++
>> +
>> +.. code-block:: sh
>> +
>> +  <controller type='usb' index='0' model='ich9-ehci1'/>
>> +  <controller type='usb' index='0' model='ich9-uhci1'>
>> +    <master startport='0'/>
>> +  </controller>
>> +  <controller type='usb' index='0' model='ich9-uhci2'>
>> +    <master startport='2'/>
>> +  </controller>
>> +  <controller type='usb' index='0' model='ich9-uhci3'>
>> +    <master startport='4'/>
>> +  </controller>
>> +  <redirdev bus='usb' type='spicevmc'/>
>> +  <redirdev bus='usb' type='spicevmc'/>
>> +  <redirdev bus='usb' type='spicevmc'/>
>> +  <redirdev bus='usb' type='spicevmc'/>
>
> Supposedly we support usb3 redirection these days, which means a xhci
> controller I think. Sounds like a good opportunity to document USB3
> redirection?

It does sounds like good opportunity :), I will.
BTW Does anyone has ever succeed to redirect usb 3 device to windows guest?
Seems like the guest is missing usb 3 driver or something, and nothing 
was installed automatically
(tried with usbdk 1.0.17)

Snir.
>
> Christophe



More information about the Spice-devel mailing list