Vue d'ensemble

Android fournit une implémentation de framework Android par défaut qui inclut la prise en charge de divers protocoles et modes Wi-Fi, notamment :

  • Infrastructure Wi-Fi (STA)
  • Point d'accès Wi-Fi (Soft AP) en mode connecté ou local uniquement
  • Wi-Fi Direct (p2p)
  • Compatible Wi-Fi (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

Une application utilisant les services Wi-Fi communique directement avec les différents services Wi-Fi via Binder. Les services Wi-Fi s'exécutent dans le service système et communiquent avec le HAL via les interfaces HIDL et AIDL fournies. Ce diagramme montre la structure générale de la pile Wi-Fi Android.

Architecture Wi-Fi

Figure 1. Architecture Wi-Fi Android

Cadre d'application

Au niveau du framework d'application se trouve le code d'application, qui utilise les différentes API android.net.wifi pour interagir avec le framework et le matériel Wi-Fi. En interne, ce code appelle le processus Wi-Fi via le mécanisme Binder IPC.

Services Wi-Fi

Les services Wi-Fi s'exécutent dans le service système et se trouvent dans packages/modules/Wifi/service/ . Le service Wi-Fi communique avec le Wi-Fi HAL via AIDL.

Il existe différents services Wi-Fi :

  • Service Wi-Fi : mécanisme principal de contrôle des modes d'infrastructure Wi-Fi (STA et AP).
  • Service Wi-Fi P2P : gère le mode Wi-Fi Direct.
  • Service Wi-Fi Aware : gère le mode Wi-Fi Aware.
  • Service Wi-Fi RTT : gère la fonctionnalité IEEE 802.11mc FTM.

Le framework Wi-Fi comprend également un processus autonome, wificond , situé dans system/connectivity/wificond . Le processus wificond communique avec le pilote Wi-Fi via les commandes standard nl80211 .

HAL Wi-Fi

Le framework Wi-Fi comporte trois surfaces Wi-Fi HAL représentées par trois interfaces différentes : Vendor HAL, Supplicant HAL et Hostapd HAL.

Pour plus de détails sur les implémentations des différents HAL, consultez Wi-Fi HAL .