Raspberry PI 4中如何打开和关闭USB端口电源

How to turn USB port power on and off in Raspberry PI 4

在 Raspberry PI 3B+ 上,关闭和打开其四个 USB 端口的电源非常简单。只需将“0”写入 /sys/devices/platform/soc/3f980000.usb/buspower 即可关闭电源,写入“1”即可打开电源。

同样的方法不适用于Raspberry PI 4B,4GB(“.usb”前的十六进制数不同,这不是问题所在)。我试过 uhubctlhub-ctl 也没有成功。我使用了 USB 功率计来测量端口上的电压。它没有改变。 Un PI 3B+ 它按预期变化。

PI 4是否支持在软件中关闭和打开USB电源?如果有,怎么办?或者是否有某处必须修复才能使其工作的错误?我在 Pi 3B+ 和 Pi 4 上都使用最新的 Rapbian。

据我阅读 Raspberry Pi 和 Linux 关于 GitHub 的问题,似乎在 2019 年 7 月为 uhubctl 发布了错误修复。我指的是补丁:mvp/uhubctl@4aae44c。它应该合并到master。所以...

另一件事要记住,RRi 4B 硬件似乎只支持 "ganged power switching",这意味着...您只能打开和关闭所有 USB 端口。不是每一个都特别。

是的,uhubctl supports RPi4B, I have recently added 支持 - 您需要使用 uhubctl 2.4.0 或更高版本(或从 master 分支构建)。还需要使用 sudo rpi-eeprom-update 更新 USB 固件才能使电源切换真正起作用。

请注意,您错过了使用 sysfs 方法在 RPi3B+ 上关闭 USB 的机会 - 使用 uhubctl 您可以控制所有 4 个端口,或独立控制其中的 2 个。 RPi4B只支持一次关闭所有端口