我正在尝试连接 Telit LEU910C1-EU 调制解调器以获取数据连接(通过 LTE)。该模块通过 CM3 使用,调制解调器本身插入 USB 集线器。在摆弄过程中,我得到了以下奇怪的行为:
- 在 Ubuntu 笔记本电脑上,我可以通过 ModemManager 和 NetworkManager 正常使用调制解调器。(具体步骤见下文)
- 在 Pi 上,我似乎没有收到任何错误,NetworkManager 告诉我我已连接。执行操作时,
ping -I wwan0 8.8.8.8
它会无限期阻塞。
我已经尝试过许多不同的 SIM 卡(包括我智能手机上的 SIM 卡),甚至还更换了调制解调器。还有一件奇怪的事情是,启动 ModemManager 后,整个 Pi 似乎几秒钟内都没有响应,有时以太网似乎不再工作了。
我尝试将所有重要的日志总结在这个要点中:
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
解决了。
有两件事需要检查:
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
。它应该会自动工作。