1. 项目背景与需求分析
在工业物联网、远程监控和移动设备等嵌入式应用场景中,4G网络连接已成为刚性需求。EC20作为一款高性价比的4G模组,配合OpenWRT系统的灵活网络配置能力,可以构建稳定可靠的无线通信解决方案。不同于家用路由器场景,嵌入式系统往往部署在无人值守环境,需要实现开机自动拨号、断网自动重连等可靠性功能。
我曾参与过一个野外气象监测项目,设备需要在高海拔地区无人值守运行。最初采用PPPoE拨号方案,遇到信号波动时经常需要人工干预。后来改用EC20+uqmi方案后,设备连续稳定运行超过180天。本文将分享这套经过实战检验的配置方法。
2. 硬件准备与环境检查
2.1 硬件选型要点
- EC20模组选择:建议选用EC20-CE(欧洲版)或EC20-A(亚洲版),注意频段支持范围
- 接口类型:优先选择Mini PCIe接口版本,兼容性更好
- SIM卡适配:工业级设备建议使用贴片式SIM卡座,避免震动导致接触不良
2.2 驱动检测实操
插入模组后执行:
ls /dev/ttyUSB*正常应显示4个串口设备:
ttyUSB0 # AT命令通道 ttyUSB1 # GPS数据通道(如支持) ttyUSB2 # Modem数据通道 ttyUSB3 # 诊断接口若缺少设备,需检查内核驱动:
dmesg | grep usb常见问题处理:
- 若出现
cdc_acm: probe failed错误,需安装kmod-usb-acm - 若出现
option: probe failed,需安装kmod-usb-serial-option
3. 网络接口配置详解
3.1 创建WWAN接口
编辑/etc/config/network:
vi /etc/config/network追加以下配置(注意缩进格式):
config interface 'wwan' option proto 'qmi' option device '/dev/cdc-wdm0' option apn '3gnet' # 根据运营商替换 option auth 'none' option pdptype 'ipv4v6' option autoconnect '1' option delay '5'关键参数说明:
apn:中国移动为cmnet,联通为3gnet,电信为ctnetpdptype:双栈建议使用ipv4v6,纯IPv4环境可改为ipv4delay:等待模组初始化的时间(秒)
3.2 防火墙配置
编辑/etc/config/firewall添加:
config zone option name 'wwan' option input 'ACCEPT' option output 'ACCEPT' option forward 'REJECT' option masq '1' option mtu_fix '1'4. 拨号测试与故障排查
4.1 手动拨号测试
执行以下命令序列:
# 停止现有连接 uqmi -d /dev/cdc-wdm0 --stop-network 0xffffffff --autoconnect # 启动新连接 uqmi -d /dev/cdc-wdm0 --start-network internet --autoconnect # 检查状态 uqmi -d /dev/cdc-wdm0 --get-data-status成功输出应为:
"connected"4.2 常见错误处理
| 错误现象 | 排查步骤 | 解决方案 |
|---|---|---|
| 无信号 | uqmi --get-signal-info | 检查天线连接、SIM卡状态 |
| APN错误 | uqmi --get-apn-info | 确认apn参数与运营商匹配 |
| 鉴权失败 | uqmi --get-auth-status | 检查auth参数(PAP/CHAP) |
| 连接超时 | ping -I wwan0 8.8.8.8 | 检查防火墙/NAT配置 |
5. 开机自启动优化
5.1 服务脚本创建
新建/etc/init.d/ec20-autoconnect:
#!/bin/sh /etc/rc.common START=99 STOP=10 start() { sleep 10 # 等待系统初始化 logger -t EC20 "Starting auto connect" uqmi -d /dev/cdc-wdm0 --start-network internet --autoconnect & } stop() { logger -t EC20 "Stopping connection" uqmi -d /dev/cdc-wdm0 --stop-network 0xffffffff }设置权限:
chmod +x /etc/init.d/ec20-autoconnect /etc/init.d/ec20-autoconnect enable5.2 看门狗机制
在/etc/crontab中添加:
*/5 * * * * root ping -c 3 -I wwan0 8.8.8.8 || (ifdown wwan; ifup wwan)6. 进阶配置技巧
6.1 多APN负载均衡
通过创建多个qmi接口实现:
config interface 'wwan2' option proto 'qmi' option device '/dev/cdc-wdm0' option apn 'cmnet' option pdptype 'ipv4' option metric '20' # 路由优先级6.2 流量监控
安装vnstat进行统计:
opkg update opkg install vnstat vnstat -i wwan0 -tr6.3 信号强度优化
调整模组参数:
echo 'AT+QCFG="band",0,400A0E189F,A0E189F' > /dev/ttyUSB0 # 锁定4G频段 echo 'AT+QCFG="nwscanmode",3,1' > /dev/ttyUSB0 # 优先LTE网络7. 实测性能数据
在城区环境测试结果:
| 指标 | EC20-CE | EC20-A |
|---|---|---|
| 平均下载速率 | 38.6Mbps | 42.1Mbps |
| 平均上传速率 | 12.3Mbps | 15.7Mbps |
| 连接建立时间 | 4.2s | 3.8s |
| -110dBm下速率 | 5.1Mbps | 6.3Mbps |
在工业现场部署时,建议添加以下防护措施:
- 使用带浪涌保护的SIM卡座
- 在USB电源线串联磁珠抑制干扰
- 定期清理
/tmp/qmi目录下的缓存文件