You are not logged in.

#1 2011-06-14 17:39:19

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 602

[Solved] Slow USB transfer rates and system freezes

Hello community,

I'm using my MP3-Player, Meizu M6

Bus 001 Device 009: ID 04e8:5a0f Samsung Electronics Co., Ltd Meizu M6 MiniPlayer

and having some problems with its transfer speed. If ehci_hcd is activated, I sometimes get system freezes (system doesn't react on mouse and keyboard, so: hard reset) and the average transfer speed is low (about 0,7MB/s):

# copying a 50MB file
real    1m9.650s
user    0m0.000s
sys    0m0.150s

On the other hand hdparm is quite fast

hdparm -t /dev/sdc

/dev/sdc:
 Timing buffered disk reads:  18 MB in  3.10 seconds =   5.81 MB/sec

I assume that the low transfer rates are related with these messages from kernel.log:

Jun 14 19:07:00 localhost kernel: [ 4298.553659] scsi 12:0:0:0: Direct-Access     Meizu    MiniPlayer       1.00 PQ: 0 ANSI: 2
Jun 14 19:07:00 localhost kernel: [ 4298.553897] sd 12:0:0:0: Attached scsi generic sg3 type 0
Jun 14 19:07:01 localhost kernel: [ 4299.001765] sd 12:0:0:0: [sdc] 7913472 512-byte logical blocks: (4.05 GB/3.77 GiB)
Jun 14 19:07:01 localhost kernel: [ 4299.002134] sd 12:0:0:0: [sdc] Write Protect is off
Jun 14 19:07:01 localhost kernel: [ 4299.002137] sd 12:0:0:0: [sdc] Mode Sense: 00 26 00 00
Jun 14 19:07:01 localhost kernel: [ 4299.002139] sd 12:0:0:0: [sdc] Assuming drive cache: write through
Jun 14 19:07:01 localhost kernel: [ 4299.004134] sd 12:0:0:0: [sdc] Assuming drive cache: write through
Jun 14 19:07:01 localhost kernel: [ 4299.005161]  sdc:
Jun 14 19:07:01 localhost kernel: [ 4299.007257] sd 12:0:0:0: [sdc] Assuming drive cache: write through
Jun 14 19:07:01 localhost kernel: [ 4299.007261] sd 12:0:0:0: [sdc] Attached SCSI removable disk
Jun 14 19:07:01 localhost kernel: [ 4299.516272] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:11:41 localhost kernel: [ 4579.712903] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:11:44 localhost kernel: [ 4582.712906] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:11:47 localhost kernel: [ 4584.999584] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:11:50 localhost kernel: [ 4588.509575] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:11:54 localhost kernel: [ 4591.826239] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:11:55 localhost kernel: [ 4593.799572] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:11:58 localhost kernel: [ 4596.099574] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:00 localhost kernel: [ 4597.919634] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:01 localhost kernel: [ 4599.466236] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:05 localhost kernel: [ 4603.259575] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:07 localhost kernel: [ 4605.732975] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:10 localhost kernel: [ 4608.639576] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:13 localhost kernel: [ 4610.969576] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:16 localhost kernel: [ 4613.852901] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:18 localhost kernel: [ 4616.139568] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:19 localhost kernel: [ 4616.899574] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:23 localhost kernel: [ 4621.042900] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:25 localhost kernel: [ 4622.849608] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:27 localhost kernel: [ 4625.732898] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:30 localhost kernel: [ 4628.222904] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:33 localhost kernel: [ 4631.556240] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:36 localhost kernel: [ 4634.602902] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:40 localhost kernel: [ 4638.049572] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:41 localhost kernel: [ 4639.369565] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:43 localhost kernel: [ 4641.399567] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:45 localhost kernel: [ 4643.689573] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:48 localhost kernel: [ 4646.666235] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:51 localhost kernel: [ 4648.986238] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:52 localhost kernel: [ 4650.769566] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:56 localhost kernel: [ 4654.806240] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:12:59 localhost kernel: [ 4657.789570] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:04 localhost kernel: [ 4662.299567] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:06 localhost kernel: [ 4664.092904] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:09 localhost kernel: [ 4667.496237] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:11 localhost kernel: [ 4669.286229] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:13 localhost kernel: [ 4671.552917] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:15 localhost kernel: [ 4672.869564] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:17 localhost kernel: [ 4675.366232] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:18 localhost kernel: [ 4676.119561] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:21 localhost kernel: [ 4679.449563] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:23 localhost kernel: [ 4681.349566] usb 1-6: reset high speed USB device number 8 using ehci_hcd
Jun 14 19:13:23 localhost kernel: [ 4681.496486] usb 1-6: USB disconnect, device number 8
Jun 14 19:13:23 localhost kernel: [ 4681.497259] sd 12:0:0:0: [sdc] Unhandled error code
Jun 14 19:13:23 localhost kernel: [ 4681.497262] sd 12:0:0:0: [sdc]  Result: hostbyte=0x01 driverbyte=0x00
Jun 14 19:13:23 localhost kernel: [ 4681.497266] sd 12:0:0:0: [sdc] CDB: cdb[0]=0x2a: 2a 00 00 38 38 38 00 00 f0 00
Jun 14 19:13:23 localhost kernel: [ 4681.497274] end_request: I/O error, dev sdc, sector 3684408
Jun 14 19:13:23 localhost kernel: [ 4681.497599] sd 12:0:0:0: [sdc] Unhandled error code
Jun 14 19:13:23 localhost kernel: [ 4681.497602] sd 12:0:0:0: [sdc]  Result: hostbyte=0x01 driverbyte=0x00
Jun 14 19:13:23 localhost kernel: [ 4681.497604] sd 12:0:0:0: [sdc] CDB: cdb[0]=0x2a: 2a 00 00 38 39 28 00 00 f0 00
Jun 14 19:13:23 localhost kernel: [ 4681.497611] end_request: I/O error, dev sdc, sector 3684648
Jun 14 19:13:23 localhost kernel: [ 4681.652900] usb 1-6: new high speed USB device number 9 using ehci_hcd
Jun 14 19:13:23 localhost kernel: [ 4681.779801] scsi13 : usb-storage 1-6:1.0
Jun 14 19:13:26 localhost kernel: [ 4684.775631] scsi 13:0:0:0: Direct-Access     Meizu    MiniPlayer       1.00 PQ: 0 ANSI: 2
Jun 14 19:13:26 localhost kernel: [ 4684.775882] sd 13:0:0:0: Attached scsi generic sg3 type 0
Jun 14 19:13:26 localhost kernel: [ 4684.779000] sd 13:0:0:0: [sdc] 7913472 512-byte logical blocks: (4.05 GB/3.77 GiB)
Jun 14 19:13:26 localhost kernel: [ 4684.779470] sd 13:0:0:0: [sdc] Write Protect is off
Jun 14 19:13:26 localhost kernel: [ 4684.779473] sd 13:0:0:0: [sdc] Mode Sense: 00 26 00 00
Jun 14 19:13:26 localhost kernel: [ 4684.779476] sd 13:0:0:0: [sdc] Assuming drive cache: write through
Jun 14 19:13:26 localhost kernel: [ 4684.780974] sd 13:0:0:0: [sdc] Assuming drive cache: write through
Jun 14 19:13:26 localhost kernel: [ 4684.783324]  sdc:
Jun 14 19:13:26 localhost kernel: [ 4684.784970] sd 13:0:0:0: [sdc] Assuming drive cache: write through
Jun 14 19:13:26 localhost kernel: [ 4684.784975] sd 13:0:0:0: [sdc] Attached SCSI removable disk
Jun 14 19:16:43 localhost kernel: [ 4881.112885] usb 1-6: reset high speed USB device number 9 using ehci_hcd
Jun 14 19:23:04 localhost kernel: [ 5262.112837] usb 1-6: reset high speed USB device number 9 using ehci_hcd

I tried removing the ehci_hcd module and the above messages in kernel.log disappeared. The average transfer speed even increased (about 1,4MB/s now):

# again copying a 50MB file
real    0m35.033s
user    0m0.003s
sys    0m0.180s

But hdparm is slower:

hdparm -t /dev/sdc

/dev/sdc:
 Timing buffered disk reads:   4 MB in  3.63 seconds =   1.10 MB/sec

Though the average transfer rates are higher without ehci_hcd, according to hdparm the device could be three times faster with ehci_hcd, if those errors didn't occur. Maybe someone knows how to handle these errors?

Here are some infos about my USB chipset:

# lspci -v

00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2) (prog-if 10 [OHCI])
    Subsystem: ASUSTeK Computer Inc. K8N4-E or A8N-E Mainboard
    Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 23
    Memory at d3103000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: <access denied>
    Kernel driver in use: ohci_hcd
    Kernel modules: ohci-hcd

00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3) (prog-if 20 [EHCI])
    Subsystem: ASUSTeK Computer Inc. K8N4-E or A8N-E Mainboard
    Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 20
    Memory at 80000000 (32-bit, non-prefetchable) [size=256]
    Capabilities: <access denied>
    Kernel driver in use: ehci_hcd
    Kernel modules: ehci-hcd

P.S.: Looks like there are two USB controller using different modules. According to the lsusb output the M6 player is the only device connected to Bus 1 (everything else is connected to Bus 2). Maybe that's the reason for the errors?

edit: Forgot the /etc/mtab line:

/dev/sdc /media/68DE-5DE7 vfat rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=100,shortname=mixed,dmask=0077,utf8=1,showexec,flush 0 0

edit 2: I tried to connect the player to a USB port, where another device was connected before, which was listed at "Bus 2". Still the player is listed at Bus 1... So those buses aren't related with the physical slot position?

edit 3: Scratch it, the USB cable was the cause of the errors... sad

Last edited by PhotonX (2011-06-14 17:51:14)


Desktop: http://www.sysprofile.de/id15562, Arch Linux    |    Notebook: Thinkpad L13 Yoga Gen2, Manjaro

The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work.  -  Tuomas Lukka

Offline

Board footer

Powered by FluxBB