# [SOLVED] USB Mass Storage Device (EHCI) problems with OHCI

## deen

I'm using 2.6.19-gentoo-r5 and have tried ehci-ohcd and ohci-hcd as compiled-in and as modules. When the ohci-hcd-module is loaded, the cached reads also get to the USB 2.0 level, but the buffered disk reads stay at 1 MB/s. (measurement done with hdparm -tT) But with the ohci-hcd unloaded, the buffered disk reads get up to 20 MB/s, which is the maximum speed of the disk.

Anyone has an idea why ohci is blocking the buffered disk reads of my ehci-connected-Disk? (it really works with the ehci-module according to dmesg)Last edited by deen on Fri Apr 13, 2007 2:06 pm; edited 1 time in total

----------

## erik258

I'm guessing the problem might be that your device is plugged into a usb < 2 port.   From menuconfig:

```
 CONFIG_USB_EHCI_ROOT_HUB_TT:

Some EHCI chips have vendor-specific extensions to integrate

controller is needed.  It's safe to say "y" even if your 

controller doesn't support this feature.

This supports the EHCI implementation that's originally   

from ARC, and has since changed hands a few times.

Symbol: USB_EHCI_ROOT_HUB_TT [=y]

Prompt: Root Hub Transaction Translators (EXPERIMENTAL)

Defined at drivers/usb/host/Kconfig:41

Depends on: USB_EHCI_HCD && EXPERIMENTAL 

Location:    

 -> Device Drivers       

   -> USB support   

     -> Support for Host-side USB (USB [=y])

        -> EHCI HCD (USB 2.0) support (USB_EHCI_HCD [=y])
```

Perhaps when the ohci module is loaded, it takes control from the EHCI controller and gives it to the OHCI controller instead.

----------

## deen

I've already tried to use the EHCI Root Hub Transaction Translator, but it didn't change anything.

And I also think the OHCI module steals the control, but how to stop it doing that?

----------

## erik258

don't use the ohci module -- just use ehci !

----------

## deen

I've also tried  that, but my USB-1.1-Devices, like my mouse don't work then. What's the reason for that? For example, on the grml-0.9-liveCD my usb-hdd works with full speed as well as my mouse.

----------

## deen

push

----------

## erik258

I don't know why it wouldn't work.  Maybe my understanding of what the root hub translators do is wrong, or maybe your system is out of date, your bios needs updating or reconfiguring, or the hardware on your pc is buggy (not bloody likely!  unless it's on a via apollo chipset...) The only other thing I can think of is that maybe you should be using usb-uhci instead of ohci ... most Intel and Via chips use UHCI, whilst nforce-based boards and compaq boards seem to use OHCI.  The help on OHCI kernel support suggests checking lspci -v to see which you need.  However, I don't think modules without corresponding hardware would be likely to mess stuff up.  While I was there, I noticed that the help file on  *Quote:*   

> 
> 
>  Device Drivers  --->USB support  --->
> 
> [ ]     Improved Transaction Translator scheduling (EXPERIMENTAL)

 

Made it sound like what you're looking for ... but keep in mind this is on a 2.6.18-gentoo-r3 menuconfig.

----------

## deen

I'm using an nforce2-based mainboard, so I have to use OHCI and not UHCI.

I've already tried to enable the "Improved Transaction Translator scheduling" in my kernel, but it is without any effect.

----------

## deen

Little update: Although my USB-HDD is still recognized as a USB-2.0-Device and being accessed by ehci-hcd, now high-speed-disk-reads don't work at all; even with ohci-hcd not loaded.

I don't know the reason for that, because I didn't even change my kernel... (still using 2.6.19-r5, but I also tried 2.6.20-r5 -> same problem)

----------

## deen

Nobody has an idea?

----------

## deen

I really hate pushing, but the hdd-speed is so annoying.

Edit: WTF: I did neither change nor update anything but now it works with USB-2.0-speed.   :Razz: 

Edit2: After a reboot it isn't working anymore, have to find the problem...

Edit3: Found it: The problem has to be somewhere in hdparm, which shows me the high speed only after I copied something on the disk. BTW: Copying always works fast.   :Rolling Eyes: 

----------

