On Tue, 6 Nov 2012, Jason J. Herne wrote:

> I was comparing the two USB captures and I noticed the Windows capture
> uses a READ(16) and Linux is using a READ(10).  I'm not sure how the
> kernel determines which read command to use, but I'm wondering if this
> could be the problem here?

It could well be the problem.  The kernel uses READ(10) if the starting
LBA is small enough (<= 0xffffffff); otherwise it uses READ(16).  In
this case the starting LBA was 0.

> I was way wrong about the first read being in the 700's btw :)
> Window's first READ(16) is at frame 291.
> Linux first READ(1) is at 161.
> 
> Hope this is useful. I'll keep digging.

Most likely that's the answer.  Of course, for a device to recognize 
READ(16) but not READ(10) is a violation of the SCSI spec.

I don't know what criterion Windows uses.  Maybe it uses READ(16)  
whenever the total capacity is >= 2^32 blocks.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to