Hi,
I'm trying to assign a complete USB Hub to my Windows 10 guest, using
libvirt 1.3. Following the documentation, I tried adding the following
to the definition of my guest:
...
<devices>
..
<hub type='usb'>
<address type='usb' bus='1' port='10.2'/>
</hub>
..
</devices>
To get the correct port, I used lsusb:
[root@nobill-main 004]# lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
|__ Port 5: Dev 110, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 52, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 53, If 0, Class=Human Interface Device,
Driver=usbhid, 12M
|__ Port 1: Dev 53, If 1, Class=Human Interface Device,
Driver=usbhid, 12M
|__ Port 3: Dev 54, If 0, Class=Human Interface Device,
Driver=usbhid, 12M
|__ Port 3: Dev 54, If 1, Class=Human Interface Device,
Driver=usbhid, 12M
|__ Port 3: Dev 54, If 2, Class=Human Interface Device,
Driver=usbhid, 12M
|__ Port 4: Dev 55, If 1, Class=Human Interface Device,
Driver=usbhid, 12M
|__ Port 10: Dev 117, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 118, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 11: Dev 8, If 0, Class=Human Interface Device,
Driver=usbhid, 1.5M
|__ Port 11: Dev 8, If 1, Class=Human Interface Device,
Driver=usbhid, 1.5M
(I want to assign port 10 in bus 1, the one that (still) has nothing
attached to it.
I can save it correctly, but after doing so, the guest wont start,
complaining it can't find bus with index 1. After playing with lots of
different configurations, my conclusions are:
- Any other bus different than 0, will make virt-manager instantly
complain that it cant find the bus (weird, since bus 0 doesn't exist
according to lsusb)
- Some ports allow the guest to start, but I won't be able to see the
hub on windows.
- Some other ports make virt-manager complain that it can't find
anything attached there.
Has anyone managed to get this working?
Thanks,
Rubén