USB passthrough problems- entire controller


Recommended Posts

So, after struggling with some USB gamepads, I am trying to pass a USB controller through to one of my machines but running into some challenges.  Here is the setup:

 

Here is the bus setup:

Bus 1 --> 0000:01:00.0 (IOMMU group 14)
Bus 001 Device 004: ID 8087:0aa7 Intel Corp.
Bus 001 Device 003: ID 3938:1032
Bus 001 Device 002: ID 046d:c21c Logitech, Inc. G13 Advanced Gameboard
Bus 001 Device 005: ID 2433:b200
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 2 --> 0000:01:00.0 (IOMMU group 14)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 3 --> 0000:0a:00.3 (IOMMU group 19)
Bus 003 Device 002: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 4 --> 0000:0a:00.3 (IOMMU group 19)
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 5 --> 0000:43:00.3 (IOMMU group 37)
Bus 005 Device 004: ID 046d:c408 Logitech, Inc. Marble Mouse (4-button)
Bus 005 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 005 Device 002: ID 28de:1142
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 6 --> 0000:43:00.3 (IOMMU group 37)
Bus 006 Device 002: ID 0781:5583 SanDisk Corp. Ultra Fit
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

 

And here are the entries for those controllers:

IOMMU group 19
[RESET] 0a:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller[1022:145c]
IOMMU group 37
[RESET] 43:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller[1022:145c]

IOMMU group 14
[RESET] 01:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset USB 3.1 xHCI Controller [1022:43ba] (rev 02)
        01:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset SATA Controller [1022:43b6] (rev 02)
        01:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset PCIe Bridge [1022:43b1] (rev 02)
[RESET] 02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port [1022:43b4] (rev 02)
        02:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port [1022:43b4] (rev 02)
        02:05.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port [1022:43b4] (rev 02)
        02:06.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port [1022:43b4] (rev 02)
        02:07.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port [1022:43b4] (rev 02)
[RESET] 04:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
[RESET] 05:00.0 Network controller [0280]: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] [8086:24fb] (rev 10)
[RESET] 06:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)

 

So- here are some of the issues that I see here:

1. 43:00.3 has my unraid drive on it- and based on the hardware ID- is ALSO my 0a:00.3 USB controller with the same ID=1022:145c so NEITHER of those can be passed or it will take my unraid drive with it.

2. 01:00.0 has all my network devices in the same group with that controller- so I get- internal error: qemu unexpectedly closed the monitor: 2018-10-31T15:42:29.402601Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,id=hostdev2,bus=pci.0,addr=0x9: vfio error: 0000:01:00.0: group 14 is not viable Please ensure all devices within the iommu_group are bound to their vfio bus....

 

So are my only options at this point- to change my unraid drive to a port under 01:00.0 and pass both of the other controllers into the machine that I need that support on?!?  Please say there is some other option here- I don't have the option of an extra card since all 4 of my pcie slots are filled.  My other option is to try to get my U.2 port connected to a pciex4 adapter and try to figure out why that isn't working with my board.

 

Any ideas?

Link to comment

You should be able to pass through 0a:00.3 as it's in its own iommu group. You need to stub it with xen-pciback.hide=(0a:00.3) in your syslinux.cfg.

It does not appear in the other devices list, so you need to edit the xml manually. The info is in the USB controller pass through guide. 

Link to comment
  • 3 weeks later...

Ok, finally got my U.2 PLX bridge to work with my Sonnet Allegro pro so I have more controllers to work with:

 


IOMMU group 34:    [10b5:8608] 41:00.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
IOMMU group 35:    [10b5:8608] 42:01.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
IOMMU group 36:    [10b5:8608] 42:05.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
IOMMU group 37:    [10b5:8608] 42:07.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
IOMMU group 38:    [10b5:8608] 42:09.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
IOMMU group 39:    [1b73:1100] 43:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
IOMMU group 40:    [1b73:1100] 44:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
IOMMU group 41:    [1b73:1100] 45:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
IOMMU group 42:    [1b73:1100] 46:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)

 

Anyone have a "best practice" for setting these up?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.