...
1. PCI pass-through often has problems with IOMMU groups
2. Individual devices connected to USB ports (on the USB ports same controller) cannot be passed through to different virtual machines
...
In particular the usbmanager is interacting with several components:
Usage
Pass-
...
Through by USB Port
Use lsusb -vt
to see which device is connected to which port:
...
Code Block |
---|
"ioMemberList": [
{
"ztype": "IO_TYPE_USB_CONTROLLER",
"phylabel": "USB Controller Phy",
"assigngrp": "USB-controller-1",
"phyaddrs": {
"PciLong": "0000:14:00.0",
},
"logicallabel": "USB Controller",
"usagePolicy": { }
},
{
"ztype": "IO_TYPE_USB_DEVICE",
"phylabel": "USB device 9",
"assigngrp": "USB",
"phyaddrs": {
"usbaddr": "003:9",
},
"logicallabel": "USB device 9",
"parentassigngrp": "USB-controller-1"
} |
Please note parentassigngrp
which makes the dependency between the USB device and the USB controller (connected via PCI).
Pass-
...
Through by USB Vendor ID / Product ID
Use lsusb
to see the connected USB devices:
...
Code Block |
---|
"ioMemberList": [
{
"ztype": "IO_TYPE_USB_CONTROLLER",
"phylabel": "USB Controller Phy",
"assigngrp": "USB-controller-1",
"phyaddrs": {
"PciLong": "0000:14:00.0",
},
"logicallabel": "USB Controller",
"usagePolicy": { }
},
{
"ztype": "IO_TYPE_USB_DEVICE",
"phylabel": "IntelliMouse",
"assigngrp": "USB",
"phyaddrs": {
"usbproduct": "045e:0823",
},
"logicallabel": "IntelliMouse",
"parentassigngrp": "USB-controller-1"
} |
Restrictions
- Devices connected to a USB hub can be forwarded, but USB hubs themselves unfortunately cannot be forwarded
- The physical port on the device might have a different bus number and port number depending on the usb version of the connected device!
- It (currently) only works with Qemu.
- Pass-through of devices that do PCI over Thunderbolt/USB4 is not supported (might work with PCI pass-through, though)