Try changing your unusual_devs.h entry for the device from US_PR_SCSI to US_PR_8070
It's just a hunch, but it might pan out.
Matt
On Fri, Mar 21, 2003 at 02:21:25PM -0500, Alan Stern wrote:
> 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
--
Matthew Dharm Home: [EMAIL PROTECTED]
Maintainer, Linux USB Mass Storage Driver
G: Money isn't everything, A.J.
AJ: Who convinced you of that?
G: The Chief, at my last salary review.
-- Mike and Greg
User Friendly, 11/3/1998
pgp00000.pgp
Description: PGP signature
