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

Jør*_*ard 18 raspberry-pi raspberry-pi4

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

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

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

mvp*_*mvp 21

是的,uhubctl支持 RPi4B,我最近添加了对它的支持 - 您需要使用 uhubctl 2.4.0 或更高版本(或从 master 分支构建它)。还需要更新 USB 固件sudo rpi-eeprom-update才能使电源切换真正起作用。

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

  • 谢谢。最新的 USB 固件和最新的 uhubctl 一起解决了这个问题。固件更新后 /sys/devices/platform/soc/3f980000.usb/buspower 不再存在,并且 /sys/bus/usb/drivers/usb/unbind 不会(如上面 Kamiccolo 所指出的)关闭 USB 电源。 (2认同)
  • eeprom 更新(rpi-eeprom 包版本 11.0)后,我可以再次通过 `echo '1-1' > /sys/bus/usb/drivers/usb/bind` 关闭电源。 (2认同)