我有几个带 USB 接口的游戏手柄,游戏手柄是 RockFire QF-501UV,将它们连接到 USB 端口时,我收到以下消息:
Feb 27 22:32:55 localhost kernel: [97408.112022] usb 5-1: new low-speed USB device number 28 using uhci_hcd
Feb 27 22:32:55 localhost kernel: [97408.232024] usb 5-1: device descriptor read/64, error -71
Feb 27 22:32:55 localhost kernel: [97408.456033] usb 5-1: device descriptor read/64, error -71
Feb 27 22:32:55 localhost kernel: [97408.672024] usb 5-1: new low-speed USB device number 29 using uhci_hcd
Feb 27 22:32:56 localhost kernel: [97408.792020] usb 5-1: device descriptor read/64, error -71
Feb 27 22:32:56 localhost kernel: [97409.016018] usb 5-1: device descriptor read/64, error -71
Feb 27 22:32:56 localhost kernel: [97409.232039] usb 5-1: new low-speed USB device number 30 using uhci_hcd
Feb 27 22:32:56 localhost kernel: [97409.640020] usb 5-1: device not accepting address 30, error -71
Feb 27 22:32:57 localhost kernel: [97409.752024] usb 5-1: new low-speed USB device number 31 using uhci_hcd
Feb 27 22:32:57 localhost kernel: [97410.160020] usb 5-1: device not accepting address 31, error -71
Feb 27 22:32:57 localhost kernel: [97410.160038] hub 5-0:1.0: unable to enumerate USB device on port 1
Run Code Online (Sandbox Code Playgroud)
谷歌搜索我发现有些人对 USB 设备有类似(但不一样)的问题,一些建议的解决方案对我不起作用。我已经尝试了以下方法,但没有奏效(相同的消息):
echo -1 > /sys/module/usbcore/parameters/autosuspend
echo Y > /sys/module/usbcore/parameters/use_both_schemes
echo -n 0000\:00\:1d.7 > /sys/bus/pci/drivers/ehci_hcd/unbind
Run Code Online (Sandbox Code Playgroud)
where(在执行最后一个命令之前):
# ls /sys/bus/pci/drivers/ehci_hcd
0000:00:1d.7 bind module new_id remove_id uevent unbind
Run Code Online (Sandbox Code Playgroud)
全部以 root 身份,在我检查过每个命令之后,看看是否有任何区别。
Linux 甚至无法识别所连接的 USB
# lsusb
Bus 005 Device 023: ID 046d:c52e Logitech, Inc.
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Run Code Online (Sandbox Code Playgroud)
Linux 3.5.0-25-generic #38-Ubuntu SMP i686 i686 i686 GNU/Linux
小智 4
值得庆幸的是,这个问题为我解决了。 解决办法:改为使用USB数据线,而不是使用USB专用充电线,尽管它们看起来一样。
与您类似,我的 Sansa Clip+ 4GB MP3 播放器也有问题,该播放器之前可以在 Ubuntu 12.04 上运行,但现在不行了,使用类似的
device not accepting address 31, error -71
hub 5-0:1.0: unable to enumerate USB device on port n
Run Code Online (Sandbox Code Playgroud)
输出中的错误消息dmesg
。我花了几个小时在 Windows Vista、Windows 7、Ubuntu 12.04、CentOS Live DVD、Fedora Live DVD、笔记本电脑、台式机上尝试,但都无济于事。
最后,我尝试了不同的 USB 电缆,它立即在 Windows 和 Ubuntu 12.04 上运行。然后我意识到我家里有多个USB充电器,我不小心用了其中一根电缆来连接,而当前可用的电缆很可能是Sansa Clip+ MP3播放器附带的USB数据线。在网上搜索后,我找到了 2 篇关于 USB 数据线和 USB 充电线之间差异的参考资料。充电专用电缆仅使用 2 个引脚提供电源(电力),并且不在 2 个数据引脚上放置任何信号,因此在使用它们时,无论操作系统类型如何,USB 设备都会出现连接到操作系统的问题: Windows 或 Linux。
2个参考文献是:
维基百科:通用串行总线,“连接器类型”部分
“为了可靠地实现仅充电功能,现代 USB 配件外设现在包括充电电缆,可提供与主机端口的电源连接,但不提供数据连接,并且家用和车辆充电底座都可以通过转换器设备供电,而不需要数据连接。包括主机设备和数据引脚,允许任何有能力的 USB 设备通过标准 USB 电缆充电或操作。”
无论如何,我很感激它最终得到了解决,并希望您的问题也能尽快得到解决。
归档时间: |
|
查看次数: |
3934 次 |
最近记录: |