Renesas 720201 USB 3.0 PCIe passthrough issue

Hello all,

I know that cards based on this controller chip have been discussed in other threads, but I believe my issue with my card is a little different. I purchased this card and upgraded the firmware as discussed in this thread. It works fine from within the Linux host and can even passthrough individual USB devices to guests.

However, as you might have guessed, I have issues when passing the entire card to a Windows 10 guest. I have segmented it to the following condition. If I have a device already plugged into the card (e.g. USB mouse) when the VM is started, it hangs on the TianoCore logo. If instead leave all ports empty, Windows 10 boots fine and after logging into Windows I can hot-plug and remove devices (even a USB stick) without any issues.

My suspicion at this point is that the guest’s UEFI (OVMF) is not initializing the card correctly (or the card does not respond properly) when there is already a device plugged in. I suppose I could switch to SeaBIOS, but I was not sure if there were any other implications to my existing Win10 guest install by switching the VM configuration in such a manner.

I am using a Xeon E-2288G in a WS C246 PRO motherboard under UnRAID 6.8.3, with ACS override, and guest is Q35-4.2. Not sure what other details might be relevant, so I’ll just leave it at that for now.

I have segmented it to the following condition. If I have a device already plugged into the card (e.g. USB mouse) when the VM is started, it hangs on the TianoCore logo. If instead leave all ports empty, Windows 10 boots fine and after logging into Windows I can hot-plug and remove devices (even a USB stick) without any issues.

My suspicion at this point is that the guest’s UEFI (OVMF) is not initializing the card correctly (or the card does not respond properly) when there is already a device plugged in.

From the description it seems more like the host OS is not ignoring the card.

Or does the problem happen only if you leave the USB device connected during boot? Because that’s the only time the UEFI does anything to devices.

The card I upgraded the firmware of in the thread is used in this specific setup
where I make sure the host keeps its hands off the card with the part about the script with “vfio-pci” > /sys/bus/pci/devices/$DEV/driver_override
and if I don’t do that the card will randomly fail to be connected or removed from VMs depedning on if something was connected to it.

I don’t know how to replicate that in Unraid

I could switch to SeaBIOS, but I was not sure if there were any other implications to my existing Win10 guest install by switching the VM configuration in such a manner.

If the Win10 guest was installed in a UEFI VM, switching to SeaBIOS means it will not boot. Windows has an automated procedure to migrate from BIOS to UEFI mode, but not to do the reverse.

Thanks for your reply. When the host boots up, my mouse connected to the card will be recognized, and the host UEFI (my Asus WS C246 PRO motherboard) responds to mouse movement. I am using vfio-pci.ids=vendorid:deviceid kernel flag to keep UnRAID from claiming the device and it appears to work because after leaving the host UEFI, during the UnRAID boot-up sequence, the mouse goes dark (it is an RGB mouse) and stays that way. Then, when I start up the guest VM to which I passthrough the USB card, the mouse comes on again, but the guest UEFI hangs on the TianoCore logo. If I have nothing plugged into the USB card when I start the guest VM, it boots into Win10 fine, and afterwards I can hot-plug USB with no issues.

So bottom-line is that I think the host is keeping its hands off the USB card and leaving it in power down state. I believe it is just something about starting up the card in the guest VM with something already plugged in that causes an issue, and I am guessing it is in the guest UEFI since it is hanging there on the logo.

Yes, regarding Win10 UEFI install, I agree I would not be able to boot if I switched to SeaBIOS, and I’m sure I’d run into other issues passing through my NVidia card to a guest if I made a new VM with SeaBIOS. Although for experimental purposes, I could just try and see if a stripped down SeaBIOS VM without GPU passthrough will boot into Win10 with something plugged into the USB card.