移远EC20/EC200T 4G模块PPP拨号实战:Ubuntu 16.04下5步完成网络配置与DNS修复
·
移远EC20/EC200T 4G模块PPP拨号实战:Ubuntu 16.04下5步完成网络配置与DNS修复
在物联网设备开发中,4G模块的网络连接稳定性直接关系到设备远程通信的可靠性。本文将详细介绍如何在Ubuntu 16.04系统下,通过PPP协议为移远EC20/EC200T 4G模块配置稳定的网络连接,并解决常见的DNS解析问题。
1. 环境准备与驱动确认
在开始配置前,需要确保系统环境满足以下要求:
- 操作系统 :Ubuntu 16.04 LTS(内核版本4.4.0-210-generic)
- 交叉编译器 :arm-linux-gnueabihf-gcc-4.9.4
- 硬件平台 :ARM架构嵌入式设备(如i.MX6UL)
首先检查USB驱动是否正常加载:
ls /dev/ttyUSB*
正常应显示3个设备节点:
-
/dev/ttyUSB1:GPS数据通信 -
/dev/ttyUSB2:AT指令通道 -
/dev/ttyUSB3:PPP拨号通道
若未出现设备节点,需检查内核配置:
dmesg | grep usb
确认输出包含类似以下信息:
cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
option 1-1.4:1.2: GSM modem (1-port) converter detected
2. PPP拨号脚本配置
移远官方提供的PPP脚本包通常包含以下文件:
quectel-pppd.sh
quectel-chat-connect
quectel-chat-disconnect
ip-up
关键配置步骤 :
-
将脚本包解压到
/etc/ppp/peers/目录 -
修改
quectel-pppd.sh中的APN配置(以中国移动为例):
#!/bin/sh
APN="cmnet"
USER=""
PASSWORD=""
-
设置
quectel-chat-connect拨号脚本:
TIMEOUT 15
ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
'' AT
OK AT+CGDCONT=1,"IP","$APN"
OK ATD*99#
CONNECT ''
注意:不同运营商APN需相应调整:
- 中国移动:cmnet
- 中国联通:3gnet
- 中国电信:ctnet
3. DNS配置优化
PPP拨号成功后常遇到的DNS解析问题可通过以下方案解决:
方案一:使用ip-up脚本自动更新DNS
#!/bin/sh
echo "nameserver 114.114.114.114" > /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
方案二:禁用resolvconf服务(适用于Ubuntu系统)
sudo apt-get purge resolvconf
sudo ln -sf /etc/resolv.conf /etc/resolvconf/resolv.conf.d/head
DNS测试命令 :
nslookup baidu.com
dig @114.114.114.114 baidu.com
4. 典型错误排查指南
| 错误现象 | 根因分析 | 解决方案 |
|---|---|---|
| SSL peer certificate错误 | 系统时间与基站时间偏差超过1天 |
sudo ntpdate cn.pool.ntp.org
|
| network not connect | 时区设置错误 |
sudo timedatectl set-timezone Asia/Shanghai
|
| 拨号频繁断开 | 路由优先级冲突 |
配置路由表优先级:
sudo ip route add default via 10.64.64.64 dev ppp0 metric 100
|
| 无ttyUSB设备 | 驱动未加载 |
检查内核配置:
CONFIG_USB_SERIAL_OPTION=y
|
| 信号强度差 | 天线接触不良 |
使用
AT+CSQ
检查信号值(10-31为正常)
|
心跳检测脚本示例 (30秒检测一次网络):
#!/bin/bash
while true; do
if ! ping -c 1 -W 2 114.114.114.114 >/dev/null; then
sudo killall pppd
sudo /etc/ppp/peers/quectel-pppd.sh &
fi
sleep 30
done
5. 多网卡路由优先级配置
在同时存在eth0、ppp0、wlan0接口的设备上,需合理配置路由优先级:
- 查看当前路由表:
ip route show
- 设置优先级策略:
# 有线网络最高优先级
sudo ip route add default via 192.168.1.1 dev eth0 metric 10
# 4G网络中等优先级
sudo ip route add default via 10.64.64.64 dev ppp0 metric 100
# WiFi最低优先级
sudo ip route add default via 192.168.0.1 dev wlan0 metric 200
- 持久化配置(Ubuntu系统):
sudo vi /etc/network/interfaces.d/ppp0
添加内容:
auto ppp0
iface ppp0 inet ppp
provider quectel
post-up /sbin/ip route add default via 10.64.64.64 dev ppp0 metric 100
路由测试工具 :
mtr -n 8.8.8.8 # 可视化路由跟踪
tracepath baidu.com # 路径探测
实际项目中发现,路由配置不当会导致4G模块在WiFi连接后自动断开。通过设置合理的metric值可确保多网络接口的智能切换。
更多推荐
所有评论(0)