zeldor.biz

Linux, programming and more

Copyright © 2025
Log in

Unable to enumerate USB device

December 21, 2010 by Igor Drobot 1 Comment

Some hardware just don’t work with ehci_hcd on Ubuntu and other distributions. My older mobile phone refused to work no matter what I did and want. After plugging the device nothing happened, doing dmesg showed me the following error:

Output from dmesg:

1
2
3
4
5
[ 4494.828096] usb 5-1: new low speed USB device using uhci_hcd and address 41
[ 4495.244038] usb 5-1: device not accepting address 41, error -71
[ 4495.356066] usb 5-1: new low speed USB device using uhci_hcd and address 42
[ 4495.768030] usb 5-1: device not accepting address 42, error -71
[ 4495.768057] hub 5-0:1.0: unable to enumerate USB device on port 1

[ 4494.828096] usb 5-1: new low speed USB device using uhci_hcd and address 41 [ 4495.244038] usb 5-1: device not accepting address 41, error -71 [ 4495.356066] usb 5-1: new low speed USB device using uhci_hcd and address 42 [ 4495.768030] usb 5-1: device not accepting address 42, error -71 [ 4495.768057] hub 5-0:1.0: unable to enumerate USB device on port 1

After searching a lot around web, I came to a conclusion that my device (mobile phone) doesn’t work with USB 2.0. So I tried to disable the ehci_hcd to make it work.

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

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

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

You will see one or two files with 0000:00:xx.x format. Execute the following command:

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

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

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

Another way:

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

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

Filed Under: Bash, Debian, Kernel, Linux Tagged With: USB

Categories

Archives

Tags

apache2 Apple arduino ARM Automation backup bash Cisco Cluster Corosync Database Debian Debian squeeze DIY DNS Fedora FTP Fun Icinga Ipv6 KVM Linux LVM MAC OS X Monitoring MySQL Nagios Nginx openSUSE OpenVPN PHP Proxy Python python3 qemu RAID rsync Samba security ssh Ubuntu virtualization Windows Windows 7 Wordpress

Comments

  1. Aril Tønnessen says

    September 2, 2012 at 18:34

    yes…? Yes? YES!!!

    I can finally use my gamepad on my old acer travelmate 8100!

    Thank you!

Leave a Reply

Your email address will not be published. Required fields are marked *

Yeaaah Cookie! We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.Ok