Armadilloフォーラム

[Armadillo-IoT G3] 再起動時に実行される/bin/ec25-safe-poweroffについて

ueoka

2023年3月16日 11時36分

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

Armadillo IoT G3が再起動するまでに毎回1分30秒ほど時間が掛かるため、
再起動のシーケンスを追っていたところ「/bin/ec25-safe-poweroff」というスクリプトが実行されていることが分かりました。

この「/bin/ec25-safe-poweroff」の中のec25_shutdown_requestで、/dev/ttymxc6に対してLTEモジュールのシャットダウンコマンド(AT+QPOWD)を送信しているのは何故でしょうか。

Armadillo IoT G3ではLTEモジュールは/dev/ttyUSB3(とシンボリックリンクの/dev/ttyCommModem)に割り当てられているので、
LTEモジュールがシャットダウンせずタイムアウトするまで待っているように見えます。
(このタイムアウトの影響で、再起動するまでに1分30秒ほど時間が掛かっているようです)

以上、宜しくお願いいたします。

コメント

at_mitsuhiro.yoshida

2023年3月16日 11時50分

吉田です。

AT+QPOWD コマンドは LTE モジュールのシャットダウンコマンドで、
LTE モデムを安全に終了させるために送信しております。

ttyUSB2 or ttyCommModem は、
LTE モジュール制御ソフト ModemManager が LTE モジュールと AT コマンドで
対話するために使用しており、
ttyUSB3 は ppp 通信に使用しております。

ttymxc6 はそれらとは別に LTE モジュールと対話が可能なポートです。

ec25-safe-poweroff では、
AT+QPOWD を送信する前に ModemManager は終了させていますので、
ttyUSB2, ttyCommModem, ttyUSB3 の影響ではなく、
LTE モジュールが処理を終了する為の時間となります。

よろしくお願いします。

ueoka

2023年3月16日 13時49分

吉田様

回答ありがとうございます。

> ttyUSB2 or ttyCommModem は、
> LTE モジュール制御ソフト ModemManager が LTE モジュールと AT コマンドで
> 対話するために使用しており、
> ttyUSB3 は ppp 通信に使用しております。

当方の環境では、ttyCommModemはttyUSB3のシンボリックリンクになっています。
どちらもcuコマンドで接続可能かつ、ATコマンドの応答が正常に返ってくることを確認しています。

ttyUSB2については、存在するもののcuコマンドで接続してもATコマンドに対して応答はありません。
ただ、ttyUSB4でATコマンドの応答があったので割り当てが1つずつズレているようです。

> ttymxc6 はそれらとは別に LTE モジュールと対話が可能なポートです。
ttymxc6はデバイスファイル自体がありません。
このデバイスファイルは通常は存在するものなのでしょうか?

なお、ttyCommModem・ttyUSB3・ttyUSB4では、cuコマンドで接続したのちAT+QPOWDを送信すると
LTEモジュールがシャットダウンすることは確認できました。
この場合、LTEモジュールは5秒ほどでシャットダウンしました。

以上、宜しくお願いいたします。

ueoka

2023年3月17日 9時57分

ttymxc6が存在しない件について、自己解決しました。

Linuxカーネルのビルド時に生成されるデバイスツリーを誤って入れていたようです。

正:armadillo_iotg_g3_m1.dtb
誤:armadillo_iotg_g3.dtb

正しいデバイスツリーで試したところttymxc6が存在し、再起動も10秒程度で行われるようになりました。
お手数お掛けいたしました。

以上、宜しくお願いいたします。