I recently got a FebSmart model FS-U304C-Pro. Supposedly, it’s based off of the RENESAS UPD720201 host controller, which uses the xhci-pci-renesas firmware module. The manual says toward should work out of the box with “most” Linux kernels.
Unfortunately, when I tried to install the card into my system, it did not function. The card gets registered by lspci, and the kernel module shows up underneath it. The issue is that the usbs do not communicate through the card.
I tried looking at dmesg and I found what might be my issue:
xhci-pci-renesas 000:0*:00.0: Download to external ROM TO:0
xhci-pci-renesas 000:0*:00.0: Timeout for Set DATAX step: 2
xhci-pci-renesas 000:0*:00.0: Firmware Download Step 2 failed at position 8 bytes with error (-110).
xhci-pci-renesas 000:0*:00.0: firmware failed to download (z110).
xhci-pci-renesas 000:0*:00.0: probe with driver xhci-pci-renesas failed with error -110
I have tried reinstalling my firmware modules, updating my system, andmoving the card to my other x1 slot.
Is there any way I can solve this issue locally before I either send this to issue to a bug tracker or send this card back? Also, I use Arch btw.
Should be the most recent given that I run a recently updated Arch installation.
Yes, but what is it? Run
uname -a
Also, which firmware packages do you believe have installed to sort this?
6.13.1-arch1-1 for x86_64
The firmware package is the upd72020x-fw (AUR only) package which is required by the mkinitcpio-firmware package. I have tried reinstalling both packages using both pacman and paru in case one gave extra errors.
Cursory glance tells me these boards have timing issues for loading firmware.
I would search for an updated version of this firmware that may be solves this, but this is potentially an issue with the PCI slot you have as well. Did you look through your BIOS settings and see if that slot has any settings?
I took a short look, but all the slots were on auto. My options were all pcie gen 1, 2, 3, or 4. My motherboard is an ASUS TUF Gaming X570 Plus Wifi, and I’m not really sure if the 2 M.2 slots eat my 2 PCIE x1 slots or not.
There you go. That’s a good entry point to figure this out.
Identify which port you’re plugging this card into and turn it’s settings to the slowest option. I’m almost certain the speed is being negotiated on auto incorrectly.
If this works to get the firmware loaded, then you can go back and step the speeds up until it breaks, and then you know where the limit is.
None of the settings have worked, but I did find 2 interesting settings hanging out in bios.
Would either changing the South Bridge speed or turning on the Compatibility Support Module (CSM) do anything?
Those could impact larger groups of things, but right now you’re just interested in making this work. I’m pretty sure this board is negotiating a faster connection than it’s capable of, so maybe try it out and see if it works.