我找到了dev-USB-PWR-CTL-00A1.dtbo文件。(我认为是这是源代码做的)。
使用此文件,我尝试使用命令将USB1_DRVVBUS引脚公开为GPIO (GPIO3_13):
echo dev-USB-PWR-CTL > /sys/devices/platform/bone_capemgr/slots
echo 109 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio109/direction我在slots中看到了新的cape条目和新的gpio文件树。
但是当我用命令改变值时
echo 0 > /sys/class/gpio/gpio109/value我在这个文件中看到了新的值,但是在USB中没有发生任何事情。
我遗漏了什么?
(在你问我真的需要这样做之前,我们先把后果放在一边吧。)
发布于 2018-07-28 12:38:37
你看过这个吗?在Beagleboard Google Group上对这一点的质疑
请注意,当时和当前的图像有一些不同,例如默认情况下禁用CapeManager和在U-Boot中加载一次覆盖
发布于 2018-09-25 11:09:44
如果您使用的是最近的elinux.org Debian映像(2015年6月合并了必要的设备树覆盖层),它将包含一个设备树覆盖层(注释为“除非您知道要做什么,不要加载此披肩!”)。这使用黑客将usb1_drvvbus信号公开为虚拟的LED,然后可以使用/sys中的led接口进行控制。
首先,加载Dev-USBPWR-CTL-00A1.dtbo设备树覆盖。对于最近的设置(其中所有的dtbos都通过uboot加载,然后在启动时传递给内核),可以通过将dtb_overlay=/lib/firmware/dev-USB-PWR-CTL-00A1.dtbo添加到/boot/uEnv.txt并重新启动(旧内核/uboot将需要使用/boot/uEnv.txt中描述的旧配置机制)来完成。
然后你可以这样做:
echo 'usb1' > /sys/bus/usb/drivers/usb/unbind
echo 0 > /sys/devices/platform/leds/leds/usb_hub_power/brightness
sleep 1
echo 255 > /sys/devices/platform/leds/leds/usb_hub_power/brightness
echo 'usb1' > /sys/bus/usb/drivers/usb/bind..。电源循环:连接到USB1上的设备.
https://stackoverflow.com/questions/51562156
复制相似问题