* USB: Lexar E300 21c4:b083 fails SuperSpeedPlus negotiation due to missing BOS descriptor — request for NO_BOS quirk
@ 2026-05-08 19:18 c2mismo
2026-05-09 4:07 ` Gregkh
0 siblings, 1 reply; 3+ messages in thread
From: c2mismo @ 2026-05-08 19:18 UTC (permalink / raw)
To: Linux Usb; +Cc: Gregkh
[-- 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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: USB: Lexar E300 21c4:b083 fails SuperSpeedPlus negotiation due to missing BOS descriptor — request for NO_BOS quirk
2026-05-08 19:18 USB: Lexar E300 21c4:b083 fails SuperSpeedPlus negotiation due to missing BOS descriptor — request for NO_BOS quirk c2mismo
@ 2026-05-09 4:07 ` Gregkh
2026-05-09 15:31 ` Michal Pecio
0 siblings, 1 reply; 3+ messages in thread
From: Gregkh @ 2026-05-09 4:07 UTC (permalink / raw)
To: c2mismo; +Cc: Linux Usb
On Fri, May 08, 2026 at 09:18:22PM +0200, c2mismo wrote:
>
> 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),
7.0.3 has that quirk flag, so this should work.
> 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.
Can you make the patch so you get full credit for it?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: USB: Lexar E300 21c4:b083 fails SuperSpeedPlus negotiation due to missing BOS descriptor — request for NO_BOS quirk
2026-05-09 4:07 ` Gregkh
@ 2026-05-09 15:31 ` Michal Pecio
0 siblings, 0 replies; 3+ messages in thread
From: Michal Pecio @ 2026-05-09 15:31 UTC (permalink / raw)
To: Gregkh; +Cc: c2mismo, Linux Usb
On Sat, 9 May 2026 06:07:19 +0200, Gregkh wrote:
> On Fri, May 08, 2026 at 09:18:22PM +0200, c2mismo wrote:
> >
> > 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):
Where does it show that?
> > [ 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
Users with confirmed BOS problems had different logs:
https://bugzilla.kernel.org/show_bug.cgi?id=218943
https://bugzilla.kernel.org/show_bug.cgi?id=220027
> > 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),
>
> 7.0.3 has that quirk flag, so this should work.
Well, maybe it's doesn't because it's a different issue?
Regards,
Michal
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-09 15:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-08 19:18 USB: Lexar E300 21c4:b083 fails SuperSpeedPlus negotiation due to missing BOS descriptor — request for NO_BOS quirk c2mismo
2026-05-09 4:07 ` Gregkh
2026-05-09 15:31 ` Michal Pecio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox