由于Android已经有pppd(external/ppp/pppd),需要移植pppoe。
- 配置Linux内核, 使能ppp支持
配置:
(1)make menuconfig - > Device Drivers -> Network device support,选择如图的ppp选项(如果不行请把所有的ppp选项选上)。
(2)make -j8
- 添加pppoe component:
(1)下载rp-pppoe (链接:)
(2)解压并进入src文件夹,从config.in文件内获取config.h,手动配置需要的项,这里去掉了注释掉 #define HAVE_SYS_UIO_H 1 (因为它提示重定义的警告)。
(3)给pppoe.c 文件添加 #define VERSION "3.11"
(4)编写Android.mk 如下:
(5)修改/build/product/core.mk,如图:
- 编译和烧写system.
- 调试
(1)发起PADI报文,成功则返回PPPoE Server的MAC地址:pppoe -d
(2)发起连接:pppd pty "pppoe -I eth0" user xxx password xxx
(3)通过设置路由表项目支持pppoe上网:
- ip route del default //操作多次来删除所有的路由表
- ip route add default dev ppp0 //使用busybox查看 ifconfig 确定是否是pppx.
- ip route //查看设置的路由表
- busybox ping baidu.com //百度的作用出来了