USB problems and EHCI

Hi, I am running a Gigabyte GA-MA790FX-DQ6 motherboard and 8 GB RAM (it’s so cheap these days and I use lots of VMWare virtual machines)
The problem is that my USB drives are either not detected when I plug them in, or when they do load up, (usually when the computer is rebooted while the USB drive is inserted) the file transfer speeds are under 1MB/s. This is with a USB stick and an externally powered USB hard disk.
After some googling I came across the suggestion that doing the following gets it working again:
rmmod ehci-hcd

then put it back again with

modprobe ehci-hcd
and this does seem to fix the problem, I can pop a >1 GB file onto a USB stick at around 18MB/s
I have run Vista 64 bit on this box and the problem does not occur.
I am running OpenSuSE 11 64 bit now.
The problem seems to be kernel thing, is it related to the amount of RAM?
Any one else come accross this?
Cheers, Peter.

On Thu, 2008-10-02 at 09:06 +0000, pmccrackan wrote:
> Hi, I am running a Gigabyte GA-MA790FX-DQ6 motherboard and 8 GB RAM
> (it’s so cheap these days and I use lots of VMWare virtual machines)
> The problem is that my USB drives are either not detected when I plug
> them in, or when they do load up, (usually when the computer is rebooted
> while the USB drive is inserted) the file transfer speeds are under
> 1MB/s. This is with a USB stick and an externally powered USB hard
> disk.
> After some googling I came across the suggestion that doing the
> following gets it working again:
> rmmod ehci-hcd
>
> then put it back again with
>
> modprobe ehci-hcd
> and this does seem to fix the problem, I can pop a >1 GB file onto a
> USB stick at around 18MB/s
> I have run Vista 64 bit on this box and the problem does not occur.
> I am running OpenSuSE 11 64 bit now.
> The problem seems to be kernel thing, is it related to the amount of
> RAM?
> Any one else come accross this?

Possibly. Do you see any messages with the kernel dumping stack
traces in your /var/log/boot.msg or /var/log/messages? If so, please
post. If not, then no… I’m not seeing your problem.

HI, thanks for the reply. This is some of what I see in /var/logs/boot.msg

<6>ehci_hcd 0000:00:13.5: EHCI Host Controller
<6>ehci_hcd 0000:00:13.5: new USB bus registered, assigned bus number 6
<6>ehci_hcd 0000:00:13.5: debug port 1
<6>ehci_hcd 0000:00:13.5: irq 19, io mem 0xfe029000
<6>usb 1-2: new full speed USB device using ohci_hcd and address 3
<6>ehci_hcd 0000:00:13.5: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
<6>usb usb6: configuration #1 chosen from 1 choice
<6>hub 6-0:1.0: USB hub found
<6>hub 6-0:1.0: 10 ports detected
<3>hub 1-0:1.0: unable to enumerate USB device on port 2
<6>usb usb6: New USB device found, idVendor=1d6b, idProduct=0002
<6>usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
<6>usb usb6: Product: EHCI Host Controller
<6>usb usb6: Manufacturer: Linux 2.6.25.16-0.1-default ehci_hcd
<6>usb usb6: SerialNumber: 0000:00:13.5
<6>usb 1-1: USB disconnect, address 2
<3>hub 6-0:1.0: unable to enumerate USB device on port 1
<6>usb 6-2: new high speed USB device using ehci_hcd and address 3
<6>usb 6-2: configuration #1 chosen from 1 choice
<6>usb 6-2: New USB device found, idVendor=04b4, idProduct=6830
<6>usb 6-2: New USB device strings: Mfr=56, Product=78, SerialNumber=100
<6>usb 6-2: Product: USB2.0 Storage Device
<6>usb 6-2: Manufacturer: Cypress Semiconductor
<6>usb 6-2: SerialNumber: DEF10C5C411F

and then further down

<6>Initializing USB Mass Storage driver…
<6>scsi14 : SCSI emulation for USB Mass Storage devices
<6>piix4_smbus 0000:00:14.0: Found 0000:00:14.0 device
<4>ACPI: I/O resource piix4_smbus [0xb00-0xb07] conflicts with ACPI region SOR1 [0xb00-0xb0f]
<6>ACPI: Device needs an ACPI driver
<6>usbcore: registered new interface driver usb-storage
<7>usb-storage: device found at 3
<7>usb-storage: waiting for device to settle before scanning
<6>USB Mass Storage support registered.
<6>ACPI: PCI Interrupt 0000:06:0e.0[A] → GSI 22 (level, low) → IRQ 22
<6>ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[22] MMIO=[fd6ff000-fd6ff7ff] Max Packet=[2048] IR/IT contexts=[4/8]

This is getting beyond me and I’m not sure if the ACPI stuff is related to the problem I’m getting.
When I try and copy large files from the USB drive they only come accross at 800 - 900 k and then when I do the rmmod ehci-hcd and modprobe ehci-hcd the same file comes across at 24 MB/sec.
Cheers, Peter.

pmccrackan wrote:

> This is getting beyond me and I’m not sure if the ACPI stuff is related
> to the problem I’m getting.
> When I try and copy large files from the USB drive they only come
> accross at 800 - 900 k and then when I do the rmmod ehci-hcd and
> modprobe ehci-hcd the same file comes across at 24 MB/sec.
> Cheers, Peter.
>
>

Not sure. It has some similarities to the problem I’m having, but
no nearly as severe. In my case, it’s an irq routing issue and
spurious interrupts cause the disabling of irqs relating to
the usb ports… but the “disconnect” message is familiar. I
doubt my problem and yours are related (but who knows).

No sure if there has been an update or weather my re-installation did something, but the problem has gone away now. I changed other hardware (graphics card to nvidia 9800gt) so did a fresh installation.
All is sweet.
Regards Peter.

I am experiencing a simmilar problem (having a Gigabyte GA-7VA mainboard from 2002), but it doesn’t seem to be software thing at all.

dmesg sample:
usb 4-2: new high speed USB device using ehci_hcd and address 20
hub 4-0:1.0: unable to enumerate USB device on port 2
usb 4-2: new high speed USB device using ehci_hcd and address 21
hub 4-0:1.0: unable to enumerate USB device on port 2
usb 4-2: new high speed USB device using ehci_hcd and address 22
hub 4-0:1.0: unable to enumerate USB device on port 2
usb 4-2: new high speed USB device using ehci_hcd and address 23
hub 4-0:1.0: unable to enumerate USB device on port 2
usb 4-2: new high speed USB device using ehci_hcd and address 24
hub 4-0:1.0: unable to enumerate USB device on port 2
usb 4-2: new high speed USB device using ehci_hcd and address 25
hub 4-0:1.0: unable to enumerate USB device on port 2
usb 4-2: new high speed USB device using ehci_hcd and address 26

Why is it not a software issue? Well, simply: my USB devices either have the above problems upon connecting, or get “dropped” by the system suddenly, during work (especially under heavy USB traffic, like an external HDD or external DVD burner, especially both at a time)
Linux just drops the device.
Windows hangs. It is definitely the USB that causes Windows’ problems. Therefore I’d like you to give me some kind of an idea what to do to help the USB to get to work again (restart always helps, replugging the device - not really, the ports seem to die for a longer time), not a “post your kernel version or upgrade it”… Any ideas?

I’ve about the same problem… but(!)
in my case, it’s an internal card reader (in a 5,25" bay) conntected onto an internal USB port (via flat cable) that is causing the problem. A WAR is to unload ehci_hcd, but with this I loose USB2.0 feature (going down to USB1.x again), that’s not really acceptable.
I’ve been searching the web now for hours and found some more or less strange hints that rather touch the symptom instead of the cause… and even most of them just don’t work on my system :frowning:

  • Pilot_001

P.S.: It’s a FuSi Celsius W340 I945 (x86_64) with an Intel chipset, SATA HDD, no add-on cards installed…

IBM ThinkCentre M51 wit the same USB bug.
I have tried many reported fixes but still no joy.
modprobe -r ehci_hcd gets it all running.
Ubuntu does not have this problem

It seems that All the new distro’s have the same problem with USB1 and USB2 living on the same Mboard.

So has Linux turned into the same monster as windows?

Do we have to buy a New Computer to run the next OP system?

After upgrading to opensuse 11.3 64-bit today I am now having this problem (“unable to enumerate USB device on port…”) with the USB dongle for my Plantronics .audio 995 wireless USB headset. I didn’t have this problem on opensuse 11.2. So far I haven’t found a workaround or solution for the problem. My other USB devices such as keyboard, mouse, flash drive and TV receiver are still working fine.

On 08/14/2010 10:36 AM, rjwilmsi wrote:
>
> After upgrading to opensuse 11.3 64-bit today I am now having this
> problem (“unable to enumerate USB device on port…”) with the USB
> dongle for my Plantronics .audio 995 wireless USB headset. I didn’t have
> this problem on opensuse 11.2. So far I haven’t found a workaround or
> solution for the problem. My other USB devices such as keyboard, mouse,
> flash drive and TV receiver are still working fine.

For me, that message occurred when uhci_hcd was being loaded before ehci_hcd. To
test this, run the command ‘lsmod | grep hcd’. On my system, I get the following:


finger@linux-1fyl:/usr/share/virtualbox/src> lsmod | grep hcd
uhci_hcd               22066  0
ehci_hcd               45925  0
usbcore               162700  6 r8712u,usb_storage,usbhid,uhci_hcd,ehci_hcd

If uhci_hcd is listed first, then you are OK. If not, add ehci_hcd to the list
of MODULES_LOADED_ON_BOOT in /etc/sysconfig/kernel.

If the modules are loaded in the correct order, then I do not know what might be
wrong. Any information in the dmesg output?