硬件环境:Tiny6410开发板

软件环境:fedora14 + Android 2.3.4 + linux-2.6.36

1、编译内核支持ppp

android自带pppd,所以仅仅须要移植pppoe即可了。

首先在内核中make menuconfig-> Device Drivers -> Network device support。选中全部ppp选项。退出,保存配置,又一次运行make

zImage.

2、编译得到pppoe

把下载到的rp-pppoe-3.11.tar.gz解压到android文件夹下的external下:

# tar zxvf /home/qyh/rp-pppoe-3.11.tar.gz

新建Android.mk并增加下面内容:

1 LOCAL_PATH:= $(call my-dir)

2 include $(CLEAR_VARS)

3

4 LOCAL_SRC_FILES:=

5 src/pppoe.c

6 src/if.c

7 src/debug.c

8 src/common.c

9 src/ppp.c

10 src/discovery.c

11

12

13 LOCAL_MODULE_PATH := $(LOCAL_PATH)

14 LOCAL_MODULE_TAGS := eng

15 LOCAL_MODULE := pppoe

16 LOCAL_C_INCLUDES += $(LOCAL_PATH)/src

17

18 include $(BUILD_EXECUTABLE)

19

20 include $(call all-makefiles-under,$(LOCAL_PATH))

须要改动rp-pppoe-3.11/src/config.h(否则编译中会出现错误):

a)假设提示 if.c:34:26: error: net/ethernet.h: No such file or directory

凝视掉 #define HAVE_NET_ETHERNET_H 1

b)凝视掉 #define HAVE_SYS_UIO_H 1 要不然会提示重定义的警告

c)加入 #define VERSION 3.11 否则会提示VERSION没有定义

编译android,会在rp-pppoe-3.11文件夹下得到pppoe,放到开发板的system/bin文件夹下。

3、进行拨号測试

(1)拨号

进入设备终端后。输入

pppoe -d

就会发起Discorvery,在广播域内广播PADI报文,成功的话会返回发现的pppoe-server的MAC地址。而且在PC端抓包eth0的话,使用ppp||pppoed进行过滤。可以收到终端的广播报文。这样就能说明已经实现pppoe通路。

接着:

pppd pty "pppoe -I eth0" user user_xxx password my_xxx

这样就会发起pppoe链接。经过Discovery,认证。LCP,终于建立其ppp链接。

在PC端会看到新建立起来的ppp0,Client端也会看到。

通过命令netcfg能够看到:

lo UP 127.0.0.1 255.0.0.0 0x00000049

dummy0 DOWN 0.0.0.0 0.0.0.0 0x00000082

eth0 UP 192.168.1.113 255.255.255.0 0x00001003

ppp0 UP 192.168.2.101 255.255.255.255 0x000010d1

(2)測试

假设要通过pppoe上网还须要添加路由表项目。

ip route//查看路由表项

ip route del default //删除掉所有default,须要操作多遍

ip route add default dev ppp0 //将默认路由设为ppp0

ip route//再次查看

ping baidu.com(截取了中间一部分)

64 bytes from 220.181.111.85: icmp_seq=1588 ttl=55 time=46.0 ms

64 bytes from 220.181.111.85: icmp_seq=1589 ttl=55 time=45.0 ms

64 bytes from 220.181.111.85: icmp_seq=1590 ttl=55 time=44.0 ms

64 bytes from 220.181.111.85: icmp_seq=1591 ttl=55 time=43.0 ms

64 bytes from 220.181.111.85: icmp_seq=1592 ttl=55 time=41.8 ms

64 bytes from 220.181.111.85: icmp_seq=1593 ttl=55 time=50.0 ms

64 bytes from 220.181.111.85: icmp_seq=1594 ttl=55 time=50.0 ms

64 bytes from 220.181.111.85: icmp_seq=1595 ttl=55 time=49.9 ms

64 bytes from 220.181.111.85: icmp_seq=1596 ttl=55 time=48.9 ms

參考文档:

版权声明:本文博主原创文章,博客,未经同意不得转载。

android pppoe 源码,android移植pppoe拨号上网的全过程相关推荐

  1. [Android精品源码] Android 仿美团网,探索ListView的A-Z字母排序功能实现选择城市

    Material Design中文版Code4APPPHP100UI4APP 开启辅助访问设为首页收藏本站快捷导航切换到宽版切换风格 石刚 | |我的 |签到打卡 |设置 |消息 |提醒(2) |退出 ...

  2. android intent 源码,Android 基础之 IntentService 源码

    Android 基础之 IntentService 源码 Android,IntentService,源码 IntentService 位于 android.app 包下面,是 Service 的一个 ...

  3. 怎么看android底层源码,Android 底层按键获取

    与用户交互的输入设备(触摸屏,键盘等)是获取用户意图的来源.由于硬件本身的物理特性及由各大硬件厂商的标准不一,这将导致我们从设备上获取到的键值存在一定的差异性,为了让系统能够正确处理用户的操作,我们就 ...

  4. 怎么看android底层源码,Android底层有必定的认识,研究过相关的Android源码

    1.系统架构:java 一).系统分层:(由下向上)[如图]android 一.安卓系统分为四层,分别是Linux内核层.Libraries层.FrameWork层,以及Applications层:g ...

  5. android面试 源码,Android面试题-onCreate源码都没看过,怎好意思说自己做android-Go语言中文社区...

    自定义控件 联网 工具 数据库 源码分析相关面试题 Activity相关面试题 Service相关面试题 与XMPP相关面试题 与性能优化相关面试题 与登录相关面试题 与开发相关面试题 与人事相关面试 ...

  6. android 赛车 源码,android 3D风格赛车游戏源码

    android 3D风格赛车游戏源码,基于Libgdx 框架开发,三维视觉,包含20量敌方车辆和10量我方车辆,支持Admob广告插件,带游戏排行榜和成就系统 ,兼容手机.平板电脑等多种屏幕尺寸 ,游 ...

  7. android snackbar源码,Android中Snackbar的使用方法及小技巧

    前言 Snackbar和Toast相似,都是为了给用户提供交互信息,Snackbar是固定在底部的,显示时从下往上滑出 要使用Snackbar,需要在项目的build.gradle中添加依赖 depe ...

  8. android 点赞源码,android仿即刻点赞文字部分的自定义View的示例代码

    概述:在学习HenCoder的过程中,有一期是模仿优秀自定义View,有一个项目是仿即刻的点赞,后来原作者在点评中提到,需要将文字和图片分开来写,并且模仿者的动画实现由点杂乱.所以决定重现实现下文字部 ...

  9. android图库源码,android从系统图库中取图片的实例代码

    本文实例讲述了android从系统图库中取图片的实现方法.分享给大家供大家参考.具体如下: 在自己应用中,从系统图库中取图片,然后截取其中一部分,再返回到自己应用中.这是很多有关图片的应用需要的功能. ...

最新文章

  1. DataList中的按钮触发事件的方法的实现
  2. 《树莓派Python编程入门与实战(第2版)》——3.9 小结
  3. PHP学习笔记-字符串操作2
  4. Spring OXM-XStream流化对象
  5. java 静态块初始化_简单了解java中静态初始化块的执行顺序
  6. android 从网络加载图片并显示
  7. HTML做出7个网页,HTML适用于除IE 7以外的每个网页浏览器。
  8. 阿里云centos7上yum安装并连接mysql
  9. 一文详解深度相机之TOF成像
  10. GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》之安全通信网络测评解读
  11. 在Win10 系统中安装VS 2008
  12. C++调用c#的.net Standard类库流程
  13. 物联网应用技术和计算机应用技术,物联网应用技术专业介绍
  14. 跟同事聊工作,不要用哦,可以用收到、明白、好、知道等词代替
  15. PHP写json文件的树形菜单,树形菜单(无级树)json数据
  16. 简单OR复杂?机器学习专家为你解密企业风险量化模型
  17. Mysql按条件求和Sum函数
  18. Python实践:使用Turtle模块绘制炫彩螺旋线
  19. 回收站清空的文件能恢复吗?
  20. 二维码支付的优势与劣势

热门文章

  1. 哪些是真正的全光谱灯品牌呢?推荐五款全光谱护眼灯
  2. 新年礼物送什么好?五款高颜值的蓝牙耳机盘点
  3. lync2010企业版部署
  4. 视觉机器学习20讲-MATLAB源码示例(17)-RBM学习算法
  5. ab753变频器参数怎么拷贝到面板_AB753变频器参数设置
  6. esp8266接入机智云
  7. ubuntu 内网机器访问外网
  8. 基于ssh旅游查询、旅游管理平台系统mysql
  9. 视频教程-商业编译:从技术人到CEO的商业认知课 (提升篇)-招聘/面试
  10. AD模数转化/DA数模转换