首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GPIO3_13 (GPIO109)禁用USB

使用GPIO3_13 (GPIO109)禁用USB
EN

Stack Overflow用户
提问于 2018-07-27 16:35:49
回答 2查看 591关注 1票数 0

我找到了dev-USB-PWR-CTL-00A1.dtbo文件。(我认为是这是源代码做的)。

使用此文件,我尝试使用命令将USB1_DRVVBUS引脚公开为GPIO (GPIO3_13):

代码语言:javascript
复制
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文件树。

但是当我用命令改变值时

代码语言:javascript
复制
echo 0 > /sys/class/gpio/gpio109/value

我在这个文件中看到了新的值,但是在USB中没有发生任何事情。

我遗漏了什么?

(在你问我真的需要这样做之前,我们先把后果放在一边吧。)

EN

回答 2

Stack Overflow用户

发布于 2018-07-28 12:38:37

你看过这个吗?在Beagleboard Google Group上对这一点的质疑

请注意,当时和当前的图像有一些不同,例如默认情况下禁用CapeManager和在U-Boot中加载一次覆盖

票数 0
EN

Stack Overflow用户

发布于 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中描述的旧配置机制)来完成。

然后你可以这样做:

代码语言:javascript
复制
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上的设备.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51562156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档