linux如何用4g模块上网
linux如何用4g模块上网详细介绍
在 Linux 系统中使用 4G 模块上网的核心流程包括硬件识别、驱动配置、网络连接建立及路由管理。以下是结合不同场景和工具的详细操作指南:
一、硬件识别与驱动安装
- 确认模块连接
使用lsusb或lspci命令查看 4G 模块是否被识别。例如,华为 EC20 模块可能显示为12d1:1506,移远 EC200S 显示为2c7c:0125。若未识别,需检查 USB 接口或尝试重新插拔模块。 - 驱动安装
- 主流模块:多数 4G 模块(如移远 EC 系列、华为 ME 系列)可通过 Linux 内核自带的 USB 驱动(如
option、qmi_wwan)直接识别。 - 特定驱动:部分模块需手动安装驱动。例如,移远 EC20 需下载 移远 4G 模块驱动包,解压后执行
make && sudo make install。 - 固件更新:若模块功能异常,可参考戴尔官方提供的 Sierra EM7565 固件工具 更新固件。
- 主流模块:多数 4G 模块(如移远 EC 系列、华为 ME 系列)可通过 Linux 内核自带的 USB 驱动(如
- 串口识别
模块通常会生成多个串口设备(如/dev/ttyUSB0~/dev/ttyUSB3)。使用udevadm monitor实时查看设备插入日志,确定控制端口(如ttyUSB2用于 AT 命令)。
二、网络连接配置
方法一:使用
pppd 拨号
- APN 参数获取
- 运营商通用 APN:中国移动
cmnet,中国联通3gnet,中国电信ctnet。 - 特殊需求(如物联网卡)需联系运营商获取专用 APN。
- 运营商通用 APN:中国移动
- 创建拨号配置文件
bash/etc/ppp/peers/4g_modem输入以下内容(以华为模块为例):
ini/dev/ttyUSB2 # 控制端口115200 # 波特率
noauth # 禁用认证
defaultroute # 设置默认路由
usepeerdns # 使用运营商DNS
persist # 断线自动重连
mtu 1452 # MTU值(部分模块需调整)
user "" # 用户名(通常为空)
password "" # 密码(通常为空)
- 启动拨号
bashpppd call 4g_modem成功后,使用
ifconfig ppp0查看 IP 地址。
方法二:通过
NetworkManager 配置
- 安装工具
bashnetwork-manager modemmanager mobile-broadband-provider-info - 创建移动宽带连接
bashnmcli connection gsm ifname wwan0 con-name apn若需认证,添加参数:
bashuser password - 启用连接
bashnmcli connection up
方法三:使用
systemd-networkd
- 创建服务文件
bash/etc/systemd/system/4g.service输入:
ini - 启用服务
bashsystemctl 4g.service
三、高级配置与故障排查
- AT 命令初始化
使用minicom或screen发送 AT 指令:
bash/dev/ttyUSB2- 查看 SIM 卡状态:
AT+CPIN? - 设置 APN:
AT+CGDCONT=1,"IP","cmnet" - 激活数据连接:
AT+CGACT=1,1
- 查看 SIM 卡状态:
- 网络共享(NAT)
bashiptables nat POSTROUTING wwan0 MASQUERADE
- 日志分析
- 系统日志:
journalctl -u pppd或journalctl -u NetworkManager - 模块日志:
dmesg | grep usb或dmesg | grep qmi
- 系统日志:
- 常见问题
- 无法拨号:检查 SIM 卡是否欠费、APN 是否正确、串口是否被占用。
- DNS 解析失败:手动配置
/etc/resolv.conf,添加nameserver 114.114.114.114。 - 驱动冲突:若模块被识别为
cdc_ether而非qmi_wwan,需在modprobe.d中禁用冲突模块。
四、典型场景示例
场景 1:树莓派 + 移远 EC20 模块
- 驱动安装
bashclone https://github.com/Quectel/Quectel-Linux-Driver.gitQuectel-Linux-Driver/EC20
- 拨号配置
创建/etc/ppp/peers/ec20,内容:
ini/dev/ttyUSB2115200
noauth
defaultroute
usepeerdns
场景 2:工业主板 + 华为 ME909s 模块
- 内核参数调整
在/etc/default/grub中添加:
ini"保存后执行
sudo update-grub。 - 网络桥接
bashbrctl addbr br0dev eth0 master br0
dev wwan0 master br0
addr .1.1/24 dev br0
br0 up
五、参考资源
- 华为 4G 模块 AT 指令手册
- 移远 4G 模块驱动下载
- NetworkManager 移动宽带配置
通过以上步骤,可实现 4G 模块在 Linux 系统中的稳定连接。若遇到特定模块问题,建议参考厂商文档或社区论坛(如 LinuxQuestions.org)。