I recently equipped a Pentium 133 computer, that I use as Router and
Fileserver, with a 4 port USB 2.0 PCI card and connected a new Western
Digital 250 GB external USB hard drive to it.

The computer is running a Debian system, kernel 2.6.9 until yesterday, which
i upgraded today to 2.6.11.10 hoping to solve my problem (it did not help).

The USB hard drive gets always handled by the uhci driver, and not by
ehci_hcd, which means that it is running only at USB 1.1 full speed (12
Mb/s), which is too low for a 250 GB USB 2.0 harddrive.

The computer has 2 "integrated" USB 1.1 ports + the 4 new USB 2.0 ports from
the PCI card. The 4 ports are supported by the uhci driver for 1.1 
compatibility as well (2x 2 ports), that's why usbtree lists 4 hubs:

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/4p, 480M

 (see more details from /pci/bus/usb/devices below)

Connecting the hard drive, it always gets assigned to one of the three 12
Mb/s nodes, and never to the 480 Mb/s node!

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=stor., Driver=usb-storage, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/4p, 480M

 What can I do in order to get USB 2.0 high speed?

I searched a night and a day in the web, and found several pointers, but no
solution. The boot option "pci=noacpi" did not help. Nevertheless: May it 
be a problem of PCI ordering or IRQ assignments?

With kernel 2.6.9 the ehci driver showed the following error immediately
after connecting the drive:
ehci_hcd 0000:00:07.2: fatal error
ehci_hcd 0000:00:07.2: HC died; cleaning up

I assume the driver stopped working and thats why the uhci driver serviced
the usb disk. After the kernel update the fatal error does not appear 
anymore, the problem however remains the same.

It may still be a bug in ehci_hcd... what do you mean?

Those are excerpts from dmesg:
...
ehci_hcd 0000:00:07.2: VIA Technologies, Inc. USB 2.0
ehci_hcd 0000:00:07.2: irq 11, pci mem 0x80000000
ehci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:07.2: USB 2.0 initialized, EHCI 0.95, driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 4 ports detected
ohci_hcd: 2004 Nov 08 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
hub 1-0:1.0: over-current change on port 1
USB Universal Host Controller Interface driver v2.2
uhci_hcd 0000:00:01.2: Intel Corp. 82371SB PIIX3 USB [Natoma/Triton II]
hub 1-0:1.0: over-current change on port 2
hub 1-0:1.0: over-current change on port 3
hub 1-0:1.0: over-current change on port 4
uhci_hcd 0000:00:01.2: irq 11, io base 0x54c0
uhci_hcd 0000:00:01.2: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
uhci_hcd 0000:00:07.0: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller
uhci_hcd 0000:00:07.0: irq 9, io base 0x54a0
uhci_hcd 0000:00:07.0: new USB bus registered, assigned bus number 3
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
uhci_hcd 0000:00:07.1: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (#2)
uhci_hcd 0000:00:07.1: irq 9, io base 0x5480
uhci_hcd 0000:00:07.1: new USB bus registered, assigned bus number 4
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
usbcore: registered new driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
...

after connecting the drive:

usb 4-2: new full speed USB device using uhci_hcd and address 2
usb 4-2: not running at top speed; connect to a high speed hub
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
  Vendor: WDC WD25  Model: 00BB-00KEA0       Rev: 08.0
  Type:   Direct-Access                      ANSI SCSI revision: 00
SCSI device sda: 488397169 512-byte hdwr sectors (250059 MB)
sda: assuming drive cache: write through
SCSI device sda: 488397169 512-byte hdwr sectors (250059 MB)
sda: assuming drive cache: write through
 sda: sda1 sda2 sda3
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0
usb-storage: device scan complete
usb 4-2: USB disconnect, address 2
usb 3-2: new full speed USB device using uhci_hcd and address 2
usb 3-2: not running at top speed; connect to a high speed hub
scsi1 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
  Vendor: WDC WD25  Model: 00BB-00KEA0       Rev: 08.0
  Type:   Direct-Access                      ANSI SCSI revision: 00
SCSI device sda: 488397169 512-byte hdwr sectors (250059 MB)
sda: assuming drive cache: write through
SCSI device sda: 488397169 512-byte hdwr sectors (250059 MB)
sda: assuming drive cache: write through
 sda: sda1 sda2 sda3
Attached scsi disk sda at scsi1, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi1, channel 0, id 0, lun 0,  type 0
usb-storage: device scan complete

This is the output from  /proc/bus/usb/devices without the drive attached:

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.11.10 uhci_hcd
S:  Product=VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#2)
S:  SerialNumber=0000:00:07.1
C:* #Ifs= 1 Cfg#= 1 Atr=c0 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=255ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.11.10 uhci_hcd
S:  Product=VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
S:  SerialNumber=0000:00:07.0
C:* #Ifs= 1 Cfg#= 1 Atr=c0 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=255ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.11.10 uhci_hcd
S:  Product=Intel Corp. 82371SB PIIX3 USB [Natoma/Triton II]
S:  SerialNumber=0000:00:01.2
C:* #Ifs= 1 Cfg#= 1 Atr=c0 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=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 4
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.11.10 ehci_hcd
S:  Product=VIA Technologies, Inc. USB 2.0
S:  SerialNumber=0000:00:07.2
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

Please help!

thanks, Thomas

-- 
Weitersagen: GMX DSL-Flatrates mit Tempo-Garantie!
Ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl


-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to