usb-storage: Add US_FL_FIX_INQUIRY quirk for Intenso Twist Line USB 3.2

Message ID 20240214111721.18346-1-quic_selvaras@quicinc.com
State New
Headers
Series usb-storage: Add US_FL_FIX_INQUIRY quirk for Intenso Twist Line USB 3.2 |

Commit Message

Selvarasu Ganesan Feb. 14, 2024, 11:17 a.m. UTC
  The Intenso Twist Line USB 3.2 flash drive fails to respond to the
INQUIRY data stage request for a 36 bulk in request from the host. This
commit adds the US_FL_FIX_INQUIRY flag to fake the INQUIRY command for
this device, preventing a storage enumeration failure.

USBMON log:
ffffff8a3ee06a00 3192811972 S Ci:2:009:0 s c0 33 0000 0000 0002 2 <
ffffff8a3ee06a00 3192862051 C Ci:2:009:0 -2 0
ffffff8a3ee06a00 3192862185 S Ci:2:009:0 s c0 33 0000 0000 0002 2 <
ffffff8a3ee06a00 3192912299 C Ci:2:009:0 -2 0
ffffff8a3ee06e00 3193040068 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
ffffff8a3ee06e00 3193040214 C Ci:2:003:0 0 4 = 880b0700
ffffff8a3ee06e00 3193040279 S Ci:2:002:0 s a3 00 0000 0003 0004 4 <
ffffff8a3ee06e00 3193040427 C Ci:2:002:0 0 4 = 00010000
ffffff8a3ee06e00 3193040470 S Ci:2:002:0 s a3 00 0000 0004 0004 4 <
ffffff8a3ee06e00 3193040672 C Ci:2:002:0 0 4 = 03050000
ffffff892b309500 3193824092 S Ci:2:009:0 s a1 fe 0000 0000 0001 1 <
ffffff892b309500 3193824715 C Ci:2:009:0 0 1 = 00
ffffff892b309500 3193825060 S Bo:2:009:2 -115 31 = 55534243 01000000 24000000 80000612 00000024 00000000 00000000 000000
ffffff892b309500 3193825150 C Bo:2:009:2 0 31 >
ffffff8b8419d400 3193825737 S Bi:2:009:1 -115 36 <
ffffff8a3ee06400 3194040175 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
ffffff8a3ee06400 3194040372 C Ci:2:003:0 0 4 = 880b0700
ffffff89bee5b100 3194040591 S Ci:2:002:0 s a3 00 0000 0003 0004 4 <
ffffff89bee5b100 3194040681 C Ci:2:002:0 0 4 = 00010000
ffffff89bee5b100 3194040999 S Ci:2:002:0 s a3 00 0000 0004 0004 4 <
ffffff89bee5b100 3194041083 C Ci:2:002:0 0 4 = 03050000
ffffff8a3ee06a00 3195040349 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <

Signed-off-by: Selvarasu Ganesan <quic_selvaras@quicinc.com>
---
 drivers/usb/storage/unusual_devs.h | 7 +++++++
 1 file changed, 7 insertions(+)
  

Comments

Greg KH Feb. 14, 2024, 1:13 p.m. UTC | #1
On Wed, Feb 14, 2024 at 03:17:21AM -0800, Selvarasu Ganesan wrote:
> The Intenso Twist Line USB 3.2 flash drive fails to respond to the
> INQUIRY data stage request for a 36 bulk in request from the host. This
> commit adds the US_FL_FIX_INQUIRY flag to fake the INQUIRY command for
> this device, preventing a storage enumeration failure.
> 
> USBMON log:
> ffffff8a3ee06a00 3192811972 S Ci:2:009:0 s c0 33 0000 0000 0002 2 <
> ffffff8a3ee06a00 3192862051 C Ci:2:009:0 -2 0
> ffffff8a3ee06a00 3192862185 S Ci:2:009:0 s c0 33 0000 0000 0002 2 <
> ffffff8a3ee06a00 3192912299 C Ci:2:009:0 -2 0
> ffffff8a3ee06e00 3193040068 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
> ffffff8a3ee06e00 3193040214 C Ci:2:003:0 0 4 = 880b0700
> ffffff8a3ee06e00 3193040279 S Ci:2:002:0 s a3 00 0000 0003 0004 4 <
> ffffff8a3ee06e00 3193040427 C Ci:2:002:0 0 4 = 00010000
> ffffff8a3ee06e00 3193040470 S Ci:2:002:0 s a3 00 0000 0004 0004 4 <
> ffffff8a3ee06e00 3193040672 C Ci:2:002:0 0 4 = 03050000
> ffffff892b309500 3193824092 S Ci:2:009:0 s a1 fe 0000 0000 0001 1 <
> ffffff892b309500 3193824715 C Ci:2:009:0 0 1 = 00
> ffffff892b309500 3193825060 S Bo:2:009:2 -115 31 = 55534243 01000000 24000000 80000612 00000024 00000000 00000000 000000
> ffffff892b309500 3193825150 C Bo:2:009:2 0 31 >
> ffffff8b8419d400 3193825737 S Bi:2:009:1 -115 36 <
> ffffff8a3ee06400 3194040175 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
> ffffff8a3ee06400 3194040372 C Ci:2:003:0 0 4 = 880b0700
> ffffff89bee5b100 3194040591 S Ci:2:002:0 s a3 00 0000 0003 0004 4 <
> ffffff89bee5b100 3194040681 C Ci:2:002:0 0 4 = 00010000
> ffffff89bee5b100 3194040999 S Ci:2:002:0 s a3 00 0000 0004 0004 4 <
> ffffff89bee5b100 3194041083 C Ci:2:002:0 0 4 = 03050000
> ffffff8a3ee06a00 3195040349 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
> 
> Signed-off-by: Selvarasu Ganesan <quic_selvaras@quicinc.com>
> ---
>  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 fd68204374f2..7285287ca379 100644
> --- a/drivers/usb/storage/unusual_devs.h
> +++ b/drivers/usb/storage/unusual_devs.h
> @@ -784,6 +784,13 @@ UNUSUAL_DEV(  0x058f, 0x6387, 0x0141, 0x0141,
>  		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
>  		US_FL_MAX_SECTORS_64 ),
>  
> +/* Selvarasu Ganesan <quic_selvaras@quicinc.com> */
> +UNUSUAL_DEV(  0x058f, 0x6387, 0x0002, 0x0002,
> +		"Intenso",
> +		"Flash drive",
> +		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> +		US_FL_FIX_INQUIRY),
> +

Shouldn't this be up an entry to keep them in sorted order?

thanks,

greg k-h
  
Alan Stern Feb. 14, 2024, 3:04 p.m. UTC | #2
On Wed, Feb 14, 2024 at 03:17:21AM -0800, Selvarasu Ganesan wrote:
> The Intenso Twist Line USB 3.2 flash drive fails to respond to the
> INQUIRY data stage request for a 36 bulk in request from the host. This
> commit adds the US_FL_FIX_INQUIRY flag to fake the INQUIRY command for
> this device, preventing a storage enumeration failure.
> 
> USBMON log:
> ffffff8a3ee06a00 3192811972 S Ci:2:009:0 s c0 33 0000 0000 0002 2 <
> ffffff8a3ee06a00 3192862051 C Ci:2:009:0 -2 0
> ffffff8a3ee06a00 3192862185 S Ci:2:009:0 s c0 33 0000 0000 0002 2 <
> ffffff8a3ee06a00 3192912299 C Ci:2:009:0 -2 0
> ffffff8a3ee06e00 3193040068 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
> ffffff8a3ee06e00 3193040214 C Ci:2:003:0 0 4 = 880b0700
> ffffff8a3ee06e00 3193040279 S Ci:2:002:0 s a3 00 0000 0003 0004 4 <
> ffffff8a3ee06e00 3193040427 C Ci:2:002:0 0 4 = 00010000
> ffffff8a3ee06e00 3193040470 S Ci:2:002:0 s a3 00 0000 0004 0004 4 <
> ffffff8a3ee06e00 3193040672 C Ci:2:002:0 0 4 = 03050000
> ffffff892b309500 3193824092 S Ci:2:009:0 s a1 fe 0000 0000 0001 1 <
> ffffff892b309500 3193824715 C Ci:2:009:0 0 1 = 00
> ffffff892b309500 3193825060 S Bo:2:009:2 -115 31 = 55534243 01000000 24000000 80000612 00000024 00000000 00000000 000000
> ffffff892b309500 3193825150 C Bo:2:009:2 0 31 >
> ffffff8b8419d400 3193825737 S Bi:2:009:1 -115 36 <
> ffffff8a3ee06400 3194040175 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
> ffffff8a3ee06400 3194040372 C Ci:2:003:0 0 4 = 880b0700
> ffffff89bee5b100 3194040591 S Ci:2:002:0 s a3 00 0000 0003 0004 4 <
> ffffff89bee5b100 3194040681 C Ci:2:002:0 0 4 = 00010000
> ffffff89bee5b100 3194040999 S Ci:2:002:0 s a3 00 0000 0004 0004 4 <
> ffffff89bee5b100 3194041083 C Ci:2:002:0 0 4 = 03050000
> ffffff8a3ee06a00 3195040349 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <

This is very surprising.  A mass-storage device that doesn't respond to 
INQUIRY commands won't work with Windows or Mac OSX.  Have you tried 
testing the device with those operating systems to see what they send 
and how it responds?

Alan Stern
  
Selvarasu Ganesan Feb. 17, 2024, 5:53 a.m. UTC | #3
Hi Alan,

On 2/14/2024 8:34 PM, Alan Stern wrote:
> On Wed, Feb 14, 2024 at 03:17:21AM -0800, Selvarasu Ganesan wrote:
>> The Intenso Twist Line USB 3.2 flash drive fails to respond to the
>> INQUIRY data stage request for a 36 bulk in request from the host. This
>> commit adds the US_FL_FIX_INQUIRY flag to fake the INQUIRY command for
>> this device, preventing a storage enumeration failure.
>>
>> USBMON log:
>> ffffff8a3ee06a00 3192811972 S Ci:2:009:0 s c0 33 0000 0000 0002 2 <
>> ffffff8a3ee06a00 3192862051 C Ci:2:009:0 -2 0
>> ffffff8a3ee06a00 3192862185 S Ci:2:009:0 s c0 33 0000 0000 0002 2 <
>> ffffff8a3ee06a00 3192912299 C Ci:2:009:0 -2 0
>> ffffff8a3ee06e00 3193040068 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
>> ffffff8a3ee06e00 3193040214 C Ci:2:003:0 0 4 = 880b0700
>> ffffff8a3ee06e00 3193040279 S Ci:2:002:0 s a3 00 0000 0003 0004 4 <
>> ffffff8a3ee06e00 3193040427 C Ci:2:002:0 0 4 = 00010000
>> ffffff8a3ee06e00 3193040470 S Ci:2:002:0 s a3 00 0000 0004 0004 4 <
>> ffffff8a3ee06e00 3193040672 C Ci:2:002:0 0 4 = 03050000
>> ffffff892b309500 3193824092 S Ci:2:009:0 s a1 fe 0000 0000 0001 1 <
>> ffffff892b309500 3193824715 C Ci:2:009:0 0 1 = 00
>> ffffff892b309500 3193825060 S Bo:2:009:2 -115 31 = 55534243 01000000 24000000 80000612 00000024 00000000 00000000 000000
>> ffffff892b309500 3193825150 C Bo:2:009:2 0 31 >
>> ffffff8b8419d400 3193825737 S Bi:2:009:1 -115 36 <
>> ffffff8a3ee06400 3194040175 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
>> ffffff8a3ee06400 3194040372 C Ci:2:003:0 0 4 = 880b0700
>> ffffff89bee5b100 3194040591 S Ci:2:002:0 s a3 00 0000 0003 0004 4 <
>> ffffff89bee5b100 3194040681 C Ci:2:002:0 0 4 = 00010000
>> ffffff89bee5b100 3194040999 S Ci:2:002:0 s a3 00 0000 0004 0004 4 <
>> ffffff89bee5b100 3194041083 C Ci:2:002:0 0 4 = 03050000
>> ffffff8a3ee06a00 3195040349 S Ci:2:003:0 s c1 04 0930 bf80 0004 4 <
> 
> This is very surprising.  A mass-storage device that doesn't respond to
> INQUIRY commands won't work with Windows or Mac OSX.  Have you tried
> testing the device with those operating systems to see what they send
> and how it responds?
> 
> Alan Stern

Thanks for your review comments.
To reconfirm, we have tested this device with Windows and its working
fine. We noticed that the INQUIRY command only fails when this device is
connected to our DUT via a USB2.0 hub.
We also tested various Intensio mass storage devices and observed the
same behavior.
We have confirmed that there are no issues with our DUT setup as we have
tested different mass storage devices (such as Kingston usb3.2, Samsung
ssd 3.2) and they are working fine. We also observed responses for the
INQUIRY command for other working mass storage devcies.
We suspect that this issue is specific to Intensio devices when used
with a USB2.0 hub on a Linux host. We are still investigating this issue
on other hosts using an external hub.

Thanks,
Selva
  

Patch

diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index fd68204374f2..7285287ca379 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -784,6 +784,13 @@  UNUSUAL_DEV(  0x058f, 0x6387, 0x0141, 0x0141,
 		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 		US_FL_MAX_SECTORS_64 ),
 
+/* Selvarasu Ganesan <quic_selvaras@quicinc.com> */
+UNUSUAL_DEV(  0x058f, 0x6387, 0x0002, 0x0002,
+		"Intenso",
+		"Flash drive",
+		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+		US_FL_FIX_INQUIRY),
+
 /* Fabrizio Fellini <fello@libero.it> */
 UNUSUAL_DEV(  0x0595, 0x4343, 0x0000, 0x2210,
 		"Fujifilm",