Chinaunix首页 | 论坛 | 博客
  • 博客访问: 589054
  • 博文数量: 199
  • 博客积分: 5087
  • 博客等级: 大校
  • 技术积分: 2165
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-26 21:53
文章存档

2010年(199)

我的朋友

分类: LINUX

2010-06-12 19:53:25

Liod平台的ppp拨号(linux) 收藏
 硬件平台:亿道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这两个程序.
       源代码下载网址:
解压源代码包,进入目录,进行交叉编译,这里所用的交叉编译器是arm-linux-gcc(version 3.3.2)
     #cd /root/gprs/ppp-2.4.1
     #./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这两个程序拷贝到此目录下! 
       第三步:配置拨号脚本:
       将 /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
        pppd拨号:  ./ppp-on
    (注意:一定要先关闭闭eth0再拨号,否则即使拨号能得到IP地址,也会因为路由错误而访问不了外网)
    以上是我在liod平台上ppp拨号的一点体会,不对之处请指正!
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huangqiqun/archive/2007/04/17/1567815.aspx
阅读(751) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~