Slow USB 2.0 mass stoarage transfer rate

Submitted by revslowmo
on August 5, 2006 - 5:49pm

I a running 2.6.17.7 and using a usb hdd and am having very slow tx rates, anyone heard of this? maybe a common problem? I am using ECHI and it says its connected at 480 (2.0 speeds) Currently it transfers at 36 mbit/sec it should be more like hdd speeds of 80-120 mbits/sec (ide 7200). Whats going on, what am I missing.

I may be off base here but it

Anonymous (not verified)
on
August 6, 2006 - 5:19am

I may be off base here but it sounds like you may be mixing bits per second with bytes per second. A modern 7200 RPM HDD should be capable of roughly 50M Bytes/sec sequential transfer. That is about 400M bits/sec not 80-120 as you stated. If your 36m is really bytes, not bits then the observed rate is reasonable given the overhead of some seeking and the interface.

Also note that these are sequential transfer rates. If there is a lot of seeking going on the rate will be much lower.

I may be off base here but it

Anonymous (not verified)
on
August 10, 2006 - 5:06pm

I may be off base here but it sounds like you may be mixing bits per second with bytes per second. A modern 7200 RPM HDD should be capable of roughly 50M Bytes/sec sequential transfer. That is about 400M bits/sec not 80-120 as you stated. If your 36m is really bytes, not bits then the observed rate is reasonable given the overhead of some seeking and the interface.

The rate is indeed in bits per second. It's writing at about 4.5 megabytes per second, which is 36 megabits per second. The 80-120 mbit/s (i.e. 10-15 mbyte/s) was just a rough estimate of what I could reasonably expect from USB 2 with imperfect chipset support, imperfect conditions, or whatever.

Also note that these are sequential transfer rates. If there is a lot of seeking going on the rate will be much lower.

True, but even still, I see actual transfer rates of 15-30 mbytes/s out of my SATA drives under similar conditions (i.e. a simple 'mv' command). Some of the files I'm moving are indeed big enough that there's a high likelihood of reaching a decent sequential rate. Yet it only peaks out at barely 5 mbyte/s and averages about 4.5 mbyte/s. Very frustrating.

Slowed down?

MightyPenguin
on
August 7, 2006 - 7:32am

The fact it's working for you is a good thing. There used to be a lot of people complaining about USB 2.0 dying after transferring a gig or two of data. I'm not sure but they might have turned down the default speed to try and make it more reliable (like Windows does :)

Slow USB 2.0

Benedict Rodgers (not verified)
on
October 5, 2006 - 3:07pm

After much wrestling with Windows XP Device Manager, I've only been able to make my CardBus USB 2.0 card send data to my Seagate 7200rpm external hard drive at a paltry 3.5 megabytes per second.

I'm fed up with the whole USB 2.0 thing: it claims to be capable of far more than it can actually do. Why must they taunt me with their claims of 40 megabytes per second when mine can't even manage a tenth of that?

USB 2.0 does not imply high speed

cushioncritter
on
October 8, 2006 - 3:20pm

There is an article on this on wikipedia. A 1.0kbps keyboard/mouse can be USB 2.0 compliant. So if you buy a cheap external HDD enclosure with "USB 2.0 interface", you will get somewhere between this keyboard speed and the speed you were expecting.

I bought several "USB 2.0" memory sticks and only one of them (Sandisk Cruzer) is "high speed". Most BIOS will boot from them at the max. speed of USB 1.1 since MSFT junk is not bootable from memory sticks and "overworked BIOS engineers" are too lazy to make/try a bootable Linux memory stick.

I would recommend getting a PCI card (for desktop, not laptop) with external SATA connector, then you will get the speed you are expecting. Even if the USB is working at its maximum speed, it will be disappointing compared to even slowest SATA standard.

It seems all new standards are now deceptive, the "USB 2.0 logo" means nothing in terms of speed, the SATA II is not supposed to be used since you should say SATA 3G since 6G is coming next year, etc.. I guess because business is no longer punished for doing evil things like this.

Well

revslowmo
on
October 8, 2006 - 4:17pm

The problem isnt that, because it works as expected speeds when connected to another linux machine running on the intel chipset insted of via. Both running the same kernel and same debian dist updated at the same time. So at this point everything is pointing at the drivers/via hardware. What would be helpfull in debuging this problem. It seem that it is defaulting to usb 1.1 speeds yet says it is connected at 2.0 speeds. Maybe a timing issue? I dont know, but I do know something isnt right. :)

Make sure UHCI (low speed) driver is not claiming device

cushioncritter
on
October 9, 2006 - 5:21am

Plug in device, then "dmesg | tail" should have something appear like:

usb 1-2: new high speed USB device using ehci_hcd and address 2

Yes, a message just like that

Anonymous (not verified)
on
October 9, 2006 - 8:20pm

Yes, a message just like that appears. It says "high speed USB device." An additional bit of info, the drive works fine and at high speeds in Windows, on the same machine. Very frustrating.

Same problem here

Jon Senior (not verified)
on
November 28, 2006 - 3:33pm

I've got the same problem. Also with a Via chipset (in a PCMCIA card). There is no noticeable difference in speed between my card and the laptops original USB1.1 ports. It looks like the Via chipset (VT82 series) is not well supported in Linux. I've not managed to get an answer from anyone as to why this might be though. I think that Via are not being too helpful about handing out data sheets on their chipsets.

Jon

Something just isnt right

revslowmo
on
October 7, 2006 - 12:01pm

USB tx slow with usbmass storge, doesnt seem to work on this system but work fine on another. Any know issues with the VIA chipset and usb2.0? Here is a lspci output for ref.

Linux chalupa 2.6.17.7rd2 #2 PREEMPT Sat Sep 23 20:57:21 PDT 2006 i686 GNU/Linux

0000:00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86) (prog-if 20 [EHCI])
Subsystem: ABIT Computer Corp.: Unknown device 1408
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at eb021000 (32-bit, non-prefetchable) [size=256]
0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge (rev 80)
0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
0000:00:09.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)
0000:00:09.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 07)
0000:00:0b.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 6c)
0000:00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
0000:00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
0000:00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
0000:00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
0000:01:00.0 VGA compatible controller: nVidia Corporation GeForce 6200 (rev a1)

USB transfer rate is slow

Tim (not verified)
on
December 14, 2006 - 1:46pm

I have a Seagate external 160 GB USB 2.0 device. When it was attached to my Windows XP box I could transfer nearly 100 GB under 2 hours.

I transferred it to my latest (P III 100)Ubuntu (my box is only capable of USB 1.0) After formatting the Seagate to Ext3 I could transfer the same 100 GB in...........................30 hours, well...I assume it has finished.

I doubt that adding a USB 2.0 controller to my Ubuntu box is going to speed up the device 20 times

Why not?

cushioncritter
on
December 14, 2006 - 2:42pm

From Wikipedia, "High speed" is _theoretically_ 40 times the speed of "Full Speed" (480 vs. 12). You are only seeing a degradation of 15+ times.

Just make sure the USB 2.0 controller says "high speed" -- a lot of disreputable manufacturers sell the "full speed (12)" USB devices with a prominent "USB 2.0" label on them, which is technically accurate but fools people who think USB 2.0 implies "High speed".

Same Problem

anon (not verified)
on
March 22, 2007 - 2:41pm

I've got a very similar output for my computer speeds below 1000KB/s

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)

Almost the same problem

Damiano (not verified)
on
December 18, 2006 - 1:42am

I have the same problem on SuSE 10, it's strange because the first two times I've used the HD it worked at high speed without any problem, but now it seems to have the same performance of a standard full speed mode (more or less about 1MB/s).

#uname -a

Linux cpsserver 2.6.13-15-smp #1 SMP Tue Sep 13 14:56:15 UTC 2005 x86_64 x86_64 x86_64 GNU/Linux

#cat /proc/bus/usb/devices

T: Bus=05 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.13-15-smp ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=0000:00:10.4
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms

T: Bus=05 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 10 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=03e0 ProdID=6830 Rev= 0.01
S: Manufacturer=PI-036
S: Product=USB2.0 Drive
S: SerialNumber=0522036847
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
...

It seems to be connected correctly in High speed mode...

#tail /var/log/messages

Dec 18 09:01:34 cpsserver kernel: usb 5-6: new high speed USB device using ehci_hcd and address 10
Dec 18 09:01:35 cpsserver kernel: scsi12 : SCSI emulation for USB Mass Storage devices
Dec 18 09:01:35 cpsserver kernel: usb-storage: device found at 10
Dec 18 09:01:35 cpsserver kernel: usb-storage: waiting for device to settle before scanning
Dec 18 09:01:40 cpsserver kernel: Vendor: Maxtor 6 Model: E040L0 Rev: 0 0
Dec 18 09:01:40 cpsserver kernel: Type: Direct-Access ANSI SCSI revision: 00
Dec 18 09:01:40 cpsserver kernel: SCSI device sdb: 80293248 512-byte hdwr sectors (41110 MB)
Dec 18 09:01:40 cpsserver kernel: sdb: assuming drive cache: write through
Dec 18 09:01:40 cpsserver kernel: SCSI device sdb: 80293248 512-byte hdwr sectors (41110 MB)
Dec 18 09:01:40 cpsserver kernel: sdb: assuming drive cache: write through
Dec 18 09:01:40 cpsserver kernel: sdb: sdb1
Dec 18 09:01:40 cpsserver kernel: Attached scsi disk sdb at scsi12, channel 0, id 0, lun 0
Dec 18 09:01:40 cpsserver kernel: Attached scsi generic sg1 at scsi12, channel 0, id 0, lun 0, type 0
Dec 18 09:01:40 cpsserver kernel: usb-storage: device scan complete
Dec 18 09:01:41 cpsserver hal-subfs-mount[15635]: SYMLINKS:: disk/by-id/usb-Maxtor_6_E040L0_0522036847 disk/by-path/usb-0522036847:0:0:0
Dec 18 09:01:41 cpsserver hal-subfs-mount[15635]: MOUNT_POINT:: /media/usbdisk
Dec 18 09:01:41 cpsserver hal-subfs-mount[15635]: MOUNTPOINT:: /media/usbdisk
...

#lspci
lspci
00:00.0 Host bridge: VIA Technologies, Inc. P4M800CE Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. P4M800CE Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. P4M800CE Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. PT890 Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. P4M800CE Host Bridge
00:00.7 Host bridge: VIA Technologies, Inc. P4M800CE Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
00:08.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01)
00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0f.0 IDE interface: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
01:00.0 VGA compatible controller: VIA Technologies, Inc.: Unknown device 3344 (rev 01)

#cat /proc/bus/usb/devices

sync mount option?

Anonymous (not verified)
on
January 2, 2007 - 5:52am

Maybe your distribution mounts you USB hard disk with the "sync" mount option enabled?
This is another cause for slowdown.

there's not sync option.

Lim (not verified)
on
February 8, 2007 - 6:37pm

Hi there~
I'm using 2.6.17.8...
It seems likely to use VIA chipset problem.
Is this unsolved problem till now?

When I use USB 2.0 PCI card at first, it work very well any kernel... But on this kernel occured that problem.

# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4)
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 10)
00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 10)
00:07.4 SMBus: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
00:0a.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
00:0c.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)
00:0c.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)
00:0c.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63)
00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev a1)

VIA chipset probably the culprit

Reid (not verified)
on
March 2, 2007 - 1:56am

I think the VIA chipsets just have lousy support from the linux kernel. The reason why is better left for the driver maintainer to answer. I was pulling my hair most of today trying to install a linux distro on a thumb drive in a laptop that had a via chipset...it kept failing and losing random inodes and files during install (e.g. the logs would say it unpacked /usr/bin/grub-install but the file just wouldn't be there...some files that it unpacked would have 0 bytes of data on the disk, some had i/o errors trying to read the filename :)).

I put the drive in a different computer (intel mac) and tried to install the distro again, success! I have worries about booting my thumbdrive linux install on via chipset computers now, though :(.

Just figured I'd throw in my $.02 on this old issue, in case anyone is still looking (I found this page by googling about via chipset support, after all).

same problem here.. and im

Anonymous (not verified)
on
March 19, 2007 - 11:18am

same problem here.. and im not using VIA stuff... instead its from ATI...

USB transfer speed benchmark results

cushioncritter
on
March 26, 2007 - 6:46am

USB transfer speed benchmark results

Test: Write ~10G (single file) to a Seagate EIDE drive in external USB enclosure.

USB transfer speed 
Benchmark: Write approx. 10G (single file) to a Seagate EIDE drive in an external enclosure.
time dd if=/dev/zero of=/mnt/sdb1/test.fil bs=1024k count=10000
(benchmark run in Win XP using 'Cygwin')

Wikipedia USB 2.0 states: Theoretical. Max is 60 MB/s, 2006 Max. is 30 MB/s, 10­-20 MB/s typical

Controller,Kernel,usb_device_ids,write_speed
nForce MCP51,2.6.20.3,10de:026d,0261rA2, 13.18 MB/s
Via PCI,2.6.20.3,1106:3038r1,3104r63, 14.53 MB/s
Intel/Vaio,2.6.20.3,8086:2658,­265cr03, 15.46MB/s
Intel/Dell,2.6.20.4,8086:26c2,c4,c7,cdr01, 15.96MB/s
Intel/Dell,Win XP SP2,8086:26c2,c4,c7,cdr01, 17.58 MB/s
ATI IXP SB400,2.6.20.4,0c03:4373­,4375r80, 13.79 MB/s
VIA VT82xxxx,2.6.20.4,1106:3104r86, 15.51 MB/s

My Conclusion: No trouble found, results are actually quite
good considering vendors cooperate with MSFT and !Linux.

Device support improves with newer kernels, few of the people complaining stated the version of kernel (uname -a), it was probably ancient.

I have the exact same

Anonymous (not verified)
on
April 1, 2007 - 1:39pm

I have the exact same problem, slow under Linux, fast under windows. Same hardware etc... ~30 Hours to transfer 200Gigs...

Thanks

Chris

Solved, as suggested, kde

Anonymous (not verified)
on
May 23, 2007 - 4:20pm

Solved,
as suggested, kde mounts your usb drive/stick with the sync option.
I'm just wondering if is there a way to force it to not.

Just configure it

Anonymous (not verified)
on
May 24, 2007 - 3:32am

Do you have a "Devices" Icon on your Desktop?

If so, open it. If not, try opening media:/ in konqueror.

Selct the device then -> Properties -> Mounting(tag) and uncheck the Synchronous box. (This gets remembered, so you should only need to do it once per-device).

FWIW, I have a VIA chipset and get 30MB/s to from my external USB2 drives (once I make them async) and have transferred GB of data to/from them.

Feisty mounts with sync option - disable it!

Anonymous (not verified)
on
July 17, 2007 - 7:44am

YES! This is what I needed... after kicking off the data backup to my new 500GB external drive before going to bed, I woke up and found out it had only transferred 45 GB! Kubuntu Feisty mounted it with the sync option, and I didn't realize it. After changing that as you stated, I am getting 3 - 4 x the transfer rate (just watching grellm).

So annoying. Thanks for the tip.

woot go firewire!!!

Anonymous (not verified)
on
May 4, 2009 - 1:59pm

woot go firewire!!!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.