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 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html