總覽

Android 提供了一個默認的 Android 框架實現,包括對各種 Wi-Fi 協議和模式的支持,包括:

  • Wi-Fi 基礎設施 (STA)
  • Wi-Fi 熱點 (Soft AP) 處於聯機模式或僅限本地模式
  • Wi-Fi 直連 (p2p)
  • Wi-Fi 感知 (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

使用 Wi-Fi 服務的應用程序通過 Binder 直接與各種 Wi-Fi 服務通信。 Wi-Fi 服務在系統服務中運行,並通過 HIDL 與 HAL 通信。此圖顯示了 Android Wi-Fi 堆棧的一般結構。

無線網絡架構

圖 1. Android Wi-Fi 架構

應用框架

在應用程序框架級別是應用程序代碼,它使用各種android.net.wifi API 與 Wi-Fi 框架和硬件進行交互。在內部,這段代碼通過Binder IPC機制調用Wi-Fi進程。

無線網絡服務

Wi-Fi 服務在系統服務中運行,位於packages/modules/Wifi/service/中。 Wi-Fi 服務通過 HIDL 與 Wi-Fi HAL 通信。

有多種 Wi-Fi 服務:

  • Wi-Fi 服務:控制 Wi-Fi 基礎設施模式(STA 和 AP)的主要機制。
  • Wi-Fi P2P 服務:管理 Wi-Fi Direct 模式。
  • Wi-Fi Aware Service:管理 Wi-Fi Aware 模式。
  • Wi-Fi RTT 服務:管理 IEEE 802.11mc FTM 功能。

Wi-Fi 框架還包括一個獨立進程wificond ,位於system/connectivity/wificondwificond進程通過標準nl80211命令與 Wi-Fi 驅動程序通信。

Wi-Fi HAL

Wi-Fi 框架具有三個 Wi-Fi HAL 表面,由三個不同的 HIDL 包表示:Vendor HAL、Supplicant HAL 和 Hostapd HAL。

有關各種 HAL 實現的詳細信息,請參閱Wi-Fi HAL