Linux USB
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Thomas Hornik <thomas.hornik@protonmail.ch>
Cc: "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"mathias.nyman@linux.intel.com" <mathias.nyman@linux.intel.com>
Subject: Re: Razer Basilisk V3 (1532:0099) cold-boot enumeration fails with -EPROTO on AMD Matisse xHCI
Date: Sat, 3 Oct 2026 12:21:27 +0200	[thread overview]
Message-ID: <2026100336-paternity-cortex-3692@gregkh> (raw)
In-Reply-To: <HHq_OCxl9RI-5ZzRAxURVsf30En7t418EeJNcfCR9WFSf5EFK2WKxDHfzCTo1_8ifuH60WiBNe9env2XOLmaFdlePVioseIIWrP2-du5Mss=@protonmail.ch>

On Sat, Oct 03, 2026 at 10:13:56AM +0000, Thomas Hornik wrote:
> 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.

That's a vendor kernel, nothing we can do about them, can you test
kernels we release (i.e. from kernel.org)?

> 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.

So if you add a quirk for this device like the other entries here, does
it work properly for you?

thanks,

greg k-h

      reply	other threads:[~2026-10-03 10:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2026100336-paternity-cortex-3692@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.com \
    --cc=thomas.hornik@protonmail.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox