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