概覽
Android 提供默認 Android 框架實現,其中包括對各種 WLAN 協議和模式的支持,這些協議和模式包括:
- WLAN 基礎架構 (STA)
- 網絡共享模式或僅限本地模式下的 WLAN 熱點 (Soft AP)
- WLAN 直連(點對點)
- WLAN 感知 (NAN)
- WLAN RTT (IEEE 802.11mc FTM)
使用 WLAN 服務的應用通過 Binder 直接與各種 WLAN 服務進行通信。WLAN 服務在系統服務中運行,並通過 HIDL 與 HAL 進行通信。下圖顯示了 Android WLAN 堆棧的常規結構。
圖 1. Android WLAN 架構
應用框架
應用代碼位於應用框架級別,它使用各種 android.net.wifi API 與 WLAN 框架和硬件進行交互。此代碼在內部通過 Binder IPC 機制調用 WLAN 進程。
WLAN 服務
WLAN 服務在系統服務中運行,這類服務位於 frameworks/opt/net/wifi
中。WLAN 服務通過 HIDL 與 WLAN HAL 進行通信。
WLAN 服務有很多種:
- WLAN 服務:用於控制 WLAN 基礎架構模式(包括 STA 和 AP)的主要機制。
- WLAN 點對點服務:管理 WLAN 直連模式。
- WLAN 感知服務:管理 WLAN 感知模式。
- WLAN RTT 服務:管理 IEEE 802.11mc FTM 功能。
此外,WLAN 框架還包括一個獨立的進程 wificond,此進程位於 system/connectivity/wificond
中。wificond 進程通過標准 nl80211
命令與 WLAN 驅動程序進行通信。
WLAN HAL
WLAN 框架具有三個 WLAN HAL 表面,分別由三個不同的 HIDL 軟件包表示:供應商 HAL、客戶端 HAL 和 Hostapd HAL。
要詳細了解各種 HAL 的實現,請參閱 WLAN HAL。