Openwrt中ppp拨号总结

本文详细介绍了在OpenWrt系统中使用4G模块进行拨号上网的过程,包括comgt、pppd、ndis驱动等工具的使用,以及pppd配置和拨号脚本的编写。为了确保24小时在线,采用crond任务调度进行定时检测和重拨。通过调整和优化,如避免依赖hotplug和procd,可以进一步提升拨号连接的稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前段时间做完一个是视频数据传输终端,使用4G模块拨号,接上摄像头,当一个路由器来传输视频信号;以及本身会带一些远程管理功能;当然这不是本文的重点;在此仅重点介绍4G拨号相关的内容,因为从开发到上线到量产过程中,拨号稳定性一直是一个考验;

设备使用的是openwrt系统,Ulong9300 LTE模块,MiniPcie接口,其实就是usb;

首先介绍几个相关的工具:

comgt:主要是发送AT指令以及读取结果,非常轻量级,一个.c文件,支持多种语法,可以自行编写配置脚本

pppd:3g ppp 协议拨号 工具,使用配置文件配置拨号参数:如APN,用户名,断线检测周期等等

usbserial: usb转tty驱动

option: usb转tty驱动

Ndis: LTE拨号专有驱动,与usbserial虚拟成串口不同,ndis虚拟成网口,可以获得更高的速率


下面根据使用流程一个一个做相关详细介绍:

驱动:如果使用usbserial驱动,Linux Kernel自带,无需配置,直接install即可;Option驱动同样;

           使用ndis驱动,需要LTE模块厂家提供相关的驱动包,以及应用层拨号程序

pppd参数:主要是APN和Dialnumber,用户名和密码一般不需要;APN及Dialnumber 可以咨询运营商,每个运营商固定的,不过地区不同也可能存在差别,尤其是现在IOT的M2M卡,专用卡等等。

            可以通过SIM卡ICCID来判断运营商类别,然后设定相关的APN和Dialnumber。参考comgt脚本如下:

:cimi
 waitquiet 1 0.2
 send "AT+CIMI^m"
 waitfor 3 "46000" "46002" "46007" "46001" "46006" "46003" "46005" "46011"
 if % = -1 goto err
 if % = 0 goto cmnet
 if % = 1 goto cmnet
 if % = 2 goto cmnet
 if % = 3 goto net3g
 if % = 4 goto net3g
 if % = 5 goto ctlte
 if % = 6 goto ctlte
 if % = 7 goto ctlte
 # default
 goto webset
:err
 exit 1
:cmnet
 send "AT+CGDCONT=1,\"IP\",\"CMNET\"^m"
 print "CMNET\n"
 goto waitret
:net3g
 send "AT+CGDCONT=1,\"IP\",\"3GNET\"^m"
 print "3GNET\n"
 goto waitret
:ctlte
 send "AT+CGDCONT=1,\"IP\",\
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值