3G接続とLTE接続の優先度について

お世話になります。久保と申します。
Armadillo-IoT G3 M1モデルの、3GとLTEの優先度についてご教授いただければと思います。

これから設置する場所で、LTEの電波強度が弱いが、3Gの電波強度が強いという所があります。
通常、3GとLTEではLTEが優先されるのではないか?と思うのですが、3Gを優先する方法などあるのでしょうか?(スマホなどのように)

気にしているのは、スマホで言うと、LTEのアンテナが0~1本でぎりぎり通信できるが、通信異常が頻発する、や、LTEと3Gの切り替えが何度も発生して、正常に通信できることが少ないということなどがないか、を心配しています。

そのような可能性があるのであれば、3G優先にしてしまいたいと思っているのですが、そのようなことは可能でしょうか?

どうぞよろしくお願いいたします。

製品: 
Armadillo-IoT G3

古関です。

デフォルトでは、ネットワークスキャンモードは現在オートになっており、
自動でLTE/3G選択がなされます。
記載いただきましたとおり、3GとLTEでは基本的にはLTEが優先されます。

切り替わりに関しては、LTE to LTE、LTE to 3G、3G to LTE
どちらのケースに関しても、SIMが両ネットワーク対応のモノの場合、
ユーザーサイドでの操作する事なく自動で切り替わります。

また、この切り替わりは環境に非常に依存致します。
たとえば、まわりがLTE基地局ばかりの中で3G基地局が存在するのか、
LTE基地局から一度圏外になって、3G基地局が見つかるのか、
LTE基地局の電波が受けられる範囲で、3G基地局をとらえだすか等、
場合によっては、LTE基地局からLTE基地局への切り替えとなり、
3G基地局へは切り替わらないケースも多々ございます。

> 3Gを優先する方法などあるのでしょうか?(スマホなどのように)
自動選択のアルゴリズムはモジュール内で閉じられているため、
"なるべく3Gを優先する"といった設定はできません。

強制的に3Gに固定することは可能です。
ただし、標準的なインターフェースで固定できるようにはしていないため、
現状は手動でATコマンドを実施する必要があります。

# service ModemManager stop
# cu -l /dev/ttyUSB3 -s 115200

※ 3G固定の場合
AT+QCFG="nwscanmode",2,1

※ LTE固定の場合
 AT+QCFG="nwscanmode",3,1

※ Auto設定の場合
AT+QCFG="nwscanmode",0,1

~.(チルダ、ドットを入力してcuを終了)

# service ModemManager start

・3GとLTEのどっちで接続されているかの確認方法
mmcli -m 0の"access tech"で確認できます。
-------------------------
Status | lock: 'none'
         | unlock retries: 'unknown'
         | state: 'registered'
         | power state: 'on'
         | access tech: 'umts'
         | signal quality: '61' (recent)
-------------------------

古関です。

ごめんなさい、少し説明が抜けていました。

> ・3GとLTEのどっちで接続されているかの確認方法
> mmcli -m 0の"access tech"で確認できます。
> -------------------------
> Status | lock: 'none'
> | unlock retries: 'unknown'
> | state: 'registered'
> | power state: 'on'
> | access tech: 'umts'
> | signal quality: '61' (recent)
> -------------------------

access techが"umts"だと3G、
"lte"だとLTEとなります。

古関です。

補足です。

> # cu -l /dev/ttyUSB3 -s 115200
>
> ※ 3G固定の場合
> AT+QCFG="nwscanmode",2,1
>
> ※ LTE固定の場合
> AT+QCFG="nwscanmode",3,1
>
> ※ Auto設定の場合
> AT+QCFG="nwscanmode",0,1

上記の設定は、一度行うとモジュールの不揮発性メモリに保持されるため、
Armadilloの電源を落としても値は保持されます。

また、現在値は次のATコマンドで確認できます。
AT+QCFG="nwscanmode"?

お世話になります。久保です。

早速のご回答ありがとうございました。また、補足もいろいろいただきありがとうございます。
ご教授いただいた方法で、確かに"lte"から"umts"(3G)に変更されていました!また再起動しても保持されていることも確認できました!

これで現地に設置してきます。
大変助かりました!!ありがとうございます!
今後もよろしくお願いいたします。

お世話になります。久保です。

前回、3G固定にして現地に設置したのですが、現在 mmcli -m 0で見ると、"access tech"が"lte"となっており、設定が解除されているように見えます。

設置時には、再起動しても3G固であることは確認しておりますが、解除される条件などありますでしょうか。

なお、設置後2ヶ月程度は電源は切った期間があり、今月から再度電源投入して使用しておりますが、何か関係することがあるでしょうか?定不揮発性メモリへの設定なので関係ないとは思いますが、考えられる要因などありましたら、ご教授いただけると助かります。

お手数をおかけいたしますが、どうぞよろしくお願いいたします。

高橋です。

>
> 前回、3G固定にして現地に設置したのですが、現在 mmcli -m 0で見ると、"access tech"が"lte"となっており、設定が解除されているように見えます。
>
> 設置時には、再起動しても3G固であることは確認しておりますが、解除される条件などありますでしょうか。
>

電波環境等により、SIMの接続が途切れることがあった場合、
ModemManagerは再接続の際にAT+COPS=0というコマンドを実行します。

AT+COPS=0は通信事業者をオートで設定するというコマンドなのですが、
現在、このコマンドが実行されると、nwscanmodeの設定値を上書きしてしまうことがわかっています。

回避方法としては、接続が再開した直後にnwscanmodeを3G固定にするよう実装することで、
接続直後の一瞬はLTE接続になるものの、すぐに3G固定に設定することができます。

添付の3g_fixed.shを、Armadilloの/etc/NetworkManager/dispatcher.d/に配置し、
以下のコマンドで実行権限を付与してください。

chmod +x 3g_fixed.sh

その後、NetworkManager-dispatcher.serviceを有効にすることで、SIMの接続開始時に自動で3G固定が設定されるようになります。
なお、同様の方法でLTE固定の設定を行うとSIMの接続が失敗するため、この方法は3G固定のみで使用できます。

この方法はModemManagerの外からATコマンドを使用して3G固定を設定していますが、
今後、ModemManagerから3G/LTE固定の設定ができるような実装を検討中です。

ファイル名 ファイルの説明
3g_fixed.sh

お世話になります。久保です。

ご回答いただきましてありがとうございました。助かります。
以前にご教授いただいた方法で3G固定設定すると、固定設定が解除される場合があったということで了解しました。

> なお、同様の方法でLTE固定の設定を行うとSIMの接続が失敗するため、この方法は3G固定のみで使用できます。
→こちらのスクリプトについて確認ですが、LTE固定にすると、なぜSIMの接続が失敗するのでしょうか?
3GでもSIMの接続失敗する場合がないのか気になっております。

> 今後、ModemManagerから3G/LTE固定の設定ができるような実装を検討中です。
→ぜひよろしくお願いいたします。

お手数をおかけいたしますが、どうぞよろしくお願いいたします。