Armadilloフォーラム

無線LANとLTEの優先度について

keiko-502

2025年2月25日 18時57分

お世話になっております。

無線通信の優先度について確認させていただきたいと思いますのでよろしくお願いいたします。

現在,G3にEnOceanモジュールの拡張ボードを乗せ,EnOceanで取得したデータをSORACOMに送信する
pythonスクリプトの検証をしています。

無線通信の手段として,LTEと無線LANのコネクションを作成しております。
この両方のコネクションが有効な場合,SORACOMへの送信ができなかったため,
実行前に無線LANのコネクションを無効にしてから実行しているのですが,LTEの通信を優先するなどしてこの手間がなくせないでしょうか。

最終的には,systemdを使用し,電源投入時または再起動時に特に操作せずにpythonスクリプトが実行され,SORACOMにデータが蓄積されるように
したいと考えています。

なお,無線LANのコネクションについては,pythonスクリプトを開発用PC(Windows)で作成し,winSCPを介してG3に送っているため,無線LANも
使用したい状況でした。

製品仕様について,以下に記載します。
==========
製品型番:AGX3140
Debian/ABOSバージョン:Debian GNU/Linux 10
カーネルバージョン:4.9.133-at26
3G/LTE モジュール情報 (Debianのみ):Quectel EC25
その他:
==========

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

コメント

古関です。

WLANもLTEもnmcli(NetworkManager)で設定しているでしょうか?

もしそうであれば、
NetworkManagerは複数のネットワークインターフェースが有効になっていた場合
スマホなどと一緒で標準だと信頼性の高いインターフェースを優先してデフォルトのrouteとして使うはずです。

Ethernet > WLAN > LTEの順番になるので、
WLANで通信しようとしている状況と思います。

以下のように設定するとWLANがデフォルトのrouteにならず
LTE側から通信できるはずです。確認お願い致します。

nmcli connection modify <WLANのコネクション名> ipv4.never-default yes ipv6.never-default yes

お世話になっております。

WLANもLTEもnmcliにて設定しておりました。

ご提示いただいたコマンドで確認したいと思いますが,ネットワークの優先順位が変わったことを確認するにはどのようにすれば良いのでしょうか。

古関です。

routeコマンドで確認してみるのはいかがでしょうか。

■ wlanがdefaultのrouteのとき

root@armadillo:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         xxx.xx.x.x      0.0.0.0         UG    600    0        0 wlan0
default         0.0.0.0         0.0.0.0         U     700    0        0 ppp0
xx.xx.xx.xx     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 ppp0
xxx.xx.x.x      0.0.0.0         255.255.0.0     U     600    0        0 wlan0

■ LTEがdefaultのrouteのとき

root@armadillo:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         0.0.0.0         0.0.0.0         U     700    0        0 ppp0
xx.xx.xx.xx     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 ppp0
xxx.xx.x.x      0.0.0.0         255.255.0.0     U     600    0        0 wlan0

こちらでもやってみましたが、
nmcli connection modifyした後にwlanをdown/upしないと適用されないようです。
(再起動すれば適用されますが)

root@armadillo:~# nmcli connection modify <WLANのコネクション名> ipv4.never-default yes ipv6.never-default yes
root@armadillo:~# nmcli connection down <WLANのコネクション名>
root@armadillo:~# nmcli connection up <WLANのコネクション名>

お世話になっております。

ご連絡遅くなってしまいましたが,ご提示いただいたコマンドで
確認ができ,動作も問題なさそうです。

ご対応いただきありがとうございました。