On Fri, Mar 21, 2003 at 01:25:00PM -0700, Pat LaVarre wrote: > > I have snipped part of the log ... > > Re guessing what Windows may be doing that works ... > > Anybody know the bInterfaceClass ...SubClass > ...Protocol involved here? > > Specifically does bInterfaceProtocol here != x06 Scsi?
bInterfaceProtocol does, in fact, = x06 SCSI.
> Re guessing what Linux may be doing that breaks ...
>
> Would just sending one read command via SG_IO, rather
> than going for the whole mount of a volume, teach us
> anything?
Probably not.
> How about sending a read command to an Lba beyond the
> capacity?
In other words, a command that should fail immediately rather than try to
access the media? Interesting thought....
> I presume Linux `dd` can't be persuaded to try reading
> from a volume that hasn't yet been mounted?
Yes, it can. But since dd will go through sd.c, I don't see much point.
> > usb-storage: 28 00 00 00 00 00 00 00 08 00 9b cf
>
> I interpret that log line to mean the first x0C (12)
> bytes of the CBWCB is x 28 00 00:00:00:00 00 00:08 00
> 9B:CF.
>
> I find that line intriguing because just now lately
> I've heard people guessing the talk-like-Windows
> protocol includes zeroing the CBWCB out at least thru
> offset 11 i.e. substitute 00:00 for 9B:CF.
>
> But I haven't yet heard any specific anecdotes of
> actual devices seen to need such pampering.
Thus my recent suggestion that he try 8020 instead of SCSI, where such
padding is done.
> > usb-storage: Bulk command S 0x43425355 T 0x20 Trg 0 LUN 0 L 4096 F 128 CL 10
>
> "L 4096" here might mean dCBWDataTransferLength =
> x1000 (4096) = x00:08 * x200.
Yes.
> > I have snipped part of the log ...
>
> Presuming that op x25 Read Capacity reported bytes per
> block = x200 = 512, we have Hi = Di = x1000, no
> worries.
Yep.
> > some sort of USB snooping might provide a clue
>
> More folk could comment - though they may not be
> subscribed here - if we could more easily access
> translations to likely Usb bus traffic from Linux
> kernel log jargon.
>
> Specifically here now I wonder if "usb-storage:
> usb_stor_transfer_partial(): xfer 4096 bytes" means we
> copied In x1000 bytes before we saw trouble.
No, that means a request for copying 4096 bytes. After the transfer
completes a status line is printed showing what actually happened.
Matt
--
Matthew Dharm Home: [EMAIL PROTECTED]
Maintainer, Linux USB Mass Storage Driver
G: Let me guess, you started on the 'net with AOL, right?
C: WOW! d00d! U r leet!
-- Greg and Customer
User Friendly, 2/12/1999
pgp00000.pgp
Description: PGP signature
