Armadilloフォーラム

コンテナ内からLTE再接続する方法

amano

2025年8月24日 23時13分

==========
製品型番:AG9130-C03Z
Debian/ABOSバージョン:3.22.1-at.1
カーネルバージョン:
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

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

コンテナ内で動作するアプリケーションから、任意のタイミングで LTE の再接続を行いたいと考えています。

なお、再接続サービスの永続的な無効化は既に実施済みです。
以前に使用していた G3L では、wwan-force-restart コマンドで再接続を行っておりましたが、A9E では同等の操作を行う場合にどのような方法が推奨されるか、ご教示いただけますでしょうか。

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

コメント

佐藤です。

> 以前に使用していた G3L では、wwan-force-restart コマンドで再接続を行っておりましたが、A9E では同等の操作を行う場合にどのような方法が推奨されるか、ご教示いただけますでしょうか。

現状ですと、コンテナ内から "wwan-force-restart" を実行するには、
"wwan-force-restart" を実行するカスタムスクリプトをホスト(abos)側に作成し、
コンテナ内から Rest API でその作成したスクリプトを実行するしかありません。

Rest API についてはマニュアルの以下を参照してください。
https://manual.atmark-techno.com/armadillo-iot-a9e/armadillo-iotg-a9e_p…

Rest API でカスタムスクリプトの実行に関しては以下を参照してください。
https://manual.atmark-techno.com/armadillo-iot-a9e/armadillo-iotg-a9e_p…

ホスト(abos)側のカスタムスクリプトは以下のように作成してください。

armadillo:~# mkdir /etc/atmark/abos_web/customize_rest
armadillo:~# vi /etc/atmark/abos_web/customize_rest/wwan-force-restart.sh
#!/bin/sh
 
wwan-force-restart
 
armadillo:~# chmod +x /etc/atmark/abos_web/customize_rest/wwan-force-restart.sh
armadillo:~# persist_file /etc/atmark/abos_web/customize_rest/wwan-force-restart.sh
armadillo:~# echo "permit nopass abos-web-admin as root cmd /etc/atmark/abos_web/customize_rest/wwan-force-restart.sh" >> /etc/doas.d/abos_web_customize.conf
armadillo:~# persist_file /etc/doas.d/abos_web_customize.conf

上記のように作成したスクリプト(wwan-force-restart.sh)をコンテナ内から Rest API で呼び出せば、
"wwan-force-restart" が実行されます。

カスタムスクリプトを作成するのは手間ですので
来月(9月)以降のアップデートで "wwan-force-restart" を直接呼び出す Rest API の追加を検討いたします。

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

スクリプトを作成し、実行しましたが、エラーとなりました。

root@0654c91c1bd0:/# curl -k -H "$AUTH" -X POST https:/ :58080/api/custom/wwan-force-restart.sh
{"stdout":"start force restart sim7672\n"}
{"stderr":"/usr/bin/wwan-force-restart: line 27: can't create /var/log/connection-recover.log: Permission denied\n"}
{"stdout":"Connection 'gsm-ttyCommModem' deactivation failed: Not authorized to deactivate connections\n"}
{"stderr":"cat: can't open '/sys/devices/platform/sim7672-reset/reset/status': Permission denied\n"}
{"stderr":"sim7672-boot             | * ERROR: sim7672-boot stopped by something else\n"}
{"stdout":"end force restart sim7672\n"}
{"stderr":"/usr/bin/wwan-force-restart: line 27: can't create /var/log/connection-recover.log: Permission denied\n"}
{"exit_code":0}

ログ書き込みやNetworkManager制御、デバイスファイルへのアクセスに失敗していると思われます。

ちなみにマニュアルのカスタムスクリプトprint_args.shは成功しました。

他に設定等はございますでしょうか。

佐藤です。

> 他に設定等はございますでしょうか。
以下のように実行してみてください。

root@0654c91c1bd0:/# curl -k -H "$AUTH" -X POST https:/ :58080/api/custom/wwan-force-restart.sh -H 'Content-type: application/json' -d '{"root":true}'

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

頂いたコマンドで実施できました。

ありがとうございました。