3G模块SIM5360E Linux编程3——上网拨号

本文详细介绍了在Linux系统中使用3G模块SIM5360E进行拨号上网的步骤,包括所需的脚本、拨号命令、pppd协议原理,以及拨号过程中涉及的连接建立、身份验证和网络配置等关键环节。

拨号上网:原文链接

一、上网拨号需要用到的脚本

  1. 拨号上网脚本wcdma:
#Copyright (c) 2019 WuYujun  
#set debug ,send message to /var/log/messages
debug
#To keep pppd on the terminal
nodetach
lock
#set seriral
/dev/ttyUSB3
# set baudrate
115200
user "wyj"
password "wuyujun" 
# set flowrate
crtscts
show-password
usepeerdns
noauth
noipdefault
novj 
novjccomp
noccp
# Accept the peer's idea of our local IP address
ipcp-accept-local
# ipcp-accept-remote
ipcp-accept-remote
connect '/bin/chat -s -v -f /etc/ppp/peers/wcdma-chat-connect'
disconnect '/bin/chat -s -v -f /etc/ppp/peers/wcdma-chat-disconnect'
  1. chat脚本 (wcdma-chat-connect)
ABORT "BUSY"
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
TIMEOUT 120
"" AT
OK \rATZ
# Connection to the network
OK  \rAT+CGDCONT=1,"IP","3gnet",,0,0
# Dial the number
OK-AT-OK ATDT*99#
CONNECT \d\c
  1. 断开连接(wcdma-chat-disconnect)
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\NSending break to the modem\n"
""\k"
""+++ATH"
SAY "\nGood bay\n"

二、上网拨号命令

有个时候会出现正在拨号情况
在这里插入图片描述

microcom -s 115200 /dev/ttyUSB2
ATH0

中断拨号
接下来就可以正常拨号了!

第一步:执行“pppd call wcdma”命令进行拨号

pppd call wcdma&

第二步:

ifconfig

第三步:设置DNS

route add default dev ppp0

第四步:

ping

三、添加上网操作代码

system("pppd call wcdma&");
system("ifconfig");
system("route add default dev ppp0");
system("ping baidu.com");

四、ppp拨号原理

既然是拨号上网,就不能不提到ppp(point-to-point protocol)协议.ppp协议提供了一种通过串行点对点联接传输数据报的方式.它由三部份组成:一种在串行封装数据报的方式,扩展联接控制协议LCP,和用来建立和配置不同网络层协议的家族网络控制协议NCP.封装方案由内核驱动代码来提供.pppd(ppp daemon)提供基本的LCP,认证支持,和建立和配置IP的网络控制协议NCP.一个ppp会话分为四个步骤:连接建立、连接质量控制、网络层协议配置、连接终止;提供了密码认证协议(PAP)或者邀请握手认证协议(CHAP)来保证连接安全.使用PPP你可以把你的 Linux PC连接到一台ppp服务器上并存取该服务器所连接的网络资源就如同你是直接连接在该网络上一般。你也可以把你的Linux PC设为一台ppp服务器,这样一来其它电脑就可以拨入你的电脑并且存取在你区域网络里的资源。

关于linux下脚本拨号的过程:(其实可适用于linux下所有的拨号过程,当然实际过程没有这么简单,如果有兴趣,请阅读源码)
1.由pppd程序调用chat会话程序
2.chat会话程序负责拨号,启动服务器端的pppd程序,验证身份,然后chat会话程序结束
3.由pppd程序继续chat会话程序的工作,与服务器端的pppd程序进行握手,建立ppp连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值