ta-imai
2025年7月2日 15時33分
==========
製品型番:AG6271-C03Z
Debian/ABOSバージョン:3.21.3-at.12
カーネルバージョン:5.10.237-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
BaseOSのバージョンアップのため、現在 3.21.3-at.12 での動作確認を行っています。
connection-recover を使用して LTE 回線の監視を実施していますが、
動作を確認するとping応答が1回ない場合でも LTE 回線が切断・再接続されました。
3.19.1-at.1 では、複数回連続で ping 応答がない場合に LTE 回線の切断・再接続が行われていましたが、
3.21.3-at.12 では 1回の ping 応答なしで 回線が切断・再接続される仕様に変更されたのでしょうか?
もし仕様が変更されたのであれば、その理由を教えていただくことは可能でしょうか?
8.8.8.8に1秒間隔で1時間pingを送信すると、弊社環境では15~30回応答がありませんでしたが、
その後のpingに対しては応答はあるため、
1回の応答なしでLTE回線を切断・再接続する必要があるとは思えませんでした。
以前のように「連続で応答なし」の条件に戻すことは可能でしょうか?
ご確認のほど、よろしくお願いいたします。
コメント
ta-imai
お世話になります。
is_connected()内ではなく、is_connected()から返った後の処理が変わっています。
*connected*) clear_counts is_connected PING_STATUS=$? if [ $PING_STATUS -ne 0 ]; then # if reboot or restart wwan, do not reconnect PING_NG_COUNT_TMP=$((PING_NG_COUNT+1)) if [ $PING_NG_COUNT_TMP -lt $FORCE_RECONNECT_PING_NG_COUNT ]; then reconnect fi else WWAN_RESTART_COUNT=0 fi ;;
PING_NG_COUNT_TMP が FORCE_RECONNECT_PING_NG_COUNT 小さい場合、reconnect()が実行されます。
pingの応答なし1回目はPING_NG_COUNT_TMPが 1 になりますので、reconnect()実行されることになります。
3.19.1-at.1 では、下記のようになっていました。
EX_FORCE_RECONNECT_PING_NG_COUNT以上になるまでは、reconnect()実行されません。
*connected*) SIM_NOT_FOUND_COUNT=0 is_connected PING_STATUS=$? if [ $PING_STATUS -ne 0 ]; then # if reboot or restart wwan, do not reconnect PING_NG_COUNT_TMP=$((PING_NG_COUNT+1)) if [ $PING_NG_COUNT_TMP -ge $EX_FORCE_RECONNECT_PING_NG_COUNT ]; then reconnect fi else WWAN_RESTART_COUNT=0 fi ;;
以上、よろしくお願いします。
martinetd
横からすみません、
マルティネです。
> EX_FORCE_RECONNECT_PING_NG_COUNT以上になるまでは、reconnect()実行されません。
> if [ $PING_NG_COUNT_TMP -ge $EX_FORCE_RECONNECT_PING_NG_COUNT ]; then
手元でコードを変更してませんか?
確認したところ ABOS では変わってません。
$ curl -s https://download.atmark-techno.com/armadillo-iot-a6e/baseos/baseos-6e-3.19.1-at.1.tar.zst | zstd -d | tar -Oxv ./usr/bin/connection-recover | grep -C 2 PING_NG_COUNT_TMP if [ $PING_STATUS -ne 0 ]; then # if reboot or restart wwan, do not reconnect PING_NG_COUNT_TMP=$((PING_NG_COUNT+1)) if [ $PING_NG_COUNT_TMP -lt $FORCE_RECONNECT_PING_NG_COUNT ]; then reconnect fi
よろしくお願いします
ta-imai
at_satoshi.ohta
2025年7月2日 17時47分
太田です。
お世話になっております。
> 3.19.1-at.1 では、複数回連続で ping 応答がない場合に LTE 回線の切断・再接続が行われていましたが、
> 3.21.3-at.12 では 1回の ping 応答なしで 回線が切断・再接続される仕様に変更されたのでしょうか?
特にここの処理に関して仕様変更はされていないです。
/usr/bin/connection-recover をみると、
で ping を実行しています。
ここの処理から ping の送信回数を制御するには PING_COUNT の値を変更することでできることが分かります。
PING_COUNT の値はデフォルトでは 2 です。
この値を変更する場合は Armadillo 上で以下を実行してみていただけますでしょうか?
これで設定が反映されるはずですので試していただけますでしょうか?
どうぞよろしくお願いいたします。