Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm running Ubuntu 11.10 64-bit and writing to a USB 2.0 device is very slow. I have two USB hard drives and two USB keys that I've tried. I've tried using nautilus drag and drop, cp, and rsync commands to transfer a roughly 800MB video file (to test all of the drives). I run iostat -k 5 while the file is transferring and I see a write speed of around 4000-5000 kB_wrtn/s.

I've used disk utility to confirm that the drives are recognized as USB 2.0 drives. I've tried the drives in all of the USB ports on the back of the machine.

I will happily edit this question with more information if anyone can tell me what information I should be looking for or commands I should run to debug this issue.

share|improve this question
Does this happen on Windows or any other OS? It might be a hardware problem. – William Feb 8 '12 at 4:54
I don't have access to a windows installation to test on windows, but I get 30,000 kB_wrtn/s when running ubuntu 11.10 32 bit from a USB drive (note that the transfer for this test is from a fixed disk to a USB stick, separate from the USB drive that ubuntu is installed on). I think this points more to driver issues than hardware issues. – cheshirekow Feb 16 '12 at 1:10
up vote 2 down vote accepted

I know answering your own questions is generally frowned upon... and I'm still not exactly sure how to trouble shoot USB problems (which is really what I wanted to know), but the following seems to have fixed my problem:

Add pci=routeirq to the linux boot command. I.e. I have a custom grub entry in /etc/grub.d/40_custom like this (note I copied and pasted the default entry from /boot/grub/grub.cfg and then added pci=routeirq):

exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry 'Ubuntu, with Linux 3.0.0-14-generic, PCI=routeirq' --class ubuntu --class gnu-linux --class gnu --class os {
    set gfxpayload=$linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos3)'
    search --no-floppy --fs-uuid --set=root 9701201a-c029-4d58-b44a-1dc208ca03b1
    linux   /boot/vmlinuz-3.0.0-14-generic root=UUID=9701201a-c029-4d58-b44a-1dc208ca03b1 ro   quiet splash vt.handoff=7 pci=routeirq
    initrd  /boot/initrd.img-3.0.0-14-generic
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.