如何配置华为E3372 USB 4G/LTE调制解调器实现开机自动联网?
如何配置华为E3372 USB 4G/LTE调制解调器实现开机自动联网?
很高兴你已经锁定了mmcli这个工具——它确实是Linux下管理移动宽带调制解调器的核心利器,接下来我一步步带你搞定开机自动联网的配置,两种方案任你选:
先做前置准备:确认设备状态
- 首先确保系统已经安装了
ModemManager和NetworkManager(这俩是黄金搭档),如果没装,用你的包管理器补上:- Debian/Ubuntu系:
sudo apt install modemmanager network-manager - CentOS/RHEL系:
sudo dnf install ModemManager NetworkManager
- Debian/Ubuntu系:
- 运行
mmcli -L列出所有被ModemManager管理的设备,找到你的E3372,输出大概是这样:
把这里的设备编号(比如/org/freedesktop/ModemManager1/Modem/0 [Huawei Technologies Co., Ltd.] E3372 LTE/UMTS/GSM Modem/Networkcard0)记下来,后面全程要用。
方案一:用NetworkManager实现自动连接(最简单)
NetworkManager本身就支持开机自动激活连接,步骤超简单:
- 创建移动宽带连接配置,替换掉下面的APN为你的运营商APN(比如国内移动是
cmnet,联通3gnet,电信ctnet):sudo nmcli con add type gsm ifname '*' con-name 'HuaweiE3372' apn '你的运营商APN' - 设置这个连接为开机自动激活:
sudo nmcli con modify HuaweiE3372 connection.autoconnect yes - 手动测试一下是否能正常连接:
搞定!下次开机系统会自动帮你连上网,完全不用管。sudo nmcli con up HuaweiE3372
方案二:用mmcli脚本+systemd实现(更灵活,适合自定义检查逻辑)
如果你想要更精细的控制(比如定时检查连接状态,断开自动重连),可以写个脚本配合systemd:
1. 编写自动连接脚本
创建脚本文件/usr/local/bin/auto-connect-e3372.sh,内容如下(记得替换MODEM_ID和BEARER_PATH):
#!/bin/bash # 替换成你之前记下的设备编号 MODEM_ID=0 # 先运行mmcli -m $MODEM_ID --bearers查看可用的bearer路径,替换成你的 BEARER_PATH="/org/freedesktop/ModemManager1/Bearer/0" # 检查当前连接状态 mmcli -m $MODEM_ID | grep -q "status: connected" if [ $? -ne 0 ]; then echo "[$(date)] 调制解调器未连接,尝试重新连接..." >> /var/log/modem-connect.log mmcli -m $MODEM_ID --connect="$BEARER_PATH" else echo "[$(date)] 调制解调器已正常连接" >> /var/log/modem-connect.log fi
给脚本加执行权限:
sudo chmod +x /usr/local/bin/auto-connect-e3372.sh
2. 创建systemd服务
创建服务文件/etc/systemd/system/auto-modem-connect.service:
[Unit] Description=自动连接华为E3372调制解调器 After=ModemManager.service network.target Wants=ModemManager.service [Service] # 如果只需要开机执行一次,用Type=oneshot;如果要持续检查,改成Type=simple,脚本里加循环 Type=oneshot ExecStart=/usr/local/bin/auto-connect-e3372.sh RemainAfterExit=yes # 如果需要持续检查,把上面的Type改成simple,然后在脚本末尾加个循环: # while true; do # sleep 30 # # 重复上面的检查和连接逻辑 # done [Install] WantedBy=multi-user.target
3. 启用并启动服务
sudo systemctl daemon-reload sudo systemctl enable auto-modem-connect.service sudo systemctl start auto-modem-connect.service
额外提示:解决E3372识别成存储设备的问题
有时候E3372会默认识别成U盘存储设备,这时候需要用usb_modeswitch切换模式:
- 安装工具:
sudo apt install usb-modeswitch(Debian/Ubuntu)或sudo dnf install usb_modeswitch(CentOS/RHEL) - 用
lsusb查看设备的VID和PID,比如华为E3372通常是12d1:1f01 - 执行切换命令:
切换后再运行sudo usb_modeswitch -v 12d1 -p 1f01 -Jmmcli -L就能看到调制解调器了。
备注:内容来源于stack exchange,提问作者M3L
相关产品推荐
相关产品推荐

