Panoramica

Android fornisce un'implementazione predefinita del framework Android che include il supporto per vari protocolli e modalità Wi-Fi, tra cui:

  • Infrastruttura Wi-Fi (STA)
  • Hotspot Wi-Fi (Soft AP) in modalità cablata o solo locale
  • Wi-Fi Direct (p2p)
  • Wi-Fi compatibile (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

Un'applicazione che utilizza i servizi Wi-Fi comunica direttamente con i vari servizi Wi-Fi tramite Binder. I servizi Wi-Fi vengono eseguiti nel servizio di sistema e comunicano con l'HAL tramite le interfacce HIDL e AIDL fornite. Questo diagramma mostra la struttura generale dello stack Wi-Fi Android.

Architettura Wi-Fi

Figura 1. Architettura Wi-Fi Android

Quadro applicativo

A livello del framework dell'applicazione c'è il codice dell'applicazione, che utilizza le varie API android.net.wifi per interagire con il framework e l'hardware Wi-Fi. Internamente, questo codice chiama il processo Wi-Fi attraverso il meccanismo Binder IPC.

Servizi Wi-Fi

I servizi Wi-Fi vengono eseguiti nel Servizio di sistema e si trovano in packages/modules/Wifi/service/ . Il servizio Wi-Fi comunica con l'HAL Wi-Fi tramite AIDL.

Esistono vari servizi Wi-Fi:

  • Servizio Wi-Fi: meccanismo primario per il controllo delle modalità dell'infrastruttura Wi-Fi (sia STA che AP).
  • Servizio Wi-Fi P2P: gestisce la modalità Wi-Fi Direct.
  • Servizio Wi-Fi Aware: gestisce la modalità Wi-Fi Aware.
  • Servizio Wi-Fi RTT: gestisce la funzionalità IEEE 802.11mc FTM.

Il framework Wi-Fi include anche un processo autonomo, wificond , situato in system/connectivity/wificond . Il processo wificond comunica con il driver Wi-Fi tramite comandi nl80211 standard.

HAL Wi-Fi

Il framework Wi-Fi ha tre superfici HAL Wi-Fi rappresentate da tre diverse interfacce: Vendor HAL, Supplicant HAL e Hostapd HAL.

Per dettagli sulle implementazioni dei vari HAL, vedere HAL Wi-Fi .