Vista geral

O Android fornece uma implementação de estrutura Android padrão que inclui suporte para vários protocolos e modos Wi-Fi, incluindo:

  • Infraestrutura Wi-Fi (STA)
  • Ponto de acesso Wi-Fi (Soft AP) nos modos conectado ou somente local
  • Wi-Fi direto (p2p)
  • Com reconhecimento de Wi-Fi (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

Um aplicativo que usa serviços Wi-Fi se comunica diretamente com vários serviços Wi-Fi por meio do Binder. Os serviços Wi-Fi são executados no Serviço do Sistema e se comunicam com o HAL pelas interfaces HIDL e AIDL fornecidas. Este diagrama mostra a estrutura geral da pilha Wi-Fi do Android.

Arquitetura Wi-Fi

Figura 1. Arquitetura Wi-Fi do Android

Estrutura do aplicativo

No nível da estrutura do aplicativo está o código do aplicativo, que usa as várias APIs android.net.wifi para interagir com a estrutura e o hardware do Wi-Fi. Internamente, esse código chama o processo Wi-Fi por meio do mecanismo Binder IPC.

Serviços Wi-Fi

Os serviços Wi-Fi são executados no Serviço do Sistema e estão localizados em packages/modules/Wifi/service/ . O serviço Wi-Fi se comunica com o HAL Wi-Fi por AIDL.

Existem vários serviços Wi-Fi:

  • Serviço Wi-Fi: mecanismo principal para controlar os modos de infraestrutura Wi-Fi (STA e AP).
  • Serviço Wi-Fi P2P: gerencia o modo Wi-Fi Direct.
  • Serviço Wi-Fi Aware: gerencia o modo Wi-Fi Aware.
  • Serviço Wi-Fi RTT: gerencia a funcionalidade IEEE 802.11mc FTM.

A estrutura Wi-Fi também inclui um processo independente, wificond , localizado em system/connectivity/wificond . O processo wificond se comunica com o driver Wi-Fi por meio de comandos nl80211 padrão.

HALs Wi-Fi

A estrutura Wi-Fi possui três superfícies HAL Wi-Fi representadas por três interfaces diferentes: HAL do fornecedor, HAL do suplicante e HAL do Hostapd.

Para obter detalhes sobre implementações dos vários HALs, consulte Wi-Fi HAL .