Vista general

Android proporciona una implementación predeterminada del marco de trabajo de Android que incluye soporte para varios protocolos y modos de Wi-Fi, que incluyen:

  • Infraestructura Wi-Fi (STA)
  • Punto de acceso Wi-Fi (Soft AP) en modo conectado o solo local
  • Wi-Fi directo (p2p)
  • Compatible con Wi-Fi (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

Una aplicación que utiliza servicios Wi-Fi se comunica directamente con los distintos servicios Wi-Fi a través de Binder. Los servicios de Wi-Fi se ejecutan en el Servicio del sistema y se comunican con HAL a través de las interfaces HIDL y AIDL proporcionadas. Este diagrama muestra la estructura general de la pila de Wi-Fi de Android.

Arquitectura wifi

Figura 1. Arquitectura Wi-Fi de Android

Marco de aplicación

En el nivel del marco de la aplicación está el código de la aplicación, que utiliza las diversas API de android.net.wifi para interactuar con el marco y el hardware de Wi-Fi. Internamente, este código llama al proceso Wi-Fi a través del mecanismo Binder IPC.

servicios wifi

Los servicios de Wi-Fi se ejecutan en el Servicio del Sistema y se encuentran en packages/modules/Wifi/service/ . El servicio Wi-Fi se comunica con Wi-Fi HAL a través de AIDL.

Existen varios servicios de Wi-Fi:

  • Servicio Wi-Fi: Mecanismo principal para controlar los modos de infraestructura Wi-Fi (tanto STA como AP).
  • Servicio Wi-Fi P2P: Gestiona el modo Wi-Fi Direct.
  • Servicio Wi-Fi Aware: administra el modo Wi-Fi Aware.
  • Servicio Wi-Fi RTT: Gestiona la funcionalidad IEEE 802.11mc FTM.

El marco Wi-Fi también incluye un proceso independiente, wificond , ubicado en system/connectivity/wificond . El proceso wificond se comunica con el controlador de Wi-Fi mediante comandos estándar nl80211 .

HAL Wi-Fi

El marco Wi-Fi tiene tres superficies Wi-Fi HAL representadas por tres interfaces diferentes: Vendor HAL, Supplicant HAL y Hostapd HAL.

Para obtener detalles sobre las implementaciones de los distintos HAL, consulte Wi-Fi HAL .