Aperçu

Android fournit une implémentation du framework Android par défaut qui prend en charge divers protocoles et modes Wi-Fi, y compris:

  • Infrastructure Wi-Fi (STA)
  • Point d'accès Wi-Fi (Soft AP) en mode partage de connexion ou en mode local uniquement
  • Wi-Fi Direct (P2P)
  • Wi-Fi Aware (NAN)
  • DAR Wi-Fi (FTM IEEE 802.11mc)

Une application utilisant des 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 schéma illustre la structure générale de la pile Wi-Fi Android.

Architecture Wi-Fi

Figure 1 : Architecture Wi-Fi Android

Framework 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 d'IPC de liaison.

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 HAL Wi-Fi 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é FTM IEEE 802.11mc.

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

HAL Wi-Fi

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

Pour en savoir plus sur les implémentations des différentes HAL, consultez la section HAL Wi-Fi.