Re: 3TB Hard Drive in USB Enclosure Resetting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 7, 2012 at 11:00 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> 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.

I've not had enough time to properly find where/how to fix/hack this
into the code.
I'll keep looking at it.  Does there happen to be any "quirks" that might help?
Also, i assume the place to look is drivers/usb/storage?
Is anything in drivers/scsi related?
Forgive my ignorance, my kernel development experience is primarily in
the realm of kvm.
Any tips you could provide would be most appreciated.

--
- Jason J. Herne (hernejj@xxxxxxxxx)
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux