keiko-502
2023年6月13日 16時12分
Armadillo-IoT G3でcronを使用し,30分毎に配下から収集したデータをクラウドに送信するシステムを1ヵ月ほど,検証のため動作させたままにしていたところ,
先日,クラウド側にデータが送信されていない現象が発生しました。
クラウド側で,SIMがオフラインになっていたため,nmcli deviceコマンドで確認したところ,添付画像のとおり,デバイスの状態が「connecting」になっていました。
nmcli device connectコマンドで,接続を試したところ,問題なく接続されましたが,デバイスの状態が「connecting」になる原因は何でしょうか。
また,対策としてどのような方法がありますでしょうか。
ファイル | ファイルの説明 |
---|---|
Armadillo-iot G3_nmcli確認画面.jpg |
コメント
keiko-502
at_mitsuhiro.yoshida
吉田です。
再現が出来ていないので動作確認が出来ていないのですが、例として connection-recoverd.txt を添付いたします。
これをご使用の Armadillo の /usr/bin/connection-recoverd と置き換えてください。
120 秒周期で接続状態をチェックし、3 回連続(4 ~ 6 分程度) connecting だった際に再接続を試みる処理を追加しております。
最新版 (atmark-x1-base 3.2.2-1) との差分 connection-recoverd.diff.txt も添付いたしますので、
古いバージョンをご利用の場合は差分ファイルを参考にご利用ください。
ファイル | ファイルの説明 |
---|---|
connection-recoverd.txt | |
connection-recoverd.diff.txt |
keiko-502
at_mitsuhiro.yoshida
吉田です。
> 定期動作が実行される前にnmcliコマンドでSIMの接続状況を確認し接続済みでなければ接続処理を行う,
標準イメージにて提供しております再接続サービスと処理が重複する可能性があります。
独自に接続状況の確認と再接続の処理を盛り込む場合は、connection-recover という名前の
サービスが動作しておりますので、これを停止した方がいいです。
>または,接続状況に関わらず毎回,定期動作実行前に接続を行うような処理を入れるとした場合,
> この方法に何か問題や懸念点はありますでしょうか。
定期動作の間隔にもよりますが、短時間の間に接続・切断を繰り返し行うのは
ネットワーク負荷を考えると避けた方がいいです。
ご検討よろしくお願いします。
at_mitsuhiro.yoshida
2023年6月14日 16時02分
吉田です。
お手数おかけします。
LTE の再接続実施中に、 ppp にて IP アドレスを取得する処理から先に進まない状況となっております。
標準イメージの再接続サービスでは「接続中」の状況であれば、そのうち接続済みまたは切断状態へ遷移するため何もしていないのですが接続中が継続しております。
対策としては、
/usr/bin/connection-recoverd の
connecting 状態が 2 ~ 3 回連続で発生した場合に reconnect を実施するのが対策になると思いますが、
再現させることが出来ていないので検証が難しいです。