Re: USB Mass Storage devices continually reenumerate

"Mike Nuss" <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
Alan Stern wrote:
> > Now the hub
> > itself sometimes gets disconnected when I plug in a flash drive:
>
> It's hard to know what to make of all this.  My best guess is that your
> computer's USB controller has some sort of hardware problem, apparently
> not directly related to power consumption.

This isn't really a Linux specific question anymore, but I'm using
Linux to debug it. I've managed to more specifically identify the
issue but I could still use some help interpreting the data.

I've spliced the cable so that the VBUS line is tied directly to a 5V
source, pretty much eliminating power issues.  I unloaded the SCSI
disk driver and I'm using sg to issue single commands to the device.
Occasionally in the middle of a command, I see the disconnect.

The disconnect is always in the middle of an IN transfer.  On a
digital scope I can see D+/D- going low for about 10ms, so it's a real
disconnect and not noise.  I believe that 10ms is the delay that the
OHCI hardware would use to reset a port.

The command I've been testing with is READ CAPACITY. I've observed the
traffic on a bus analyzer. When the command succeeds, the process is:

Host sends OUT
Host sends DATA containing CBW
Device ACKs
Host sends IN
Device sends DATA containing the response (capacity)
Host ACKs
Host sends IN
Device sends DATA containing CSW
Host ACKs

When it fails, the failure is always the same, on the second IN. The
device sends the CSW, but the host never ACKs. After ~250ms, I see the
10ms reset, and the device comes back.

It sure looks like the HC is resetting the port for some reason.
ohci-hcd reports that the TD failed with an error count of 3, which
seems inconsistent because I would expect to see multiple INs if that
were the case. I thought it might be detecting a babble, but the
device's response is within microseconds of the IN token so I don't
see how it could be past the end of the frame.

Any idea what could be causing this? I know "buggy hardware" is the
obvious answer but I'm trying to determine exactly what the bug is.

Thanks,
Mike

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.