我需要:
- 关闭 -> 睡眠几秒钟 -> 打开 beaglebone black 的 USB 电源
能够对连接到 USB 的设备(华为 E220 调制解调器)进行硬件重置
已经尝试过软重置(使用取消绑定/绑定和授权0/1),但软件重置不足以使设备再次正常工作;该设备有一些奇怪的错误,这是由长时间使用(连接几天后)触发的。
使用 /sys/debug/omap_mux 找到了许多答案,但该设备在新内核中不再存在。
由于这个问题花了几天时间才得到可行的答案,因此我决定将其与答案一起发布在这里,因此可能对其他人有用。
感谢我的朋友克莱顿·布埃诺http://cleitonbueno.wordpress.com/ http://cleitonbueno.wordpress.com/为我找到了这个解决方案:
先决条件:
解决问题的代码:
devmem2 0x47401c60 b 0x00
sleep 1
echo "usb1" > /sys/bus/usb/drivers/usb/unbind
sleep 20
echo "usb1" > /sys/bus/usb/drivers/usb/bind
sleep 1
devmem2 0x47401c60 b 0x01
“devmem2”命令负责直接访问beaglebone的GPIO3_13,控制IC打开/关闭USB端口。
“unbind/bind”命令负责告诉usb驱动程序在上电后“重新扫描”端口。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)