本ブログではArmadilloが3G回線とLTE回線どちらに接続しているのか確認する方法を紹介します。
※Armadillo-IoT G3/G4のLTE搭載モデルが対象です
3G停波について
3G回線は下記日程で停波する事が決まっております。(2023年5月時点)
・NTTドコモ :2026年3月31日
・ソフトバンク:2024年1月31日
・KDDI :2022年3月31日(既に終了)
この3G停波に伴い、停波の期間までに旧バージョンのModemManagerをご使用の場合はアップデート
して頂く必要があります。アップデートが必要な理由は3G/LTEとLTEのみではコネクションシーケンスに
違いがあり、旧バージョンのModemManagerでは3G停波後にはLTEでも通信が出来なくなります。
■ModemManagerのバージョン情報は下記のアップデート通知を参照下さい。
※既に下記通知のバージョン以降であれば本件は問題有りません
アップデート通知:https://armadillo.atmark-techno.com/news/announce/g4g3/20230529
ModemManagerをアップデートする際、事前にLTE回線で通信している事を確認頂く事を推奨致します。
その理由は、仮にLTE回線の電波が著しく弱く接続できない場合、アップデート後に公衆網を使った通信が
一切出来なくなる可能性があります。
そこで、例として下記の様な方法でアップデート前にLTE回線に接続出来ている事を確認しておくと
安全に進める事が出来ると思います。
※アップデートはお客様にて十分にご評価の上、実施願います。
※必ずしも「3G回線でしか接続していない=LTE回線が接続できない」という訳ではありませんが、
その様な環境下にある機器の場合はアップデートの際にはご注意頂ければと思います。
公衆網の接続先(3G/LTE)の確認
mmcliコマンドで現在の接続先を確認する事が出来ます。
下記コマンドでで出力される”access tech”がLTEかUTMS(3G)で判断する事が出来ます。
現在のキャリアモジュールの接続先確認
# mmcli -m 0 | grep -i 'access tech'
また、現状は3Gであってもその後LTEで接続する可能性もある為、例えば下記の様なスクリプトを
一定期間crontabで実行する事で、3G回線にのみ接続しているのか、LTE回線でも接続しているのか
判断する材料として頂ければと思います。
以下はArmadillo-IoT G4で実施する例です。
※ここではmmcliコマンドを使用する為にArmadillo Base OS上で実行していますが、通常のアプリでは
crondはコンテナ内で実行する事を推奨します。
crondを有効化
# rc-update add crond
# persist_file -p /etc/runlevels/default/crond
スクリプト作成(以下は例)
# cat check_wwan.sh
#!/bin/sh
lte=`mmcli -m 0 | grep -i 'access tech' | grep -i lte`
utms=`mmcli -m 0 | grep -i 'access tech' | grep -i utms`
date=`date "+%Y/%m/%d %H:%M:%S"`
if [ -n "$lte" ]; then
echo "$date :LTE" >> /var/app/volumes/wwan.txt
elif [ -n "$utms" ]; then
echo "$date :3G" >> /var/app/volumes/wwan.txt
else
echo "error" >> /var/app/volumes/wwan.txt
fi
実行権限付与・動作確認
# chmod +x check_wwan.sh
# persist_file check_wwan.sh
# ./check_wwan.sh
《補足》
データを保存している/var/app/volumes/ディレクトリはeMMCに保存可能な領域です。
上記で作成した check_wwan.sh を 下記の様に crontab に登録します。
ここでは /root/check_wwan.sh を1時間毎に実行する様にしています。
# cat /etc/crontabs/root
# do daily/weekly/monthly maintenance
# min hour day month weekday command
*/15 * * * * run-parts /etc/periodic/hourly
0 * * * * /root/check_wwan.sh
0 2 * * * run-parts /etc/periodic/daily
0 3 * * 6 run-parts /etc/periodic/weekly
0 5 1 * * run-parts /etc/periodic/monthly
crontabの設定をeMMCに保存
# persist_file /etc/crontabs/root
crondを再起動
# rc-service crond restart
上記でLTEで通信可能であることが確認出来れば、アップデート後もLTE回線で通信出来ると思います。