web-dev-qa-db-ja.com

Raspberry Pi 4でUSBポートの電源をオン/オフする方法

Raspberry Pi 3B +では、4つのUSBポートの電源をオン/オフするのは簡単です。単に/sys/devices/platform/soc/3f980000.usb/buspowerに「0」を書き込んで電源をオフにし、「1」を書き込んで電源をオンにします。

同じ方法はRaspberry Pi 4B、4GBでは機能しません(「.usb」の前の16進数が異なるため、問題ありません)。 uhubctlhub-ctlも試しましたが、成功しませんでした。 USBパワーメーターを使用してポートの電圧を測定しました。変わりません。 PI 3B +をunすると、予想どおりに変更されます。

PI 4は、ソフトウェアでUSB電源のオン/オフをサポートしていますか?ある場合、それを行う方法は?それともそれを動作させるために修正する必要があるバグがどこかにありますか? Pi 3B +とPi 4の両方で最新のRapbianを使用しています。

はい、 hubctl はRPi4Bをサポートします。最近は 追加 サポートしています-マスターブランチからビルドする必要があります。実際に機能させるために、USB ファームウェア の更新が必要になる場合があることに注意してください。

Sysfsメソッドを使用してRPi3B +でUSBをオフにしていないことに注意してください。uhubctlを使用すると、4つすべてのポート、または2つのポートを個別に制御できます。 RPi4Bは、ポート4を制御して一度にすべてのポートをオフにすることのみをサポートします。

3
mvp

GitHubでRaspberry PiとLinuxの問題を読んだ限り、2019年7月にuhubctlのバグ修正がリリースされたようです。参照しているパッチ: mvp/uhubctl @ 4aae44c 。マスターにマージする必要があります。そう...

もう1つ覚えておかなければならないのは、RRi 4Bハードウェアは「連動電源切り替え」しかサポートしていないようです。つまり、すべてのUSBポートのオン/オフしかできないということです。特にすべてではありません。

1
Kamiccolo