On Tue, 22 Feb 2005, Samuel Colin wrote:
> The Tue, 22 Feb 2005 11:07:37 -0500 (EST)
> Alan Stern <[EMAIL PROTECTED]> wrote:
>
> > Samuel and Carsten:
> >
> > Below is a patch for usb-storage that should solve the problem you've both
> > had: a drive crashing when it receives a REPORT LUNS command. This will
> > eliminate the need to write anything to /proc/scsi/device_info or to
> > update the SCSI blacklist (for Samuel).
> >
> > Please try it out and let me know if it works as intended.
> >
> The patch fails, with or without the usb reset workaround you had suggested
> me. After a look at scsiglue.c, the line with "fix_capacity" does not even
> appear (perhaps another patch?).
Oops, sorry about that. Yes, it was another patch. Below is a modified
version that should apply more cleanly.
> I also plan to (try to) upgrade the firmwares of my usb disks, to see if it
> solves some of the problems, as suggested by Patrick. But I can do this only
> because I happen to have Windows on a partition somewhere. Had I been
> linux-only, I could not try the firmware update.
It's not the firmware of the disk that matters, it's the firmware of the
USB-IDE converter in the enclosure. Your disk was made by Western Digital
and it's fine as far as I can tell. The enclosure was made by LaCie, and
that's where the trouble comes from.
If the available firmware upgrades don't help, the real question is
whether you can convince LaCie that they've got a problem which should be
fixed.
Alan Stern
===== drivers/usb/storage/scsiglue.c 1.95 vs edited =====
--- 2.6.10/drivers/usb/storage/scsiglue.c 2005-02-10 16:22:46 -05:00
+++ edited/drivers/usb/storage/scsiglue.c 2005-02-22 10:50:08 -05:00
@@ -149,6 +149,13 @@
sdev->skip_ms_page_3f = 1;
#endif
+ /* Some devices report a SCSI revision level above 2 but are
+ * unable to handle the REPORT LUNS command (for which
+ * support is mandatory at level 3). Since we already have
+ * a Get-Max-LUN request, we won't lose much by setting the
+ * revision level down to 2. The only devices that would be
+ * affected are those with sparse LUNs. */
+ sdev->scsi_level = SCSI_2;
} else {
/* Non-disk-type devices don't need to blacklist any pages
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel