May 7th, 2009

Ubuntu Linux: Is your external usb drive slow?

Linux, by Donncha.

I don’t know when this happened but my external USB drives were running really slow. Reading RAW images off them took ages, backups took forever, and moving files back and forth was plain slow.

I use two Seagate FreeAgent external drives. They’re both USB 2 devices so should sustain more than the maximum 1MB/s I was seeing. I decided to go looking. First stop was /var/log/syslog where I found the following:

usb 2-1.2.4.4: new full speed USB device using uhci_hcd and address 13
usb 2-1.2.4.4: not running at top speed; connect to a high speed hub

To cut a long story short, after a few searches I found bug 66115 where the same problem is described. Unfortunately the ticket has since been closed but the work around discovered by Jean Pierre Rupp works for me too. I haven’t modified any files in /etc/ but unloading ehci_hcd and uhci_hcd and reloading in the correct order worked for me:

rmmod ehci_hcd
rmmod uhci_hcd
modprobe ehci_hcd
modprobe uhci_hcd

Now I get a very respectable 15-20MB/s when using rsync to transfer files from my internal drive and reads are super fast:

hdparm -tT /dev/sdi1

/dev/sdi1:
Timing cached reads: 3964 MB in 2.00 seconds = 1985.16 MB/sec
Timing buffered disk reads: 82 MB in 3.03 seconds = 27.08 MB/sec

Next on the TODO list is making sure the modules are loaded in the correct order on reboot. Time to dive into /etc

You might also like

If you like this post then please subscribe to my full RSS feed. You can also click here to subscribe by email. There are also my fabulous photos and funny videos to explore too!

Back Top

Responses to “Ubuntu Linux: Is your external usb drive slow?”

  1. UHCI is USB 1.0 , do you have any USB 1.0 controllers/devices? If not you can probably blacklist it:) Make sure, because unfortunately UHCI can only do USB 1.0

    jon Kristian at May 12, 2009 2:12 pm
  2. Thanks so much, man! It worked for me too! =)
    OS Centos 5.3, USB-HDD Transcend storejet 250GB

  3. Ref:

    http://lists.centos.org/pipermail/centos/2007-August/043612.html

    Edit: /etc/modprobe.conf
    Add the line:

    install uhci_hcd /sbin/modprobe ehci_hcd; /sbin/modprobe –ignore-install uhci_hcd

  4. thanks i had the same problem, though i missed the line “[16897.589022] usb 2-6: new full speed USB device using ohci_hcd and address 26
    [16897.789061] usb 2-6: not running at top speed; connect to a high speed hub”

    i tried what you’ve suggested but it didn’t work, it’s still the same, maybe i should reset the pc, i’l try that later…
    just to tell you after i’ve done that i got this messages in dmesg :

    [23095.811243] Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after ”
    don’t really know why is that there…

  5. Great, it worked fine for me!

  1. No trackbacks yet.

Leave a Reply

Back Top


Holy Shmoly! is Digg proof thanks to caching by WP Super Cache