PPPoE on Android

PPPoE on Android 

        如果在Google上搜索“PPPoE Android”这两个关键字,会找到很多实现方法,但是大多数都是 使用rp-pppoe,结合Java调用linux命令来实现的!我个人觉得这是伪实现方式,这样做是方便,但是对后续开发带来了麻烦。因为这样的做法不是Android框架的正统做过,拨号是能拨号是能拨上,但是没有为应用层提供任何接口,应用层不能获得任何状况信息。如果对于专业级的设备如Android的路由器,或者说Android的PC机,都是要有正规的拨号框架才能正确的开发对应的应用程序来实现PPPoE拨号。
        我认为要正确的实现PPPoE拨号,需要在已经实现的Ethernet框架上实现PPPoE,融合到Net框架中去,并实现一直app调用接口。
        有了上述方向,我先在Google上找找相关信息,在Google论坛[1]上看到Freescale 10.3.2 android [2]这个BSP已经实现了PPPoE,我就可以先找到这个BSP包来基于他的实现来研究了。
        决定兵分三路来做:
        1. 下载研究Freescale 10.3.2 android BSP研究它的实现
        2. 下载Android-x86的Ethernet补丁
        3. Ethernet的具体实现
        
        关于Freescale 10.3.2 android BSP
        下载了两个文件: imx-android-r10.3.2_bundle.tar.gz IMX5X_R10_3_2_ANDROID_DOCS_BUNDLE.tar.gz 解决后确实发现了pppoe的补丁。下载后可以看到关于pppoe的补丁:
        root@kangear:~/work/imx/32/imx-android-r10.3.2/code/r10.3.2# find ./ -name *pppoe*
        ./device/fsl.git/0018-ENGR00170823-add- pppoe-in-android.patch
        ./platform/packages/apps/Settings.git/0001-ENGR00170823-add- pppoe-in-android.patch
        ./platform/system/core.git/0003-ENGR00170823-add- pppoe-in-android.patch
        ./platform/system/netd.git/0002-ENGR00170823-add- pppoe-in-android.patch
        ./platform/frameworks/base.git/0012-ENGR00170823-add- pppoe-in-android.patch
        ./platform/bionic.git/0002-ENGR00170823-add- pppoe-in-android.patch
        ./platform/external/ppp.git/0001-ENGR00170823-add- pppoe-in-android.patch
        root@kangear:~/work/imx/32/imx-android-r10.3.2/code/r10.3.2#
        可以看出补丁涉及到了external bionic frameworkds system/core system/netd packages/apps/Settings 从上层应用到底层框架都要打补丁。首先要了解整个框架,才能着手打补丁。

android source:
fsl.git/0018-ENGR00170823-add-pppoe-in-android.patch
- init.rc中启动pppd_pppoe 添加相关命令以及配置文件
packages/apps/Settings.git/0001-ENGR00170823-add-pppoe-in-android.patch
-为Settings添加pppoe_dialog 
system/core.git/0003-ENGR00170823-add-pppoe-in-android.patch
- 添加PPPoE HAL层
system/netd.git/0002-ENGR00170823-add-pppoe-in-android.patch
- 添加PPPoE HAL层
frameworks/base.git/0012-ENGR00170823-add-pppoe-in-android.patch
- 添加PPPoE框架层
bionic.git/0002-ENGR00170823-add-pppoe-in-android.patch
- 添加bionic头文件
external/ppp.git/0001-ENGR00170823-add-pppoe-in-android.patch
- Fix ppp的PPPoE插件
( 这个项目要耽搁了,所以先记录一下!)























1.https://groups.google.com/forum/#!topic/android-porting/BlYpNvqZCxg
2.http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMXANDROID

你可能感兴趣的:(PPPoE on Android)