Hi libvirt-users,

Quick update on this issue.
After consulting RHEL support we managed to assign the USB2.0 device explicitly to the ehci controller, and the USB1.0 device was automatically added to the UHCI controller (as per default).

The following guest definition was added to define the USB2.0 and USB1.0 controllers:

<controller type='usb' index='0' model='ehci'/>
<controller type='usb' index='1' model='piix3-uhci'>

USB2.0 device is as follows, the USB1.0 device was standard.

<hostdev mode='subsystem' type='usb' managed='yes'>
   <source>
       <vendor id='0x0763'/>
       <product id='0x202a'/>
       <address bus='1' device='3' />
   </source>
   <address type='usb' bus='0' port='1'/>
</hostdev>

For reference, there is a knowledge base article here with more information
https://access.redhat.com/site/solutions/479683

Regards,
Cameron

---------- Forwarded message ----------
From: Cameron Curle <camerooney81@gmail.com>
Date: Wed, Sep 11, 2013 at 9:57 AM
Subject: Specifying a USB Device to use USB2 Controller
To: libvirt-users@redhat.com


Hi all,

Can anyone please advise the correct process for defining a USB device to point to a USB 2 Controller? Specifically, how do you define a USB device to use the EHCI controller in a guest xml file?

To summarize my problem:

I have 1 x USB1 device and 1 x USB2 device that I would like to use from within a Windows XP Guest. If I add the USB2 device (Avid M-box) to the guest machine via Virt-Manager it will not detect in the guest, when I check the libvirt logs for the VM it shows a "Device speed mismatch" error. Which leads me to think that its attaching itself to the default UHCI controller, as the USB1 device functions correctly.

I've followed a similar post on the list here which seems to detail what I am trying to achieve:
https://www.redhat.com/archives/libvirt-users/2012-June/msg00139.html

I have tried using the controller type and model as below, however, when I try and define the "port" option, it disappears from the configuration file and won't attach to the EHCI controller.
<controller type='usb' index='0' model='ich9-ehci' /
I've done some searching but can't find any information on how to specifically assign a USB device to a certain controller.
Any information or guides you could provide would be much appreciated.

I'm using RHEL 6.4 with latest updates available.
qemu-kvm-0.12.1.2-2.355.el6.4.7
libvirt-0.10.2-18.el6 4.9

I'm currently defining the USB2 device like this:
<hostdev mode='subsystem' type='usb' managed='yes'
         <source>
            <vendor id='0x0763' />
            <product id='0x202a' />
            <address bus='1' device='3' />
         </source>
</hostdev>

Thank you in advance for your assistance.

Kind Regards,
Cameron