Hello all, I'm having some trouble getting a PCIe usb controller working with my system and I'm not sure where the exact problem is. As an FYI, I am successfully passing 3 GPUs (1660 Ti, 3060 Ti, and a RX 6400) and 2 usb controllers (they are motherboard controllers and NOT pcie add-ons) as well as 3 NVMe 1TB samsung drives to 3 seperate vms. No troubles with anything other than this pcie usb controller card. I have tried 3 usb controllers now and experience similar issues from all. They all appear to be asmedia chips though... although some of the board mounted chips are ALSO asmedia chips and I have no issue with those.
The motherboard is Supermicro M12SWA-TF with AMD Ryzen Threadripper Pro 3955WX
It appears on surface very similar to the following issue raised here.
https://forum.proxmox.com/threads/pcie-passthrough-not-working.113938/
The controller(s) and IOMMU group I'm trying to pass through is...
/etc/modprobe.d/vfio.conf
That is all apart of 1 pcie card...
https://www.amazon.com/dp/B07LG5TS6H?psc=1&ref=ppx_yo2ov_dt_b_product_details
While I am able to pass this through and see it in a Windows 10 VM and have issues like the forum post, I have noticed an issue during boot found in dmesg. During boot I see the following associated with device (I have a usb logitech receiver for keyboard and mouse plugged into a port associated with this controller) connected to 47:00
I've tried everything I can find concerning kernel parameters (usb suspend, unsafe interrupts, etc.) bios configurations (ensuring IOMMU is enabled, disabling OPROM on the pcie slot, etc.) i've tried all manner of vm configurations; however, I'm feeling pretty confident that until I can get the base OS to work with the pcie card I won't be able to get the VM to work.
Even though I have early binding (which I have also tried inserting as a kernel parameter) the usb controllers ALWAYS show up with the xhci_hcd driver in use. I have tried keeping the usb device disconnected during start-up and unbinding and binding to vfio (either by just starting the VM the controller is attached to or by bash commands) and even though the controller will appear in the VM I am unable to use any usb device attached to it.
I'm at my wits' end and appreciate any and all help you all may be able to offer. Please let me know if I can provide more information, I'd really love to get this one figured out.
The motherboard is Supermicro M12SWA-TF with AMD Ryzen Threadripper Pro 3955WX
It appears on surface very similar to the following issue raised here.
https://forum.proxmox.com/threads/pcie-passthrough-not-working.113938/
The controller(s) and IOMMU group I'm trying to pass through is...
Code:
46:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller [1b21:2142] (prog-if 30 [XHCI])
Subsystem: Sonnet Technologies, Inc. ASM2142 USB 3.1 Host Controller [16b8:7337]
Flags: bus master, fast devsel, latency 0, IRQ 159, IOMMU group 43
Memory at c9100000 (64-bit, non-prefetchable) [size=32K]
Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
Capabilities: [68] MSI-X: Enable+ Count=8 Masked-
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Legacy Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [200] Secondary PCI Express
Capabilities: [300] Latency Tolerance Reporting
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
47:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller [1b21:2142] (prog-if 30 [XHCI])
Subsystem: Sonnet Technologies, Inc. ASM2142 USB 3.1 Host Controller [16b8:7337]
Flags: bus master, fast devsel, latency 0, IRQ 168, IOMMU group 44
Memory at c9000000 (64-bit, non-prefetchable) [size=32K]
Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
Capabilities: [68] MSI-X: Enable+ Count=8 Masked-
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Legacy Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [200] Secondary PCI Express
Capabilities: [300] Latency Tolerance Reporting
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
/etc/modprobe.d/vfio.conf
Code:
options vfio-pci ids=10de:2182,10de:1aeb,10de:1aec,10de:1aed,1b21:3242,1002:743f,1002:ab28
options vfio-pci ids=1b21:2142,16b8:7337
That is all apart of 1 pcie card...
https://www.amazon.com/dp/B07LG5TS6H?psc=1&ref=ppx_yo2ov_dt_b_product_details
While I am able to pass this through and see it in a Windows 10 VM and have issues like the forum post, I have noticed an issue during boot found in dmesg. During boot I see the following associated with device (I have a usb logitech receiver for keyboard and mouse plugged into a port associated with this controller) connected to 47:00
Code:
root@mandv:~# dmesg | grep 47:00
[ 1.915869] pci 0000:47:00.0: [1b21:2142] type 00 class 0x0c0330
[ 1.915894] pci 0000:47:00.0: reg 0x10: [mem 0xc9000000-0xc9007fff 64bit]
[ 1.915953] pci 0000:47:00.0: enabling Extended Tags
[ 1.916032] pci 0000:47:00.0: PME# supported from D0
[ 1.916083] pci 0000:47:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x2 link at 0000:45:02.0 (capable of 15.752 Gb/s with 8.0 GT/s PCIe x2 link)
[ 1.953614] pci 0000:47:00.0: PME# does not work under D0, disabling it
[ 1.955661] pci 0000:47:00.0: Adding to iommu group 44
[ 3.240816] xhci_hcd 0000:47:00.0: xHCI Host Controller
[ 3.240818] xhci_hcd 0000:47:00.0: new USB bus registered, assigned bus number 9
[ 3.295647] xhci_hcd 0000:47:00.0: hcc params 0x0200ef80 hci version 0x110 quirks 0x0000000000800010
[ 3.295972] xhci_hcd 0000:47:00.0: xHCI Host Controller
[ 3.295974] xhci_hcd 0000:47:00.0: new USB bus registered, assigned bus number 10
[ 3.295975] xhci_hcd 0000:47:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[ 3.296024] usb usb9: SerialNumber: 0000:47:00.0
[ 3.296148] usb usb10: SerialNumber: 0000:47:00.0
[ 13.999126] xhci_hcd 0000:47:00.0: Abort failed to stop command ring: -110
[ 13.999183] xhci_hcd 0000:47:00.0: xHCI host controller not responding, assume dead
[ 13.999198] xhci_hcd 0000:47:00.0: HC died; cleaning up
[ 13.999225] xhci_hcd 0000:47:00.0: Timeout while waiting for setup device command
I've tried everything I can find concerning kernel parameters (usb suspend, unsafe interrupts, etc.) bios configurations (ensuring IOMMU is enabled, disabling OPROM on the pcie slot, etc.) i've tried all manner of vm configurations; however, I'm feeling pretty confident that until I can get the base OS to work with the pcie card I won't be able to get the VM to work.
Even though I have early binding (which I have also tried inserting as a kernel parameter) the usb controllers ALWAYS show up with the xhci_hcd driver in use. I have tried keeping the usb device disconnected during start-up and unbinding and binding to vfio (either by just starting the VM the controller is attached to or by bash commands) and even though the controller will appear in the VM I am unable to use any usb device attached to it.
I'm at my wits' end and appreciate any and all help you all may be able to offer. Please let me know if I can provide more information, I'd really love to get this one figured out.
Last edited: