Armadilloフォーラム

LTE接続できる場合、出来ない場合

uen2825

2025年2月20日 11時03分

==========
製品型番:Armadillo-IoT A6E
Debian/ABOSバージョン:base_os 3.20.2-at.1
カーネルバージョン:Kernel 5.10.222-0
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
お世話になります。
半年ほど動作していたA6E、SIMはMEEQ(docomo)をソラコム(kddi)に交換しました。
LTEに接続できたりできなかったりと原因がわかりません。
OK,NGのそれぞれのログを添付いたしますので確認していただきたいです。
NGの場合は2回リトライしており6分ほど掛かっています。
1時間毎に通信しています。
時間が初期状態になる設定をしておりますので、毎回9時スタートになっております。

ファイル ファイルの説明
NG_log.txt
OK_log.txt
コメント

佐藤です。

確認させてください。

> 半年ほど動作していたA6E、SIMはMEEQ(docomo)をソラコム(kddi)に交換しました。
お使いになれれている SIM は SORACOM の plan-KM1 でしょうか。

また、より詳細なログを取得するため、以下の手順を行った後に再度問題となっている現象を発生させ、その時のログをいただけますでしょうか。
armadillo 上で "/etc/init.d/modemmanager" を開き以下のように編集してください。

armadillo:~# vi /etc/init.d/modemmanager

"--log-level=DEBUG " を追加します。

#!/sbin/openrc-run
 
supervisor=supervise-daemon
command=/usr/sbin/ModemManager
command_args="${modemmanager_opts} --log-level=DEBUG" ## --log-level=DEBUG を追加
retry="SIGTERM/60/SIGKILL/1"
 
description="ModemManager Daemon"
 
depend() {
   need dbus
}

保存して終了した後、永続化して modemmanager を再起動します。

armadillo:~# persist_file /etc/init.d/modemmanager
armadillo:~# rc-service modemmanager restart

この後、問題となっている現象を発生した時のログ(/var/log/messages)をいただけますでしょうか。

ログを取得し終わりましたら、 "/etc/init.d/modemmanager" を最初の状態に戻して上記と同じ手順で persist_file を行い modemmanager を再起動してください。

佐藤様。ありがとうございます。

> > 半年ほど動作していたA6E、SIMはMEEQ(docomo)をソラコム(kddi)に交換しました。
> お使いになれれている SIM は SORACOM の plan-KM1 でしょうか。
はい、plan-KM1です。

本体を現場に設置してしまいましたので、暫く試すことができません。
また環境が整ったらご連絡差し上げるかもしれません。
その際は宜しくお願いいたします。

接続出来る場合が多いのですが、接続できなくなると数時間出来ない状況が続き、今回は3日ほど接続できなくなり回収しました。
教えて頂いた方法でlogを取りましたので、ご確認頂けますでしょうか

ファイル ファイルの説明
messages.txt

佐藤です。

設置場所の KDDI の電波環境としては問題ない場所なのでしょうか?

SIM を入れ替えたら現象が発生するようになったとのことなので、以下を実施すると改善されるかもしれません。
・LTEモデムをリセットする
以下のコマンドを armadillo 上で実行します

armadillo:~# rc-service modemmanager stop
armadillo:~# rc-service ems31-boot stop
armadillo:~# ems31-power-ctrl off
armadillo:~# ems31-power-ctrl on
を入力してから 10 秒ほど待ちまして
armadillo:~# send-at /dev/ttymxc3 AT echo ems31
で OK が返るまで繰り返し入力して待ちます。
armadillo:~# send-at /dev/ttymxc3 AT^SCFG=\"MEopMode/Factory\",\"all\" echo ems31
3 分ほど待ちます。
armadillo:~# reboot

・キャリアを固定する
以下を参照して fix_profile に "kddijp" を設定する
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

armadillo:~# cp /etc/atmark/ems31-boot.conf.example /etc/atmark/ems31-boot.conf
armadillo:~# vi /etc/atmark/ems31-boot.conf
(省略)
# fix_profile:"auto","docomojp","sbmjp","kddijp"
fix_profile="kddijp" # ★ kddijp に変更
(省略)
 
armadillo:~# persist_file /etc/atmark/ems31-boot.conf
armadillo:~# reboot

佐藤様 ありがとうございます。

現状のバージョンです

armadillo:~# send-at /dev/ttyMux2 ATI1 echo ems31
ATI1
Cinterion
EMS31-J
REVISION 04.014
A-REVISION 01.001.10
OK

> 設置場所の KDDI の電波環境としては問題ない場所なのでしょうか?
AT+CSQで実行すると20前後の値が取得できます。
同じ場所で別のA6E(KDDI)と交換したところ動きました。

LTE不通の件、下記の手順で解消しました。
ただ一度設置してしまうと回収が困難となります。
恒久的な対策として、SIM交換時にこの作業をおこなう事で現象は起こりにくくなるのでしょうか
> SIM を入れ替えたら現象が発生するようになったとのことなので、以下を実施すると改善されるかもしれません。
> ・LTEモデムをリセットする
> 以下のコマンドを armadillo 上で実行します
>

> armadillo:~# rc-service modemmanager stop
> armadillo:~# rc-service ems31-boot stop
> armadillo:~# ems31-power-ctrl off
> armadillo:~# ems31-power-ctrl on
> を入力してから 10 秒ほど待ちまして
> armadillo:~# send-at /dev/ttymxc3 AT echo ems31
> で OK が返るまで繰り返し入力して待ちます。
> armadillo:~# send-at /dev/ttymxc3 AT^SCFG=\"MEopMode/Factory\",\"all\" echo ems31
> 3 分ほど待ちます。
> armadillo:~# reboot
> 

下記の設定はしております
> ・キャリアを固定する
> 以下を参照して fix_profile に "kddijp" を設定する
> https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…
>

> armadillo:~# cp /etc/atmark/ems31-boot.conf.example /etc/atmark/ems31-boot.conf
> armadillo:~# vi /etc/atmark/ems31-boot.conf
> (省略)
> # fix_profile:"auto","docomojp","sbmjp","kddijp"
> fix_profile="kddijp" # ★ kddijp に変更
> (省略)
> 
> armadillo:~# persist_file /etc/atmark/ems31-boot.conf
> armadillo:~# reboot
> 

宜しくお願いいたします。

佐藤です。

> > 設置場所の KDDI の電波環境としては問題ない場所なのでしょうか?
> AT+CSQで実行すると20前後の値が取得できます。
> 同じ場所で別のA6E(KDDI)と交換したところ動きました。
ありがとうございます。電波環境としては問題なさそうです。

>
> LTE不通の件、下記の手順で解消しました。
> ただ一度設置してしまうと回収が困難となります。
> 恒久的な対策として、SIM交換時にこの作業をおこなう事で現象は起こりにくくなるのでしょうか
はい、特に今回のような別のキャリアのSIMに交換した際はこの手順で現象は起こりにくくなると思います。

佐藤様 ありがとうございます。

今回の製品は2/21 10:00に現場に設置していただきました。
1時間ごとの通信で下記時間が連続して停止しています。
これも今回の現象で起こり得るのでしょうか
2/21 17:00-2/22 18:00
3/11 16:00-3/12 9:00
3/18 6:00-3/20 9:00
3/29 8:00-3/29 20:00
4/3 5:00-4/3 20:00
4/7 12:00-18:00
4/9 13:00-4/13 9:00 回収

今回の対処方法は分かりました⇒sim交換時に教えて頂いた方法を実行する。
ほかに根本的な解決方法は無いでしょうか

> 佐藤様 ありがとうございます。
>
> 今回の製品は2/21 10:00に現場に設置していただきました。
> 1時間ごとの通信で下記時間が連続して停止しています。
> これも今回の現象で起こり得るのでしょうか
> 2/21 17:00-2/22 18:00
> 3/11 16:00-3/12 9:00
> 3/18 6:00-3/20 9:00
> 3/29 8:00-3/29 20:00
> 4/3 5:00-4/3 2
> 4/7 12:00-18:00
> 4/9 13:00-4/13 9:00 回収
>
> 今回の対処方法は分かりました⇒sim交換時に教えて頂いた方法を実行する。
> ほかに根本的な解決方法は無いでしょうか
すいません、これも根本的な解決ではなく対処療法的なものになってしまいますが、
LTE が切れた場合に再接続を行う connection-recover というサービスを用意しています。
こちらを利用していただくのも良いかと思います。
以下のようにすると有効にできます。

[armadillo ~]# rc-update add connection-recover default 
service connection-recover added to runlevel default
[armadillo ~]# rc-service connection-recover start 
connection-recover| * Starting connection-recover ... [ ok ]
[armadillo ~]# persist_file /etc/runlevels/default/connection-recover

connection-recover についてはマニュアルの以下を参照ください。
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

佐藤様 ありがとうございます。
シャットダウンもありますのでconnection-recover は使用できません。
そこで、終了時のシェルを下記の様にしました。
/etc/containers/aiot_gw_container_hooks.d/hook.sh
pythonでoff_flg.txtに1から3の値を入れ判断しています。

#!/bin/sh
flg=$(cat /************/off_flg.txt)
flg1=1
flg2=2
 
if [ $flg1 = $flg ]; then
    /sbin/poweroff
elif [ $flg2 = $flg ]; then
    rc-service modemmanager stop
    sleep 1
    rc-service ems31-boot stop
    sleep 1
    ems31-power-ctrl off
    sleep 1
    ems31-power-ctrl on
    sleep 10
    for i in {1..10}
    do
        send-at /dev/ttymxc3 AT echo ems31
        sleep 1
        rc=$?
        if [ $rc -eq 0 ]; then
            break
        fi
    done
    send-at /dev/ttymxc3 AT^SCFG=\"MEopMode/Factory\",\"all\" echo ems31
    sleep 180
    /sbin/poweroff
else
    /usr/bin/pwu_notify container_stop
fi

1がシャットダウン
2がモデムマネージャーリセット後のシャットダウン
3がスリープです

シャットダウン時は電流は1mA以下になります
LTEの通信テストとして、アンテナを外してテストしました
モデムマネージャーリセット後シャットダウンするようにしております
この時、電流が50mAくらい→1mA以下→50mAくらい(テスター測定値) と繰り返しています
(気のせいかもしれませんが、SIM入れ替え後の1回目は1mA以下になる様な気がします)
この時リセットボタンを押しても起動しないので、A6Eはシャットダウンしています。
通常のシャットダウン時とモデムマネージャーリセット後のシャットダウン時の電流が違うのは何故でしょうか
この状態でスリープ時、消費電流も同様に8mAが13mAに増加します
上記は電源の入り切りで通常の値に戻ります
電源電圧はDC12Vにて試験をしております。

ems31-boot.confは下記になります。

suspend=enable
psm=3m,1m
edrx=20.48,5.12

suspend=enableとdisaibleは何が変わりますでしょうか

> シャットダウン時は電流は1mA以下になります
> LTEの通信テストとして、アンテナを外してテストしました
> モデムマネージャーリセット後シャットダウンするようにしております
> この時、電流が50mAくらい→1mA以下→50mAくらい(テスター測定値) と繰り返しています
> (気のせいかもしれませんが、SIM入れ替え後の1回目は1mA以下になる様な気がします)
/sbin/poweroff 下にも関わらず、電流が 50->1->50と繰り返す問ことでしょうか。
flg1=1 のときに /sbin/poweroff の前に "ems31-power-ctrl off" を実行するとどうでしょうか。

> suspend=enableとdisaibleは何が変わりますでしょうか
"aiot-sleep" コマンドでスリープしたときに
LTEモジュールの消費電力がより少なくなります。

お世話になっております。
> > シャットダウン時は電流は1mA以下になります
> > LTEの通信テストとして、アンテナを外してテストしました
> > モデムマネージャーリセット後シャットダウンするようにしております
> > この時、電流が50mAくらい→1mA以下→50mAくらい(テスター測定値) と繰り返しています
> > (気のせいかもしれませんが、SIM入れ替え後の1回目は1mA以下になる様な気がします)
> /sbin/poweroff 下にも関わらず、電流が 50->1->50と繰り返す問ことでしょうか。
はい。そうです。

> flg1=1 のときに /sbin/poweroff の前に "ems31-power-ctrl off" を実行するとどうでしょうか。
flg2=2のときに電流が50->1->50と繰り返します。
/sbin/poweroffの前に、下記を入れても症状は変わりませんでした

ems31-power-ctrl off
sleep 1

> > suspend=enableとdisaibleは何が変わりますでしょうか
> "aiot-sleep" コマンドでスリープしたときに
> LTEモジュールの消費電力がより少なくなります。
どのくらい変わるのでしょうか、若しくは説明されているページを教えて頂けますでしょうか
またenableにした方が電波を取得しやすくなるのでしょうか