SOLVED: Problem passing usb controllers to vm in a gigabyte trx40 designare

Hello,

I have a TRX40 designare but I am struggling to pass USB controllers to VMs. Can somebody help me pls, I would really appreciate.

So far I managed to make some USB controllers selectable in the VM configuration template and to select them (see attachment USBControllers) . For new profiles, I could save the profile ok, but the VM would not start and the server would become non responsive when trying to access it from the browser in another machine.

The machine template can be found in the attachment VMtemplate.jpg

the system DMESG can be found at: https://pastebin.com/8yHgR2rQ

Unraid Info: https://pastebin.com/na8EwmKk

I tried two ways to make the USB controllers selectable, both lead to the same result unfortunately:

Method #1

By using the guide “https://www.youtube.com/watch?v=UilWLtMYd-U&pbjreload=101” . This is a manual process which would require to:
Controlling the USB controller port and whether it was one that was in a IOMMU group by itself
Could it be reset
Identify it and passed it to the kernel in the dorm of vfio-pci.ids=whatever_id. the whole setting would become:

                append  pcie_acs_override=downstream  vfio-pci.ids=whatever_id initrd=/bzroot



  The IMMO group  of my  motherboard would than be:  https://pastebin.com/2FEURvEu



  in that group  I would chose the controller with ID 03:00.3  which would lead to the USB device address: 1022:148c (exporting the the                   

  controller 1022:148c would also expose the bus 25:00.3). The configuration line would than become:



                                 append  pcie_acs_override=downstream  vfio-pci.ids=1022:148c  initrd=/bzroot

                                 see attachment Boot.jpg

  



   The full list of devices, by selecting tools -> devices is: https://pastebin.com/r2pyiyY8

Method #2 use the plugin VFIO-PCI Config

    if I select Group 15, I end up with the same  controllers of the image USBControllers, On a new VM I can select them and save the

    template but the VM would not start and freeze the server.

I am a newbi to Unraid and this is the server I need to work from home. Any help would be appreciated.




I have the same motherboard… Are you able to passthrough without using ACS override?

The motherboard should have two isolated controllers that you can assign without using ACS. I assign one of them to VMs as needed (not often), I usually use host device redirect instead.

Here’s my relevant iommu groups and lspci stuff

IOMMU Group 19:
        0b:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Zeppelin USB 3.0 Host controller [1022:145f]
IOMMU Group 41:
        45:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Zeppelin USB 3.0 Host controller [1022:145f]

0b:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Zeppelin USB 3.0 Host controller [1022:145f] (prog-if 30 [XHCI])
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5007]
        Flags: bus master, fast devsel, latency 0, IRQ 64, NUMA node 0

45:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Zeppelin USB 3.0 Host controller [1022:145f] (prog-if 30 [XHCI])
        Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:145c]
        Flags: bus master, fast devsel, latency 0, IRQ 75, NUMA node 1

Hello Gordon,

thank you for your help. I disabled the ACS override but the result does not change. a VM with a passed through USB controller would not boot. What is the host device redirect technique? I tried to google it but I could not find any reference to USB devices. what I am trying to ultimately achieve is to partition the system in two for two separate users.
Thank you in advance for your help.

I’m not sure what the unraid term is for it. It’s where you pick specific USB devices from the host and attach them to the guest. For example a keyboard, mouse, webcam, etc.

HI, Good news, I solved my problem by… installing 6.9. The Tools->devices page, now tells you what USB controllers you can pass and which one you should leave alone.

It must also be something in 6.9 however because, et the end I was passing, manually, the same controllers, anyway, whatever the reason I now have a working system and it now works like a charm.
Onto the next problem: pass through the DVDRW to my VMs, It should be easier to solve than the USB passthrough.
Thank you for your help.

1 Like

You might need to pass an entire SATA controller depending on what you want to do with the optical drive.

I am afraid so, in that case it will be cheaper to get a USB DDRW

I’m battling a similar issue, as USB optical drives don’t allow the low level access needed to backup protected media. I converted one drive to esata using an old firewire enclosure, but the power supply in the enclosure is dead, so…

hi, sorry to bother, did you ever install the titan thunderbolt card? did you ever manage to pass it through a VM? for some reason, unraid tells me it cannot be passed through because it is being used by the system, the same with all USB-C ports.

No, I originally thought about thunderbolt but went with a 10g fiber card instead. This machine is 95% remotely accessed for me, so having faster USB ports wasn’t as much benefit as faster network.