linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Douglas Gilbert <dgilbert@interlog.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>,
	Jonas Schwertfeger <jschwertfeger@gmail.com>,
	Dinh.Nguyen@freescale.com, Mark Lord <mlord@pobox.com>,
	Sergei Shtylyov <sshtylyov@mvista.com>,
	James Bottomley <James.Bottomley@suse.de>,
	Kay Sievers <kay.sievers@vrfy.org>,
	David Zeuthen <david@fubar.dk>,
	linux-hotplug@vger.kernel.org, linux-usb@vger.kernel.org,
	USB Storage List <usb-storage@lists.one-eyed-alien.net>,
	Matthew Dharm <mdharm-usb@one-eyed-alien.net>,
	linux-scsi@vger.kernel.org,
	Lennart Poettering <lennart@poettering.net>
Subject: Re: System hangs when using USB 3.0 HD with on Ubuntu
Date: Tue, 20 Apr 2010 17:48:17 +0000	[thread overview]
Message-ID: <4BCDE8E1.3040509@interlog.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1004201045180.1837-100000@iolanthe.rowland.org>

Alan Stern wrote:
> On Mon, 19 Apr 2010, Sarah Sharp wrote:
> 
>> Updated description
>> -------------------
>>
>> Summary:
>>
>> The Buffalo USB3 hard drive fails to mount after being sent an ATA_16
>> IDENTIFY command.  It does not fail when the device is connected via a
>> USB 2.0 cable and the same command is sent.
> 
> I don't like this summary.  The failure to mount is caused by a defect
> in the earlier versions of xhci-hcd (no support for USB port reset),
> not by a bug in the drive.  I don't recall seeing a test using the old
> version of hdparm and an updated xhci-hcd, but presumably such a 
> combination would work okay.
> 
> The real problem with the Buffalo drive is that it responds with a
> phase error when it receives an ATA_16 IDENTIFY DEVICE command with the
> Sector Count field set to 0.
> 
>> Details:
>>
>> There seems to be an issue with how the Buffalo USB3 hard drive handles
>> the SCSI ATA pass through commands.  We found this issue with the Linux
>> userspace program hdparm, using the Ubuntu Linux Karmic distribution.
>> The device responds correctly to an IDENTIFY DEVICE via the ATA_12
>> tunnel, but it responds with a Phase Error when it's sent an IDENTIFY
>> DEVICE via the ATA_16 tunnel, and then stalls.
> 
> You should not say anything about the drive stalling.  For one thing,
> it's misleading: The drive doesn't stall but rather it sends a STALL
> token to indicate that the bulk-IN endpoint is halted.  For another,
> the STALL is sent _before_ the phase error is reported, not after.  
> Lastly, there's absolutely nothing wrong with halting the endpoint like
> this; in fact, the Bulk-Only Transport specification requires it under
> these circumstances.
> 
>> The hdparm program thinks the Phase Error is an invalid response:
>>
>> sudo hdparm --verbose /dev/sdb
>>
>> /dev/sdb:
>> outgoing cdb:  85 08 2e 00 00 00 00 00 00 00 00 00 00 40 ec 00
>> SG_IO: ATA_16 status=0x0, host_status=0x7, driver_status=0x0
>> SG_IO: bad response (not CHECK_CONDITION)
>> outgoing cdb:  85 08 2e 00 00 00 00 00 00 00 00 00 00 40 a1 00
>> SG_IO: ATA_16 status=0x0, host_status=0x7, driver_status=0x0
>> SG_IO: bad response (not CHECK_CONDITION)
>>  HDIO_DRIVE_CMD(identify) failed: Invalid exchange
>>  readonly      =  0 (off)
>>  readahead     = 256 (on)
>>  geometry      = 36365/64/32, sectors = 0, start = 0
> 
> Why include two separate commands here?  I thought you were interested
> only in the response to the ATA_16 IDENTIFY DEVICE (the first outgoing
> cdb above).
> 
>> Stalling on the ATA_16 IDENTIFY device is fine, but the invalid response
>> is not.
> 
> Again, don't mention stalling.  Notice that the information from hdparm
> does not show the exact nature of the problem (i.e., that the drive
> responded with a phase error), only that a problem occurred.  This 
> makes it less useful than you might like.
> 
>> The hard drive does not seem to work after this command is sent, and
>> cannot be mounted.  If we inhibit udev from running hdparm (by stopping
>> the udev daemon) then the drive can be mounted successfully.
> 
> First, this is true only if the drive is attached using USB 3.0.  
> Second, after this command the drive still works fine -- xhci-hcd is
> what doesn't work.
> 
>> If the drive is plugged in via a USB 2.0 cable, then the drive works
>> correctly, even though it gets issued the same commands.
> 
> Right.  That's because the larger problem is in xhci-hcd, not in the
> drive.
> 
>> The command before the ATA_16 IDENTIFY DEVICE was a SET FEATURES via the
>> ATA_16 tunnel, and it was responded to properly, so we think it should
>> support the ATA_16 commands.
> 
> This is wrong.  The first command shown above is ATA_16 IDENTIFY 
> DEVICE.  The second command is ATA_16 IDENTIFY PACKET DEVICE.
> 
> To summarize: 0xef is SET FEATURES, 0xec is IDENTIFY DEVICE, and 0xa1 
> is IDENTIFY PACKET DEVICE.  The command byte is the second-to-last in 
> each cdb.
> 
>> The full kernel log is here:
>> http://minilop.net/~sarah/buffalo-hd-ata-16-issue.log
> 
> I just tried to view that page and got a "403 Forbidden" error.  Does 
> it contain the kernel log for the hdparm test shown above, or is it a 
> log for a different test?  My guess is that it's a different test -- 
> you should mention that fact and describe the commands sent in the 
> other test.
> 
>> The ATA_12 IDENTIFY command
> 
> You mean IDENTIFY DEVICE.  There is no ATA IDENTIFY command.
> 
>>  starts at line 8816.  (It says the command
>> is a BLANK command, but it's incorrectly identified that command.)

Picking up an earlier point, SCSI opcode A1h is both:
    - BLANK  (for optical devices: CD/DVD/BD)
    - ATA PASS THROUGH (12)  (for disks [both
      normal (SBC) and RBC])

Only SCSI primary commands (SPC) have a 1 to 1 mapping
with an opcode (ignoring service actions). So debug
code in the kernel can be slightly misleading when
trying to decode a SCSI command opcode that is not a
"primary" command.

Doug Gilbert

  parent reply	other threads:[~2010-04-20 17:48 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.44L0.1003261705340.23253-100000@netrider.rowland.org>
     [not found] ` <4BAD275A.7050903@interlog.com>
     [not found]   ` <59ca64281003300044g53ae5170xaf198bf99964fc36@mail.gmail.com>
2010-03-31 11:39     ` System hangs when using USB 3.0 HD with on Ubuntu Jonas Schwertfeger
2010-03-31 14:56       ` Alan Stern
2010-03-31 15:20         ` David Zeuthen
2010-03-31 16:12           ` Douglas Gilbert
2010-03-31 16:36             ` Alan Stern
2010-04-01 13:32               ` Jonas Schwertfeger
2010-04-01 13:42                 ` Kay Sievers
2010-04-01 13:55                   ` Jonas Schwertfeger
     [not found]                     ` <r2k59ca64281004010655z93fedfa8rdeb447d82a848d9f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-01 14:05                       ` Kay Sievers
2010-04-02 12:40                         ` Jonas Schwertfeger
     [not found]                           ` <m2l59ca64281004020540z7e502130g22dfc035f1ceda6a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-02 13:09                             ` Jonas Schwertfeger
     [not found]                               ` <t2t59ca64281004020609sa0f67f0dj5c127e3f0b2e4db2-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-02 14:12                                 ` Alan Stern
     [not found]                                   ` <Pine.LNX.4.44L0.1004021010130.1615-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-04-02 14:41                                     ` James Bottomley
     [not found]                                       ` <1270219267.2899.73.camel-0iu6Cu4xQGLYCGPCin2YbQ@public.gmane.org>
2010-04-02 14:57                                         ` Alan Stern
     [not found]                                           ` <Pine.LNX.4.44L0.1004021052040.1615-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-04-02 15:19                                             ` Alan Stern
     [not found]                                               ` <Pine.LNX.4.44L0.1004021114160.1615-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-04-02 15:50                                                 ` Sergei Shtylyov
2010-04-02 15:59                                                   ` James Bottomley
2010-04-07 18:08                                                     ` Mark Lord
2010-04-07 18:29                                                       ` James Bottomley
2010-04-07 19:18                                                       ` Alan Stern
     [not found]                                                         ` <Pine.LNX.4.44L0.1004071516260.5760-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-04-07 22:49                                                           ` Mark Lord
2010-04-08  5:06                                                             ` Jonas Schwertfeger
2010-04-02 16:21                                                   ` Douglas Gilbert
2010-04-02 16:39                                                     ` Douglas Gilbert
     [not found]                                                       ` <4BB61DAF.7090709-qazKcTl6WRFWk0Htik3J/w@public.gmane.org>
2010-04-02 21:24                                                         ` Mark Lord
2010-04-03  6:21                                                           ` Jonas Schwertfeger
     [not found]                                                             ` <4BB73EB3.3040308@pobox.com>
2010-04-03 15:40                                                               ` Jonas Schwertfeger
2010-04-03 16:42                                                                 ` Alan Stern
2010-04-03 17:06                                                                   ` Jonas Schwertfeger
2010-04-03 20:58                                                                     ` Alan Stern
2010-04-04  1:29                                                                       ` Mark Lord
     [not found]                                                                       ` <Pine.LNX.4.44L0.1004031648230.21507-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-04-06  6:43                                                                         ` Jonas Schwertfeger
     [not found]                                                                           ` <4BBAD7FF.5000605-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-04-06 14:49                                                                             ` Alan Stern
2010-04-06 14:56                                                                               ` Jonas Schwertfeger
     [not found]                                                                               ` <Pine.LNX.4.44L0.1004061048590.1722-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-04-07  6:27                                                                                 ` Jonas Schwertfeger
     [not found]                                                                                   ` <4BBC25C9.5030201-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-04-07 14:36                                                                                     ` Alan Stern
2010-04-07 14:42                                                                                       ` Jonas Schwertfeger
2010-04-07 14:51                                                                                         ` Jerone Young
2010-04-07 15:03                                                                                         ` Alan Stern
2010-04-07 15:10                                                                                           ` Jonas Schwertfeger
2010-04-09 15:38                                                                                             ` Alan Stern
2010-04-09 16:39                                                                                               ` Douglas Gilbert
     [not found]                                                                                                 ` <4BBF582F.4040707-qazKcTl6WRFWk0Htik3J/w@public.gmane.org>
2010-04-09 17:14                                                                                                   ` Sarah Sharp
2010-04-09 18:00                                                                                                     ` Jonas Schwertfeger
2010-04-09 19:25                                                                                                       ` Alan Stern
2010-04-09 21:54                                                                                                         ` Sarah Sharp
2010-04-12  7:48                                                                                                           ` Jonas Schwertfeger
2010-04-16 18:20                                                                                                             ` Sarah Sharp
2010-04-16 19:25                                                                                                               ` Alan Stern
2010-04-19 21:15                                                                                                                 ` Sarah Sharp
2010-04-20  0:25                                                                                                                   ` Mark Lord
2010-04-20  4:31                                                                                                                     ` Mark Lord
2010-04-20 15:39                                                                                                                   ` Alan Stern
     [not found]                                                                                                                     ` <Pine.LNX.4.44L0.1004201045180.1837-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-04-20 17:37                                                                                                                       ` Sarah Sharp
2010-04-20 19:48                                                                                                                         ` Alan Stern
     [not found]                                                                                                                           ` <4BCF0605.7080508@pobox.com>
     [not found]                                                                                                                             ` <4BCF4120.4060806@pobox.com>
2010-04-21 18:27                                                                                                                               ` Jonas Schwertfeger
2010-04-21 19:07                                                                                                                                 ` Alan Stern
     [not found]                                                                                                                                   ` <Pine.LNX.4.44L0.1004211506040.1422-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-04-21 19:24                                                                                                                                     ` Mark Lord
2010-04-26 16:27                                                                                                                                 ` Sarah Sharp
2010-04-29  8:44                                                                                                                                   ` Jonas Schwertfeger
2010-04-29 12:56                                                                                                                                     ` Mark Lord
2010-04-29 15:45                                                                                                                                     ` Alan Stern
2010-05-07 10:42                                                                                                                                       ` Jonas Schwertfeger
     [not found]                                                                                                                                         ` <4BE3EE87.6020505-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-05-07 15:03                                                                                                                                           ` Alan Stern
2010-05-11  6:54                                                                                                                                             ` Jonas Schwertfeger
2010-05-11 14:44                                                                                                                                               ` Alan Stern
2010-05-12 12:56                                                                                                                                                 ` Mark Lord
2010-05-12 14:23                                                                                                                                                   ` Douglas Gilbert
2010-05-12 14:37                                                                                                                                                     ` Mark Lord
2010-05-12 14:45                                                                                                                                                       ` Mark Lord
2010-05-12 15:09                                                                                                                                                   ` Alan Stern
2010-05-12 15:39                                                                                                                                                     ` James Bottomley
2010-05-12 18:48                                                                                                                                                       ` Alan Stern
     [not found]                                                                                                                                                         ` <Pine.LNX.4.44L0.1005121444450.1353-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-05-13  3:12                                                                                                                                                           ` Mark Lord
2010-05-13 18:42                                                                                                                                                             ` Alan Stern
2010-04-21 12:31                                                                                                                         ` Luben Tuikov
2010-04-21 14:31                                                                                                                           ` Alan Stern
2010-04-21 12:47                                                                                                                         ` Luben Tuikov
2010-04-21 13:52                                                                                                                           ` Mark Lord
2010-04-21 14:04                                                                                                                             ` James Bottomley
2010-04-21 14:08                                                                                                                               ` Mark Lord
2010-04-21 14:15                                                                                                                                 ` James Bottomley
2010-04-21 14:13                                                                                                                               ` Mark Lord
2010-04-21 14:22                                                                                                                                 ` James Bottomley
     [not found]                                                                                                                                   ` <1271859728.2893.72.camel-0iu6Cu4xQGLYCGPCin2YbQ@public.gmane.org>
2010-04-21 14:53                                                                                                                                     ` Alan Stern
     [not found]                                                                                                                                       ` <Pine.LNX.4.44L0.1004211032460.1728-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-04-21 23:29                                                                                                                                         ` Stefan Richter
2010-04-20 17:48                                                                                                                     ` Douglas Gilbert [this message]
2010-04-16 21:31                                                                                                               ` James Bottomley
2010-04-16 23:56                                                                                                                 ` Douglas Gilbert
2010-04-19 15:04                                                                                                               ` Jonas Schwertfeger
2010-04-19 16:02                                                                                                                 ` Alan Stern
2010-04-19 20:45                                                                                                                 ` Sarah Sharp
2010-04-02 17:36                                   ` Sarah Sharp
2010-03-31 16:37             ` David Zeuthen
     [not found]               ` <1270053444.16657.17.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-03-31 16:58                 ` Lennart Poettering
2010-03-31 17:03                   ` Lennart Poettering
     [not found]                   ` <20100331165807.GA20547-kS5D54t9nk0aINubkmmoJbNAH6kLmebB@public.gmane.org>
2010-03-31 17:17                     ` David Zeuthen
2010-03-31 17:06                 ` David Zeuthen
     [not found]       ` <1270049200.2302.320.camel@laptop>
2010-03-31 15:37         ` Jonas Schwertfeger
2010-04-21 14:58       ` Luben Tuikov
2010-04-21 15:09       ` Luben Tuikov
2010-04-21 16:09         ` Alan Stern
2010-04-21 16:18           ` Martin K. Petersen
2010-04-21 17:41             ` Sarah Sharp
2010-04-21 18:08               ` Alan Stern
2010-04-22  0:08       ` Luben Tuikov
2010-04-22 14:52         ` Alan Stern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BCDE8E1.3040509@interlog.com \
    --to=dgilbert@interlog.com \
    --cc=Dinh.Nguyen@freescale.com \
    --cc=James.Bottomley@suse.de \
    --cc=david@fubar.dk \
    --cc=jschwertfeger@gmail.com \
    --cc=kay.sievers@vrfy.org \
    --cc=lennart@poettering.net \
    --cc=linux-hotplug@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mdharm-usb@one-eyed-alien.net \
    --cc=mlord@pobox.com \
    --cc=sarah.a.sharp@linux.intel.com \
    --cc=sshtylyov@mvista.com \
    --cc=stern@rowland.harvard.edu \
    --cc=usb-storage@lists.one-eyed-alien.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).