主题 : 移植pppoe遇到麻烦 复制链接 | 浏览器收藏 | 打印
畅游在知识的海洋...
级别: 论坛版主
UID: 33629
精华: 4
发帖: 554
金钱: 3075 两
威望: 615 点
综合积分: 1188 分
注册时间: 2010-12-03
最后登录: 2015-09-22
楼主  发表于: 2011-09-18 10:49

 移植pppoe遇到麻烦

板子:mini2440
uboot:自己移植的uboot
kernel:友善2.6.32的内核
rootfs:yaffs2文件系统

在移植pppoe,参考了论坛上这个帖子:http://www.aiothome.net/read.php?tid-1752-page-1.html

重复验证了好久,前面的步骤以及得到的现象可以确保跟原帖的一样,但是在执行pppoe-start时显示TIMEOUT,未能出现
connected的提示。是什么原因导致我连接不上呢?
还有就是心里有个困惑:是否需要移植dhcp?

我的是校园网,在ubuntu下通过pppoe拨号可以正常上网,望各位大哥能提些许有用的建议,十分感激


下面是我的移植步骤:
一.下载rp-pppoe-3.8.tar.gz
http://download.chinaunix.net/download.php?id=18326&ResourceID=9073

二.配置
解压,进入src目录,解压,进入src目录
由于pppoe的configure此脚本没对cross_compiling提供支持,所以不能./confiugre --host=arm-linux
执行./configure后,程序报生成两个makefile文件,一是在src 下的,一是在libevent下的。直接替换这两个makefile文件中的gcc为arm-linux-gcc。我用的是友善公司提供的arm gcc 4.4.3 eabi版。

三.编译
在src目录下执行make,等待编译完成

四.拷贝到开发板上
复制应用程序到开发板上:
在src目录下执行:cp pppoe pppoe-server pppoe-sniff pppoe-relay /home/dong/rootfs/nfsroot/rootfs/usr/sbin/(必须位于这个目录下)
复制配置文件到开发板上:
在rootfs上执行:mkdir /etc/ppp
在ra-pppoe顶层目录下执行:cp configs/* home/dong/rootfs/nfsroot/rootfs/etc/ppp(必须位于这个目录下)
复制脚本文件到开发板上:
在ra-pppoe顶层目录下执行:cp scripts/* /home/dong/rootfs/nfsroot/rootfs/usr/sbin/


拨号相关的脚本程序共有6个,在rp-pppoe-3.8/scripts中。
pppoe-setup:配置程序,把输入的帐号密码等信息存入配置文件。
pppoe-start:拨号程序,连接网络。
pppoe-stop:断开。
pppoe-status:查看连接状态。
pppoe-connect:连接网络,被pppoe-start所调用。
pppoe-init:初始化,被其他程序调用

这时执行pppoe-setup会提示:
Oops, I can't execute the program '/usr/sbin/pppd'.  You

must install the PPP software suite, version 2.3.10 or later.
所以我们还要移植ppp,我下载的是ppp-2.4.4.tar

五.移植ppp
<1>解压,进入源码目录。
<2>执行./configure。
<3>编译,这里要进行交叉编译。因此,我在这里指定CC为arm gcc,执行
make CC=arm-linux-gcc
<4>编译完成后,进入pppd目录,将生成的pppd可执行文件拷贝到mini2440文件系统的/usr/sbin下。
试运行一下pppd,假如出现如下提示
pppd: pppd is unable to open the /dev/ppp device.
You need to create the /dev/ppp device node by
executing the following command as root:
mknod /dev/ppp c 108 0
那么就应该按照提示执行命令mknod /dev/ppp c 108 0,再运行一次pppd,假如有乱码出现就说明安装pppd成功了。
我在按上面的方法做了后,出现了一些错误信息

这是因为友善的新内核linux2.6.29在编译配置时,没有加上对ppp的支持。重新配置编译内核
在 -> Device Drivers -> Network device support-> PPP (point-to-point protocol)中,选中所有ppp选项。
退出,保存配置,重新执行make uImage.
将uImage下载到开发板上重启系统后。再执行pppd,等一会,出现乱码,说明pppd工作正常了。

执行pppoe-setup,根据提示拨号所需的参数。要确定rp pppoe的配置文件所在的目录即/etc/ppp是可写的。否则,参数不能保存。
我的pppoe配置为
User name:nhxy
Ethernet Interface: eth0
Activate-on-demand: No
DNS addresses: 218.192.99.2
Firewalling:NONE


设置到这里之后执行pppoe-start显示TIMEOUT
ifconfig得到的提示信息如下:
eric # ifconfig                                                              
eth0      Link encap:Ethernet  HWaddr 08:90:90:90:90:90                        
          inet addr:218.192.104.80  Bcast:218.192.104.127  Mask:255.255.255.128
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1                    
          RX packets:37511 errors:0 dropped:0 overruns:0 frame:0                
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0                  
          collisions:0 txqueuelen:1000                                          
          RX bytes:5147562 (4.9 MiB)  TX bytes:0 (0.0 B)                        
          Interrupt:51 Base address:0xa300
[ 此帖被wuweidong在2011-09-18 11:11重新编辑 ]
好好学习,天天鲁管
畅游在知识的海洋...
级别: 论坛版主
UID: 33629
精华: 4
发帖: 554
金钱: 3075 两
威望: 615 点
综合积分: 1188 分
注册时间: 2010-12-03
最后登录: 2015-09-22
1楼  发表于: 2011-09-18 11:34
  
好好学习,天天鲁管
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
2楼  发表于: 2011-09-18 16:28
这个估计比较困难……
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
畅游在知识的海洋...
级别: 论坛版主
UID: 33629
精华: 4
发帖: 554
金钱: 3075 两
威望: 615 点
综合积分: 1188 分
注册时间: 2010-12-03
最后登录: 2015-09-22
3楼  发表于: 2011-09-18 18:20
   学校的校园网不知搞什么鬼。
好好学习,天天鲁管
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2011-09-18 22:05
校园网?你们学校的校园网是ADSL的?需要pppoe?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
畅游在知识的海洋...
级别: 论坛版主
UID: 33629
精华: 4
发帖: 554
金钱: 3075 两
威望: 615 点
综合积分: 1188 分
注册时间: 2010-12-03
最后登录: 2015-09-22
5楼  发表于: 2011-09-18 22:18
我在ubuntu下是用sudo pppoconf来配置上网的。学校在宿舍提供了网口,禁止我们使用路由,但是我用开发板直接接网口,然后用移植好的pppoe拨号还是TIMEDOUT
好好学习,天天鲁管