USB storage device slow with reset and I/O error

Bug #758430 reported by Glauco
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Incomplete
Undecided
Unassigned

Bug Description

Binary package hint: linux-source-2.6.38

USB storage devices will start at a 20MB/s transfer and after a few seconds (250MB ~ 300MB), it will slow down to under 1MB/s.

Steps to reproduce:
Insert any USB Hard Drive or Stick to a computer running Ubuntu Natty Narwhal and start to copy a file, bigger than 500MB, from computer to USB storage device. After a few seconds at USB 2.0 speed, it will slow down to USB 1.0/1.1 speed.

Dmesg output will report several ehci_hcd resets, followed by several I/O errors. After a couple of minutes, a loop with ehci_hcd resets and I/O error messages returns to dmesg output and the remaining data will be writen at less then 500KB/s, eventually aborting the process with a fatal error.

Tested it a dozen times, with 2 500GB Hard Drives on 5 different USB cables and with 2 8GB USB Sticks.
All cables are working flawlessly and all storage devices were formatted with no error or bad blocks.

lsb_release -rd output:

Description: Ubuntu Natty (development branch)
Release: 11.04

uname -r output:

2.6.38-7-generic

lspci output:

00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 82G33/G31/P35/P31 Express PCI Express Root Port (rev 02)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 01)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
02:00.0 Ethernet controller: Atheros Communications L1 Gigabit Ethernet (rev b0)
04:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9500 GT] (rev a1)

lsusb output:
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 05e3:1205 Genesys Logic, Inc. Afilias Optical Mouse H3003
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 152d:2329 JMicron Technology Corp. / JMicron USA Technology Corp. transcend storejet 25P
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Revision history for this message
Glauco (glauco-hass) wrote :
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Ming Lei (tom-leiming) wrote :

I don't think it is a duplicated one with bug #500069.

From the log, some failure happened during writing sector to usb HDD. and caused " flush" task hang, then
lowered speed, but seems no such kind of errors in bug #500069.

In fact, long ago, there were a patch[1](just a quirk) to make the device[152d:2329] work well, so
it is a regression?

Considered it is easily reproduced for you, could you provide some usbmon data to
help fix the problem?

About how to trace usbmon, see Documentation/usb/usbmon.txt.

[1]
commit 3030ca4cf4abbdd2dd850a14d20e9fca5937ffb5
Author: Phil Dibowitz <email address hidden>
Date: Sun Oct 19 08:17:54 2008 +0200

    USB: storage: Avoid I/O errors when issuing SCSI ioctls to JMicron USB/ATA bridge

    Here's the patch that implements the fix you suggested to avoid the
    I/O errors that I was running into with my new USB enclosure with a
    JMicron USB/ATA bridge, while issuing scsi-io USN or other such
    queries used by Fedora's mkinitrd.
    http://bugzilla.kernel.org/show_bug.cgi?id=9638#c85

Revision history for this message
penalvch (penalvch) wrote :

Glauco, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p linux <replace-with-bug-number>

Also, could you please test the latest upstream kernel available following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Please do not test the daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.11

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.