Überblick

Android bietet eine standardmäßige Android-Framework-Implementierung, die Unterstützung für verschiedene Wi-Fi-Protokolle und -Modi umfasst, darunter:

  • Wi-Fi-Infrastruktur (STA)
  • WLAN-Hotspot (Soft AP) im Tethered- oder Nur-Lokal-Modus
  • Wi-Fi Direct (p2p)
  • Wi-Fi-fähig (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

Eine Anwendung, die Wi-Fi-Dienste nutzt, kommuniziert direkt über Binder mit den verschiedenen Wi-Fi-Diensten. Die Wi-Fi-Dienste laufen im Systemdienst und kommunizieren mit dem HAL über die bereitgestellten HIDL- und AIDL-Schnittstellen. Dieses Diagramm zeigt die allgemeine Struktur des Android-WLAN-Stacks.

Wi-Fi-Architektur

Abbildung 1. Android Wi-Fi-Architektur

Anwendungsrahmen

Auf der Ebene des Anwendungsframeworks befindet sich Anwendungscode, der die verschiedenen android.net.wifi- APIs verwendet, um mit dem Wi-Fi-Framework und der Hardware zu interagieren. Intern ruft dieser Code den Wi-Fi-Prozess über den Binder IPC-Mechanismus auf.

Wi-Fi-Dienste

Die Wi-Fi-Dienste werden im Systemdienst ausgeführt und befinden sich in packages/modules/Wifi/service/ . Der Wi-Fi-Dienst kommuniziert mit dem Wi-Fi-HAL über AIDL.

Es gibt verschiedene WLAN-Dienste:

  • Wi-Fi-Dienst: Primärer Mechanismus zur Steuerung der Wi-Fi-Infrastrukturmodi (sowohl STA als auch AP).
  • Wi-Fi P2P-Dienst: Verwaltet den Wi-Fi Direct-Modus.
  • Wi-Fi Aware Service: Verwaltet den Wi-Fi Aware-Modus.
  • Wi-Fi RTT-Dienst: Verwaltet die IEEE 802.11mc FTM-Funktionalität.

Das Wi-Fi-Framework umfasst auch einen eigenständigen Prozess, wificond , der sich unter system/connectivity/wificond befindet. Der wificond- Prozess kommuniziert mit dem Wi-Fi-Treiber über standardmäßige nl80211 Befehle.

Wi-Fi-HALs

Das Wi-Fi-Framework verfügt über drei Wi-Fi-HAL-Oberflächen, die durch drei verschiedene Schnittstellen dargestellt werden: Vendor HAL, Supplicant HAL und Hostapd HAL.

Einzelheiten zu Implementierungen der verschiedenen HALs finden Sie unter Wi-Fi HAL .