Re: System hangs when using USB 3.0 HD with on Ubuntu

James Bottomley
2010-04-07T18:29:35Z

On Wed, 2010-04-07 at 14:08 -0400, Mark Lord wrote:
> On 02/04/10 11:59 AM, James Bottomley wrote:
> > On Fri, 2010-04-02 at 19:50 +0400, Sergei Shtylyov wrote:
> ..
> >> IDENTIFY DEVICE command has *no* parameters.
> >
> > Alan was talking about ATA_16, which has to contain payload data in SCSI
> > format for the encapsulation to work, so for a command that returns 512b
> > the ATA_16 has to contain this as the data length.
> >
> > Sounds like a Mark Lord problem to me ... cc added.
> ..
>
> Errr.. yes and no.
>
> Yes, because nobody else is likely to do anything about it,
> so I will work around the hardware bug by updating hdparm.
>
> But no, there's no funky missing data length issue there.
> Just a bridge chip that doesn't understand ATA_16 commands.
>
> Apparently it *does* understand ATA_12 commands, though,
> so perhaps hdparm will simply use ATA_12 for IDENTIFY from now on.

Thanks, and welcome to my world ... the wierd antics of USB devices,
plus the way they throw their toys out of the pram the moment you don't
address them correctly is one of the banes of the SCSI subsystem. In
general, the advice is to use the simplest possible command to achieve
what you want so ATA_12 rather than ATA_16 is one of those (because most
USB devices being below 2TB don't need to support 16 byte CDBs for
anything else, so it's obviously something they'd forget to implement or
test in their bridge chips ...). One of the consolations is that we're
only on the edge ... people in the USB subsystem seem to have a much
worse time of it.

You can extrapolate from this that I'm so looking forward to UAS ...

James