Android 5.0ネットワークサブシステム

3380 ワード

プロジェクトの必要に応じて,現在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とnl 80211
三、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 pppoe
service pppoe-setup /system/bin/pppoe-setup
    class main
    disabled
    oneshot
service pppoe-start /system/bin/pppoe-start
    class main
    disabled
    oneshot
service pppoe-status /system/bin/pppoe-status
    class main
    disabled
    oneshot
service pppoe-stop /system/bin/pppoe-stop
    class main
    disabled
    oneshot
setprop ctl.start pppoe-stopを設定するとpppoe-stopが実行されます.
五、プロジェクトの問題
Androidシステムwifiシステム側とアプリケーションとのインタラクション
1.wifiのsta動作モード
AndroidシステムDHCPの問題
Android 5.0システムwifiはwpsにscan問題を送信しています
Android 5.0システムWIFIステータスアプリケーションへの通知方法
Androidシステムwifi入力エラーのユーザー名に問題はありません
2.wifiのp 2 p動作モード
Android 5.0システムwifip 2 pデフォルトssidとパスワード
Androidシステムwifiのp 2 p(wifi直結)プロファイル権限によりアプリケーションがwifiを使用できなくなる問題
3.wifiのソフトap動作モード
Android WIFIのSoftAP
4.pppoeネットワークの問題
Android 5.0ネットワークポリシーによりPPPOEが正常にインターネットに接続できない
5.ethernetネットワークの問題
Android 5.0イーサネットプロセスソースシナリオ分析
Android 5.0ネットワークスコアによるイーサネット接続不可
6.ネットワーク切替ポリシー
Android 5.0ネットワークスコアと切り替えポリシー
7.wifi 2 pとMiracast(Wifi Display)
転載:Android Wi-Fi Display(Miracast)紹介