我正在尝试在 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
连接现在应该自动启动。