Visão geral

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

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

Um aplicativo que usa serviços Wi-Fi se comunica diretamente com os 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 sobre HIDL. Este diagrama mostra a estrutura geral da pilha Android Wi-Fi.

Arquitetura Wi-Fi

Figura 1. Arquitetura de Wi-Fi 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 Wi-Fi. Internamente, esse código chama o processo Wi-Fi por meio do mecanismo Binder IPC.

Serviços de 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 Wi-Fi HAL sobre HIDL.

Existem vários serviços Wi-Fi:

  • Serviço Wi-Fi: Mecanismo primário 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 autônomo, wificond , localizado em system/connectivity/wificond . O processo wificond se comunica com o driver Wi-Fi por meio de comandos padrão nl80211 .

HALs de Wi-Fi

A estrutura Wi-Fi tem três superfícies Wi-Fi HAL representadas por três pacotes HIDL diferentes: Vendor HAL, Supplicant HAL e Hostapd HAL.

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