Übersicht

Android bietet eine Standardimplementierung des Android-Frameworks, die Unterstützung für verschiedene WLAN-Protokolle und -Modi umfasst, darunter:

  • WLAN-Infrastruktur
  • WLAN-Hotspot (Soft-AP) im Tethering- oder lokal beschränkten Modus
  • Wi‑Fi Direct (p2p)
  • Wi‑Fi Aware (NAN)
  • Wi‑Fi RTT (IEEE 802.11mc FTM)

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

WLAN-Architektur

Abbildung 1: Android-WLAN-Architektur

Anwendungs-Framework

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

WLAN-Dienste

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

Es gibt verschiedene WLAN-Dienste:

  • Wi-Fi Service: Primärer Mechanismus zur Steuerung der WLAN-Infrastrukturmodi (sowohl STA als auch ZP).
  • WLAN-P2P-Dienst: Verwaltet den Wi‑Fi Direct-Modus.
  • Wi-Fi Aware Service: Verwaltet den Wi-Fi Aware-Modus.
  • Wi‑Fi RTT-Dienst: Verwaltet die FTM-Funktion (Fast Transfer Mode) von IEEE 802.11mc.

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

WLAN-HALs

Das Wi‑Fi-Framework hat drei Wi‑Fi HAL-Oberflächen, die durch drei verschiedene Schnittstellen dargestellt werden: Vendor HAL, Supplicant HAL und Hostapd HAL.

Weitere Informationen zu den Implementierungen der verschiedenen HALs finden Sie unter Wi‑Fi HAL.