使用BeagleBone Black内核> = 3.8关闭/打开USB电源

时间:2014-06-04 13:56:14

标签: usb gpio beagleboneblack

我需要:

  • 关闭 - >睡几秒钟 - >打开beaglebone black的USB电源

能够硬件重置连接到USB的设备(华为E220调制解调器)

已经尝试过软复位(使用unbind / bind和授权0/1),但软件复位不足以使设备再次正常工作;该设备有一些奇怪的错误,这是由长时间使用(连接几天后)触发的。

使用/ sys / debug / omap_mux找到了很多答案,但是这个设备在新内核中不再存在。

由于这个问题花了两天时间才得到可行的答案,所以我决定在这里发布答案,这对其他人来说可能有用。

1 个答案:

答案 0 :(得分:12)

感谢我的朋友Cleiton Bueno http://cleitonbueno.wordpress.com/为我找到了这个解决方案:

的先决条件:

  • apt-get install devmem2

解决问题的代码:

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驱动程序重新扫描"电源后的端口。