It's only a problem for the ScanLogic USBIDE chipset. And the older firmware version -- ScanLogic fixed this months ago. New firmware is on their web page.
Matt
On Sat, Feb 02, 2002 at 02:33:26PM +0100, Manfred Spraul wrote:
> Hi Matthew,
>
> I had to disable the tag value check for my external usb case. Is that a
> common problem?
>
> I've attached a patch that adds a fixup flag for wrong tag values into
> unusual_dev.h, I'm not sure if I filled all fields properly.
>
> <<<< /proc/bus/usb/devices
> [snip]
> E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
> T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
> D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
> P: Vendor=04ce ProdID=0002 Rev= 2.60
> S: Manufacturer=ScanLogic USBIDE
> S: Product=ScanLogic USBIDE
> C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
> I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50
> Driver=usb-storage
> <<<<<
> Brand name: Serotech FHD-252
>
> Patch against 2.4.18-pre7 attached.
>
> --
> Manfred
> diff -u 2.4/drivers/usb/storage/transport.c build-2.4/drivers/usb/storage/transport.c
> --- 2.4/drivers/usb/storage/transport.c Sat Feb 2 14:22:07 2002
> +++ build-2.4/drivers/usb/storage/transport.c Sat Feb 2 14:14:21 2002
> @@ -1157,7 +1157,7 @@
> le32_to_cpu(bcs.Signature), bcs.Tag,
> bcs.Residue, bcs.Status);
> if (bcs.Signature != cpu_to_le32(US_BULK_CS_SIGN) ||
> - bcs.Tag != bcb.Tag ||
> + (!(us->flags & US_FL_IGNORE_TAG) && bcs.Tag != bcb.Tag) ||
> bcs.Status > US_BULK_STAT_PHASE || partial != 13) {
> US_DEBUGP("Bulk logical error\n");
> return USB_STOR_TRANSPORT_ERROR;
> diff -u 2.4/drivers/usb/storage/unusual_devs.h
>build-2.4/drivers/usb/storage/unusual_devs.h
> --- 2.4/drivers/usb/storage/unusual_devs.h Sat Feb 2 14:22:07 2002
> +++ build-2.4/drivers/usb/storage/unusual_devs.h Sat Feb 2 14:19:08 2002
> @@ -99,6 +99,15 @@
> "SL11R-IDE",
> US_SC_SCSI, US_PR_BULK, NULL,
> US_FL_FIX_INQUIRY),
> +/*
> + * Reported by Manfred Spraul
> + * Tested with Firmware rev 2.50 and 2.60
> + */
> +UNUSUAL_DEV( 0x04ce, 0x0002, 0x0000, 0xffff,
> + "ScanLogic",
> + "USBIDE",
> + US_SC_8070, US_PR_BULK, NULL,
> + US_FL_IGNORE_TAG),
>
> /* Reported by Kriston Fincher <[EMAIL PROTECTED]>
> * Patch submitted by Sean Millichamp <[EMAIL PROTECTED]>
> diff -u 2.4/drivers/usb/storage/usb.h build-2.4/drivers/usb/storage/usb.h
> --- 2.4/drivers/usb/storage/usb.h Sat Aug 11 16:15:26 2001
> +++ build-2.4/drivers/usb/storage/usb.h Sat Feb 2 14:16:31 2002
> @@ -101,6 +101,7 @@
> #define US_FL_IGNORE_SER 0x00000010 /* Ignore the serial number given */
> #define US_FL_SCM_MULT_TARG 0x00000020 /* supports multiple targets */
> #define US_FL_FIX_INQUIRY 0x00000040 /* INQUIRY response needs fixing */
> +#define US_FL_IGNORE_TAG 0x00000080 /* ignore Tag value returned in CSW */
>
> #define USB_STOR_STRING_LEN 32
>
>
--
Matthew Dharm Home: [EMAIL PROTECTED]
Maintainer, Linux USB Mass Storage Driver
M: No, Windows doesn't have any nag screens.
C: Then what are those blue and white screens I get every day?
-- Mike and Cobb
User Friendly, 1/4/1999
msg02494/pgp00000.pgp
Description: PGP signature
