- 论坛徽章:
- 0
|
平台信息:S3C2440+Linux-2.6.28+cramfs
最近在调试TD模块,由于要实现基于ppp协议拨号上网的功能,所以就需要移植pppd这个应用程序。
第一步:下载ppp-2.4.3.tar.gz,这个开源代码在网上很多了,呵呵,如果实在找不到,可以找我要哈。
第二步:交叉编译,cd ppp-2.4.3,我的交叉编译工具是arm-linux-gcc-3.4.1的,make CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc回车。
第三步:编译基本不会出错,【如果碰到问题我很愿意和你一起讨论】,在当前目录下的pppd目录和chat目录下分别生成有pppd和chat两个可执行文件。
note:在嵌入式系统中使用这两个基本足够了。
第四步:把pppd和chat两个文件放在根文件系统的/sbin目录下,然后制作文件系统,烧写到开发板上。
第五步:验证,运行pppd,如果出现乱码,那说明移植成功。
接下来就是如何使用pppd来进行拨号上网了。
具体实施我是使用如下几个脚本:
首先在嵌入式文件系统的/etc下建立ppp文件夹:
cd /etc
mkdir ppp
cd ppp
mkdir peers
建立好目录后,放置如下脚本:
#######################gprs##########################
#/etc/ppp/peers/gprs
# This is pppd script for China Mobile
# Usage: root>pppd call gprs
/dev/ttyUSB0 【拨号端口】
115200 【波特率】
nocrtscts 【无流控】
modem
debug
nodetach
usepeerdns
noipdefault
defaultroute
user "cmnet"
0.0.0.0:0.0.0.0
connect '/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'
################gprs-connnect-chat###################
#/etc/ppp/gprs-connect-chat
# chat script for China Mobile
TIMEOUT 15
ABORT "DELAYED"
ABORT "BUSY"
ABORT "ERROR"
#/etc/ppp/gprs-connect-chat
# chat script for China Mobile
TIMEOUT 15
ABORT "DELAYED"
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
ABORT "NO CARRIER"
TIMEOUT 40
'' \rAT
OK ATS0=0
OK ATE0V1
OK AT+CGDCONT=1,"IP","CMNET"
OK ATD*99***1#
CONNECT ''
################chap-secrects########################
#client server secret IP address
"cmnet" * "cmnet" *
#################pap-secrects########################
#client server secret IP address
"cmnet" * "cmnet" *
以上脚本可以用于建立CMNET链接,断开网络链接用下面这个脚本:
################gprs-disconnect-chat#################
ABORT OK
ABORT BUSY
ABORT DELAYED
ABORT "NO ANSWER"
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT VOICE
ABORT ERROR
ABORT RINGING
TIMEOUT 12
""
\\k\\k\\k\\d+++ATH
"NO CARRIER-AT-OK" ""
以上就是pppd拨号的完整过程了。如果你调试的时候出现了什么问题,请不惜与我讨论。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/91378/showart_2019759.html |
|