Обзор

Android предоставляет реализацию платформы Android по умолчанию, которая включает поддержку различных протоколов и режимов Wi-Fi, в том числе:

  • Инфраструктура Wi-Fi (STA)
  • Точка доступа Wi-Fi (Soft AP) в привязанном или локальном режимах
  • Прямой Wi-Fi (p2p)
  • Поддержка Wi-Fi (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

Приложение, использующее службы Wi-Fi, напрямую взаимодействует с различными службами Wi-Fi через Binder. Службы Wi-Fi работают в системной службе и взаимодействуют с HAL через HIDL. На этой диаграмме показана общая структура стека Android Wi-Fi.

Архитектура Wi-Fi

Рис. 1. Архитектура Android Wi-Fi

Каркас приложения

На уровне структуры приложения находится код приложения, который использует различные API-интерфейсы android.net.wifi для взаимодействия с инфраструктурой и оборудованием Wi-Fi. Внутри этот код вызывает процесс Wi-Fi через механизм IPC Binder.

услуги Wi-Fi

Службы Wi-Fi запускаются в системной службе и расположены в packages/modules/Wifi/service/ . Служба Wi-Fi взаимодействует с HAL Wi-Fi через HIDL.

Существуют различные услуги Wi-Fi:

  • Служба Wi-Fi: основной механизм управления режимами инфраструктуры Wi-Fi (как STA, так и AP).
  • Служба Wi-Fi P2P: управляет режимом Wi-Fi Direct.
  • Wi-Fi Aware Service: управляет режимом Wi-Fi Aware.
  • Служба Wi-Fi RTT: управляет функциональностью IEEE 802.11mc FTM.

Платформа Wi-Fi также включает автономный процесс wificond , расположенный в system/connectivity/wificond . Процесс wificond взаимодействует с драйвером Wi-Fi с помощью стандартных команд nl80211 .

HAL Wi-Fi

Платформа Wi-Fi имеет три поверхности HAL Wi-Fi, представленные тремя различными пакетами HIDL: Vendor HAL, Supplicant HAL и Hostapd HAL.

Дополнительные сведения о реализации различных HAL см. в разделе Wi-Fi HAL .