Armadilloフォーラム

A6EのLTEが接続しなくなる

iwaya_yoke

2025年3月18日 13時59分

以下の動作を繰り返す運用をしているのですが、LTEが途絶してしまっています(LEDが点滅状態)。
※現在は再起動によりLTEは復帰している状態です
・5分間スリープ
・起床後、データ取得しサーバへ保存

同じようなことをしているトピックがあったので、スリープ直前には"mmcli -m 0"コマンドで、stateがconnectedであることを確認してから、
スリープへ移行するような処置をとっているのですが、それでもLTEが途絶しました。
https://armadillo.atmark-techno.com/forum/armadillo/23161

途絶状態で"mmcli -m 0"をうつと、以下のようなレスポンスでした。
※電話番号だけ伏字にしています

  --------------------------------
  General  |                 path: /org/freedesktop/ModemManager1/Modem/0
           |            device id: 6a25993a812c177924a54986483a3ddf63b399be
  --------------------------------
  Hardware |         manufacturer: Cinterion
           |                model: EMS31-J
           |    firmware revision: REVISION 04.014
           |            supported: lte
           |              current: lte
           |         equipment id: 358009090188185
  --------------------------------
  System   |               device: ems31
           |               plugin: cinterion-ems31
           |         primary port: ttyCommModem
           |                ports: ttyCommModem (at), ttyMux1 (at)
  --------------------------------
  Numbers  |                  own: 080xxxxxxxx
  --------------------------------
  Status   |       unlock retries: sim-pin (3), sim-puk (10)
           |                state: registered
           |          power state: on
           |          access tech: lte
           |       signal quality: 58% (cached)
  --------------------------------
  Modes    |            supported: allowed: 4g; preferred: none
           |              current: allowed: 4g; preferred: none
  --------------------------------
  Bands    |            supported: eutran-1, eutran-19
           |              current: eutran-19
  --------------------------------
  IP       |            supported: ipv4, ipv6, ipv4v6
  --------------------------------
  3GPP     |          operator id: 44010
           |        operator name: docomo
           |         registration: home
           | packet service state: attached
  --------------------------------
  3GPP EPS | ue mode of operation: csps-2
  --------------------------------
  SIM      |     primary sim path: /org/freedesktop/ModemManager1/SIM/0

また、"send-at /dev/ttyMux2 AT+CSQ echo ems31"をうつと以下のレスポンスでした。

AT+CSQ
+CSQ: 18,99
OK

原因として何が考えられるでしょうか?

==========
Debian/ABOSバージョン:v3.21.3-at.2
カーネルバージョン:v5.10.234-r0
==========

コメント

ありがとうございます。
/etc/init.d/modemmanagerがなかったので、新しく作成して、ログを有効化しました。
正しく設定された場合、どのようなメッセージが出力されますか?
grepで抽出できるとうれしいです。

佐藤です。

> 正しく設定された場合、どのようなメッセージが出力されますか?
以下のようなログが出力されていれば正しく設定されているかと思います。
"ModemManager (version 1.22.0) starting in system bus..."

通信途絶が再現したので、messageファイルを共有します。
15:12頃からのデータがサーバに保存されないようになりました。

佐藤です。

ログありがとうございます。確認します。
一点確認させてください。
スリープ直前には"mmcli -m 0"コマンドで、stateがconnectedであることを確認している
とのことですが、
データをサーバへ送信する前にも connected であることを確認しているのでしょうか。

connectedなら送られて、そうでなければエラーをキャッチして送られないだけだと思っているので、それはしていません。
connected出ない状態で送信するとモデムになんらかの影響がありますか?

佐藤です。

回答遅くなり申し訳ありません。

スリープから起床後、LTE網への再接続を行い、それが完了すると
8.8.8.8 へpingを打ち導通確認を行うのですが、それに失敗しています。

Mar 19 15:18:58 armadillo user.notice aiot-catm1-alive: not connect wwan ip, do wan-force-restart

導通確認に失敗した場合は、LTEモジュールを再起動してLTEの再接続を行うのですが、
LTEモジュールの起動完了前に、LTE接続を行おうとして失敗してるようです。

以下のファイル(/usr/bin/wwan-force-restart)を修正して、再度試していただけますでしょうか。

armadillo:~# vi /usr/bin/wwan-force-restart
 
147行目の
sleep 30
となっている箇所を
sleep 50
に変更

LTEモジュールの起動完了を待つ秒数を延ばしています。

佐藤様

ありがとうございます。
指定箇所を変更し、persist_fileで永続化後、再起動しました。
これでしばらく様子見をしたいと思います。

ちなみに、50というのはLTEモジュールが起動完了するのに十分な秒数を指定している、という理解で正しいですか?

佐藤です。

> ちなみに、50というのはLTEモジュールが起動完了するのに十分な秒数を指定している、という理解で正しいですか?
はい、合っております。

また他の方法として、 connection-recover サービスを有効にするというのもあります。
これは2分毎に接続状態をチェックし切れていたら再接続するというものになります。
以下のようにすると有効になります。

armadillo:~# rc-update add connection-recover default
armadillo:~# rc-service connection-recover start 
armadillo:~# persist_file /etc/runlevels/default/connection-recover

佐藤様

ありがとうございます。
connection-recover サービスについてもありがとうございます。
スリープ中も都度起床するようなので、要検討します。