Re: PATCH: scsi_scan.c: emulate windows behavior

Rob Turk (r.turk@chello.nl)
Tue, 13 Nov 2001 20:49:09 +0100


"Matthew Dharm" <mdharm-kernel@one-eyed-alien.net> wrote in message
news:cistron.20011113102106.A23110@one-eyed-alien.net...

>Attached is a one-liner patch to scsi_scan.c, which changes the length of
>the INQUIRY data request from 255 bytes to 36 bytes. This subtle change
>makes Linux act more like Win/MacOS and other popular OSes, and reduces
>incompatibility with a broad range of out-of-spec devices that will simply
>die if asked for more than the required minimum of 36 bytes.

>Matt

Matt,

Many devices have useful information in the bytes beyond 36. Media changers from
various vendors are starting to use byte 55 bit 0 to flag if a barcode scanner
is present. Other devices have revision levels and/or serial numbers there.

Getting more than 36 bytes should not be a problem for any device. The root
problem seems to be that 255 is an odd number. On Wide-SCSI, a lot of devices
have difficulty handling odd byte counts as they have to use additional
messaging to flag the residue in the last 16-bit transfer. Also, the IDE-SCSI
layer has trouble, as the IDE spec doesn't allow odd byte transfers at all. I've
experienced issues with IDE devices that had to have their firmware patched just
to deal with the Linux odd-byte request. Maybe a better change would be to use
64 or 128 byte requests. Your thoughts?

Rob

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/