我需要:
能够硬件重置连接到USB的设备(华为E220调制解调器)
已经尝试过软复位(使用unbind / bind和授权0/1),但软件复位不足以使设备再次正常工作;该设备有一些奇怪的错误,这是由长时间使用(连接几天后)触发的。
使用/ sys / debug / omap_mux找到了很多答案,但是这个设备在新内核中不再存在。
由于这个问题花了两天时间才得到可行的答案,所以我决定在这里发布答案,这对其他人来说可能有用。
答案 0 :(得分:12)
感谢我的朋友Cleiton Bueno 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,它控制打开/关闭USB端口的IC。
" unbind / bind"命令负责告诉USB驱动程序重新扫描"电源后的端口。