[PATCH v2] USB: storage: add NO_ATA_1X quirk for Longmai USB Key

Huang Wei posted 1 patch 1 week, 2 days ago
drivers/usb/storage/unusual_devs.h | 7 +++++++
1 file changed, 7 insertions(+)
[PATCH v2] USB: storage: add NO_ATA_1X quirk for Longmai USB Key
Posted by Huang Wei 1 week, 2 days ago
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>
---
change for v2
- Update the sorting of VID and PID.
---
 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 255968f9ca42..ac22fa318734 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -395,6 +395,13 @@ UNUSUAL_DEV(  0x04b3, 0x4001, 0x0110, 0x0110,
 		USB_SC_DEVICE, USB_PR_CB, NULL,
 		US_FL_MAX_SECTORS_MIN),
 
+/* 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),
+
 /*
  * Reported by Simon Levitt <simon@whattf.com>
  * This entry needs Sub and Proto fields
-- 
2.25.1
Re: [usb-storage] [PATCH v2] USB: storage: add NO_ATA_1X quirk for Longmai USB Key
Posted by Alan Stern 1 week, 2 days ago
On Thu, Jul 16, 2026 at 11:33:41AM +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>
> ---
> change for v2
> - Update the sorting of VID and PID.
> ---

Acked-by: Alan Stern <stern@rowland.harvard.edu>

>  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 255968f9ca42..ac22fa318734 100644
> --- a/drivers/usb/storage/unusual_devs.h
> +++ b/drivers/usb/storage/unusual_devs.h
> @@ -395,6 +395,13 @@ UNUSUAL_DEV(  0x04b3, 0x4001, 0x0110, 0x0110,
>  		USB_SC_DEVICE, USB_PR_CB, NULL,
>  		US_FL_MAX_SECTORS_MIN),
>  
> +/* 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),
> +
>  /*
>   * Reported by Simon Levitt <simon@whattf.com>
>   * This entry needs Sub and Proto fields
> -- 
> 2.25.1
> 
> -- 
> You received this message because you are subscribed to the Google Groups "USB Mass Storage on Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to usb-storage+unsubscribe@lists.one-eyed-alien.net.
> To view this discussion visit https://groups.google.com/a/lists.one-eyed-alien.net/d/msgid/usb-storage/20260716033341.2830872-1-huangwei%40kylinos.cn.