[Solved] Unable to enumerate USB device (Disabling ehci_hcd)

Some hardware just don’t work with ehci_hcd on Karmic Koala. My memory stick from transcend refused to work no matter what I did. After plugging the device nothing happened, doing dmesg showed me the following error:

Apr 18 10:59:04 dpac-laptop kernel: [73668.388060] usb 1-2: new high speed USB device using ehci_hcd and address 5
Apr 18 10:59:04 dpac-laptop kernel: [73668.473034] hub 1-0:1.0: unable to enumerate USB device on port 2

After searching a lot, I came to a conclusion that my device doesn’t work with USB 2.0. So I disabled the ehci_hcd to make it work.

Since Karmic doesn’t use ehci_hcd as a module, modprobe -r ehci_hcd no longer works. The module is compiled into kernel. To disable it execute the following commands in terminal:

cd /sys/bus/pci/drivers/ehci_hcd
ls

You will see a file with 0000:00:xx.x format. Execute the following command:

sudo sh -c 'echo -n "0000:00:xx.x" > unbind'

Replace the xx.x with the numbers displayed on your file. It should disable the ehci_hcd.

I plugged in my memory stick, and it worked.

Please note that you’ll have to do all this each time you restart.

UPDATE
You can now use the following script to disable ehci_hcd. It is far more simpler since it just needs you copy pasting the commands instead of a manual action. Here it goes:

cd /sys/bus/pci/drivers/ehci_hcd/
sudo sh -c 'find ./ -name "0000:00:*" -print| sed "s/\.\///">unbind'

Cheers!

  • http://quantombone.blogspot.com/ Tomasz

    Worked beautifully for me — now my external hard drive works again!

  • http://quantombone.blogspot.com/ Tomasz

    Worked beautifully for me — now my external hard drive works again!

  • eggsample

    Worked beautifully for me too.
    2 (USB 2.0) of 3 (+1 USB 1.0) USB ports works. USB1.1 is on the left side of my laptop but im lefthanded so i’m not using it.
    THX

  • eggsample

    Worked beautifully for me too.
    2 (USB 2.0) of 3 (+1 USB 1.0) USB ports works. USB1.1 is on the left side of my laptop but im lefthanded so i’m not using it.
    THX

  • Guest

    Didn’t work for me, just shut down all detection of USBs (dmesg shows no messages on usb when connecting various devices).
    I had two files fitting “0000:00:xx.x”…

    • http://www.absolutelytech.com Deepak Mittal

      Well then, try both of the files manually to see which ones work. In this case the script I wrote under the ‘UPDATE’ part would fail to work, I guess.

  • seb

    It works like a charm! You save my night!
    It’s been two days that I’m struggling to connect my samsung intercept to Ubuntu.

  • adi

    hello..i managed to get it to work..however, if i restart my computer, i need to do this again and again..is there anyway to make it permanant?

    thx

    • http://www.absolutelytech.com Deepak Mittal

      You can add the commands you executed in /etc/rc.local just before ‘exit 0′. This will execute the commands on startup.

      • adi

        hi..i’m sorry,but i just installed linux and just started to learn it..

        how do i add the commands to /etc/rc.local?

        sorry for being stupid.. =(

        • http://www.absolutelytech.com Deepak Mittal

          Its ok. You learn by asking.
          Press Alt+F2. Type gksu gedit /etc/rc.local.

          Enter the commands in text file just before the exit command.

  • Pingback: Samsung CLP-500 Drucker unter Ubuntu funktioniert nicht | adelio.org

  • druzstevnik

    Good job, THX

  • Pingback: Solved: unable to enumerate USB device on port 1 | olpa, OSS developer

  • Pingback: External TB HD not recognized by OpenSUSE 11.3 - Page 2

  • Tom

    Unfortunately it does not work for me in Ubuntu 10.10. I have no files matching 0000:00:xx.x but many entries “unable to enumerate USB device on port 2″ in dmesg :(

    • Ryan

      This does work in Ubuntu 10.10. I just did it, works perfectly.

  • Tad Peterson

    I’m trying to install ubuntu 10.10 from UBS. I get this message for most kernels. since I have no access to get to terminal how would I correct this problem?

  • Kurt

    I am trying to install Zorin, and it will not let me complete the installation due to this problem. How can I stop this from happening and install the OS?

  • Enux

    Thank you, it worked pretty well for me.
    Didn’t find why the load average kept staying over 1.5 but now it has decreased below .5 because of the warnings on syslog disappearing.

  • Pingback: unable to enumerate USB device on port 4

  • Pingback: openSuse 11.4 Getting "hub 2-0:1.0: unable to enumerate USB device on port 5" constantly

  • Daelomin

    It did not work for me at first.

    I found an esoteric solution : unplug the pc (in my case a laptop removed from the docking station), press & hold the power button for 20s (provoking a hard shutdown).

    Restart it… plug it in… worked. Quite weird…

  • Lando

    This was my problem too, thanks for the help!

  • Bobos

    Fantastic! Now I can read the tracklogs from my Garmin GPS!

  • Pingback: enddl22s Blog » MountUSB

  • francogp

    if i execute that, it say:
    sed: couldn’t flush stdout: No existe el dispositivo

  • Pingback: Linux et les périphériques usb 2.0 « Hosthis.org

  • ng

    excelent!, I had the same issue, it works like a charm!

  • Story_1982

    brother, thank you very much !

  • Pingback: hub 2-0:1.0: unable to enumerate usb device on port 5

  • http://www.facebook.com/fagianijunior Carlos Fagiani Junior

    Tks… worked well for me,,, Slackware 13.37

  • nix8772

    Thanks, worked for me on “Ubuntu 10.10 (maverick)”, I added the command in /etc/rc.local

  • Georg

    Thanks!! Worked for Ubuntu 10.04 (64 Bit). Looks like you spared me a lot of time.  :)

    Georg

  • Guest

    Nice trick, i used it with my usb tv card, Pinnacle 330e Hybrid Stick, it doesn’t work on ehci. When i unbind ehci, it wakes up in uhci mode, but only in full-speed mode (usb 1.1 @ 12Mbps) that is insufficient for dvbt stream so the driver failed to initialize the device. But when i rebind usb hub back to ehci mode, the tv card was found and worked well in hi-speed mode (usb 2.0 @ 480Mbps).

  • Pingback: Canon EOS 400D: New tricks

  • Karl Wilkins

    Thank you very much, you’ve just put an end to all of that frustration!

    • http://www.geekdevs.com Deepak Mittal

      Glad to help :)

  • Giovanni Gimelli

    I have a similar problem. Upgrading to Debian 6 USB port with USB/serial adapter stops to work.
    syslog says:
    Oct 29 10:35:37 proxy kernel: [ 3907.472105] usb 1-2: device descriptor read/64, error -84
    Oct 29 10:35:37 proxy kernel: [ 3907.700084] usb 1-2: device descriptor read/64, error -84
    Oct 29 10:35:37 proxy kernel: [ 3907.916104] usb 1-2: new full speed USB device using uhci_hcd and address 8
    Oct 29 10:35:38 proxy kernel: [ 3908.040087] usb 1-2: device descriptor read/64, error -84
    Oct 29 10:35:38 proxy kernel: [ 3908.268084] usb 1-2: device descriptor read/64, error -84
    Oct 29 10:35:38 proxy kernel: [ 3908.484113] usb 1-2: new full speed USB device using uhci_hcd and address 9
    Oct 29 10:35:38 proxy kernel: [ 3908.900086] usb 1-2: device not accepting address 9, error -84
    Oct 29 10:35:39 proxy kernel: [ 3909.012095] usb 1-2: new full speed USB device using uhci_hcd and address 10
    Oct 29 10:35:39 proxy kernel: [ 3909.251234] usb 1-2: device descriptor read/8, error -71
    Oct 29 10:35:39 proxy kernel: [ 3909.379223] usb 1-2: device descriptor read/8, error -71
    Oct 29 10:35:39 proxy kernel: [ 3909.480128] hub 1-0:1.0: unable to enumerate USB device on port 2

    Command “ls /sys/bus/pci/drivers/ehci_hcd” returns
    bind  module  new_id  remove_id  uevent  unbind

    I  see no 0000:00:xx.x o similar file.Have you any hint?Thank you.

  • VietHuong

    good help!

  • Edgardo Santiago

    http://tips4linux.com/create-a-startup-script-for-debian-and-ubuntu-systems/

    I followed the instructions on the above link and copy/pasted the following script.

    #! /bin/bash

    cd /sys/bus/pci/drivers/ehci_hcd/
    sudo echo -n “0000:00:1d.7″ > unbind

    Where it says in the link local.autostart. Now I don’t need to manually run the script everytime I start up. Hope this helps

    • Guest

       Thanks. This helped a lot.

  • Anonymous

    there’s na initramfs in the terminal, when i type anything on it nothing happens

  • Anonymous

    I was only watching a youtube video, then after I booted again this happens… after this weird script loads up, an initramsfs goes before anything you type … so how do i get to a regular terminal to disable this echi_hcd…

  • dude

    Thanks a lot! Worked on Lubuntu 10.04.3 on an old Pentium 4.

  • Hal Ashburner

    Confirming this fix works well for IBM T42 ubuntu 11-10 to fix USB ports & devices (for the sake of future searchers).

  • Xs_kind

    How can I use this to repair an old keyboard
    when I try to press any key doesnt happen nothing

  • http://svetlin.posterous.com Svetlin Ankov

    Thanks!

  • Moises Cardoso

    Hi, I have an HP DV5 (Radeon + AMD Athon) and I cannot usb devices on the esata+usb combo port. Can you help me? Thanks.
    moises.cardoso1983@bol.com.br

  • David

    I had a weard problem with wifi. Afrer computer restart, sometimes it showed up in Fedora 16, sometimes not. No matter live USB or installed version was booted up. After longer search, I found in log the ‘unable to enumerate usb’ message which appears during each bootup when wifi fails afterwards. Then I’ve got to this howto and my life is good again. So, many thanks to the author.

    (Mostly) happy Fedora 16 user.

  • Guest Person

    I’ve been looking for a solution for this issue on my old Thinkpad T40 for a long time. Your post fixed it perfectly. Thank you very much!!

  • Peter Brand

    Thanks, for this solution.

    I’m new to linux and want to know what these commands exactly do:

    sudo sh -c ‘find ./ -name “0000:00:*” -print| sed “s/.///”>unbind’

    Thanks,
    Peter

  • R4556r455

    Works for ThinkPad T40p as well, OS is  Linux Mint 10 Julia (32bit). Huge thanks

  • Guest

    Thanks. This helped

  • Eq

    Wow! thanks…it’s work!!

  • Xus

    It worked again my Iomega external drive in Ubuntu 10.04.4 LTS with 2.6.32-41-generic-pae
    Thank you very much!!!

  • hoamm

    usb mouse was able to work but why usb mouse still does not work.This syslog
    Jun 8 15:25:37 tugasakhir-desktop kernel: [ 490.169446] eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
    Jun 8 15:25:48 tugasakhir-desktop kernel: [ 501.776072] hub 3-0:1.0: unable to enumerate USB device on port 1
    Jun 8 15:25:49 tugasakhir-desktop kernel: [ 502.128038] usb 2-2: new low speed USB device using uhci_hcd and address 3
    Jun 8 15:25:49 tugasakhir-desktop kernel: [ 502.303386] usb 2-2: configuration #1 chosen from 1 choice
    Jun
    8 15:25:49 tugasakhir-desktop kernel: [ 502.324932] input: USB
    OPTICAL MOUSE as
    /devices/pci0000:00/0000:00:10.0/usb2/2-2/2-2:1.0/input/input7
    Jun 8
    15:25:49 tugasakhir-desktop kernel: [ 502.327305] generic-usb
    0003:15D9:0A4C.0002: input,hidraw0: USB HID v1.11 Mouse [ USB OPTICAL
    MOUSE] on usb-0000:00:10.0-2/input0
    Jun 8 15:25:49 tugasakhir-desktop kernel: [ 502.564043] usb 3-1: new low speed USB device using uhci_hcd and address 28
    Jun 8 15:26:04 tugasakhir-desktop kernel: [ 517.676087] usb 3-1: device descriptor read/64, error -110

  • Lance

    Works like a goddamn charm! Thanks a bunch! ;)

  • godzilla

    This is NOT a fix.  This means you are not using your drive at full speed.  This is like putting a band-aid on a severed limb.

  • breta

     Perfect, thank you very much! Worked for me on Kindle keyboard stuck in an error state after plugging off the USB cable.

  • Techlab2k

    nice one

  • rknrl

    the easiest to use. Fix it and i understood what you were saying…thank you :)

  • Ch

    Thanks! This post still helps even after 2 years :-)

  • Patrykeg

    Thanks

  • http://www.facebook.com/keshab.prasad.96 Rockn Roll

    Hi Admin,
    I newly got a new PC AMD
    i have install rhel6.2
    after that none of my USB port’s are working,
    as  i followed ur instruction ..but no lcuk for me.
    can you plz plz plz help me out. as i lot of project to do.

    hub 5-0:5.1: unable to enumerate USB device on port 5

    usb 5-1: reset low speed USB device using uhci_hcd and address 2
    usb 5-1: device descriptor read/64, error -71
    usb 5-1: device descriptor read/64, error -71
    usb 5-1: reset low speed USB device using uhci_hcd and address 2
    usb 5-1: device descriptor read/64, error -71
    usb 5-1: device descriptor read/64, error -71
    usb 5-1: reset low speed USB device using uhci_hcd and address 2
    usb 5-1: device not accepting address 2, error -71
    usb 5-1: reset low speed USB device using uhci_hcd and address 2
    usb 5-1: device not accepting address 2, error -71
    usb 5-1: USB disconnect, address 2
    usb 5-1: new low speed USB device using uhci_hcd and address 3
    usb 5-1: device descriptor read/64, error -71
    usb 5-1: device descriptor read/64, error -71
    usb 5-1: new low speed USB device using uhci_hcd and address 4
    usb 5-1: device descriptor read/64, error -71
    usb 5-1: device descriptor read/64, error -71
    usb 5-1: new low speed USB device using uhci_hcd and address 5
    usb 5-1: device not accepting address 5, error -71
    usb 5-1: new low speed USB device using uhci_hcd and address 6
    usb 5-1: device not accepting address 6, error -71
    hub 5-0:1.0: unable to enumerate USB device on port 1

    Thanks……

    • http://www.geekdevs.com Deepak Mittal

      It’s possible that the device that you are trying to attach is faulty. Have you tried it on a different computer and/or Windows?

      • http://www.facebook.com/keshab.prasad.96 Rockn Roll

        thanks for kind reply.

        none of USB ports are working…it is not only…one device..i have checked with pendrive mouse  & extrnal harddrive also…

        even i have dual boot OS

        like WIN7 nd RHEL6.2

        it is working fine with windows……also…

        plz give some idea…so that i can…do it….i need help…

        thanks………

  • svjit

    Thank you very much. This is the solution to connect Kindle Wifi to Ubuntu Maverick.

  • hoang

    Hi, I really need help here. I am having problem with my webcam (recognized as usb), it is loaded by both ehci_hcd and uhci_hcd. The webcam is hence connected and disconnected again and again…
    Here is messages from dmesg, http://pastebin.com/SEgSrtdw
    Please help!!!

    [ 6244.000293] usb 2-5: new high-speed USB device number 87 using ehci_hcd
    [ 6244.068397] hub 2-0:1.0: unable to enumerate USB device on port 5
    [ 6244.092137] usb 7-1: USB disconnect, device number 3
    [ 6244.588184] usb 2-5: new high-speed USB device number 88 using ehci_hcd
    [ 6245.116171] usb 2-5: device not accepting address 88, error -71
    [ 6245.172376] hub 2-0:1.0: unable to enumerate USB device on port 5
    [ 6245.564069] usb 7-1: new full-speed USB device number 4 using uhci_hcd

  • swapnil

    Not worked for me on ubuntu 12.10

    error:No such file or directory

  • jpandolfi

    Never seen so perfect description and solution. Confirmed that worked fine in my old IBM T41. Thank you very much indeed

  • ohnoes812093

    Please post instructions to undo your modifications

    • http://www.geekdevs.com Deepak Mittal

      Changes are not persistent. They get cleared on reboot. However, if you don’t want to reboot change ‘unbind’ to ‘bind’ in the same command and execute it.

  • Guest

    My problem is not that I have a USB device that does not work…just that my logs continue to fill with the “unable to enumerate” error messages which prevent my system from going into suspend or hibernation. I have only two USB 1.0 devices attached, a keyboard and a mouse (see lsusb -t output, below) My question is, if I later add a USB 2.0 device with the ehci_hcd module disabled, that device will also drop to 1.0 speeds, correct? Also, I have 2 files in the /sys/bus/pci/drivers/ehci_hcd dir. in the 0000:00:xx.x format. How do I know which one to use to execute the above command?

    orion log # tail syslog
    Dec 7 23:15:54 orion kernel: [37197.148268] hub 2-0:1.0: >unable to enumerate USB device on port 6

    orion ~ # lsusb -t
    /: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M
    |__ Port 2: Dev 2, If 1, Class=HID, Driver=usbhid, 1.5M
    /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M
    /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M

    Finally, lsusb -v hangs when it hits:

    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    • http://www.geekdevs.com Deepak Mittal

      If you remove the keyboard and mouse, do you still see the issues? Try executing the commands over SSH after disconnecting keyboard and mouse.

  • Scott Benedict Lobdell

    Thank you!