3G再接続時の3Gモジュール再起動失敗について

Armadillo-IoT G3 AGX3120

お世話になります。市川と申します。

Armadillo-IoT G3をSORACOMAirSIMで3G接続させ、
電波強度が十分でない環境(mmcli取得のRSSI値0-5程度)に設置しているため、頻繁に3G再接続サービスが動作しています。

3Gモジュール再起動が正常に動作せず、以降の3G再接続処理が動作しなくなってしまう事象が発生しました。
<添付のsyslog比較用_NG.txtから抜粋>
armadillo ModemManager[31865]: Modem for device at '/sys/devices/soc/30800000.aips-bus/30b30000.usb/ci_hdrc.2/usb3/3-1/3-1.2' successfully created
armadillo ModemManager[31865]: Modem couldn't be initialized: couldn't load current capabilities: Failed to determine modem capabilities.
armadillo NetworkManager[455]: (ttyACM3): failed to look up interface index
armadillo NetworkManager[455]: (ttyACM3): new Broadband device (driver: 'cdc_acm' ifindex: 0)
armadillo NetworkManager[455]: (ttyACM3): exported as /org/freedesktop/NetworkManager/Devices/456
armadillo NetworkManager[455]: (ttyACM3): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
armadillo NetworkManager[455]: (ttyACM3): preparing device
armadillo NetworkManager[455]: (ttyACM3): modem state 'unknown'
※以後NetworkManagerとModemManagerのログ出力無し

connection-recover.confはFORCE_REBOOT=FALSEです。
遠隔地に設置したArmadilloで発生したため通信断状態でコンソールにログインすることができず、正確なmodem stateの値は取得できておりません。
また、事象再現もさせられていない状況です。

上記事象について下記3点ご教授ください。
①3Gモジュールの再起動に失敗してしまう原因
②上記事象発生後に以降の3G再接続処理が動作しない原因
③FORCE_REBOOT=TUREにすれば上記状況でもシステム再起動が動作するでしょうか。

よろしくお願いいたします。

以上です。

ファイル名 ファイルの説明
syslog比較用_NG.txt
syslog比較用_OK.txt

大塩です。

問題解決のため、ご利用のArmadillo-IoT G3で使用しているソフトウェアのバージョンをお教えいただけますでしょうか。

・u-boot(ブートローダー)
・uImage
・dtb
・ユーザーランド

以上です。

お世話になります。市川です。

・u-boot(ブートローダー)
u-boot-x1-at17.bin

・uImage
linux-3.14-x1-at21.tar.gz

・dtb
バージョンがわからなかったので、dtbファイルを添付します。
CON1_USB_VBUSに電圧供給するために下記ページのusblan_2.patchを適用しています。
https://users.atmark-techno.com/blog/1913/2810

・ユーザーランド
debian-jessie-armhf_aiotg3_20181030.tar.gz

よろしくお願いいたします。

以上です。

ファイル名 ファイルの説明
armadillo_iotg_g3.dtb

大塩です。

情報の送付ありがとうございます。

最初にいただいたご質問①②③について回答いたします。
>①3Gモジュールの再起動に失敗してしまう原因
>②上記事象発生後に以降の3G再接続処理が動作しない原因
推測ではありますが、頻繁に3Gモジュール(PDS6-J)が再起動を繰り返すと、3Gモジュール(PDS6-J)を認識しなくなるように見えます。
そのため3Gモジュール(PDS6-J)の再起動に失敗し、同時に以降の3G再接続処理が上手く動作しなくなるようです。

> 遠隔地に設置したArmadilloで発生したため通信断状態でコンソールにログインすることができず
上記とあるため難しいかもしれませんが、/usr/bin/wwan-force-restartの、g3_wwan_force_restart()関数内へsleepの追加を試していただけますでしょうか。
以下追加例

g3_wwan_force_restart() {
        systemctl stop ModemManager
 
        if [ -e $SYSFS_NODE_PATH ]; then
                put_log "start force restart pds6"
                send-at /dev/ttyACM3 AT^SMSO
                if [ $? -eq 0 ]; then
                        wait_pds6_disconnect
                else
                        echo 1 > $SYSFS_NODE_PATH
                fi
                wait_pds6_connect
                put_log "end force restart pds6"
        else
                put_log "error: $SYSFS_NODE_PATH is not found"
        fi
 
        sleep 1
        systemctl start ModemManager
}

>③FORCE_REBOOT=TUREにすれば上記状況でもシステム再起動が動作するでしょうか
FORCE_REBOOT=TUREとすることでシステム再起動は動作します。

> 電波強度が十分でない環境(mmcli取得のRSSI値0-5程度)に設置しているため、頻繁に3G再接続サービスが動作しています。
3Gアンテナを延長する等、設置場所の再検討をお勧めします。
以下のHowtoを参考にしてください。
https://armadillo.atmark-techno.com/howto/armadillo_3g-lte_installation-location

以上です。

市川です。

ご回答ありがとうございます。

①②のsleep追加について、該当Armadilloは電源ケーブルの抜き差しにより事象自体は回復しており、リモート接続可能な状態に復帰しておりますので対応可能です。
こちらでも応急対処として、3Gモジュールの再起動頻度を下げるべく強制再起動動作条件を30回に変更しております。
■/usr/bin/connection-recoverd
FORCE_RECONNECT_PING_NG_COUNT=30

sleep追加の効果を確認したいのですが、こちらではまだ事象再現にいたっておりません。
もし貴社にて事象再現していましたら、再現手段を教えてください。

また、3Gモジュールを認識しなくなる根本原因についてはまだ判明していないと認識していますが、特定できる見込みはあるでしょうか。

③の設置場所変更については、次回現地訪問時に改善を図る予定です。
延長ケーブルが必要な場合は別途貴社営業様に問い合わせさせていただきます。

以上です。

大塩です。

> ①②のsleep追加について、該当Armadilloは電源ケーブルの抜き差しにより事象自体は回復しており、リモート接続可能な状態に復帰しておりますので対応可能です。
> こちらでも応急対処として、3Gモジュールの再起動頻度を下げるべく強制再起動動作条件を30回に変更しております。
> ■/usr/bin/connection-recoverd
> FORCE_RECONNECT_PING_NG_COUNT=30
>
> sleep追加の効果を確認したいのですが、こちらではまだ事象再現にいたっておりません。
> もし貴社にて事象再現していましたら、再現手段を教えてください。
>

頂いたログなどからの推測ではありますが、wwan-force-restartコマンドを短時間で繰り返し発生させ続けると、再現する可能性があります。

> また、3Gモジュールを認識しなくなる根本原因についてはまだ判明していないと認識していますが、特定できる見込みはあるでしょうか。
>

根本原因については、調査を進めていく方針です。

以上です。
よろしくお願いします。

市川です。

ご回答ありがとうございます。

弊社でも再現試験を継続しますので、追加情報があれば投稿します。
引き続き、原因調査のほどよろしくお願いいたします。

以上です。