mips下的pppoe驱动

本文记录了在MIPS平台下进行Linux嵌入式系统中pppoe驱动的移植和配置过程,包括内核配置、rp-pppoe和ppp的编译、脚本安装及拨号连接的步骤。通过解决路由问题,成功实现ADSL拨号上网。
摘要由CSDN通过智能技术生成

近期做了点mips方面的linux嵌入式移植工作。这是第一次在硬件上进行这样的操作。记录下来,跟大家一起分分享分享。

首先,虚拟机操作系统用的xubuntu,板上内核是linux-2.6.22.19,使用CC=mipsel-linux-gcc。

前期的工作的前大部分来自于 http://linux.chinaunix.net/techdoc/net/2009/05/04/1109997.shtml 的参考。感谢这位大侠的分享。

 

 

1、移植首先需要内核对ppp协议的支持

#cat /proc/devices|grep ppp    查看是否支持ppp

若无,重新配置编译内核在 -> Device Drivers -> Network device support  -> PPP (point-to-point protocol)  中,选中所有ppp选项。

 

 

2、移植需要要rp-pppoe和ppp。我用的是rp-pppoe3.10和ppp-2.4.5的组合

下载rp-pppoe3.10后,解压源码。进入源码目录。再进入src目录。.configure没对cross_compiling提供支持,故只可重新修改Makefile。执行./configure后,程序报生成两个makefile文件,一是在src 下的,一是在libevent下的,手工将其中的CC全修改成gcc-mipsel-linux-gcc,make完成。


src目录下会产生pppoe,pppoe-server,pppoe-sniff,pppoe-relay。把这些程序下载到目标机/usr/sbin目录下。


复制配置文件,rp-pppoe-3.8/configs目录下是rp-pppoe所需的配置文件,把这些文件全部复制到目标机的/etc/ppp目录下。

 

拨号相关的脚本程序共有6个,在rp-pppoe-3.8/scripts中。

pppoe-setup:配置程序,把输入的帐号密码等信息存入配置文件。
pppoe-start:拨号程序,连接网络。
pppoe-stop:断开。
pppoe-status:查看连接状态。
pppoe-connect:连接网络,被pppoe-start所调用。
pppoe-init:初始化,被其他程序调用。
把这些脚本也放到/usr/sbin目录下。


 

ra-pppoe需要ppp,下载ppp-2.4.5

解压。进入源码目录。
执行

#./configure
#make CC=arm-linux-gcc

编译完成后,进入pppd目录,将生成的pppd可执行文件拷贝到目标板的文件系统的/usr/sbin下。

 

pppoe-steup.

按照提示输出你的ADSL的信息。其中DNS我都采用google的8.8.8.8。

目标板上执行pppoe-start。出现connected!提示,说明ADSL拨号成功。

#pppoe-status

 

pppoe-status: Link is up and running on interface ppp0

ppp0      Link encap:Point-to-Point Protocol  

          inet addr:114.249.164.177  P-t-P:114.249.160.1  Mask:255.255.255.255

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1

          RX packets:3 errors:0 dropped:0 overruns:0 frame:0

          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:3 

          RX bytes:30 (30.0 B)  TX bytes:37 (37.0 B)

 

 

#ping 114.249.160.1可以通。

但是#ping g.cn不通。

#route

estination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
221.231.205.94  *               255.255.255.255 UH    0      0        0 ppp0

default         192.168.1.0  255.255.255.0         UG    0      0        0 eth0

可以看到默认路由是错的。

route del default

删除默认路由。

然后

#pppoe-stop

#pppoe-start

#route

 

estination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
221.231.205.94  *               255.255.255.255 UH    0      0        0 ppp0

default        *                       0.0.0.0          UG    0      0        0  ppp0

可以看到现在默认路由已变为ppp0

ping g.cn成功。

 

 

 

最后,将上述所有生成的可执行文件全放在一个bin文件夹内,配置文件放在conf文件夹内。

在两个文件夹同级目录下写一批处理文件adsl_link.sh,如下:

 

cp $PWD/bin/* /usr/sbin

rm -rf /etc/ppp 

mkdir /etc/ppp

cp $PWD/conf/* /etc/ppp

pppoe-setup

pppoe-start

route del default

pppoe-stop

pppoe-start

执行批处理,便可直接 ping  通。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mips64el是一种处理器架构,用于64位计算机系统。适配SQLite驱动mips64el架构可以通过以下步骤完成: 1. 下载SQLite源代码:在SQLite官方网站上,你可以找到SQLite的最新源代码。下载适用于Linux的源代码压缩包。 2. 解压源代码:使用压缩软件将下载的源代码压缩包解压到一个目录中。 3. 配置编译环境:在mips64el架构的64位计算机系统上,确保已经安装了适当的编译工具链和依赖库。这些工具和库包括gcc、g++、make等。 4. 进入源代码目录:使用终端进入解压后的SQLite源代码目录。 5. 修改Makefile:打开Makefile文件,找到适用于Linux的mips架构的配置选项,并将其替换为mips64el。 6. 编译SQLite库:在终端中执行"make"命令,开始编译SQLite库。这将根据你的系统设置进行编译,并生成静态和动态库文件。 7. 安装SQLite库:执行"make install"命令,将编译后的SQLite库文件安装到系统目录中。你可能需要root权限才能执行此命令。 8. 验证驱动适配:编写一个简单的C或C++程序,使用适配后的SQLite库进行数据库操作。确保程序可以正常编译和运行,并且SQLite功能正常。 通过以上步骤,你可以将SQLite驱动适配到mips64el架构。请注意,在实际操作中可能会遇到一些问题和挑战,例如依赖库缺失或版本不兼容。解决这些问题需要根据具体情况进行相应调整和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值