Resumen,Resumen

Android proporciona una implementación de marco de Android predeterminada 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)
  • RTT wifi (IEEE 802.11mc FTM)

Una aplicación que utiliza servicios de Wi-Fi se comunica directamente con los diversos servicios de Wi-Fi a través de Binder. Los servicios Wi-Fi se ejecutan en el Servicio del sistema y se comunican con HAL a través de HIDL. Este diagrama muestra la estructura general de la pila 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 se encuentra 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 Wi-Fi se ejecutan en el Servicio del sistema y se encuentran en packages/modules/Wifi/service/ . El servicio de Wi-Fi se comunica con el HAL de Wi-Fi a través de HIDL.

Hay varios servicios Wi-Fi:

  • Servicio Wi-Fi: mecanismo principal para controlar los modos de infraestructura Wi-Fi (tanto STA como AP).
  • Servicio Wi-Fi P2P: Administra el modo Wi-Fi Direct.
  • Servicio compatible con Wi-Fi: administra el modo compatible con Wi-Fi.
  • Servicio Wi-Fi RTT: administra 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 Wi-Fi a través de comandos estándar nl80211 .

HAL Wi-Fi

El marco Wi-Fi tiene tres superficies HAL de Wi-Fi representadas por tres paquetes HIDL diferentes: HAL de proveedor, HAL de suplicante y HAL de Hostapd.

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