zeldor.biz

Linux, programming and more

Copyright © 2023
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 *