Raspberry Pi の USB ポートを制御する2

以前 Raspberry Pi で USB ポートを制御し、USB LED ライトのコントロールに挑戦したことについて書いた。その時はうまくいかなかった。

Raspberry Pi の USB ポートを制御する(失敗) – with a Christian Wife
https://wacw.cf/2018/03/08/controlling-usb-port-on-pi/

次に USB ファンの制御を試してみた。

環境:Raspberry Pi 3 Model B、Raspbian Jessie

改めてインストール方法についてメモしておく。

$ sudo apt-get install libusb-dev
$ wget http://www.gniibe.org/oitoite/ac-power-control-by-USB-hub/hub-ctrl.c
$ gcc -O2 hub-ctrl.c -o hub-ctrl-armhf-static -lusb -static
$ sudo cp hub-ctrl-armhf-static /usr/local/bin/hub-ctrl

最初 Raspbian Stretch でやろうとしたら、libusb のインストール段階でエラーが出てしまう。

ということで、Raspbian Jessie にインストール(前回も Jessie でやっていた)。

USB ポートの名前は、左に LAN ポートがある状態で、左上が Port2、左下が Port3、右上が Port 4、右下が Port5 だ。

指定する USB ポート(PortX とする)をオフにするには以下のコマンド。

$ sudo hub-ctrl -b 1 -d 2 -P X -p 0

オンにするには以下のコマンド。

$ sudo hub-ctrl -b 1 -d 2 -P X -p 1

つまり、Port2 をオフにする場合、以下のコマンドを実行する。

$ sudo hub-ctrl -b 1 -d 2 -P 2 -p 0

オンにするには以下のコマンド。

$ sudo hub-ctrl -b 1 -d 2 -P 2 -p 1

USB ファンの制御に関してはうまくいった。

試しに再度 USB LED ライトでもやってみたら、今度はうまく制御できた。コマンドを間違っていたのかな。

参考:
Raspberry PiにUSB扇風機を接続してUSBポートをON/OFF制御する方法 | きのこタイムズ
http://kinokotimes.com/2017/03/07/usb-control-method-by-raspberry-pi/

RaspberryPI 3 Model B で USBポートの電源をON/OFFする:パソコン鳥のブログ
http://s.webry.info/sp/vogel.at.webry.info/201711/article_2.html

LinuxからUSB HUBの電源のON/OFFを制御してみる – memoメモ
http://atotto.hatenadiary.jp/entry/linux-sugoi-usb-hub-power-ctrl