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