You are not logged in.
I experience a terribly low read performance from a USB 2.0 hard drive on a fresh Arch Linux installation with the latest stock kernel (2.6.23.1-7). Reading 200 MB takes around 3 minutes whereas under Windows with the same controller and drive it takes around 10 seconds.
[gali@neutrino ~]$ sudo hdparm -t /dev/sdb1
/dev/sdb1:
Timing buffered disk reads: 6 MB in 4.89 seconds = 1.23 MB/sec
It's a FAT32 volume.
[gali@neutrino ~]$ cat /proc/mounts | grep sdb1
/dev/sdb1 /media/GALI_EXT vfat rw,nosuid,nodev,noexec,uid=1000,gid=102,fmask=0133,dmask=0022,codepage=cp437,iocharset=utf8 0 0
The ehci_usb module is loaded and the device manifests itself as USB 2.0.
[gali@neutrino ~]$ cat /sys/bus/usb/devices/7-1/speed
480
[gali@neutrino ~]$ sudo lsusb -v -s 007:
Bus 007 Device 002: ID 04b4:6830 Cypress Semiconductor Corp. USB-2.0 IDE Adapter
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x04b4 Cypress Semiconductor Corp.
idProduct 0x6830 USB-2.0 IDE Adapter
bcdDevice 2.40
iManufacturer 0
iProduct 57 Cypress AT2+LP
iSerial 44 DEF10C1DEAF7
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 10
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
Bus 007 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.23-ARCH ehci_hcd
iProduct 2 EHCI Host Controller
iSerial 1 0000:07:00.2
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 4
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0503 highspeed power enable connect
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled
Another interesting thing, which may or may not have anything in common with this issue, is that issuing ANY read or write operation on the drive makes JACK running a FreeBoB driver for a FireWire audio interface connected to the same USB 2.0/FireWire controller collapse. But the low read performance happens regardless of whether the JACK is running or not.
Anyone has any clue what to check? Thanks in advance.
Last edited by galiyosha (2007-11-11 21:34:17)
Offline
It sounds like the reason is that it is operating as USB 1.1 and not 2.0...
Try usbview and lsusb for details....
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
It sounds like the reason is that it is operating as USB 1.1 and not 2.0...
Try usbview and lsusb for details....
Well, lsusb output is already included in my first post and the device is reported as USB 2.0 running at 480 Mbps. As expected, usbview reports the same. Evidently, it probably is not the case but I would really like to know why and how to solve it.
But thanks for the suggestion anyway.
Offline
Can you change to a different usb controller? It may be defective.
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
Perhaps the current supplied by the usb controller is inadequate.
Perhaps a powered hub added if you have one will alleviate the problem....EDITED
Last edited by lilsirecho (2007-11-12 00:18:24)
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
One last gasp...check /etc/mkinitcpio.conf for hooks "usb"...
Prediction...This year will be a very odd year!
Hard work does not kill people but why risk it: Charlie Mccarthy
A man is not complete until he is married..then..he is finished.
When ALL is lost, what can be found? Even bytes get lonely for a little bit! X-ray confirms Iam spineless!
Offline
Can you change to a different usb controller? It may be defective.
It is probably not, it works fine under Windows and it worked fine as well on another machine with older Arch Linux installation.
Perhaps the current supplied by the usb controller is inadequate.
Perhaps a powered hub added if you have one will alleviate the problem....EDITED
It is an external HDD enclosure, so it is self-powered.
One last gasp...check /etc/mkinitcpio.conf for hooks "usb"...
Well, usb hook is not enabled, but as I don't use the drive for booting, I see no reason for it to be. The required modules (usbcore, ehci_hcd, usb_storage, ide_core) are loaded. Without them, the drive would probably not be mountable at all.
Thanks for the effort, but neither of the tips probably points to the cause.
Offline