您的位置 首页 ADAS

ARM平台上完成Linux PPP拨号

硬件平台:亿道Liod平台(基于PXA270)操作系统:嵌入式Linux下面主要介绍一下如何在Liod平台上进行ppp拨号,实现GPRS上网.第一…

硬件渠道:亿道Liod渠道(根据PXA270)

操作系统:嵌入式Linux

下面首要介绍一下如安在Liod渠道上进行ppp拨号,完成GPRS上网.
第一步:假如内核不支撑ppp拨号,则要从头编译内核,添加对ppp的支撑,
<*> PPP (point-to-point protocol) support
[*] PPP multilink support (EXPERIMENTAL)
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
<*> PPP Deflate compression
<*> PPP BSD-Compress compression
然后从头烧写新生成的内核映象!

第二步:下载ppp-2.4.1源码包,穿插编译生成拨号所需的pppd和chat这两个程序.
源代码下载网址:http://samba.org/ftp/ppp/(旧的站点,现在如同不能用了ftp://ftp.samba.org/pub/ppp/)
解压源代码包,进入目录,进行穿插编译,这儿所用的穿插编译器是arm-linux-gcc(version 3.3.2)
#cd /root/gprs/ppp-2.4.1(这儿假定ppp解压在/root/gprs/目录下)
#./configure
#make CC=arm-linux-gcc
拨号所用到的程序便是/root/gprs/ppp-2.4.1/pppd/下的pppd,和/root/gprs/ppp-2.4.1/chat/下的chat程序为了调试便利,我在CF卡上新建一个目录pppdial,将pppd和chat这两个程序复制到此目录下! (开发板上贮存空间有限,因而这儿我用CF卡扩大贮存容量)

第三步:装备拨号脚本:
将 /root/gprs/ppp-2.4.1/scripts/下的ppp-on,ppp-on-dialer,ppp-off这三个脚本修正后复制到/mnt/cf/pppdial/下,修正后的脚本如下:
1.ppp-on脚本具体要修正的内容:
TELEPHONE=*99***1# # The telephone number for the connection
ACCOUNT= # The account name for logon (as in George Burns)
PASSWORD= # The password for this account (and Gracie Allen)
LOCAL_IP=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0
NETMASK=255.255.255.0 # The proper netmask if needed

# Export them so that they will be available at ppp-on-dialer time.
export TELEPHONE ACCOUNT
DIALER_SCRIPT=/mnt/cf/pppdial/ppp-on-dialer

# Initiate the connection

exec /mnt/cf/pppdial/pppd debug lock nocrtscts /dev/ttyS1 19200 /
asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP /
noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT usepeerdns

2.修正ppp-on-dialer脚本:
#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec /sbin/chat -v /
TIMEOUT 5 /
ABORT /nBUSY/r /
ABORT /nNO ANSWER/r /
ABORT /nRINGING/r/n/r/nRINGING/r /
AT+CGDCONT=1,IP,CMNET /
OK AT /
OK-+++/c-OK ATH0 /
TIMEOUT 30 /
OK ATDT$TELEPHONE /
CONNECT
3.在Liod板上/etc/ppp/resolv.conf文件中加上
nameserver 211.136.20.203
nameserver 211.136.18.171

第四步:衔接gprs
gprs模块经过串口衔接到板子上的蓝牙串口(/dev/ttyS1),由于Liod板的FFUART用来做调试串口了,即便经过telnet登录Liod,而将串口0腾出来用来衔接GPRS模块,拨号也会失利.由于从串口0会输出调试信息,对拨号进程形成搅扰.
封闭默许网络设备: ifconfig eth0 down

在Liod渠道上挂载CF卡,并切换到/mnt/cf/pppdial/下,下面就可以拨号了!
pppd拨号: ./ppp-on
(留意:一定要先封闭闭eth0再拨号,不然即便拨号能得到IP地址,也会由于路由过错而拜访不了外网)

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/274806.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部