Asus WRX90E-SAGE SE (Threadripper 7985WX) USB-related Linux crashes

(Update: usbcore.autosuspend=-1 works around both crashes.)

My Threadripper Linux workstation has been suffering from frequent crashes over the past several months. I don’t think the timing of the onset will be helpful in troubleshooting, other than it coincided in a change in how I have been using the system - in particular, hot-plugging USB devices more frequently.

I am running Ubuntu 24.04.4 LTS, currently with kernel 7.0.0. The problem existed on kernel 6.8.0 as well. Notably, I have not been able to reproduce the crashes in Windows.

There seem to be two distinct (but possibly related) issues.

Issue 1: Crash when connecting to an Android device (Google Pixel) using adb

  1. Enable developer mode & USB debugging on the Android phone
  2. Plug the phone into a USB port on the workstation. (The specific port doesn’t seem to matter; it happens using the front panel USB-C, and it also happens using a USB-C port on a powered Thunderbolt dock plugged into one of the ASM4242 USB4 ports.)
  3. Run: adb shell ‘while sleep 0.1; do echo -n .; done’
  4. After a few minutes of printing .'s to your terminal (the amount of time varies), the system will crash and maybe reboot.

Example:

$ ssh my-workstation

$ adb shell 'while sleep 0.1; do echo -n .; done'              
* daemon not running; starting now at tcp:5037                                  
* daemon started successfully                                                   
................................................................................
................................................................................
................................................................................
.......................................client_loop: send disconnect: Broken pipe

Nothing gets written to kern.log because the system crashes so suddenly. I connected a serial console (via the ipmiconsole command) and managed to catch this error message in the output of dmesg -H -W

[Aug26 13:30] clocksource: Long readout interval, skipping watchdog check: cs_nsec: 1528817647 wd_nsec: 1528818397

Most of the time it crashes before being able to output that message, so it took a few tries to get it.

Meanwhile, running the same adb shell command in Windows worked completely fine.

Issue 2: Crash when plugging in a USB device

This one behaves differently from the first issue. Again, it doesn’t matter what port I’m plugging into (front-panel USB-A, or a USB-A port on my Thunderbolt dock.) The specific USB device doesn’t seem to matter either. I reproduced the crash a few times by plugging in my keyboard directly into the front panel port. It can also happen when I toggle my “ABFCRTTW” brand USB switch (the one I use for switching my keyboard/mouse between two computers, so no physical plugging involved.) The crash is very intermittent, so it often takes a lot of tries to get it to happen.

The error message for this issue is a lot scarier looking, and it shows up as a MCE “cache error” log message next boot. I have not been able to successfully reproduce this in Windows.

2026-08-24T17:39:55.660629-04:00 mighty kernel: BERT: Error records from previous boot:
2026-08-24T17:39:55.660630-04:00 mighty kernel: [Hardware Error]: event severity: fatal
2026-08-24T17:39:55.660630-04:00 mighty kernel: [Hardware Error]:  Error 0, type: fatal
2026-08-24T17:39:55.660630-04:00 mighty kernel: [Hardware Error]:  fru_text: ProcessorError
2026-08-24T17:39:55.660630-04:00 mighty kernel: [Hardware Error]:   section_type: IA32/X64 processor error
2026-08-24T17:39:55.660631-04:00 mighty kernel: [Hardware Error]:   Local APIC_ID: 0x5a
2026-08-24T17:39:55.660631-04:00 mighty kernel: [Hardware Error]:   CPUID Info:
2026-08-24T17:39:55.660631-04:00 mighty kernel: [Hardware Error]:   00000000: 00a10f81 00000000 5a800800 00000000
2026-08-24T17:39:55.660631-04:00 mighty kernel: [Hardware Error]:   00000010: 76fa320b 00000000 178bfbff 00000000
2026-08-24T17:39:55.660632-04:00 mighty kernel: [Hardware Error]:   00000020: 00000000 00000000 00000000 00000000
2026-08-24T17:39:55.660632-04:00 mighty kernel: [Hardware Error]:   Error Information Structure 0:
2026-08-24T17:39:55.660675-04:00 mighty kernel: [Hardware Error]:    Error Structure Type: cache error
2026-08-24T17:39:55.660675-04:00 mighty kernel: [Hardware Error]:    Check Information: 0x000000000602001f
2026-08-24T17:39:55.660675-04:00 mighty kernel: [Hardware Error]:     Transaction Type: 2, Generic
2026-08-24T17:39:55.660676-04:00 mighty kernel: [Hardware Error]:     Operation: 0, generic error
2026-08-24T17:39:55.660676-04:00 mighty kernel: [Hardware Error]:     Level: 0
2026-08-24T17:39:55.660676-04:00 mighty kernel: [Hardware Error]:     Processor Context Corrupt: true
2026-08-24T17:39:55.660676-04:00 mighty kernel: [Hardware Error]:     Uncorrected: true
2026-08-24T17:39:55.660677-04:00 mighty kernel: [Hardware Error]:   Context Information Structure 0:
2026-08-24T17:39:55.660677-04:00 mighty kernel: [Hardware Error]:    Register Context Type: MSR Registers (Machine Check and other MSRs)
2026-08-24T17:39:55.660677-04:00 mighty kernel: [Hardware Error]:    Register Array Size: 0x0080
2026-08-24T17:39:55.660678-04:00 mighty kernel: [Hardware Error]:    MSR Address: 0xc0002051
2026-08-24T17:39:55.660678-04:00 mighty kernel: mce: [Hardware Error]: Machine check events logged
2026-08-24T17:39:55.660678-04:00 mighty kernel: BERT: Total records found: 1
2026-08-24T17:39:55.660680-04:00 mighty kernel: mce: [Hardware Error]: CPU 45: Machine Check: 0 Bank 5: aea0000001000108
2026-08-24T17:39:55.660680-04:00 mighty kernel: fbcon: Taking over console
2026-08-24T17:39:55.660680-04:00 mighty kernel: mce: [Hardware Error]: TSC 0 ADDR 1ffffff8e7f3d7b MISC d0150fff00000000 PPIN 2b6be5531124007 SYND 4d000000 
2026-08-24T17:39:55.660681-04:00 mighty kernel: PM:   Magic number: 6:179:703
2026-08-24T17:39:55.660681-04:00 mighty kernel: IPID 500b0228a9a00 
2026-08-24T17:39:55.660681-04:00 mighty kernel: mce: [Hardware Error]: PROCESSOR 2:a10f81 TIME 1787607585 SOCKET 0 APIC 5a microcode a10810c
2026-08-24T17:39:55.660681-04:00 mighty kernel: RAS: Correctable Errors collector initialized.

What I’d like to know: Am I the only one? I’d appreciate if anyone else with (especially) the Asus WRX90E-SAGE SE board would be willing to try reproducing at least the first issue.

(For the second issue, if I come up with a way to reproduce it that doesn’t involve wearing out your USB port & cable by plugging it a hundred times, I’ll add instructions.)

At this point I’ve run out of ideas on how to troubleshoot this further.

Addendum 1:

I found a way to reproduce Issue 2 without physically plugging in a device, and without needing a USB switch. Manually unbinding/rebinding the device from the driver can also trigger the crash. I verified this with my keyboard (which had device path 5-1.1.2.1.2 - yours will be different) using this loop:

(Edit: Updated the script to do both the unbind+bind, and to iterate more quickly.)

USB_DEV="5-1.1.2.1.2"  # replace this with the USB device you want to test with
while true; do
	echo -n 'unbind '
	echo $USB_DEV | sudo tee -a /sys/bus/usb/drivers/usb/unbind >/dev/null
	sleep 1
	echo rebind
	echo $USB_DEV | sudo tee -a /sys/bus/usb/drivers/usb/bind >/dev/null
	sleep 1
done

I just let that run in the background until it crashed. So far both of the devices I’ve tried it with led to a crash eventually - first with the keyboard, then with my wireless mouse receiver.

Addendum 2:

I was able to work around both crashes by booting with usbcore.autosuspend=-1. I also found this bug report xhci_hcd: System lockup under CPU load during usbfs polling of USB devices on AMD platforms so my next step is to try the patch mentioned in the July 9th comment.

(Update: The proposed patch isn’t helping.)

(Final update: I replied with a proof of concept patch of my own that resolves the crashes.)

I will share the workaround I’m using, in case anybody else experiences this crash. The issue appears to be a platform bug that is triggered by power management suspending one of the USB root hub devices at the “wrong” time. When this happens, the next resume of that hub will lock up the system. This is fixed on AMD’s side with an AGESA update, but not all motherboard vendors have released an updated BIOS (this includes ASUS.)

For now, I am using the following udev rule as a workaround. It disables power management of the root hub devices at issue:

ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x1022", ATTR{device}=="0x14c9", DRIVER=="xhci_hcd", ATTR{power/control}="on"
1 Like

Exactly same issue here happens whenever my DAC or usb hub wakes up, causes a crash. I will try your workaround.