调制解调器管理器设置承载并自动连接

调制解调器管理器设置承载并自动连接

我正在尝试在 Raspberry Pi(最新的 Raspbian)上设置带有德国电信和调制解调器管理器的华为 E3276 LTE 棒,基本上它可以工作,但我无法创建可通过 ansible 部署到 RPi 的配置。

当我连接 LTE 棒时,ModemManager 会正确设置所有内容,最后我会得到一个 wwan0 接口和分配给它的 169.254.0.0/16 地址。之后,我总是必须运行sudo mmcli -m 0 --simple-connect="apn=internet.t-d1.de,user=t-mobile,password=tm,number=*99#"它来触发网络管理器以某种方式为我获取IP。一切安好。

由于我想自动执行此操作,因此我想摆脱手动执行 mmcli 命令,但目前失败了。

  • 选项 1:cronjob 和脚本 - 丑陋但最有可能工作。我想避免这种情况
  • 选项 2:调制解调器管理器 / mmcli 的配置文件。我没有找到任何可以放置此数据的配置文件
  • 选项3:udev规则执行命令

    pi@raspberrypi:~ $ cat /etc/udev/rules.d/90-lte.rules 
    ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="0c:5b:8f:27:9a:64", RUN+="/usr/local/bin/lte_setup.sh"
    pi@raspberrypi:~ $ cat /usr/local/bin/lte_setup.sh
    #!/bin/sh
    
    sleep 2
    mmcli -m 0 --simple-connect='apn=internet.t-d1.de,user=t-mobile,password=tm,number=*99#'
    

这不起作用,我实际上也不知道为什么。

所以,基本问题是:通过 ansible 将此配置/脚本部署到 Raspberry Pi 的最简单方法是什么,以便在插入 E3276 后通过调制解调器/网络管理器自动获取公共 IP?

最后一件事:我是不是使用 wvdial 或其他工具寻找解决方案。我花了几天时间尝试使用互联网上的“工作”配置来使用它们,结果发现它们不起作用。 ModemManager 和 NetworkManager 已被证明可以工作,因此我只是尝试完成设置,而不构建丑陋的 cronjob 解决方法。

答案1

您可以使用 NetworkManager 注册您的连接。

我没有相同的设置。我在乌班图与一个GSM调制解调器。

创建连接

sudo nmcli c add con-name "mycon" type gsm ifname "*" apn "internet.t-d1.de"

设置自动连接

sudo nmcli c mod mycon connection.autoconnect yes

用户名和密码

sudo nmcli c mod mycon gsm.username "t-mobile"
sudo nmcli c mod mycon gsm.password "tm"

在 Ubuntu 上,NetworkManager 配置文件位于 /etc/NetworkManager/system-connections/ 文件夹中。

sudo cat /etc/NetworkManager/system-connections/mycon

开始连接

sudo nmcli c up mycon

连接现在应该自动启动。

相关内容