Re: Mass storage failure during USB2 data transfers

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Fri, 17 Aug 2007, Luiz Fernando N. Capitulino wrote:

> Em Fri, 17 Aug 2007 13:59:09 -0300
> "Luiz Fernando N. Capitulino" <[email protected]> escreveu:
> 
> | 
> |  Hi guys,
> | 
> |  We have a long standing bug report against Mandriva kernels which
> | is also reproducible with vanilla kernels.
> | 
> |  Looks like the device gets resetted after trying to copy aprox. 1.3GB
> | of data:
> | 
> | """
> | Jul 31 22:26:39 dvalin kernel: usb 1-3: reset high speed USB device using
> | ehci_hcd and address 5
> | Jul 31 22:26:46 dvalin last message repeated 4 times
> | Jul 31 22:26:46 dvalin kernel: sd 1:0:0:0: scsi: Device offlined - not ready
> | after error recovery
> | Jul 31 22:26:46 dvalin kernel: sd 1:0:0:0: [sda] Result: hostbyte=DID_ABORT
> | driverbyte=DRIVER_OK,SUGGEST_OK
> | Jul 31 22:26:46 dvalin kernel: end_request: I/O error, dev sda, sector 11339850
> | Jul 31 22:26:46 dvalin kernel: Buffer I/O error on device sda7, logical block
> | 78054

Jan:

I looked through your bug report entries.  It seems that the problem is 
getting worse!  You said that recently the resets start occurring 
immediately, not after 1 GB or so as in the past.

You also said that the errors leave the drive in an unusable condition, 
requiring a power cycle.  That certainly points to a bug in the drive 
or the USB-IDE interface firmware.  A bug on the computer end wouldn't 
leave the drive hung with its LED blinking.

You mentioned that it works correctly over the Firewire connection.  
That means nothing; the Firewire and USB connections use different 
cables, different signalling protocols, different control circuitry, 
and different firmware.  It is most definitely possible for one to work 
while the other is broken.

You mentioned that the drive works okay under Windows.  It's hard to 
say how relevant that is; Windows and Linux may stress the hardware and 
firmware in different ways.  Not out of spec necessarily, just 
different.  Manufacturers tend to test their systems with Windows and 
not with Linux, so it's not surprising that people run across devices 
that don't work the same under the two operating systems.

If you want to gather more information about the problem, you can try 
using the usbmon facility.  Instructions are in the kernel source file 
Documentation/usb/usbmon.txt.

There have been a large number of reports about problems similar to 
what you see.  We have no way to tell what the underlying cause is.  It 
could be communications errors (noise in the USB cable), something 
overheating from intensive use, a bug in the device firmware, a bug in 
the driver software, a bug in the host controller, or several other 
possibilities.  In fact, it's quite likely that different systems have 
different underlying causes, even though the symptoms are the same.

Whatever the cause, the usb-storage driver tries to perform error
recovery whenever these sorts of errors happen.  That's what those
"reset high speed USB device" lines are in your logs.  Normally a reset
would get the device back in sync with the computer and the data
transfers would proceed.  In your case the reset accomplished nothing.  
Again this would seem to point to a bug in the device or its USB
interface. although we still can't entirely rule out the possibility
that something is wrong with the computer's USB controller.

Alan Stern


-------------------------------------------------------------------------
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.