at_kazutaka.bito
2021年4月8日 13時11分
Armadillo-IoT(G3/G3L)では、3G/LTE再接続サービス(connection-recover)がデフォルトで動作します。
Armadillo-IoT ゲートウェイ G3L製品マニュアル
7.2.6.8. LTE再接続サービス
Armadillo-IoT ゲートウェイ G3製品マニュアル
6.2.6. 3G/LTE
6.2.6.5. 3G/LTE再接続サービス
3G/LTE再接続サービス(connection-recover)は、microSIMが接続されており、
NetworkManagerの有効な3G/LTEのコネクション設定がされているとき、
120秒に一度、コネクションの状態を監視します。
デフォルトでは、ping 8.8.8.8が失敗した場合、/var/log/syslogにログが出力されます。
ここでは、ping 8.8.8.8が成功した場合も、/var/log/syslogにログを出力するようにします。
/usr/bin/connection-recoverd内のis_connectを下記のように変更(※)します。
※)"# SUCCESS"というコメントがある1行を追加しています。
is_connect() { ping -s 1 -c ${PING_COUNT} -w 10 -I ${NETWORK_IF} ${PING_DEST_IP} > /dev/null 2>&1 if [ $? -eq 0 ]; then logger -t connection-recover "$DEVICE ping success" # SUCCESS return 0 else logger -t connection-recover "$DEVICE ping fail" fi return 1 }
/usr/bin/connection-recoverdを上記のように変更後、connection-recoverのリスタートすると、
/var/log/syslogでは、下記のようなログで120秒ごとにping 8.8.8.8が成功していることを確認できます。
Mar 30 03:52:52 armadillo connection-recover: ttyACM0 ping success Mar 30 03:54:55 armadillo connection-recover: ttyACM0 ping success Mar 30 03:56:57 armadillo connection-recover: ttyACM0 ping success