Armadilloフォーラム

systemd-rfkill.serviceの挙動について

wakasugi

2021年1月21日 18時26分

お世話になります。

現在Armadillo-IoT G3Lを使用してテストを行っております。
そこで発生したsystemd-rfkill.serviceの問題についてご存知でしたらご教授ください。

環境:
 使用製品:Armadillo-IoT G3L
 カーネル:v4.9-x1-at11
前提条件:
 LTEの接続情報を登録
 /etc/els31-utils/els31-utils.confにFIREWALL="disable"を書き込んだ状態
 rc.localでwwan-force-restartを実行
  (再起動時にels31-firewall-get-statusがError: No modem responseとなりファイアウォールが無効化されないため)

発生した現象:
 SIMをセットした状態で再起動し、シリアルからログを確認していたところ、Failedとなるサービスが存在。(wwan実行_起動時.png)
 systemctl status systemd-rfkill.serviceを実行したところ、inactive(dead)となっていた。(wwan実行_status.png)

確認した事項:
 ・wwan-force-restartが悪いのかと考え、rc.localからwwan-force-restartをコメントアウトし、再起動したところ以下のようになりました。
  先述のような[FAILED] Failed to start Load/Save RF Kill Switch Status.のログは存在しない
  systemctl status systemd-rfkill.serviceを実行したところ、inactive(dead)となっている(wwan未実行時.png)
 ・systemctl status systemd-rfkill.serviceでinactive(dead)となっている状態で
  systemctl restart systemd-rfkill.serviceをシリアルから実行したところactiveに変化

以上のことから質問です。
1:テータスがinactive(dead)になっている事によって生じる問題はありますか?
2:先述の前提条件の元で[FAILED] Failed to start Load/Save RF Kill Switch Status.とならないようにする方法はあるでしょうか?

以上です。よろしくお願いいたします。

コメント

at_syunya.ohshio

2021年1月27日 13時38分

大塩です。

返答が遅くなり申し訳ございません。
以下、回答致します。

> 1:テータスがinactive(dead)になっている事によって生じる問題はありますか?

systemd-rfkill.service は起動時と終了時に動作し、通常動作中は inactive(dead) となっているため
問題はありません。

> 2:先述の前提条件の元で[FAILED] Failed to start Load/Save RF Kill Switch Status.とならないようにする方法はあるでしょうか?

まず、自動実行については rc.localではなく Systemd の Unit ファイルを作成する方法が良いかと思います。
詳しくは以下のブログを参照してください。
https://users.atmark-techno.com/blog/6938/2865

wwan-force-restart と起動時の systemd-rfkill.service の動作が重なったことによる FAILED と見えるため、
以下ブログを参考に動作タイミングを変更することで解決可能かと思われます。
https://armadillo.atmark-techno.com/blog/6938/2898

以上です。

大塩様

お世話になっております。若杉です。
ご返信ありがとうございます。

inactive(dead)で問題ない旨承知いたしました。

また、Unitファイルの使用に関するご案内ありがとうございます。
いただいた方法でUnitファイルを作成したところ、FAILEDとならずに起動することができました。

以上です。ありがとうございます。