Silly question perhaps, but are you sure you're using the correct port on your Linux system? If I plug my external HD into a USB2 port, I'm stuck at 30-40MB/sec, while on a USB3 port I get ~150-180MB/sec. That's proportionally similar to the difference you described so I wonder if that's the culprit.
You can verify this in a few different ways. From Terminal, if you run lsusb
you'll see a list of all your USB hubs and devices.
It should look something like this:
Bus 002 Device 001: ID xxxx:yyyy Linux Foundation 3.0 root hub
Bus 002 Device 002: ID xxxx:yyyy <HDD device name>
Bus 003 Device 001: ID xxxx:yyyy Linux Foundation 2.0 root hub
Bus 004 Device 001: ID xxxx:yyyy Linux Foundation 3.0 root hub
So you can see three hubs, one of which is 2.0 and the other two are 3.0. The HDD is on bus 002, which we can see is a USB 3.0 hub by looking at the description of Bus 002 Device 001
. That's good.
If you see it on a 2.0 bus, or on a bus with many other devices on it, that's bad and you should re-organize your USB devices so your low-speed peripherals (mouse, keyboard, etc.) are on a USB2 bus and only high-speed devices are on the USB3 bus.
You can also consult your motherboard's manual, or just look at the colors of your USB ports. By convention, gray ports are USB 1.0, blue ports are 2.0, and green ports are 3.x.
If you're running KDE, you can also view these details in the GUI with kinfocenter. Not sure what the Gnome equivalent is.