Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 1. PCI pass-through often has problems with IOMMU groups
 2. Individual devices on the connected to USB ports 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)