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