
Telit LEU910C1-EU モデムを接続してデータ接続 (LTE 経由) を行おうとしています。モジュールは CM3 経由で使用され、モデム自体は USB ハブに接続されています。いろいろいじっているうちに、次のような奇妙な動作が起こりました。
- Ubuntu ラップトップでは、ModemManager と NetworkManager を使ってモデムを問題なく使用できます。(正確な手順については以下を参照してください)
- しかし、Pi ではエラーは発生せず、NetworkManager は接続されていると通知します。ただし、実行すると
ping -I wwan0 8.8.8.8
無期限にブロックされます。
私はすでにさまざまな SIM (スマートフォンの SIM を含む) を試し、モデムも交換しました。奇妙なことに、ModemManager を起動した後、Pi 全体が数秒間応答しなくなり、その後イーサネットが機能しなくなることもあります。
この Gist ですべての重要なログを要約してみました:
https://gist.github.com/sahib/3a2d7951aec59ffd23f3d1eef60cc450
(これには関連するすべてのソフトウェア バージョンが含まれており、カーネルを除いて Ubuntu ラップトップのものと同じです)。
モデム自体をセットアップするために使用する手順は次のとおりです。
$ sudo systemctl start ModemManager
$ sudo systemctl start NetworkManager
# Check if the modem was recognized:
$ mmcli -L
# Check the status of the modem, if it shows "registered", continue.
$ mmcli -m 0
# Actually add the connection:
$ sudo nmcli c add type gsm ifname cdc-wdm0 con-name telit apn bicsapn
# Test the connction. This will block forever or yield "not reachable"
$ ping -I 8.8.8.8
同様の問題を抱えていたり、さらにデバッグを手伝ってくれる人はいますか?
答え1
新しいリリースでは、NetworkManager は ModemManager から MTU サイズを自動的に引き継ぎます。https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/499
答え2
解決しました。
確認すべき点が 2 つあります。
systemd-networkd
NetworkManager に干渉しているようです。以下を使用して無効にします。$ systemctl disable systemd-networkd
(再起動後)MTU サイズが間違っていました。LTE の場合、最大サイズは 1430 前後のようです。 を参照してください
mmcli -b $(number of your bearer from mmcli -m 0).
。 で値を下げてくださいip link set dev wwan0 mtu 1400
。その後は自動的に動作するはずです。