Armadilloフォーラム

Signal Qualityが低いcellに接続してしまう現象について

sshida

2020年7月7日 17時51分

Armadillo IoT G3 M1内蔵の3G/LTEモデムで常時接続して利用しております

ある1台の機材で問題があり、何か対応方法を教えて下さい。

この機材は mmcli -m 0 で表示される Signal Quality がほとんどの時間帯では 40 または 60 ですが、ときおり Signal Quality が 20か10未満のCell IDに接続し、その後よく切断してしまいます。

定期的にmmcli -m 0 --location-get で Cell ID を確認すると、
Signal Quality が 40-60 の Cell IDと 10未満のCell ID には偏りがあり、
電波が良くない基地局に接続しているように見えます。

7日間で Signal Quality が 40 以上だったCell IDは次のとおりで、Cell ID に変化があった回数は次のとおりです。
ほとんどは先頭が 4 で始まる Cell ID です。

  18 41882116
1609 41882132
1879 41882196
  18 46749968
  14 46749970
 534 46750035
   3 68518026
   4 68518027
   3 68518031
   2 68550661
   1 68550751
   3 68550757

一方、Signal Qualityが 40 未満で出現したCell IDの回数は次のとおりです。

   1 41882116
 120 41882132
 181 41882196
   2 46749968
  62 46750035
  73 68517945
  74 68518026
1853 68518027
1247 68518031
   1 68550659
 261 68550661
  39 68550751
 147 68550757

4で始まるCell IDもありますが、ほとんどは 6で始まるCell IDです。
6で始まるCell ID での Signal Quality は 20 か 10 未満でした。

この、Signal Qualityが低いCell IDに接続しないようにするにはどのようにしたらよいでしょうか?

参考に、7日間の記録をCSVで添付いたします。
CSV形式は空白区切りの「時刻(ms)、Signal Quality、Cell ID」です。

ファイル ファイルの説明
time-signal-cellId.txt 7日間の記録です。CSV形式は空白区切りの「時刻(ms)、Signal Quality、Cell ID」です。
コメント

at_mitsuhiro.yoshida

2020年7月9日 10時55分

吉田です。

セルの選択ロジックは、モデム内で閉じているので変更できないのですが、
もし6で始まる方に接続している時と、4で始まるときで3G/LTEが違うのであれば、
接続先を3GまたLTE固定にすることで、現象を回避できる可能性があります。

接続中のネットワークは、
mmcli -m 0 コマンドの "access tech" で確認できます。
access tech: 'umts' → 3G
access tech: 'lte' → LTE
3G/LTEの固定手順は製品マニュアルの「6.2.6.6.5. 使用する通信方式を固定する」を
参照ください。
https://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_pro…

但し、3G/LTEを固定してしまうと、選択していない側のネットワークには
接続しなくなりますので、ご了承の上ご利用ください。

上手く切り替わらない場合は、一度再接続サービスと ModemManager の再起動をお願いします。
# systemctl stop connection-recover.service
# service ModemManager stop
# service ModemManager start
# systemctl start connection-recover.service

また、モデム内の不揮発領域をクリアすることで状況が変わる可能性はあります。
手順は、
再接続サービスと ModemManager を停止します。
# systemctl stop connection-recover.service
# service ModemManager stop
以下のコマンドを実行します。
# ec25-clean-reset
再接続サービスと ModemManager を起動します。
# service ModemManager start
# systemctl start connection-recover.service

sshida

2020年8月17日 17時57分

ec25-clean-resetをどのような場面で実行してよいのか目星をつけたいので、どのような処理なのか、自分がこれから何をしようとしているのか理解したいです。

ec25-clean-reset では、AT+QPRTPARA=3 が実行されていますが、QuectelのATコマンドマニュアルには書かれていないとのことです。
ユーザーフォーラムでは「AT+QPRTPARA=3 はEC25Jモデムのパラメーターを初期化する」と教えていただきましたが、パラメーターにもいろいろあると思います。

どのようなパラメーターが初期化され、初期化とはどのような値になり、初期化されたあとのEC25-Jはそれまでとは異なる、どのような処理を始めるのでしょうか?

気になっているのは次の点です。
- 初期化されたあと、3G/LTE接続できるまでの時間がどの程度伸びるのか、接続しにくくなるのか
- 初期化されたあと、3G/LTE接続できなくなるような可能性はどの程度あるのか

運用中のM1のうち切断が非常に多く不安定なモデムを遠隔から操作してEC25Jの接続をどうしても復帰させたいのですが、「モデムのパラメーターを初期化する」だけですと、どの程度成功する見込みがあるのか、どのような影響があってどのような補助操作が必要なのか想像がつきません。

例えば
- APN の設定が消えるとすると、nmcli c を設定しなおす必要があるでしょうか?
- それまでモデムが記憶した基地局が破棄されて対応全周波数をスキャンしなおすのでしょうか?
- 日本の、ドコモ対応のEC25-Jですが周波数帯の設定しなおしが必要でしょうか?
- 初期化によってメインボードとの間の通信方式などの設定が変わるのでしょうか?

shkoga

2020年8月18日 2時58分

こんにちは。サムシングプレシャスの古賀と申します。

sshida さん:
>ec25-clean-resetをどのような場面で実行してよいのか目星をつけたいので、どのような処理なのか、自分がこれから何をしようとしているのか理解したいです。
>
>ec25-clean-reset では、AT+QPRTPARA=3 が実行されていますが、QuectelのATコマンドマニュアルには書かれていないとのことです。
>ユーザーフォーラムでは「AT+QPRTPARA=3 はEC25Jモデムのパラメーターを初期化する」と教えていただきましたが、パラメーターにもいろいろあると思います。
>
>どのようなパラメーターが初期化され、初期化とはどのような値になり、初期化されたあとのEC25-Jはそれまでとは異なる、どのような処理を始めるのでしょうか?

詳細は不明ですが、Quectel の製品の AT+QPRTPARA=3 コマンドの動作については、このあたりが参考になるかも知れません:
 https://wenku.baidu.com/view/58f3d4b9195f312b3069a55b.html
 https://forums.quectel.com/t/bg96-at-command-to-reset-non-volatile-sett…

上の一番目のページにある AT+QPRTPARA コマンドの説明と、二番目のページにある、Quectel 社のフォーラムに寄せられたコメントを見ると、'AT+QPRTPARA=3' を実行した場合、設定情報が全てリセットされて工場出荷状態に戻るようですね。ただし、一番目のページの説明を見ると、工場出荷後に設定変更した状態で 'AT+QPRTPARA=1' を実行していれば、その時点で設定されていたパラメータ内容が Flash メモリにバックアップされており、その内容を使って設定情報が復元されるように読めます。

二番目のページのフォーラムでは、サポートの人が、「'AT+QPRTPARA=3' と 'AT+QCFG="nvrestore",0' は、どちらも R&D 用の内部コマンドなので、あまり使わない方が良い。使う場合は、どちらかといえば AT+QCFG の方が良い」とコメントしていますね。

ご質問に対する直接の回答ではありませんが、もし参考になりましたら幸いです。

sshida

2020年8月21日 21時00分

古賀様、関連情報とご説明をありがとうございます。

利用上の注意も指摘されていました。
'AT+QPRTPARA=3' と 'AT+QCFG="nvrestore",0' はどちらも、
モデム内の不揮発メモリへの消去と書き込みを行うため実行回数が多いとモデムの不揮発メモリが壊れます。
必要なときにだけ使ってください、とのことです。

危険なコマンドですが、説明資料がないというのは辛いです。