当前位置:   article > 正文

USB 设备常见问题_usb枚举失败

usb枚举失败

USB 设备常见问题

当涉及到 USB(通用串行总线)的使用时,可能会遇到一些常见问题。以下是一些常见的 USB 问题及其解决方案:

  1. USB 设备无法正常工作:如果 USB 设备无法正常工作,首先确保设备已正确连接至计算机的 USB 端口。尝试将设备连接至其他 USB 端口,以确定是否为特定端口的问题。还可以尝试重新插拔设备、重启计算机,或者更新 USB 设备的驱动程序。

  2. USB 设备无法识别:如果计算机无法识别 USB 设备,可以尝试以下步骤:

    • 确保 USB 设备与计算机兼容。
    • 检查 USB 线缆是否完好无损。
    • 尝试将 USB 设备连接至其他计算机,以排除设备本身的问题。
    • 可能需要安装 USB 设备的驱动程序。
  3. USB 传输速度较慢:如果 USB 设备传输速度较慢,可以尝试以下方法:

    • 确保 USB 设备连接至符合其规格的 USB 端口(如 USB 3.0 设备应连接至 USB 3.0 端口)。
    • 检查 USB 线缆是否符合高速传输要求,并确保线缆连接良好。
    • 更新 USB 控制器的驱动程序。
  4. USB 端口无法充电设备:如果 USB 端口无法为设备充电,可以尝试以下解决方法:

    • 确保 USB 端口工作正常,尝试连接其他设备进行测试。
    • 检查 USB 线缆是否完好无损,并确保线缆连接良好。
    • 检查设备的充电需求是否与 USB 端口的输出功率匹配。
    • 尝试使用其他 USB 充电适配器或充电器。
  5. USB 设备断开连接:如果 USB 设备频繁断开连接,可能是以下原因之一:

    • USB 线缆连接不稳定,尝试更换线缆。
    • USB 端口有问题,尝试将设备连接至其他 USB 端口。
    • 驱动程序不兼容或需要更新,尝试更新 USB 设备的驱动程序。

如果以上解决方法无法解决问题,建议咨询相关技术支持或专业人士的帮助,以获取更进一步的指导。

作者:炭烤毛蛋 ,点击博主了解更多。


提示:USB异常时一般会有相关日志。


USB 连接快速分析

在Linux内核态工作方式:有新USB设备被插入,系统首先分配地址,然后读取设备描述符的初始8个字节,然后读取整个18字节的设备描述符。全速USB模式,端点0(ep0maxpacket)的最大数据包大小事先不知道。它可以是8、16、32或64个字节。64ep0 maxpacket值存储在中初始8个字节的设备描述符,但读取设备描述符必须使用端点0。USB枚举不成功,插上的USB会显示未知设备,并提示USB主控制器错误。

-可能USB供电不足
测试USB硬件供电电流以及电压

  • 可能USB端口线长,USB信号驱动能力不够
    USB为差分信号,分叉对信号完整性有影响

  • 尝试重启设备

echo -1 > /sys/module/usbcore/parameters/autosuspend
echo Y > /sys/module/usbcore/parameters/old_scheme_first
  • 1
  • 2

USB识别常规错误

1 USB 枚举失败

从内核看到错误日志 device descriptor read/32, error -71,查看错误代码定义:

include/uapi/asm-generic/errno.h

#define EPROTO          71      /* Protocol error */
  • 1

错误-71提示为协议错误,考虑排查USB的时序与硬件信号。

2 USB 链接失败

从内核看到错误日志reset error -110,查看错误代码定义Connection timed out

hub 1-0:1.0: 1 port detected reset error -110
hub 1-0:1.0: 1 Cannot enable. Maybe the USB cable is bad?
  • 1
  • 2

include/uapi/asm-generic/errno.h

#define ETIMEDOUT       110     /* Connection timed out */
  • 1

3 USB供电不足

因供电致使USB 外设设备无法正常运行,日志提示:new config #1 exceeds power limit by 60mA

usb 1-1.2: USB disconnect, device number 5
usb 1-1.3: new full speed USB device number 6 using usb20_host
usb 1-1.3: New USB device found, idVendor=0b57, idProduct=8021
usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.3: Product: Tablet
usb 1-1.3: Manufacturer: HanWang
usb 1-1.3: new config #1 exceeds power limit by 60mA
usb 1-1.3: 160mA is over 100mA budget for port 3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

快速判定方法方法:USB端口连接有供电负载能力的USB HUB。

4 USB 枚举失败

USB总线正常读取设备HID,但是枚举设备失败unable to enumerate USB device on port 1

usb 1-1.3: new high-speed USB device number 13 using dwc2
usb 1-1.3: New USB device found, idVendor=8644, idProduct=800b
usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.3: Product: USB Flash Disk
usb 1-1.3: Manufacturer: General
usb 1-1.3: SerialNumber: 000000000000BC30
usb 1-1.3: rejected 1 configuration due to insufficient available bus power
usb 1-1.3: no configuration chosen from 1 choice
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

出现这个问题,电压不够或者USB走线有干扰。

5. USB HID标识失败

usb-storage 1-1:1.0

usb 1-1.3: new config #1 exceeds power limit by 400mAalue usb-storage
usb 1-1.3:1.0: USB Mass Storage device detectedscsi host0: usb-storage
usb 1-1.3:1.0 scsi 0:0:0:0: Direct-Access     Kingston DataTraveler 1.00 PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 31299584 512-byte logical blocks: (16.0 GB/14.9 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] No Caching mode page found
sd 0:0:0:0: [sda] Assuming drive cache: write through sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

快速判定方法方法:快速验证命令 echo -n 1 > /sys/bus/usb/devices/1-1.3/bConfigurationVusb

结语

不枉博主详细讲解,欢迎订阅博主–炭烤毛蛋

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/954544
推荐阅读
相关标签
  

闽ICP备14008679号