USB设备不接受地址

我有一系列机器,我正在建设有usb卡读卡器的工作。 当我启动它们时,我收到一系列消息:

... [ 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 ... 

在一些较旧的机器上,在读卡器最终接受地址之前只需要几次尝试,而在较新的机器上则可能需要很长时间。 更换硬件不是一种选择,将USB读卡器插入不同的端口只是老式机器的选择。 这是11.04下的一个问题,我现在正在运行12.04测试版并且它仍在发生。

我可以在软件中做些什么(也许是udev规则?)来解决这个问题?

任何建议表示赞赏 如果您需要,我很乐意提供更多详细信息。

你能尝试usb设备的旧初始化方案吗? 这可以通过更改/etc/default/grub的内核参数来完成:

  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"的行更改为GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.old_scheme_first=1"
  • 运行update-grub
  • 重新启动,看看它是否有帮助

在我的情况下,我似乎在机器内部有一个集线器(可能在后面提供了四端口集群),它不接受分配的地址。

我的日志消息如下所示:

 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 

这表明它是usb总线6 。 我没有任何连接,我希望它闭嘴。

现在我们需要找到相关的驱动程序。 在这种情况下,它是uhci_hcd ,所以

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

并找到哪个PCI设备提供usb总线6:

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

这里的目录名是与该USB总线对应的PCI总线ID。 然后它只是简单地说:

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

把它关掉

如果这样可行,那么只需将最后一行添加到启动时脚本中。 看起来应该有一个内核参数来避免一些USB总线,但我找不到一个。

(基于titaniumtux的答案,但试图避免解开我的键盘。请叫我老式,但我仍然使用它。)

我遇到了和你一样的情况。

但我使用的是Ubuntu 10.04。

但如果我使用另一台电脑,它永远不会出来。

所以直到现在,我认为这是我的USB接口。

在我将udev规则添加到我的系统之后,它可以在之前发生。

你可以尝试一下 。

最好的祝愿!

创建包含以下内容的脚本并在启动时运行它:

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

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

那应该可以解决问题。

来源: 这里

 usb 2-2: new high speed USB device using address 10 usb 2-2: device not accepting address 10, error -71 ... usb 2-2: new high speed USB device using address 13 usb 2-2: device not accepting address 13, error -71 

在CentOS上。

找到http://paulphilippov.com/articles/how-to-fix-device-not-accepting-address-error

果然,在等式中插入有源USB集线器解决了它。