On Fri, 21 Mar 2003, Dave Turner wrote:
> On Fri, 21 Mar 2003 at 10:45am, Alan Stern wrote:
> 
> > Dave, please try this patch, see what happens, and send another kernel
> > log extract.  I don't think it will fix everything because it doesn't
> > address the root of your problem: your Microdrive isn't reading and
> > returning the data from the disc (or it's taking longer than 20 seconds
> > to do so).  But it will move us one step closer towards solving this.
> 
> You're right, still no luck with mounting the Microdrive. Here's the log
> from the patched kernel.
> 
> Linux version 2.4.21-pre5 ([EMAIL PROTECTED]) (gcc version 2.95.3 20010315
> (release)) #1 Fri Mar 21 17:00:03 GMT 2003

I have snipped part of the log that shows the device successfully
completing a series of INQUIRY, TEST-UNIT-READY, REQUEST-SENSE,
READ-CAPACITY, and MODE-SENSE commands.  But it doesn't do anything when
given a READ(10) command:

> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command READ_10 (10 bytes)
> usb-storage: 28 00 00 00 00 00 00 00 08 00 9b cf
> usb-storage: Bulk command S 0x43425355 T 0x20 Trg 0 LUN 0 L 4096 F 128 CL 10
> usb-storage: Bulk command transfer result=0
> usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes
> usb-storage: command_abort() called
> usb-storage: usb_stor_bulk_msg() returned -104 xferred 0/4096
> usb-storage: usb_stor_transfer_partial(): transfer aborted
> usb-storage: Bulk data transfer result 0x3
> usb-storage: -- transport indicates command was aborted
> usb-storage: scsi command aborted
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command TEST_UNIT_READY (6 bytes)
> usb-storage: 00 00 00 00 00 00 00 00 08 00 9b cf
> usb-storage: Bulk command S 0x43425355 T 0x20 Trg 0 LUN 0 L 0 F 0 CL 6
> usb-storage: command_abort() called
> usb-storage: Bulk command transfer result=-104
> usb-storage: -- transport indicates command was aborted
> usb-storage: scsi command aborted
> usb-storage: *** thread sleeping.
> usb-storage: device_reset() called
> usb-storage: Bulk reset requested
> usb_control/bulk_msg: timeout
> usb-storage: Bulk soft reset failed -110
> usb-storage: bus_reset() called
> hub.c: port 1, portstatus 103, change 0, 12 Mb/s
> usb.c: ignoring set_interface for dev 2, iface 0, alt 0
> usb-storage: Examinging driver usb-storage...skipping ourselves.
> usb-storage: bus_reset() complete
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command TEST_UNIT_READY (6 bytes)
> usb-storage: 00 00 00 00 00 00 00 00 08 00 9b cf
> usb-storage: Bulk command S 0x43425355 T 0x20 Trg 0 LUN 0 L 0 F 0 CL 6
> usb-storage: Bulk command transfer result=0
> usb-storage: Attempting to get CSW...
> usb-storage: Bulk status result = 0
> usb-storage: Bulk status Sig 0x53425355 T 0x20 R 0 Stat 0x0
> usb-storage: scsi cmd done, result=0x0
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command READ_10 (10 bytes)
> usb-storage: 28 00 00 00 00 00 00 00 08 00 9b cf
> usb-storage: Bulk command S 0x43425355 T 0x20 Trg 0 LUN 0 L 4096 F 128 CL 10
> usb-storage: Bulk command transfer result=0
> usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes
> usb-storage: command_abort() called
> usb-storage: usb_stor_bulk_msg() returned -104 xferred 0/4096
> usb-storage: usb_stor_transfer_partial(): transfer aborted
> usb-storage: Bulk data transfer result 0x3
> usb-storage: -- transport indicates command was aborted
> usb-storage: scsi command aborted
> usb-storage: *** thread sleeping.
> scsi: device set offline - not ready or command retry failed after bus reset: host 0 
> channel 0 id 0 lun 0
> SCSI disk error : host 0 channel 0 id 0 lun 0 return code = 50000
>  I/O error: dev 08:00, sector 0
>  I/O error: dev 08:00, sector 2
>  I/O error: dev 08:00, sector 0
> VFS: Disk change detected on device 08:00
>  /dev/scsi/host0/bus0/target0/lun0: I/O error: dev 08:00, sector 0
>  I/O error: dev 08:00, sector 0

As far as I can see, at this point the kernel is doing everything
correctly.  It even negotiated a complex series of reset commands and
reacted properly in the end by taking the device offline.  The drive just
doesn't read its data, and in fact it seems to hang:  After the READ
command it doesn't respond to TEST-UNIT-READY or drive reset.  This
certainly has the appearance of a firmware problem.

I'm not sure what more can be done.  Since the drive works okay with
Windows, some sort of USB snooping might provide a clue.  I believe there
are programs available to do this sort of thing under Windows, although I
don't have any details.

My hope is that someone else on the mailing list can provide a suggestion.  
Sorry I can't do any more.

Alan Stern



-------------------------------------------------------
This SF.net email is sponsored by:Crypto Challenge is now open! 
Get cracking and register here for some mind boggling fun and 
the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to