ブログ

Armadillo-IoT G3/G4:公衆網への接続回線(3G or LTE)を確認する方法

at_shinya.matsumoto
2023年5月25日 14時00分

本ブログでは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回線で通信出来ると思います。