Hi there,

On Thu, 9 Oct 2003 [EMAIL PROTECTED] wrote:

> I have a Neo 25 which is not reporting itself properly.
> 
> Info via the devices page implies I need a  "tag" patch, and googling showed
> http://www.cs.helsinki.fi/linux/linux-kernel/2002-01/1458.html which seems like it 
> might be it.
> 
> Except I can't get the patch to take, I suspect because the HTML is screwing it in 
> some way.

Not just the HTML... :(

> does anyone have a plain text version, especially one that will patch 2.4.22?
> 
> or a sample of what the files look like when the patch is applied?

There's nothing mystical about patches.  See 'man patch' for how it
does what it does.  You can apply the changes by hand in this case,
they are very simple.  Three files are slightly changed by the patch.
I've edited the bowdlerized version of the patch file and attached it
to this message.  A patch is made by doing a 'diff' on a pair of files
"before" and "after" the changes that the patch makes.  There may be
several files to change in one patch, so the filenames are in there.
Look for lines which start with "---" and "+++".  They are the pairs
of files "before patch" and "after patch" which were in the directory
trees of the guy who made the patch.  You need to edit the files, but
of course you only have one file in your Linux source for each pair of
files in the patch.

For this patch file:

In the first file, look for a line with a single "-" and replace it
with the line with a single "+".  That's one patch.  The lines with @@
signs tell you (well, the tell the 'patch' command :) where in the file
to look, and the other lines around the patch give it some help to make
sure it's got the right place, in case you've applied other patches for
example.

The other two patches add two lines and six lines respectively to two
other files, I'm sure you can figure it out.

73,
Ged.
--- linux-2.4.6-ac1-orig/drivers/usb/storage/transport.c Wed Apr 18 20:49:12 2001
+++ linux/drivers/usb/storage/transport.c Sat Jul 21 12:18:32 2001
@@ -1180,7 +1180,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 ||
+ ((bcs.Tag != bcb.Tag) && !(us->flags & US_FL_QUIRKS_TAG)) ||
bcs.Status > US_BULK_STAT_PHASE || partial != 13) {
US_DEBUGP("Bulk logical error\n");
return USB_STOR_TRANSPORT_ERROR;
--- linux-2.4.6-ac1-orig/drivers/usb/storage/usb.h Sun Jul 8 19:53:50 2001
+++ linux/drivers/usb/storage/usb.h Sat Jul 21 12:05:15 2001
@@ -100,6 +100,8 @@
#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_QUIRKS_TAG 0x00000080 /* the buggy device doesn't echo the tag
+ in the status response !*/

#define USB_STOR_STRING_LEN 32

--- linux-2.4.6-ac1-orig/drivers/usb/storage/unusual_devs.h Sun Jul 8 19:53:50 2001
+++ linux/drivers/usb/storage/unusual_devs.h Sat Jul 21 12:06:55 2001
@@ -59,6 +59,12 @@
"FinePix 1400Zoom",
US_SC_8070, US_PR_CBI, NULL, US_FL_FIX_INQUIRY),

+// Firmware 2.60 needs US_FL_QUIRKS_TAG here ! Bugger device.
+UNUSUAL_DEV( 0x04ce, 0x0002, 0x0000, 0x9999,
+ "Scanlogic",
+ "SL11R USBIDE",
+ US_SC_SCSI, US_PR_BULK, NULL, US_FL_QUIRKS_TAG),
+
UNUSUAL_DEV( 0x04e6, 0x0001, 0x0200, 0x0200,
"Matshita",
"LS-120",

Reply via email to