總覽

Android 提供預設的 Android 架構實作,支援各種 Wi-Fi 通訊協定和模式,包括:

  • Wi-Fi 基礎架構 (STA)
  • 在連線或僅限本機模式下使用 Wi-Fi 無線基地台 (軟體 AP)
  • Wi-Fi Direct (p2p)
  • Wi-Fi Aware (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

使用 Wi-Fi 服務的應用程式會透過 Binder 直接與各種 Wi-Fi 服務通訊。Wi-Fi 服務會在系統服務中執行,並透過提供的 HIDL 和 AIDL 介面與 HAL 通訊。這張圖表顯示 Android Wi-Fi 堆疊的一般結構。

Wi-Fi 架構

圖 1. Android Wi-Fi 架構

應用程式架構

應用程式架構層級是應用程式程式碼,會使用各種 android.net.wifi API 與 Wi-Fi 架構和硬體互動。在內部,這個程式碼會透過 Binder IPC 機制呼叫 Wi-Fi 程序。

Wi-Fi 服務

Wi-Fi 服務會在系統服務中執行,並位於 packages/modules/Wifi/service/ 中。Wi-Fi 服務會透過 AIDL 與 Wi-Fi HAL 通訊。

有各種 Wi-Fi 服務:

  • Wi-Fi 服務:控制 Wi-Fi 基礎架構模式 (STA 和 AP) 的主要機制。
  • Wi-Fi P2P 服務:管理 Wi-Fi Direct 模式。
  • Wi-Fi Aware 服務:管理 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 途徑,分別由三個不同的介面代表:供應商 HAL、申請者 HAL 和 Hostapd HAL。

如要進一步瞭解各種 HAL 的實作方式,請參閱「Wi-Fi HAL」。