The myth, the legend, the PEXUSB3S44V ...


rootPanda

3 posts in this topic Last Reply

Recommended Posts

Hi all!

Firstly, I've been using UnRaid on and off for the last couple of years for different projects, just testing stuff out and getting a feel for compatibility and such. So, the last month or so, I've been getting hold of some server grade hardware and CPUs for a bigger project and have run into a little bit of a snag..

 

Secondly, sorry for the wall of text!

 

My end goal is to have 1 computer running 4 VMs for gaming, GPU and USB passthrough for hot plug. The idea is simple and UnRaid can definitely do all of that.

My hardware is not "new", but it does the job and works well with UnRaid. However, like many others, I am having issues with USB 3.0 "SuperSpeed" passthrough.. Yes, I'm talking about the infamous PEXUSB3S44V from StarTech...

 

I would like to share my findings so far, because I refuse to give up on this card. :)

 

So, the PEXUSB3S44V, which we all know, supports UASP ("USB Attached SCSI Protocol"), great for USB storage devices requiring that little extra speed, bad for us people trying to pass it through to a VM.. I believe the issue may be related to this controller using 2 drivers (correct me if I'm wrong), drivers "pcieport" (for the UAS part of this card) and "xhci_hcd" (for the USB 3.0 part).

 

Using IOMMU, everything seems fine, all in seperate groups, almost too perfect, right?

IOMMU group 26:	[12d8:2608] 81:00.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch
IOMMU group 27:	[12d8:2608] 82:01.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch
IOMMU group 28:	[12d8:2608] 82:02.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch
IOMMU group 29:	[12d8:2608] 82:03.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch
IOMMU group 30:	[12d8:2608] 82:04.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch
IOMMU group 31:	[1912:0015] 83:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)
IOMMU group 32:	[1912:0015] 84:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)
IOMMU group 33:	[1912:0015] 85:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)
IOMMU group 34:	[1912:0015] 86:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)

Trying to attach devices to this card (with IOMMU on), does nothing, nothing is showing up, no drives or devices detected by either UnRaid or the VM (Windows 10 VM, "Code 10" error, USB Root Hub not starting).

 

However, UnRaid can properly utilize this card, but ONLY when IOMMU is disabled. Attaching devices to this card with IOMMU off, works just fine. So, armed with the knowledge that UnRaid can use this card "normally", I started my journey trying to get it to work with passthrough.

 

What I have tried so far:

 

The obvious stuff (startup parameters);

1. vfio-pci.ids=1912:0015 (with and without the PCI bridge for this card, 12d8:2608)
2. pci-stub.ids=1912:0015 (with and without the PCI bridge for this card, 12d8:2608)
3. intel_iommu=on iommu=pt (with either vfio-pci.ids or pci-stub.ids)

The not so obvious stuff;

1. xen-pciback.hide=(81:00.0)(82:01.0)(82:02.0)(82:03.0)(82:04.0)(83:00.0)(84:00.0)(85:00.0)(86:00.0)
2. modprobe_blacklist=xhci_hcd
3. initcall_blacklist=xhci_init

Last two in hopes that disabling the xhci driver might cause a fall-back to the ehci or ohci driver (forcing USB 2.0?). It is still initialized tho, I cannot get it to not start. Then I read that the xhci driver may be started via the "uas" driver/protocol, but I have not found what the init call function for this is yet or how to disable it.. (someone more into Linux might know this..). Not even sure UnRaid has UASP support, I believe I read somewhere that the kernel needs to be recompiled with "CONFIG_USB_UAS" directive (or something like it), to enable the support, but obviously those who have tried, said it made no difference, atleast not for this card.

 

So, where am I now? My thoughts so far moving forward;

  1. Trying to disable both UASP support and the "xhci_hcd" driver from loading, in an attempt to force a fall-back. Can it be done?
  2. Trying to install "compatible" xhci drivers as modules (*.ko files?) and getting the card to use them. Can it be done?

 

I hope my little adventure and wall of text concerning this card, can both help and inspire someone to reach a working solution for getting passthrough working properly. Final thoughts, IMHO, is that I believe this to be a driver issue, not a hardware issue. Driver issues can be corrected. :)


Disclaimer: English is not my first language, so apologies for any typos or grammatical errors. Thank you.

Link to post
  • 1 month later...
  • 2 months later...

Hi.

 

Just made a new attempt of getting this card working, but with no luck 🙁

 

I have heard that there are multiple revisions of this card, and that someone has got it working.

 

Mine is marked "PI40202-7X2B".

I have seen a "PI40202-6X2B" and "PI40202-6X2A", and one of these might be working?

Can anyone confirm this or have anyone experience with any other revision than mine?

Link to post

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.