From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Bottomley Date: Wed, 07 Apr 2010 18:29:02 +0000 Subject: Re: System hangs when using USB 3.0 HD with on Ubuntu Message-Id: <1270664942.8916.126.camel@mulgrave.site> List-Id: References: <4BB61237.5030000@ru.mvista.com> <1270223970.2899.80.camel@mulgrave.site> <4BBCCA0D.3000708@teksavvy.com> In-Reply-To: <4BBCCA0D.3000708@teksavvy.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Mark Lord Cc: Sergei Shtylyov , Alan Stern , Jonas Schwertfeger , Kay Sievers , Douglas Gilbert , David Zeuthen , linux-hotplug@vger.kernel.org, Sarah Sharp , linux-usb@vger.kernel.org, USB Storage List , Matthew Dharm , linux-scsi@vger.kernel.org, Lennart Poettering , Mark Lord 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