由于项目需要,目前将工作内容投入到Ethernet、Wifi和PPPOE方面研究:

Linux下的网络连接

一、Android网络管理与网络切换

转载:Android网络切换分析

frameworks/base/services/java/com/android/server/ConnectivityService.java

frameworks/base/services/core/java/com/android/server/ConnectivityService.java(Android5.0)

二、Wifi部分

转载:

Android系统WIFI整理逻辑

1.AP进程

与WifiServer进程通过Android的Binder以及广播机制通信;该进程牵扯wifi应用和Android有关wifi的api部分源码

packages/apps/Settings/src/com/android/settings/wifi/

frameworks/base/wifi/java/android/net/wifi/

Wifi测试apk源码

2.WifiService进程

与Wpa_Supplicant进程通过Socket通信;该进程牵扯Android有关wifiservice部分源码

frameworks/base/services/java/com/android/server/ConnectivityService.java

frameworks/base/services/core/java/com/android/server/ConnectivityService.java(Android5.0)

frameworks/base/wifi/java/android/net/wifi

frameworks/opt/net/wifi/service/java/com/android/server/wifi(Android5.0)
framework/base/core/jni/android_net_wifi_Wifi.c
hardware/libhardware_legacy/wifi/wifi.c

Android系统wifi状态机WifiStateMachine

3.Wpa_Supplicant进程

与Wifi的Linux Driver通过Netlink的Socket机制通信;该进程为wps进程,为Android的wifi子系统核心

external/wpa_supplicant

wpa_supplicant进程

wpa_supplicant适配层 -- 详解

4.Wifi的Linux Driver

WIFI的Linux驱动部分wext和nl80211

三、Ethernet部分

1.AP进程

frameworks/base/core/java/android/net/EthernetManager.java

frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetService.java(Android5.0)

四、PPPOE部分

1.AP进程

frameworks/base/core/java/android/net/pppoe/PppoeManager.java

2.PPPOE_SERVER进程

frameworks/base/services/java/com/android/server/PppoeService.java

frameworks/opt/net/pppoe/java/com/android/server/pppoe/PppoeService.java(Android5.0)

3.PPPOE进程

rp-pppoe/(Android下需要移植) //完成发现过程和数据转发工作

3.PPPD进程

external/ppp/pppd/ //主要完成驱动操作工作,也就是协议。一般执行pppoe-start脚本,是启动pppd进程;该进程去通过exec函数来启动pppoe进程的。

5.内核ETHERNET选项中打开所有PPP相关

C层测试脚本:

pppoe-setup、pppoe-connect、pppoe-start、pppoe-stop、pppoe-status

在Android系统里边,init.rc

# services for pppoeservice pppoe-setup /system/bin/pppoe-setup    class main    disabled    oneshotservice pppoe-start /system/bin/pppoe-start    class main    disabled    oneshotservice pppoe-status /system/bin/pppoe-status    class main    disabled    oneshotservice pppoe-stop /system/bin/pppoe-stop    class main    disabled    oneshot
当设置setprop ctl.start pppoe-stop时pppoe-stop执行。

五、项目问题

Android系统wifi系统侧与应用程序交互

1.wifi的sta工作模式

Android系统DHCP问题

Android5.0系统wifi一直在向wps发送scan问题

Android5.0系统WIFI状态如何向应用程序通知

Android系统wifi输入错误的用户名没有提示问题

2.wifi的p2p工作模式

Android5.0系统wifip2p默认ssid和密码

Android系统wifi之p2p(wifi直连)配置文件权限导致应用不能使用wifi问题

3.wifi的软ap工作模式

Android WIFI之SoftAP

4.pppoe网络问题

Android5.0网络策略导致PPPOE无法正常上网

5.ethernet网络问题

Android5.0以太网流程源码情景分析

Android5.0网络评分导致的以太网不能连接

6.网络切换策略

Android5.0网络评分与切换策略

7.wifip2p与Miracast(Wifi Display)

转载:Android Wi-Fi Display(Miracast)介绍



更多相关文章

  1. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
  2. 一款霸榜 GitHub 的开源 Linux 资源监视器!
  3. android 获取系统中各种类型音量及对音量设置
  4. android recovery 系统代码分析【精】
  5. Android无线管理
  6. Android(安卓)camera拍照分辨率
  7. Android通讯录实现联系人模糊查找
  8. Android网络文件下载模块整理
  9. Android怎么判断手机有没有联网

随机推荐

  1. Android之自定义Adapter的ListView
  2. android 弹出视频
  3. Android中Broadcast的Intent大全
  4. Download Android(安卓)1.5 SDK, Release
  5. android典型代码系列(三十)------DES加密
  6. [android]上下文菜单
  7. android studio 0.80多渠道打包
  8. Android网络状态监听
  9. Android文件读写简单示例
  10. android:keyboardNavigationCluster