Linux USB
 help / color / mirror / Atom feed
* Razer Basilisk V3 (1532:0099) cold-boot enumeration fails with -EPROTO on AMD Matisse xHCI
@ 2026-10-03 10:13 Thomas Hornik
  2026-10-03 10:21 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Hornik @ 2026-10-03 10:13 UTC (permalink / raw)
  To: linux-usb@vger.kernel.org
  Cc: gregkh@linuxfoundation.org, mathias.nyman@linux.intel.com

Dear Linux-USB team,

A Razer Basilisk V3 (mouse) fails to enumerate on some cold boots. The failure follows the device across ports and across two AMD Matisse xHCI controllers. Other full-speed devices on the same root hub enumerate during the same boot. A later connect of this device enumerates on the first try.

Hardware:
ASUS ROG STRIX X570-E GAMING, BIOS 5044 (2026-01-04)
Legacy USB support and xHCI hand-off are enabled
CPU: AMD Ryzen 7 5800X3D
The xHCI is the X570 chipset, 1022:149c rev 00
AMD Matisse xHCI [1022:149c]. 0000:06:00.1 subsystem 1043:8808, buses 1 (USB2) and 2 (USB3)
0000:0d:00.3 subsystem 1043:87c0, buses 5 (USB2) and 6 (USB3)
hcc params 0x0278ffe5, HCI version 0x110, quirks 0x10 (XHCI_SPURIOUS_SUCCESS only; no Matisse-specific quirk). Device, once enumerated: 1532:0099, bcdDevice 2.00, USB 2.00, full-speed, bMaxPacketSize0 64, 1 configuration, 4 HID interfaces, bus-powered, remote wakeup, 500 mA, quirks 0x0.

Kernels: Ubuntu 24.04 HWE 7.0.0-31, 7.0.0-34 and 7.0.0-38 (all 7.0.14). The signature is the same on all three.

Over 33 boots from 2026-09-18 to 2026-10-02 the device failed on 8 and enumerated on the first try at about t=1.0s on the other 25. Failures were on usb5-port1, usb5-port2 and usb5-port3 (0000:0d:00.3) and on usb1-port1 (0000:06:00.1). On the failing boot below, usb1-3 (Kingston HyperX Alloy Origins, 0951:16e5, also full-speed and 500 mA) enumerated at t=3.13s, an EPOS dongle at t=3.57s, and a Genesys hub at t=3.91s. A Logitech Unifying receiver on the sibling controller 0000:06:00.3 started at the same t=0.68s and succeeded.

xhci_hcd owns the controller before the failure. On two boots the device never appeared for the rest of the session, one of them about two hours. On two boots a later connect on the same port succeeded (t=44s and t=74s). The log has no disconnect line, because the device never enumerated, so that later connect cannot be separated from a replug. I do not have a usbmon trace of a failed boot yet.

Log from 7.0.0-38-generic, monotonic, 2026-10-02:

[    0.440060] xhci_hcd 0000:06:00.1: hcc params 0x0278ffe5 hci version 0x110 quirks 0x0000000000000010
[    0.446076] usb: port power management may be unreliable
[    0.683470] usb 1-1: new full-speed USB device number 2 using xhci_hcd
[    0.805501] usb 1-1: device descriptor read/64, error -71
[    1.035503] usb 1-1: device descriptor read/64, error -71
[    1.250606] usb 1-1: new full-speed USB device number 3 using xhci_hcd
[    1.370316] usb 1-1: device descriptor read/64, error -71
[    1.593663] usb 1-1: device descriptor read/64, error -71
[    1.698701] usb usb1-port1: attempt power cycle
[    2.077621] usb 1-1: new full-speed USB device number 4 using xhci_hcd
[    2.077718] usb 1-1: Device not responding to setup address.
[    2.282692] usb 1-1: Device not responding to setup address.
[    2.490609] usb 1-1: device not accepting address 4, error -71
[    2.490673] usb 1-1: WARN: invalid context state for evaluate context command.
[    2.602611] usb 1-1: new full-speed USB device number 5 using xhci_hcd
[    2.602705] usb 1-1: Device not responding to setup address.
[    2.810696] usb 1-1: Device not responding to setup address.
[    3.018608] usb 1-1: device not accepting address 5, error -71
[    3.018674] usb 1-1: WARN: invalid context state for evaluate context command.
[    3.018720] usb usb1-port1: unable to enumerate USB device
[   44.019328] usb 1-1: new full-speed USB device number 9 using xhci_hcd
[   44.161779] usb 1-1: New USB device found, idVendor=1532, idProduct=0099, bcdDevice= 2.00
[   44.161789] usb 1-1: Product: Razer Basilisk V3

The descriptor reads return -EPROTO in about 120 ms. initial_descriptor_timeout is 5000 ms, so the host has completed the control transfer with a transaction error. "Device not responding to setup address." comes from xhci_setup_device() on COMP_USB_TRANSACTION_ERROR. The WARN is xhci_evaluate_context_result() on COMP_CONTEXT_STATE_ERROR: Evaluate Context ran while the slot was not in Default, Addressed, or Configured. That warning is on the Address Device failure path. The first failure is the GET_DESCRIPTOR about two seconds earlier. hub_port_connect() then gives up and calls hub_port_disable().

usb_detect_quirks() runs only after a device descriptor has been read, and these attempts never get one. An entry for 1532:0099 cannot change the failing transfers. v7.0 drivers/usb/core/quirks.c has 1532:0116 and 1532:0e05, and no 1532:0099.

I can capture one failed boot with usbmon, or with xhci dynamic debug, if that would narrow it down.

My second OS, Windows 11, brings up the mouse on every boot.

Best regards,
Thomas Hornik

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-03 10:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-03 10:13 Razer Basilisk V3 (1532:0099) cold-boot enumeration fails with -EPROTO on AMD Matisse xHCI Thomas Hornik
2026-10-03 10:21 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox