频繁插拔U盘导致USB HUB挂掉

插上U盘,出现一行打印就拔出来,或者多次频繁快速插拔,就会一直打印下面的信息

[ 127.000885] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_kick_fsm: invalid host/gadget device

[ 127.120767] usb 1-1: new high-speed USB device number 2 using musb-hdrc

[ 127.580803] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_kick_fsm: invalid host/gadget device

[ 127.700783] usb 1-1: new high-speed USB device number 3 using musb-hdrc

[ 128.160817] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_kick_fsm: invalid host/gadget device

[ 128.281002] usb 1-1: new high-speed USB device number 4 using musb-hdrc

[ 128.700920] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_kick_fsm: invalid host/gadget device

[ 128.820803] usb 1-1: new high-speed USB device number 5 using musb-hdrc

[ 129.350844] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_kick_fsm: invalid host/gadget device

[ 129.470783] usb 1-1: new high-speed USB device number 6 using musb-hdrc

[ 129.930848] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_kick_fsm: invalid host/gadget device

[ 130.051048] usb 1-1: new high-speed USB device number 7 using musb-hdrc

[ 130.510970] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_kick_fsm: invalid host/gadget device

[ 130.630788] usb 1-1: new high-speed USB device number 8 using musb-hdrc

[ 131.050864] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_kick_fsm: invalid host/gadget device

[ 131.170766] usb 1-1: new high-speed USB device number 9 using musb-hdrc

[ 131.700874] musb-hdrc musb-hdrc.0.auto: otg: usb_otg_kick_fsm: invalid host/gadget device

 

echo 65 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio65/direction

echo 0 > /sys/class/gpio/gpio65/value

echo 1 > /sys/class/gpio/gpio65/value

使用上面的命令将HUB进行复位,发现HUB又可以正常工作

 

跟TI的专家沟通,说是USB枚举失败了。导致这个问题的原因很多。

跟3.2.0的内核对比发现,HUB时钟只有在接上U盘才会有,空闲的时候HUB应该是挂起了。

网上说是去掉这一项USB runtime power management (autosuspend),找遍了内核也没有找到。(3.2.0的内核是有这一项,3.14.43已经去掉)

TI回复说是添加usbcore.autosuspend=-1到bootargs

再测试,问题消失

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值