Armadilloフォーラム

各インターフェスの電源切断

lee0601

2022年2月21日 11時54分

お世話になっております。

省電力モードとして、マニュアルに記載がありますが、CPU処理は停止させたくないので、不必要なインターフェイスだけ電源を切断したいと考えております。
例えば、
 ・LTEモジュールの定期電源切断。
 ・OS起動後、数十分後にWiFiモジュール電源切断。
 ・有線LANの電源切断。

上記の方法があれば教えてください。

コメント

at_syunya.ohshio

2022年2月25日 17時24分

大塩です。

各方法についてお答えします。

>  ・LTEモジュールの定期電源切断。
els31-safe-poweroff コマンドが存在するため、こちらを使用してください。

>  ・OS起動後、数十分後にWiFiモジュール電源切断。
以下コマンドを使用することで、wifiモジュールを省電力モードにすることができます。

# iw dev wlan0 set power_save on

>  ・有線LANの電源切断。
GPIO制御で電源をオフすることができます。
有線LANのGPIO番号は61なので、以下コマンドを実行することで実現可能です。

# echo 61 > /sys/class/gpio/export
# echo 0 > /sys/class/gpio/gpio61/value

at_syunya.ohshio

2022年2月28日 9時42分

大塩です。

追記です。
切断からの復帰方法についてそれぞれ記載します。

>
> >  ・LTEモジュールの定期電源切断。
> els31-safe-poweroff コマンドが存在するため、こちらを使用してください。
>

wwan-force-restart コマンドを実行することで、復帰します。

> >  ・OS起動後、数十分後にWiFiモジュール電源切断。
> 以下コマンドを使用することで、wifiモジュールを省電力モードにすることができます。
>
> # iw dev wlan0 set power_save on
>

以下コマンドで復帰することが出来ます。

# iw dev wlan0 set power_save off

> >  ・有線LANの電源切断。
> GPIO制御で電源をオフすることができます。
> 有線LANのGPIO番号は61なので、以下コマンドを実行することで実現可能です。
>
> # echo 61 > /sys/class/gpio/export
> # echo 0 > /sys/class/gpio/gpio61/value
>

GPIOの value を 1に戻すことで復帰します。

# echo 1 > /sys/class/gpio/gpio61/value 

大塩 様
ご回答をありがとうございます。非常に助かりました。試してみます。

大変恐縮ですが、外部USBポートの電源切断に関しては、以前のフォーラムに記載あるように、現状のカーネルではできないという理解でよろしかったでしょうか?
https://armadillo.atmark-techno.com/forum/armadillo/3657

at_syunya.ohshio

2022年2月28日 13時29分

大塩です。

> 大変恐縮ですが、外部USBポートの電源切断に関しては、以前のフォーラムに記載あるように、現状のカーネルではできないという理解でよろしかったでしょうか?
> https://armadillo.atmark-techno.com/forum/armadillo/3657

はい、その理解で間違いありません。
これを行いたい場合は、デバイスツリーを改造してGPIO制御できるようにする必要があります。