jordanmw Posted October 31, 2018 Share Posted October 31, 2018 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? Quote Link to comment
saarg Posted October 31, 2018 Share Posted October 31, 2018 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. Quote Link to comment
jordanmw Posted November 16, 2018 Author Share Posted November 16, 2018 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? Quote Link to comment
Recommended Posts
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.