Not really a problem, but i'm interested in this: i have an external 2.5'' HDD, case is fromEasyNova, the HDD from Samsung.
When i hooked it up to a Laptop running Ubuntu from someone to get some data from him the drive was really slow. Since we didn't want to spend 3 hours copying this stuff (5GB or so) he hooked up his USB stick, which worked perfectly fine, and i transfered the data from the stick to the HDD using one of the schools computers running Windows 7.
He suggested that maybe his Laptop doesn't provide enough power for the HDD, but i doubt this, since the HDD shouldn't even start if it doesn't have enough power.
NTFS is unlikely to be the problem either because the stick used NTFS, too, according to him.
The drive itself is obviously ok because it worked, and continues to do so, on other computers.
When i hooked it up to a Laptop running Ubuntu from someone to get some data from him the drive was really slow.
So, any ideas what could cause this?
A few things.
Anything that's plugged into the same port on the root hub will slow down everything else on that same root hub, even if it's one or two hubs down the line.
(The "root hub" is the plugs on the motherboard. Most motherboards have one root hub per two ports. Expensive ones have one root hub per port. Cheap ones may have only one root hub, in which case, the keyboard and mouse will definitely slow it down.)
The selected I/O scheduler in the running Linux kernel may affect read/write speeds, especially if other applications (like the Nautilus file browser's thumbnailer) are accessing the drive. The default scheduler these days is Ingo's CFQ (completely fair scheduler). You could try the deadline scheduler, which is decidedly less fair, and should perform reads in larger batches.
echo deadline | sudo tee /sys/block/sdx/queue/scheduler # where sdx is the /dev/ name for the USB drive
You can also try "none" instead of "deadline", which disables I/O rescheduling entirely. (You don't need to remove or unmount the drive to change the scheduler.)
The USB interface may be non-standard. The UHCI (USB 1.0), OHCI (USB 1.1), and EHCI (USB 2.0) drivers have different performance characteristics, and if the USB host controller (the root hub) doesn't conform to one of those three standards (or XHCI, USB 3.0), it will slow down considerably. (Don't confuse this with AHCI, which is the name for the standard SATA driver and has nothing to do with USB.)
You can run "dmesg | less" immediately after booting up to see which USB drivers are in use. Intel hardware is the reference for the standard and will have no troubles. Some other brands may require special drivers, which may not operate at full speed. You can't fix that.
The cable may not be rated for USB 2.0 speeds or may be damaged, which will slow down transfers due to signal degradation. (A new cable with a balun might help.)
The USB drive controller might not actually be USB 2.0. Check to see if it is.
The native NTFS driver in the kernel is considered "fast," but is read-only. NTFS-3g is decidedly slower, but supports write. I can't think of a way to disable the 3g driver off the top of my head.