Troubleshooting new WRX90 build

Hi Guys,

I have finished a couple month ago my build but never got able to use the usb4 port of my ASUS WRX 90 Sage.

Here is the list of my hardware :

SilverStone SST-RM61-312
Asus Pro WS WRX90E-SAGE SE
AMD Threadripper 7975WX
8 X Kingston Server Premier 64GB 5600MT/s KSM56R46BD4PMI-64HAI / 512GB
IceGiant ProSiphon Elite
4 X 4To Samsung nvme 990 Pro
RTX 3090 + AMD 5600XT
lsi 9300-16i

I am running Proxmox with multiple LXC and VM’s, however I cannot seem to get usb4 working, I have checked kernel logs and getting this errors.
“xhci_hcd 0000:8c:00.0: init 0000:8c:00.0 fail, -110”
“xhci_hcd: probe of 0000:8c:00.0 failed with error -110”

My goal is to use a corning TB3 cable and run my Gaming VM to my office and rack mount this workstation.

Thanks for your help

Let’s review some troubleshooting steps and potential solutions to address the issue with the USB4 port on your ASUS WRX90 Sage motherboard.

First, ensure that your motherboard’s BIOS/UEFI firmware is up-to-date. Manufacturers often release updates to improve hardware compatibility and fix known issues. Visit the ASUS support page for your motherboard and download the latest BIOS version.

Next, access the BIOS/UEFI settings and look for options related to USB4 or Thunderbolt support. Ensure that these features are enabled. Sometimes, specific settings must be enabled for the USB4 controller to function correctly.

Since you are running Proxmox, it’s crucial to ensure that your kernel version supports USB4 and Thunderbolt. As far as I know, the cutoff in 2023 was Linux kernel 5.10, and later, it has improved support for USB4/Thunderbolt. Check your current kernel version using the uname -r command. If it’s outdated, consider upgrading to a newer kernel.

Install the bolt and thunderbolt-tools packages to manage and troubleshoot Thunderbolt devices. These tools can help you determine whether the Thunderbolt controller is recognized and whether any additional configurations are needed. Use the command apt-get install bolt thunderbolt-tools to install them.

Ensure that the IOMMU is enabled in your BIOS/UEFI settings. This is crucial for proper device passthrough in virtualization environments. If not already present, add the following lines to your kernel parameters: intel_iommu=on iommu=pt. You can add these parameters to your bootloader configuration file, typically found at /etc/default/grub for GRUB, and then update GRUB using the update-grub command.

Check the kernel log messages using dmesg for more detailed information about the error. The -110 error usually indicates a timeout issue. Look for entries related to xhci_hcd or Thunderbolt using the commands dmesg | grep -i xhci and dmesg | grep -i Thunderbolt.

Ensure that the USB4 controller hardware is not faulty. To do this, test with another operating system (e.g., a live Linux distro or Windows) to see if the issue persists. If the USB4 port works on another OS, the problem is likely software-related in your Proxmox setup.

Ensure that the Corning TB3 cable and the device you are trying to connect are fully compatible with USB4 and Thunderbolt 3/4 standards. Sometimes, specific cables or devices may not be fully compatible, leading to connection issues.

Finally, consult the Proxmox community forums or ASUS support for additional insights. Other users may have encountered and resolved similar issues. By following these steps, you should be able to narrow down the cause of the USB4 port issue and find a suitable solution. Let me know if you need further assistance with any of these steps!

1 Like

Thank you @Shadowbane for your details answer.

  • The bios is up to date with the latest 0404 BIOS
  • All options related to USB4 - thunderbolt - USB - XHCI handoff were enabled
  • I am running the latest proxmox kernel 6.8.4-3-pve
  • I have installed bolt and thunderbolt-tools could you please advise on command to run in order to troubleshoot ?
  • IOMMU is enabled and working as gpu passthrough is already working on my windows gaming VM
  • Indeed this is also my conclusion at the moment as I have installed Windows 11 Pro and I have the same issue in device manager the usb controller is marked in yellow no driver are needed on windows 11. my guess is a hardware issue.
  • I am not using the corning TB3 cable at the moment but the already tested and working stock dock cable
  • Searched on Proxmox forum for a similar case with my hardware did not find useful info yet.

Please find the output of the dmesg :

root@pve:~# dmesg | grep -i 0000:8c:00.0
[ 14.920127] pci 0000:8c:00.0: [1b21:2424] type 00 class 0x0c0330 PCIe Legacy Endpoint
[ 14.920141] pci 0000:8c:00.0: BAR 0 [mem 0xb0000000-0xb0007fff 64bit]
[ 14.920216] pci 0000:8c:00.0: PME# supported from D0 D3hot D3cold
[ 20.415961] pci 0000:8c:00.0: xHCI HW not ready after 5 sec (HC bug?) status = 0x801
[ 20.416073] pci 0000:8c:00.0: quirk_usb_early_handoff+0x0/0x780 took 5277959 usecs
[ 20.424159] pci 0000:8c:00.0: Adding to iommu group 60
[ 21.120100] xhci_hcd 0000:8c:00.0: xHCI Host Controller
[ 21.120104] xhci_hcd 0000:8c:00.0: new USB bus registered, assigned bus number 5
[ 38.292861] xhci_hcd 0000:8c:00.0: can’t setup: -110
[ 38.292900] xhci_hcd 0000:8c:00.0: USB bus 5 deregistered
[ 38.293179] xhci_hcd 0000:8c:00.0: init 0000:8c:00.0 fail, -110
[ 38.293182] xhci_hcd: probe of 0000:8c:00.0 failed with error -110
root@pve:~# dmesg | grep -i 0000:8d:00.0
[ 14.920372] pci 0000:8d:00.0: [1b21:2425] type 00 class 0x0c0340 PCIe Legacy Endpoint
[ 14.920384] pci 0000:8d:00.0: BAR 0 [mem 0xb0400000-0xb043ffff 64bit]
[ 14.920391] pci 0000:8d:00.0: BAR 2 [mem 0xb0440000-0xb044ffff 64bit]
[ 14.920452] pci 0000:8d:00.0: PME# supported from D0 D3hot D3cold
[ 20.424165] pci 0000:8d:00.0: Adding to iommu group 61
[ 21.113333] thunderbolt 0000:8d:00.0: enabling device (0000 → 0002)
[ 38.393306] thunderbolt: probe of 0000:8d:00.0 failed with error -110
root@pve:~#

1 Like

Hi @mikeone, there are eight troubleshooting steps as follows:

  1. Check the Status of Thunderbolt Devices
    Use the boltctl command to list the Thunderbolt devices and their status:

run boltctlin your terminal

  1. Check Thunderbolt and USB4 Details
    Run boltctl list to see detailed information about connected Thunderbolt devices:

bash

2. Check Thunderbolt and USB4 Details

Run boltctl list to see detailed information about connected Thunderbolt devices:

run boltctl list in your terminal.

3. Monitor Thunderbolt Events

You can monitor events related to Thunderbolt devices using boltd. This can help you see real-time events when you connect or disconnect devices:

run boltd --monitor in your terminal.

  1. Show Thunderbolt Security Level
    To check the current security level of Thunderbolt devices, run:

run boltctl show in your terminal.

5. Authorize Thunderbolt Devices

If you have any unauthorized devices, you can authorize them using:

run boltctl authorize [device-uuid] in your terminal. Replace [device-uuid] with the actual UUID of the device you want to authorize.

  1. Check Kernel Logs for Thunderbolt/USB4 Errors
    Use dmesg to filter out Thunderbolt-related messages:

run dmesg | grep -i thunderbolt in your terminal.

7. Check Detailed Information of Thunderbolt Devices

You can use lspci to get detailed information about the Thunderbolt controller and connected devices:

run lspci | grep -i thunderbolt in your terminal.

  1. Verify IOMMU Groups
    Check the IOMMU groups to ensure proper device isolation and passthrough:

run find /sys/kernel/iommu_groups/ -type l in your terminal.
By running these commands, you should be able to gather more detailed information about the status and configuration of your Thunderbolt and USB4 devices. Let me know if you encounter any specific messages or issues that need further analysis!

I have decoded the demessage you included in your last post. Based on the dmesg output, it seems there are issues with both the USB4 and Thunderbolt controllers, as indicated by the errors for 0000:8c:00.0 and 0000:8d:00.0. The error code -110 typically indicates a timeout issue, suggesting the hardware may not be initializing correctly. Here are several steps you can take to further diagnose and potentially resolve these issues.

First, verify the USB4 and Thunderbolt settings in your BIOS/UEFI to ensure they are correctly configured. Enter the BIOS/UEFI setup during boot, check for settings related to USB4, Thunderbolt, and IOMMU, and make sure they are enabled. Look for any USB/Thunderbolt-related firmware updates or specific settings that need to be enabled for proper operation.

Next, make sure your motherboard’s BIOS/UEFI and Thunderbolt firmware are up to date. Visit the ASUS support website for your motherboard model, download, and install the latest BIOS/UEFI firmware updates. If available, update the Thunderbolt firmware as well.

Ensure you have the necessary kernel parameters set for proper initialization of USB4 and Thunderbolt. Edit the GRUB configuration file at /etc/default/grub and add intel_iommu=on iommu=pt to GRUB_CMDLINE_LINUX_DEFAULT. Then, update GRUB by running update-grub and reboot the system to apply the changes.

Check that the controllers are seated properly in their PCIe slots, as sometimes reseating the card can help resolve initialization issues. Consider testing with a different kernel version to see if the issue persists. Install a newer kernel, if available, using sudo apt-get install linux-image-generic, then reboot and select the new kernel from the GRUB menu.

Use boltctl to gather more information about the Thunderbolt device by running boltctl list and boltctl show. Monitor Thunderbolt events with boltd --monitor to see real-time events and logs related to Thunderbolt devices. Verify the Thunderbolt controller state with lspci -vvv -s 8d:00.0 to get detailed information about the controller.

If the issue persists after these steps, consider reaching out to ASUS support for further assistance. There may be a hardware-specific issue or a need for a firmware update that they can provide.

1 Like

I have tried everything but failed.

I think I might have found the issue here, I have gone for the fifth time trough the motherboard manual, and found what I might have done and might killed the usb controller.

You guess it I have hot swapped the port, which has never been a problem on my other asus board including my other X570 Creator with Thunderbolt too.

Guess I am out of luck, hopefully something is possible to get it working again otherwise might have to go for a new board :frowning:

1 Like

New board here, it is working fine, however I cannot seem to get my dock to passthrough to a vm or even see the connected devices in the usb passthrough section. anyone has a clue about this ?

1 Like

I’m a WRX90 user

There is an update specifically for the USB4 chip firmware on the Asus site, have you applied that? It is separate from BIOS update. If I remember, it is applied from UEFI shell, NOT the UEFI config system

There are a few others updates as well, for BMC and i710 NIC also FYI, though those of course are unlikely to help

I’ve have used USB4 successfully under Xen passthrough (via QubesOS) in the form of an m.2 enclosure. BUT that is with an enclosure that has a chip supporting true USB4, not the more common tunneling of USB channels inside Thunderbolt. It’s a big difference, because thunderbolt is such a freak-show in how it works under the covers

For those interested, the chip on the enclosure is ASM2464PD. There are several decent quality inexpensive ones on Amazon, including one made by ugreen. This won’t help those using things like eGPU or other devices that for whatever reason, must have features provided by thunderbolt (specifically, a PCI link) but it helps for external storage use-case

1 Like