免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 822 | 回复: 0
打印 上一主题 下一主题

AT91RM9200开发笔记(10):PPPD-2.4.3交叉编译 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-25 15:26 |只看该作者 |倒序浏览
    前一阶段探讨了根文件系统,有了些认识和体会。现在可以把利用GPRS模块拨号上网的功能添加进来了。首先要在Linux上调试通过pppd。主要就是三个脚本:ppp-on,ppp-off, ppp-on-dialer。需要注意的问题有:

    ·首先要把eth0关闭。否则即使获取ip成功,也无法发送数据。
    ·在Linux下,必须采用pap,且设定好用户名。这个用户名是一个假定的用户名了,不用密码。在Windows下则不需要用户名。

[root@listentec ~]#cat /etc/ppp/pap-secrets
foo * "" *

    host上测试通过,下面就可以交叉编译pppd,移植到arm板上了。

    pppd的编译还是有些奇怪的问题。我在CentOS上编译pppd-2.4.3,总是出现问题,主要就是牵扯到libpcap库。记得以前编译成功过,并没有采用该库。那时是在RH9上,所以到RH9上,编译就没有问题了。用arm-linux-readelf查看,也不需要libpcap库的支持。

    OS: RedHat 9.0
    CROSS Compiler: cross-3.3.2或者cross-3.4.1
    pppd: pppd-2.4.3

    过程:

    (1)./configure
    (2)make CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc

    交叉编译完成后,strip一下。得到的pppd约231K,chat约19K。下载到target board上面,测试通过。这里有一个问题就是,不需要在/etc/resolv.conf中添加DNS服务器,默认会在你建立的/etc/ppp/文件夹下自动建立一个resolv.conf。

[root@listentec ~]#tree /etc/ppp
/etc/ppp
|-- pap-secrets
|-- ppp-off
|-- ppp-on
|-- ppp-on-dialer
`-- resolv.conf
0 directories, 5 files

    利用echo测试程序,发现利用gprs发送数据没有问题。但是ping域名还是不通。另外有一个问题就是,ping测试时,time delay因为网络不同差异也比较大,有些时候可能会到18s左右。无线网络质量对数据发送的影响会非常大。

[root@listentec ~]#ifconfig eth0 down
[root@listentec ~]#/etc/ppp/ppp-on &
[root@listentec ~]#Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 --> /dev/ttyS2
Warning - secret file /etc/ppp/pap-secrets has world and/or group access
sent [LCP ConfReq id=0x1 asyncmap 0x20a0000> magic 0xc328b095> pcomp> accomp>]
rcvd [LCP ConfRej id=0x1 pcomp> accomp>]
sent [LCP ConfReq id=0x2 asyncmap 0x20a0000> magic 0xc328b095>]
rcvd [LCP ConfReq id=0x1 asyncmap 0x0> auth pap> magic 0xb7a54d00>]
sent [LCP ConfAck id=0x1 asyncmap 0x0> auth pap> magic 0xb7a54d00>]
rcvd [LCP ConfAck id=0x2 asyncmap 0x20a0000> magic 0xc328b095>]
Warning - secret file /etc/ppp/pap-secrets has world and/or group access
sent [PAP AuthReq id=0x1 user="foo" password=hidden>]
rcvd [PAP AuthAck id=0x1 "Welcome!"]
Remote message:
PAP authentication succeeded
sent [CCP ConfReq id=0x1 deflate 15> deflate(old#) 15> bsd v1 15>]
sent [IPCP ConfReq id=0x1 compress VJ 0f 01> addr 0.0.0.0> ms-dns1 0.0.0.0> ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 addr 10.79.158.165>]
sent [IPCP ConfAck id=0x1 addr 10.79.158.165>]
rcvd [LCP ProtRej id=0x1 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
rcvd [IPCP ConfRej id=0x1 compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 addr 0.0.0.0> ms-dns1 0.0.0.0> ms-dns3 0.0.0.0>]
rcvd [IPCP ConfNak id=0x2 addr 10.79.78.138> ms-dns1 211.136.20.203> ms-dns3 202.96.69.38>]
sent [IPCP ConfReq id=0x3 addr 10.79.78.138> ms-dns1 211.136.20.203> ms-dns3 202.96.69.38>]
rcvd [IPCP ConfAck id=0x3 addr 10.79.78.138> ms-dns1 211.136.20.203> ms-dns3 202.96.69.38>]
local IP address 10.79.78.138
remote IP address 10.79.158.165
primary DNS address 211.136.20.203
secondary DNS address 202.96.69.38
[root@listentec ~]#ifconfig
lo Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:89 errors:0 dropped:0 overruns:0 frame:0
          TX packets:89 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4809 (4.6 KiB) TX bytes:4809 (4.6 KiB)
ppp0 Link encap:Point-to-Point Protocol
          inet addr:10.79.78.138 P-t-P:10.79.158.165 Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:64 (64.0 B) TX bytes:97 (97.0 B)

    显示信息如上所示。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21948/showart_507668.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP