热插拔USB 设备出现usb 1-1: device descriptor read/64, error -110错误

本文介绍了一种在Linux环境下解决特定型号3G USB Dongle热插拔失败的方法。主要表现为设备无法被系统识别,通过禁用ehci_hcd模块解决了问题。

    设备名:中兴MF190

    Linux Kernel版本:3.4

    错误名:usb 1-1: device descriptor read/64, error -110
                    usb 1-1: device not accepting address 33, error -110
                    usb 1-1: device not accepting address 34, error -110

    症状:我的3G USB dongle在平台上第一次插拔(不管是开机插拔还是热插拔)都能正常运行,不过当我拔掉后,再插上,便会出现以上所示的错误,我用lsusb命令也看不到有任何的新设备被识别出来,之后我插上USB鼠标也是同样的被识别不出来

    解决方式:1.这里的error-110,实际上式连接超时的错误,至于为什么会出现这个错误,还不明所以,后来搜索到资料说USB2.0的驱动有些问题,会导致这样的问题,和USB相关的模块是ehci_hcd模块,你可以通过lsmod命令查看你当前的kernel是否加载ehci_hcd模块,若加载了你可以使用modeprobe -r ehci_hcd把该模块卸载掉,之后你再试试看设备能否被发现;如果还是不行,你找到系统的开机脚本在开机的时候不加载ehci_hcd模块,我便是这样在在开机的时候不加载ehci_hcd的模块,以后热插拔便恢复了正常。

    不过这样之后对USB的传输速度应该有一定的影响,这里只是暂时使用此方法解决,后续若有新发现,继续更新,若有同学有新的线索,恳请交流哦。


] [MI WRN] [602]qf:0 less than min_qf: 1, set to min_qf <5>[ 11.363960] mod:2 dev:8 chn:0 port:0 has set eStrategy, but it will be covered by E_MI_SYS_FRC_STRATEGY_BY_PERIOD <3>[ 11.643306] ------------------> tmi8150b_init <6>[ 12.286415] usb usb1-port1: hub_port_connect: add adjust_async_ladr flag <6>[ 12.436347] usb 1-1: new full-speed USB device number 6 using sstar-ehci <6>[ 12.436398] sstar-ehci 1f284800.sstar-ehci-0: [switch] reg is 0x260b000, 0x10001, 0x80d <3>[ 12.589575] usb 1-1: device descriptor read/64, error -71 <3>[ 12.856356] usb 1-1: device descriptor read/64, error -71 <6>[ 12.976755] phy phy-soc:u2phy1@0x1f284200.0: high-speed disconnect <6>[ 12.976782] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_reset <6>[ 12.977790] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_off <6>[ 12.977797] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_on <6>[ 13.126318] usb 1-1: new full-speed USB device number 7 using sstar-ehci <3>[ 13.276333] usb 1-1: device descriptor read/64, error -71 <3>[ 13.546322] usb 1-1: device descriptor read/64, error -71 <6>[ 13.666631] phy phy-soc:u2phy1@0x1f284200.0: high-speed disconnect <6>[ 13.666652] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_reset <6>[ 13.667659] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_off <6>[ 13.667666] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_on <6>[ 13.667712] usb usb1-port1: attempt power cycle <6>[ 13.916495] usb 1-1: new full-speed USB device number 8 using sstar-ehci <3>[ 14.356352] usb 1-1: device not accepting address 8, error -71 <6>[ 14.356513] phy phy-soc:u2phy1@0x1f284200.0: high-speed disconnect <6>[ 14.356527] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_reset <6>[ 14.357535] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_off <6>[ 14.357542] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_on <6>[ 14.383665] usbcore: registered new interface driver rtl8188fu <6>[ 14.506311] usb 1-1: new full-speed USB device number 9 using sstar-ehci <3>[ 14.946892] usb 1-1: device not accepting address 9, error -71 <6>[ 14.947046] phy phy-soc:u2phy1@0x1f284200.0: high-speed disconnect <6>[ 14.947061] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_reset <6>[ 14.948068] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_off <6>[ 14.948074] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_on <3>[ 14.948419] usb usb1-port1: unable to enumerate USB device <6>[ 14.948569] phy phy-soc:u2phy1@0x1f284200.0: high-speed disconnect <6>[ 14.948582] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_reset <6>[ 14.949589] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_off <6>[ 14.949595] phy phy-soc:u2phy1@0x1f284200.0: sstar_u2phy_utmi_power_on请分析一下
最新发布
07-09
Linux系统中,当用户遇到USB设备连接错误和PHY操作问题时,通常可以通过查看内核日志(如`dmesg`输出)来诊断问题。以下是一些常见的错误信息及其可能的原因分析: ### USB设备描述符读取错误(`USB device descriptor read error -71`) 该错误通常表示主机控制器无法正确读取USB设备的描述符信息。这可能是由于硬件通信问题、电源管理设置不当或驱动程序缺陷引起的。 - **硬件问题**:USB线缆、端口或设备本身可能存在物理损坏或接触不良。 - **电源管理配置**:某些主板或设备的电源管理策略可能导致电压不稳定,从而影响设备初始化过程[^3]。 - **驱动程序/固件问题**:特定于USB控制器的驱动程序(如xHCI、EHCI等)可能存在兼容性问题,或者缺少必要的固件支持[^4]。 示例日志: ```bash [ 123.456789] usb 1-1: Device not responding to setup address. [ 123.678901] usb 1-1: USB device descriptor read/64, error -71 ``` ### PHY操作与电源重置问题(`phy power reset`) PHY(物理层)是USB控制器的一部分,负责处理数据传输的电气层协议。如果系统报告“PHY power reset”相关的问题,则表明USB控制器试图通过重新供电来恢复PHY的状态。 - **过载或热插拔失败**:频繁插入/拔出设备可能导致PHY状态异常。 - **固件或驱动不兼容**:某些USB控制器(如基于Intel、Renesas或联发科芯片组的控制器)可能需要更新固件以避免此类问题[^5]。 - **BIOS/UEFI设置不当**:例如,节能模式或XHCI手柄切换功能(如"Smart Auto Switching")可能导致PHY行为异常。 示例日志: ```bash [ 456.789012] usb 2-1: phy_reset timeout [ 456.901234] usb 2-1: failed to resume device, error -110 ``` ### 解决方案建议 #### 硬件层面 - 更换USB线缆或尝试不同的USB端口。 - 检查设备是否能够正常工作在其他系统上。 #### 软件与驱动层面 - 更新内核版本,确保使用最新的稳定版Linux发行版。 - 检查是否安装了所有必需的USB控制器固件(如`linux-firmware`包)。 - 在`/etc/default/grub`中添加`usbcore.autosuspend=-1`到`GRUB_CMDLINE_LINUX`,禁用USB自动挂起功能以防止电源管理干扰。 ```bash sudo update-grub ``` #### BIOS/UEFI设置 - 进入BIOS/UEFI设置界面,禁用USB相关的节能选项(如"xHCI Pre-Boot Mode"或"Fast Boot")。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值