Re: [PATCH] usb-storage: Add quirk for ScanLogic SL11R-IDE older than 2.6c

From: Alan Stern
Date: Tue Sep 14 2021 - 10:22:28 EST


On Mon, Sep 13, 2021 at 11:01:06PM +0200, Ondrej Zary wrote:
> ScanLogic SL11R-IDE with firmware older than 2.6c (the latest one) has
> broken tag handling, preventing the device from working at all:
> usb 1-1: new full-speed USB device number 2 using uhci_hcd
> usb 1-1: New USB device found, idVendor=04ce, idProduct=0002, bcdDevice= 2.60
> usb 1-1: New USB device strings: Mfr=1, Product=1, SerialNumber=0
> usb 1-1: Product: USB Device
> usb 1-1: Manufacturer: USB Device
> usb-storage 1-1:1.0: USB Mass Storage device detected
> scsi host2: usb-storage 1-1:1.0
> usbcore: registered new interface driver usb-storage
> usb 1-1: reset full-speed USB device number 2 using uhci_hcd
> usb 1-1: reset full-speed USB device number 2 using uhci_hcd
> usb 1-1: reset full-speed USB device number 2 using uhci_hcd
> usb 1-1: reset full-speed USB device number 2 using uhci_hcd
>
> Add US_FL_BULK_IGNORE_TAG to fix it. Also update my e-mail address.
>
> 2.6c is the only firmware that claims Linux compatibility.
> The firmware can be upgraded using ezotgdbg utility:
> https://github.com/asciilifeform/ezotgdbg
>
> Signed-off-by: Ondrej Zary <linux@xxxxxxx>
> ---

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

> drivers/usb/storage/unusual_devs.h | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
> index efa972be2ee3..c6b3fcf90180 100644
> --- a/drivers/usb/storage/unusual_devs.h
> +++ b/drivers/usb/storage/unusual_devs.h
> @@ -416,9 +416,16 @@ UNUSUAL_DEV( 0x04cb, 0x0100, 0x0000, 0x2210,
> USB_SC_UFI, USB_PR_DEVICE, NULL, US_FL_FIX_INQUIRY | US_FL_SINGLE_LUN),
>
> /*
> - * Reported by Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
> + * Reported by Ondrej Zary <linux@xxxxxxx>
> * The device reports one sector more and breaks when that sector is accessed
> + * Firmwares older than 2.6c (the latest one and the only that claims Linux
> + * support) have also broken tag handling
> */
> +UNUSUAL_DEV( 0x04ce, 0x0002, 0x0000, 0x026b,
> + "ScanLogic",
> + "SL11R-IDE",
> + USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> + US_FL_FIX_CAPACITY | US_FL_BULK_IGNORE_TAG),
> UNUSUAL_DEV( 0x04ce, 0x0002, 0x026c, 0x026c,
> "ScanLogic",
> "SL11R-IDE",

Too bad the manufacturer didn't understand that 0x026c is not a valid
bcdDevice value...