Struggling with USB 3 PCIe card passthrough - works sporadically

odonnell

New Member
Mar 6, 2021
10
0
1
31
Beating my head against the wall with this. I am running the latest PVE on my Dell R620, been about a year since I first installed it. I have a Windows 10 VM which I am trying to pass a 4-port USB 3 card to, but it almost never functions properly.

I have the system set up already for PCIe pass through, i.e. the IOMMU stuff and so on. Have been using a GPU passthrough to this same VM since I first installed it, works brilliantly. I also have a PCIe LSI HBA card passed through to a TrueNAS VM perfectly fine (entire controller passed through).
But this PCIe card is weird. It is showing up as a Renesas SH7757 controller. Running lspci -v shows these entries associated with the card (I am deleting extraneous lines to save space):

Code:
08:00.0 PCI bridge: Renesas Technology Corp. SH7757 PCIe Switch [PS] (prog-if 00 [Normal decode])
Kernel driver in use: pcieport

09:00.0 PCI bridge: Renesas Technology Corp. SH7757 PCIe Switch [PS] (prog-if 00 [Normal decode])
Kernel driver in use: pcieport

09:01.0 PCI bridge: Renesas Technology Corp. SH7757 PCIe Switch [PS] (prog-if 00 [Normal decode])
Kernel driver in use: pcieport

0a:00.0 PCI bridge: Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB] (prog-if 00 [Normal decode])

Pausing for a minute - I am noticing the 'kernel driver in use' not being the VFIO one. It's a 4-port hub so I was not shocked to see 4 entries, but the last one has a different ID format (maybe that's just because it's hex sequence?), and does not mention 'kernel driver in use' at all. It also is classified as a bridge and not a switch, like the preceding 3 entries. So, for passing through the card in its entirety, I am thinking the last entry may signify the heart of the card?
If not....farther down the list generated by running lspci, there is another entry from this card:

Code:
42:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev 03) (prog-if 30 [XHCI])
Kernel driver in use: vfio-pci
Kernel modules: xhci_pci

Getting the device IDs:
Code:
lspci -nn

08:00.0 PCI bridge [0604]: Renesas Technology Corp. SH7757 PCIe Switch [PS] [1912:0013]
09:00.0 PCI bridge [0604]: Renesas Technology Corp. SH7757 PCIe Switch [PS] [1912:0013]
09:01.0 PCI bridge [0604]: Renesas Technology Corp. SH7757 PCIe Switch [PS] [1912:0013]
0a:00.0 PCI bridge [0604]: Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB] [1912:0012]
...
42:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller [1912:0014] (rev 03)

So I added the device IDs to my vfio.conf file:
Code:
options vfio-pci ids=1912:0012,1912:0013,1912:0014

When I go into my VM's hardware menu in the main UI, I can only see that 42:00 entry as selectable/detected. I have played with different combination of ROM-bar, all functions, etc on that passthrough options menu.

Sometimes flash drives show up fine in the VM, but most of the time, they do not. External hard drives (the reason I installed this card) have almost no chance of ever appearing in the VM.

Proxmox seems to think it all worked fine: when I plug in a USB hard drive and it's not showing up to the Windows VM, I go back to the PVE hardware settings for the VM. Try adding a USB device: I thought maybe if it's not being passed through, I could see it here as a selectable option under "Use USB Vendor/Device ID" but it doesn't show up. So at some level, Proxmox thinks it's been passed through and is no longer available as an option. When the card (42:00) is removed from the hardware selection menu of the VM, I can select the hard drive, as now Proxmox is the one working with the PCIe card. But this is not what I am trying to do as my solution every time I plug something in to that card.

Does this sound like a junk card, or is it a junk config? It was a budget choice (FebSmart I think) I got for under $20 last year.
 
Last edited:
I noticed that I can view an external hard drive, which is plugged in to the PCIe card, in Disk Management (the built in Windows one). It is Disk 1 in the snapshot below.

Screen Shot 2022-03-07 at 7.52.09 PM.png

However it's not mounting, despite being a perfectly valid FAT or NTFS volume that I can use on other machines. Right clicking has all grayed-out options, except for 'delete volume.' What gives? The card is capable of powering this drive... it uses a mini USB connector, and I have used other drives with this card before that need more power. I have 5 drives acting the same way, so it's not a quirk with this HDD.