November 6, 20178 yr Hello All, I'm trying to get USB ports passed through to my Windows VM but Ryzen is complicating things as it only has 2 USB controllers. These are split into 4 hubs (2 each) based on whether the inserted device is USB 2 or 3. Most of the ports on the front and back of the PC are on a controller in an IOMMU group that cannot be passed through and only the 4 rear USB 3 ports might be able to be passed through. This is not ideal for 2 reasons: 1) I'd like to pass through more than 4 ports and 2) the controller is in an IOMMU group with other devices that may not be able to be passed through. I only have one PCI slot left on the motherboard and it doesn't have it's own IOMMU group (because Ryzen). I've also already tried enabling/disabling EHCI & XHCI to no avail. So my question is this: can I just pass through the Linux Foundation Root Hubs and still be able to hot-plug USB devices? If not, is there any way to pass through empty ports? I really don't want to have to edit the XML every time I need to plug a USB device in. On a tangentially related note, do the different pass-through methods affect performance? The objective is to be able to plug in USB controllers so high latency is not ideal.
November 6, 20178 yr You cannot pass through a hub in the way you request. however have you tried using the Libvirt Hotplug USB plugin as a workaround? It allows you to dynamically assign/remove USB devices from a running VM. Only thing to watch is that if the device is a drive that you do not have the Unassigned Devices plugin auto-mounting it as such a drive needs to be unmounted before it can be passed to a Vm.
Archived
This topic is now archived and is closed to further replies.