android pppoe 源码,android移植pppoe拨号上网的全过程
硬件环境: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拨号上网的全过程相关推荐
- [Android精品源码] Android 仿美团网,探索ListView的A-Z字母排序功能实现选择城市
Material Design中文版Code4APPPHP100UI4APP 开启辅助访问设为首页收藏本站快捷导航切换到宽版切换风格 石刚 | |我的 |签到打卡 |设置 |消息 |提醒(2) |退出 ...
- android intent 源码,Android 基础之 IntentService 源码
Android 基础之 IntentService 源码 Android,IntentService,源码 IntentService 位于 android.app 包下面,是 Service 的一个 ...
- 怎么看android底层源码,Android 底层按键获取
与用户交互的输入设备(触摸屏,键盘等)是获取用户意图的来源.由于硬件本身的物理特性及由各大硬件厂商的标准不一,这将导致我们从设备上获取到的键值存在一定的差异性,为了让系统能够正确处理用户的操作,我们就 ...
- 怎么看android底层源码,Android底层有必定的认识,研究过相关的Android源码
1.系统架构:java 一).系统分层:(由下向上)[如图]android 一.安卓系统分为四层,分别是Linux内核层.Libraries层.FrameWork层,以及Applications层:g ...
- android面试 源码,Android面试题-onCreate源码都没看过,怎好意思说自己做android-Go语言中文社区...
自定义控件 联网 工具 数据库 源码分析相关面试题 Activity相关面试题 Service相关面试题 与XMPP相关面试题 与性能优化相关面试题 与登录相关面试题 与开发相关面试题 与人事相关面试 ...
- android 赛车 源码,android 3D风格赛车游戏源码
android 3D风格赛车游戏源码,基于Libgdx 框架开发,三维视觉,包含20量敌方车辆和10量我方车辆,支持Admob广告插件,带游戏排行榜和成就系统 ,兼容手机.平板电脑等多种屏幕尺寸 ,游 ...
- android snackbar源码,Android中Snackbar的使用方法及小技巧
前言 Snackbar和Toast相似,都是为了给用户提供交互信息,Snackbar是固定在底部的,显示时从下往上滑出 要使用Snackbar,需要在项目的build.gradle中添加依赖 depe ...
- android 点赞源码,android仿即刻点赞文字部分的自定义View的示例代码
概述:在学习HenCoder的过程中,有一期是模仿优秀自定义View,有一个项目是仿即刻的点赞,后来原作者在点评中提到,需要将文字和图片分开来写,并且模仿者的动画实现由点杂乱.所以决定重现实现下文字部 ...
- android图库源码,android从系统图库中取图片的实例代码
本文实例讲述了android从系统图库中取图片的实现方法.分享给大家供大家参考.具体如下: 在自己应用中,从系统图库中取图片,然后截取其中一部分,再返回到自己应用中.这是很多有关图片的应用需要的功能. ...
最新文章
- DataList中的按钮触发事件的方法的实现
- 《树莓派Python编程入门与实战(第2版)》——3.9 小结
- PHP学习笔记-字符串操作2
- Spring OXM-XStream流化对象
- java 静态块初始化_简单了解java中静态初始化块的执行顺序
- android 从网络加载图片并显示
- HTML做出7个网页,HTML适用于除IE 7以外的每个网页浏览器。
- 阿里云centos7上yum安装并连接mysql
- 一文详解深度相机之TOF成像
- GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》之安全通信网络测评解读
- 在Win10 系统中安装VS 2008
- C++调用c#的.net Standard类库流程
- 物联网应用技术和计算机应用技术,物联网应用技术专业介绍
- 跟同事聊工作,不要用哦,可以用收到、明白、好、知道等词代替
- PHP写json文件的树形菜单,树形菜单(无级树)json数据
- 简单OR复杂?机器学习专家为你解密企业风险量化模型
- Mysql按条件求和Sum函数
- Python实践:使用Turtle模块绘制炫彩螺旋线
- 回收站清空的文件能恢复吗?
- 二维码支付的优势与劣势