Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a series of machines that I am building for work that have usb card readers. When I boot them I get a long series of messages:

...
[ 2347.768419] hub 1-6:1.0: unable to enumerate USB device on port 6
[ 2347.968178] usb 1-6.6: new full-speed USB device number 10 using ehci_hcd
[ 2352.552020] usb 1-6.6: device not accepting address 10, error -32
[ 2352.568421] hub 1-6:1.0: unable to enumerate USB device on port 6
[ 2352.768179] usb 1-6.6: new full-speed USB device number 12 using ehci_hcd
[ 2357.352033] usb 1-6.6: device not accepting address 12, error -32
...

On some older machines this only takes a few attempts before the card reader finally accepts an address, while on newer machines it can take many minutes. Changing hardware is not an option and plugging the usb card reader into a different port is only an option for the older manchines. This was a problem under 11.04 and I am now running the 12.04 beta and its still happening.

Is there something I can do in the software (a udev rule perhaps?) that would fix this?

Any advice appreciated. I'm happy to provide more details if you need them.

share|improve this question

4 Answers 4

up vote 5 down vote accepted
+50

Could you try the old initialization scheme for usb devices? This can be done by changing the kernel parameter in /etc/default/grub:

  • change the line that says GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" to GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.old_scheme_first=1"
  • run update-grub
  • reboot and see if it helped
share|improve this answer

I met the same situation as yours.

But I used the Ubuntu 10.04.

But if I used another computer, it never come out.

So until now, I think it was something with my USB interface.

After I add udev rules to my system, it can occur less the before.

You can try it .

Best wishes!

share|improve this answer

Make a script containing the following and run it on startup:

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

sudo sh -c 'find ./ -name "0000:00:*" -print| sed "s/\.\///">unbind'

That should solve the problem.

Source: here

share|improve this answer
    
Note that this command as written is going to unbind every EHCI device, which might include your keyboard. –  poolie Jun 2 at 3:34

In my case I seem to have a hub inside the machine (probably providing the four-port cluster on the back) that won't accept the assigned address.

The log messages for me look like this:

usb 6-1: new low-speed USB device number 116 using uhci_hcd
usb 6-1: device not accepting address 116, error -71
hub 6-0:1.0: unable to enumerate USB device on port 1

This shows it's usb bus 6. I don't have anything connected to it, and I want it to shut up.

Now we need to find the relevant driver. In this case it's uhci_hcd, so

$ sudo -s
# cd /sys/bus/pci/drivers/uhci_hcd

and find which PCI device provides usb bus 6:

# echo */usb6
0000:00:1a.2/usb5

The directory name here is the PCI bus ID corresponding to that USB bus. Then it's just simply:

# echo 0000:00:1d.0 > unbind

to turn it off.

If this works then just the last line can be added to a boot-time script. It seems like there ought to be a kernel parameter to avoid some USB buses but I can't find one.

(Based on the answer by titaniumtux but trying to avoid unbinding my keyboard. Call me old-fashioned but I still use it.)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.