Linux USB
 help / color / mirror / Atom feed
From: c2mismo <c2mismo@tuta.io>
To: Linux Usb <linux-usb@vger.kernel.org>
Cc: Gregkh <gregkh@linuxfoundation.org>
Subject: USB: Lexar E300 21c4:b083 fails SuperSpeedPlus negotiation due to missing BOS descriptor — request for NO_BOS quirk
Date: Fri, 8 May 2026 21:18:22 +0200 (CEST)	[thread overview]
Message-ID: <Os7vNaR--F-9@tuta.io> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 2147 bytes --]


Dear USB subsystem maintainers,

I have a Lexar E300 M.2 SSD enclosure (idVendor=0x21c4, idProduct=0xb083)
that supports USB 3.2 Gen 2 (10 Gbps). Under Linux it always negotiates
down to 5 Gbps, while on Windows the same hardware (cable, port) works
correctly at 10 Gbps (CrystalDiskMark ~1087 MB/s vs ~450 MB/s on Linux).

The kernel log shows that the device initially attempts SuperSpeed Plus
(Gen 2x1) but fails to provide a valid BOS descriptor, causing an error
-71 and a forced fallback to SuperSpeed (5 Gbps):

[  179.146227] usb 2-1: new SuperSpeed Plus Gen 2x1 USB device number 4 using xhci_hcd
[  182.237405] usb 2-1: USB disconnect, device number 4
[  182.420843] sd 12:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
[  182.552343] usb usb2-port1: config error
[  183.131966] usb 2-1: new SuperSpeed USB device number 5 using xhci_hcd

"lsusb -t" always reports the device at 5000M, even when connected to a
20 Gbps port.

I have reliable reports that other users on Ubuntu experience the
identical issue with the same enclosure.

The likely cause is that the enclosure's firmware does not handle the
BOS descriptor request correctly. The fix is to mark it with the
USB_QUIRK_NO_BOS flag, already existsting in previous kernels
(since commit 7b2f6c5b1b1c, "USB: core: Add quirk for devices that
can't handle BOS"). That quirk would prevent the kernel from trying to
read the BOS descriptor and thus avoid the downgrade.

i did try to add the following entry to drivers/usb/core/quirks.c
in the usb_quirk_list[]:

{ USB_DEVICE(0x21c4, 0xb083), .driver_info = USB_QUIRK_NO_BOS },

I am running Arch Linux with kernel 7.0.3 (in the recent version does not contain
the NO_BOS definition in its source), so I have been unable to test the
patch myself. However, I am fully available to test any patch or
directly apply and verify a fix if a developer can provide one. I can
also provide additional debug output if needed.

Thank you for your time and for maintaining the USB subsystem.

Best regards, 

Miguel Angel Ruiz Gallegoc2mismo@tuta.io

[-- Attachment #1.2: Type: text/html, Size: 3451 bytes --]

[-- Attachment #2: lexar_e300_dmesg.log --]
[-- Type: text/x-log, Size: 946 bytes --]

[    0.384012] xhci_hcd 0000:0e:00.0: Host supports USB 3.2 Enhanced SuperSpeed
[    0.442317] xhci_hcd 0000:10:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[    0.445051] xhci_hcd 0000:13:00.3: Host supports USB 3.1 Enhanced SuperSpeed
[    0.446009] xhci_hcd 0000:13:00.4: Host supports USB 3.1 Enhanced SuperSpeed
[    0.991140] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd
[    1.003817] usb 2-1: New USB device found, idVendor=21c4, idProduct=b083, bcdDevice=31.02
[    1.003822] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.003823] usb 2-1: Product: Lexar M.2 SSD Enclosure
[    1.003824] usb 2-1: Manufacturer: Lexar
[    1.003825] usb 2-1: SerialNumber: 000020250916
[    1.126605] usb 2-4: new SuperSpeed USB device number 3 using xhci_hcd
[   24.747065] usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd
[   24.894818] usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd

[-- Attachment #3: lexar_e300_lsusb.log --]
[-- Type: text/x-log, Size: 6268 bytes --]


Bus 002 Device 002: ID 21c4:b083 Lexar Lexar M.2 SSD Enclosure
Negotiated speed: SuperSpeed (5Gbps)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.20
  bDeviceClass            0 [unknown]
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x21c4 Lexar
  idProduct          0xb083 Lexar M.2 SSD Enclosure
  bcdDevice           31.02
  iManufacturer           1 Lexar
  iProduct                2 Lexar M.2 SSD Enclosure
  iSerial                 3 xxxxxxxxxxxx
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0079
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98 USB Attached SCSI
      iInterface             10 MSC USB Attached SCSI
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        Command pipe (0x01)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        MaxStreams             32
        Status pipe (0x02)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               3
        MaxStreams             32
        Data-in pipe (0x03)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Data-out pipe (0x04)
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x0046
  bNumDeviceCaps          4
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000f0e
      BESL Link Power Management (LPM) Supported
      Baseline BESL value  10000 us 
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat          32 micro seconds
  Platform Device Capability:
    bLength                28
    bDescriptorType        16
    bDevCapabilityType      5
    bReserved               0
    PlatformCapabilityUUID    {d8dd60df-4589-4cc7-9cd2-659d9e648a9f}
    CapabilityData[0]    0x00
    CapabilityData[1]    0x00
    CapabilityData[2]    0x03
    CapabilityData[3]    0x06
    CapabilityData[4]    0x10
    CapabilityData[5]    0x00
    CapabilityData[6]    0x0a
    CapabilityData[7]    0x00
  SuperSpeedPlus USB Device Capability:
    bLength                20
    bDescriptorType        16
    bDevCapabilityType     10
    bmAttributes         0x00000001
      Sublink Speed Attribute count 2
      Sublink Speed ID count 1
    wFunctionalitySupport   0x1100
      Min functional Speed Attribute ID: 0
      Min functional RX lanes: 1
      Min functional TX lanes: 1
    bmSublinkSpeedAttr[0]   0x000a4030
      Speed Attribute ID: 0 10Gb/s Symmetric RX SuperSpeedPlus
    bmSublinkSpeedAttr[1]   0x000a40b0
      Speed Attribute ID: 0 10Gb/s Symmetric TX SuperSpeedPlus
Device Status:     0x0001
  Self Powered

             reply	other threads:[~2026-05-08 19:18 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-08 19:18 c2mismo [this message]
2026-05-09  4:07 ` USB: Lexar E300 21c4:b083 fails SuperSpeedPlus negotiation due to missing BOS descriptor — request for NO_BOS quirk Gregkh
2026-05-09 15:31   ` Michal Pecio

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=Os7vNaR--F-9@tuta.io \
    --to=c2mismo@tuta.io \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    /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