LTE再接続サービスのスクリプト・OSの再起動を実行してもLTE接続が復旧しない

カーネル:linux 3.14.79-at17
ルートファイルシステム:製品マニュアルの手順書に従い、2018/04/04にビルドしたもの

Armadillo-IoT G3L にて、LTE接続がLTE再接続サービスのスクリプト(wwan-force-restart)、OSの再起動を実行しても
LTE接続が復旧しないという現象が発生しました。

wwan-force-restart・OSの再起動を20時間続けて実行してもLTE接続が復旧しませんでしたが、その後の G3Lの電源を
抜き指しするとLTE接続は復旧しています

お客様環境に設置しているため、電源の抜き指しでの復旧ではなく、wwan-force-restartまたはOSの再起動での復旧をさせる
必要があります。

現象発生直後と電源の抜き指しでの復旧した付近のdaemon.logを添付しますので、wwan-force-restart・OSの再起動で
復旧しなかった原因と対策について、ご教示お願いします。

現象が発生した時刻:2018/12/24 16:20 頃(log1.txtの1887行目以降)
電源OFFにした時刻 :2018/12/25 11:01 頃(log2.txtの1442行目以降)

こちらでもログの確認は行っていて、

Dec 24 16:21:17 localhost ModemManager[2162]: <info>  Cinterion ELS CFUN Error!

とModemManagerがエラーを出力しているのが気になっているのですが、原因と対策方法
を特定することができていません。

ファイル名 ファイルの説明
log1.txt 現象発生直後のログ
log2.txt 電源OFFを行った付近のログ
製品: 
Armadillo-IoT G3L

中村です。

原因や症状が違うかもしれませんが、参考になれば・・・

電源抜き差しの再起動ならば問題はないが、
rebootでの再起動の場合、何度目かのrebootで
接続できなくなるという問題が発生して、
対策をしたことがあります。

カーネルは3.14で、
モデムのファームウェアは昨年7月の4.3.3.0-36584、
SIMはSORACOMです。

> お客様環境に設置しているため、電源の抜き指しでの復旧ではなく、wwan-force-restartまたはOSの再起動での復旧をさせる
> 必要があります。

私もこれは同じで、
ログなどの調査の前にとりあえず試しに、と、
次のようにしたら回避できました。

起動後(電源抜き差しの場合もrebootの場合も同じ処理)
1) 記憶しているLTEの設定を解除
  nmcli connection down gsm-ttyACM0
  nmcli connection delete gsm-ttyACM0
2) モデムを強制リセット
  /usr/bin/wwan-force-restart
3) LTEの設定
  nmcli connection add type gsm ifname ttyACM0 apn ...

--
なかむら

中村様

回避策をご教示いただき、ありがとうございます。

早速試してみたいところではあります。

ただ、やはりお客様環境上にあるのでLTE接続ができなくなる原因と
その回避策が有効なのか、が必要になってくるので、
アットマークテクノ様からの 問題の原因・対策案についての見解も
頂きたいと思っています。

アットマークテクノ様

上記問題の原因・対策案についての見解を頂けないでしょうか?

お客様への説明が必要な状況となっていますので、よろしくお願いします。

> アットマークテクノ様
>
> 上記問題の原因・対策案についての見解を頂けないでしょうか?
>
> お客様への説明が必要な状況となっていますので、よろしくお願いします。

古関です。

ご連絡が遅くなってしまい申し訳ありません。

現時点で再現できておりませんが、現在調査中です。

> Dec 24 16:21:17 localhost ModemManager[2162]: Cinterion ELS CFUN Error!
ログと関係するソースコードを確認させていただきました。
モジュール自体は認識できていて、ATコマンドも実行できる状況なのですが、
RFを含めた全機能を有効にするコマンド"AT+CFUN=1"がエラーになっている状況のようです。

Armadillo-IoT G3Lの電源を入れなおせば復旧するということですので、
コールドスタート相当の動作を行う暫定対策も出せないか検討中です。
※ 原因調査と正式対策が長期化する可能性があるため

古関様

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

> モジュール自体は認識できていて、ATコマンドも実行できる状況なのですが、
> RFを含めた全機能を有効にするコマンド"AT+CFUN=1"がエラーになっている状況のようです。
LTEモジュールが"AT+CFUN=1"を受け付けない状況となっている、ということでよろしいでしょうか?

> Armadillo-IoT G3Lの電源を入れなおせば復旧するということですので、
> コールドスタート相当の動作を行う暫定対策も出せないか検討中です。
引き続き、ご対応よろしくお願いいたします。

古関です。

> LTEモジュールが"AT+CFUN=1"を受け付けない状況となっている、ということでよろしいでしょうか?

はい。ログに上ではそうみえます。

厳密には、AT+CFUN=1を実行し、コマンドは受け付けてはいるがStatusが設定している1にならない
という状況です。

モジュール側の問題なのか、ホスト側の処理の問題なのかは切り分けできていません。

エラーになった後に何度かリトライすれば成功するのかもしれませんが、
一般的に失敗するコマンドではないため、
ソフト的にはそのような作りになっていません。