From: Sarah Sharp <sarah.a.sharp@linux.intel.com>
To: Alan Stern <stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org>
Cc: Jonas Schwertfeger
<jschwertfeger-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Dinh.Nguyen-KZfg59tc24xl57MIdRCFDg@public.gmane.org,
Mark Lord <mlord-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>,
Sergei Shtylyov
<sshtylyov-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>,
James Bottomley <James.Bottomley-l3A5Bk7waGM@public.gmane.org>,
Kay Sievers <kay.sievers-tD+1rO4QERM@public.gmane.org>,
David Zeuthen <david-o55+BOBDEFg@public.gmane.org>,
linux-hotplug-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
USB Storage List
<usb-storage-ijkIwGHArpdIPJnuZ7Njw4oP9KaGy4wf@public.gmane.org>,
Matthew Dharm
<mdharm-usb-JGfshJpz5UybPZpvUQj5UqxOck334EZe@public.gmane.org>,
linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Lennart Poettering
<lennart-mdGvqq1h2p+GdvJs77BJ7Q@public.gmane.org>,
Douglas Gilbert
<dgilbert-qazKcTl6WRFWk0Htik3J/w@public.gmane.org>
Subject: Re: System hangs when using USB 3.0 HD with on Ubuntu
Date: Tue, 20 Apr 2010 17:37:34 +0000 [thread overview]
Message-ID: <20100420173734.GB5518@xanatos> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1004201045180.1837-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1252", Size: 8746 bytes --]
On Tue, Apr 20, 2010 at 11:39:58AM -0400, 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.
I'm sorry; bear with me as this thread is long and I have little SCSI
experience.
> 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.
Ok, I was confused there. The buffalo drive has worked fine for me, but
I've been testing with 2.6.33 and beyond. I was confused about Jonas'
statement that with the latest hdparm "The good news: It doesn't crash
the chip anymore. The drive is still mounted fine after executing
hdparm." By that I suppose he means the drive doesn't stall on the ATA
12 IDENTIFY DEVICE command.
> 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.
Ok, I'll revise that. I wish I had a convenient wiki to stick this
description up, so that everyone could edit it.
>
> > 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.
Yes, I understand. I had only wanted to mention the stall in case they
looked at the full kernel log file.
> > 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.
Ok, so I should probably just include this snippet from the original
kernel log?
Mar 24 18:51:29 js-workstation kernel: [ 126.731371] usb-storage: Command (unknown command) (16 bytes)
Mar 24 18:51:29 js-workstation kernel: [ 126.731372] usb-storage: 85 08 2e 00 00 00 00 00 00 00 00 00 00 40 ec 00
Mar 24 18:51:29 js-workstation kernel: [ 126.731378] usb-storage: Bulk Command S 0x43425355 T 0x2f L 512 F 128 Trg 0 LUN 0 CL 16
Mar 24 18:51:29 js-workstation kernel: [ 126.731379] usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
Mar 24 18:51:29 js-workstation kernel: [ 126.731543] usb-storage: Status code 0; transferred 31/31
Mar 24 18:51:29 js-workstation kernel: [ 126.731544] usb-storage: -- transfer complete
Mar 24 18:51:29 js-workstation kernel: [ 126.731546] usb-storage: Bulk command transfer result=0
Mar 24 18:51:29 js-workstation kernel: [ 126.731547] usb-storage: usb_stor_bulk_transfer_sglist: xfer 512 bytes, 1 entries
Mar 24 18:51:29 js-workstation kernel: [ 126.731719] usb-storage: Status code -32; transferred 0/512
Mar 24 18:51:29 js-workstation kernel: [ 126.731723] usb-storage: clearing endpoint halt for pipe 0xc0008280
Mar 24 18:51:29 js-workstation kernel: [ 126.731727] usb-storage: usb_stor_control_msg: rq\x01 rqtype\x02 value\000 index len=0
Mar 24 18:51:29 js-workstation kernel: [ 126.732152] usb-storage: usb_stor_clear_halt: result = 0
Mar 24 18:51:29 js-workstation kernel: [ 126.732153] usb-storage: Bulk data transfer result 0x2
Mar 24 18:51:29 js-workstation kernel: [ 126.732154] usb-storage: Attempting to get CSW...
Mar 24 18:51:29 js-workstation kernel: [ 126.732155] usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
Mar 24 18:51:29 js-workstation kernel: [ 126.732430] usb-storage: Status code 0; transferred 13/13
Mar 24 18:51:29 js-workstation kernel: [ 126.732431] usb-storage: -- transfer complete
Mar 24 18:51:29 js-workstation kernel: [ 126.732432] usb-storage: Bulk status result = 0
Mar 24 18:51:29 js-workstation kernel: [ 126.732434] usb-storage: Bulk Status S 0x53425355 T 0x2f R 512 Stat 0x2
Mar 24 18:51:29 js-workstation kernel: [ 126.732435] usb-storage: -- transport indicates error, resetting
The important bit being that the Status in the CSW is 0x2, which
drivers/usb/storage/transport.h defines as a US_BULK_STAT_PHASE.
>
> > 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.
Ok, thanks for that explanation.
>
> > 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.
I'm not sure what's up with that. The file has the same permissions as
the bluetooth log file, but I can download the bluetooth log file and
not the buffalo log file:
-rw-r--r-- 1 sarah sarah 10980197 2009-06-15 15:53 bluetooth-suspend-external-4.log
-rw-r--r-- 1 sarah sarah 1419858 2010-04-16 11:13 buffalo-hd-ata-16-issue.log
I'll ask my "server admin" (i.e. husband) who is currently asleep about
it. In the meantime, I've uploaded a tar and a zip file of the log,
which I've verified you can download:
http://minilop.net/~sarah/buffalo-hd-ata-16-issue.tar.gz
http://minilop.net/~sarah/buffalo-hd-ata-16-issue.zip
> 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.
It's the original kernel log Jonas sent me. This was the log from when
udev was invoking hdparm automatically. Jonas didn't send a kernel log
from his tests with hdparm alone. But yes, I should mention it's a
different log.
> > 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.)
>
> Alan Stern
>
next prev parent reply other threads:[~2010-04-20 17:37 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 [this message]
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
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=20100420173734.GB5518@xanatos \
--to=sarah.a.sharp@linux.intel.com \
--cc=Dinh.Nguyen-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=James.Bottomley-l3A5Bk7waGM@public.gmane.org \
--cc=david-o55+BOBDEFg@public.gmane.org \
--cc=dgilbert-qazKcTl6WRFWk0Htik3J/w@public.gmane.org \
--cc=jschwertfeger-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=kay.sievers-tD+1rO4QERM@public.gmane.org \
--cc=lennart-mdGvqq1h2p+GdvJs77BJ7Q@public.gmane.org \
--cc=linux-hotplug-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mdharm-usb-JGfshJpz5UybPZpvUQj5UqxOck334EZe@public.gmane.org \
--cc=mlord-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org \
--cc=sshtylyov-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org \
--cc=stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org \
--cc=usb-storage-ijkIwGHArpdIPJnuZ7Njw4oP9KaGy4wf@public.gmane.org \
/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).