移远EC20/EC200T 4G模块PPP拨号实战:Ubuntu 16.04下5步完成网络配置与DNS修复

移远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

关键配置步骤

  1. 将脚本包解压到/etc/ppp/peers/目录
  2. 修改quectel-pppd.sh中的APN配置(以中国移动为例):
#!/bin/sh APN="cmnet" USER="" PASSWORD=""
  1. 设置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接口的设备上,需合理配置路由优先级:

  1. 查看当前路由表:
ip route show
  1. 设置优先级策略:
# 有线网络最高优先级 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
  1. 持久化配置(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值可确保多网络接口的智能切换。