Open5
Khadas VIM4のデバイス固有のセットアップ
![yag_ays](https://res.cloudinary.com/zenn/image/fetch/s--JWAMUveA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/ae1dcab382.jpeg)
Khadasのシングルボードコンピュータ(SBC)であるVIM4の、デバイス固有のセットアップを行う。
スペック
- Khadas VIM4 Amlogic A311D2
- Khadas 新M2Xエクステンションボード
- M.2 SSD
ちなみにkhadas DIYケースを購入したが、M2Xエクステンションボードを装着すると格納できなかった。
情報
- 公式ページ: VIM4 | Khadas
- ドキュメンテーション: VIM4 [Khadas Docs]
![yag_ays](https://res.cloudinary.com/zenn/image/fetch/s--JWAMUveA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/ae1dcab382.jpeg)
LEDの点滅を消す
VIM4の起動中はデフォルトでは白色LEDが点滅する仕様のため、点滅から常時点灯するには/etc/rc.local
の該当部分をコメントアウトする。
# Setup LED: heartbeat if bootup completed
# echo heartbeat > /sys/class/leds/pwmled/trigger
LEDを完全に消すにはコメントアウトする代わりにecho none
とする。
![yag_ays](https://res.cloudinary.com/zenn/image/fetch/s--JWAMUveA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/ae1dcab382.jpeg)
ファンを設定を確認する
ファンの設定を確認する。
$ fan.sh mode
Fan mode: auto
Fan level: off
Fan state: active
ファンの速度をトリガーする温度を確認する。
$ fan.sh trig
Fan trigger low temp: 50
Fan trigger mid temp: 60
Fan trigger high temp: 70
ファン設定がautoの場合、low/mid/highの各温度になった時点でファンレベル(ファンの速度)が変動する。
![yag_ays](https://res.cloudinary.com/zenn/image/fetch/s--JWAMUveA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/ae1dcab382.jpeg)
CPU温度とファンレベルを取得する
CPU温度
$ fan.sh temp
Fan temp: 49
または直接取得する
$ cat /sys/class/thermal/thermal_zone0/temp
49200
ファン
ファンは回転数ではなくレベル(0~4)で表される。
$ cat /sys/class/fan/level
Fan level: 0
Grafanaでの可視化
上記の情報を10sごとに取得して可視化すると、以下のようになる。50℃を超えるとファンレベルが1になってファンが起動し、CPU温度を下げていることがわかる。
![yag_ays](https://res.cloudinary.com/zenn/image/fetch/s--JWAMUveA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/ae1dcab382.jpeg)
ファンの起動設定を調節する
デフォルトの設定ではCPU温度が50℃になった瞬間にファンが回り始めるため、何も動かしていなくても定期的にファンが回る/止まるを繰り返す。ファンが回り始める温度を上げて、ファンが回らないようにしたい。
そこでtrigger_temp_low
を60℃、trigger_temp_mid
を65℃に設定する。なお、これらの数値は同じ値を設定することができないので注意。
$ echo 65 | sudo tee /sys/class/fan/trigger_temp_mid
$ echo 60 | sudo tee /sys/class/fan/trigger_temp_low
以下のような設定になった。
$ fan.sh trig
Fan trigger low temp: 60
Fan trigger mid temp: 65
Fan trigger high temp: 70
CPU温度の時系列変化を見るとアイドル状態で53~54℃で安定したので、なにか処理を動かしていないときはファンが回らないようになった。