drivers/usb/storage/unusual_devs.h | 7 +++++++ 1 file changed, 7 insertions(+)
The Longmai Technologies USB Key (0x04b4:0xb708) advertises itself as a
SCSI/Bulk-only mass storage device but does not correctly handle ATA
pass-through commands. When such a command (ATA_12 or ATA_16) is sent to
the device it fails to respond and the transfer eventually times out,
leaving the device unusable.
Add an unusual_devs entry for this device that sets the US_FL_NO_ATA_1X
flag, so usb-storage short-circuits ATA pass-through commands and returns
INVALID COMMAND OPERATION CODE (0x20 0x05 0x24 0x00) instead of forwarding
them to the device.
Information about the device in /sys/kernel/debug/usb/devices:
T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 12 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=06 Prot=50 MxPS=64 #Cfgs= 1
P: Vendor=04b4 ProdID=b708 Rev= 1.00
S: Manufacturer=Longmai Technologies
S: Product=USB Key
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Reported-by: Ai Chao <aichao@kylinos.cn>
Signed-off-by: Huang Wei <huangwei@kylinos.cn>
---
drivers/usb/storage/unusual_devs.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index cb03d3615614..ef77ab6fd42f 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -2379,6 +2379,13 @@ UNUSUAL_DEV( 0xed10, 0x7636, 0x0001, 0x0001,
"Digital MP3 Audio Player",
USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ),
+/* Reported by Ai Chao <aichao@kylinos.cn> */
+UNUSUAL_DEV( 0x04b4, 0xb708, 0x0000, 0xffff,
+ "Longmai Technologies",
+ "USB Key",
+ USB_SC_SCSI, USB_PR_BULK, NULL,
+ US_FL_NO_ATA_1X),
+
/* Unusual uas devices */
#if IS_ENABLED(CONFIG_USB_UAS)
#include "unusual_uas.h"
--
2.25.1
On Wed, Jul 15, 2026 at 04:45:30PM +0800, Huang Wei wrote: > The Longmai Technologies USB Key (0x04b4:0xb708) advertises itself as a > SCSI/Bulk-only mass storage device but does not correctly handle ATA > pass-through commands. When such a command (ATA_12 or ATA_16) is sent to > the device it fails to respond and the transfer eventually times out, > leaving the device unusable. > > Add an unusual_devs entry for this device that sets the US_FL_NO_ATA_1X > flag, so usb-storage short-circuits ATA pass-through commands and returns > INVALID COMMAND OPERATION CODE (0x20 0x05 0x24 0x00) instead of forwarding > them to the device. > > Information about the device in /sys/kernel/debug/usb/devices: > > T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 12 Spd=480 MxCh= 0 > D: Ver= 2.00 Cls=00(>ifc ) Sub=06 Prot=50 MxPS=64 #Cfgs= 1 > P: Vendor=04b4 ProdID=b708 Rev= 1.00 > S: Manufacturer=Longmai Technologies > S: Product=USB Key > C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA > I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage > E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms > E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms > > Reported-by: Ai Chao <aichao@kylinos.cn> > Signed-off-by: Huang Wei <huangwei@kylinos.cn> > --- > drivers/usb/storage/unusual_devs.h | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h > index cb03d3615614..ef77ab6fd42f 100644 > --- a/drivers/usb/storage/unusual_devs.h > +++ b/drivers/usb/storage/unusual_devs.h > @@ -2379,6 +2379,13 @@ UNUSUAL_DEV( 0xed10, 0x7636, 0x0001, 0x0001, > "Digital MP3 Audio Player", > USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), > > +/* Reported by Ai Chao <aichao@kylinos.cn> */ > +UNUSUAL_DEV( 0x04b4, 0xb708, 0x0000, 0xffff, > + "Longmai Technologies", > + "USB Key", > + USB_SC_SCSI, USB_PR_BULK, NULL, > + US_FL_NO_ATA_1X), > + According to the comments at the start of the file, entries should be sorted by VendorID, then ProductID. Alan Stern > /* Unusual uas devices */ > #if IS_ENABLED(CONFIG_USB_UAS) > #include "unusual_uas.h" > -- > 2.25.1
© 2016 - 2026 Red Hat, Inc.