Przegląd

Android zapewnia domyślną implementację platformy Android, która obejmuje obsługę różnych protokołów i trybów Wi-Fi, w tym:

  • Infrastruktura Wi-Fi (STA)
  • Hotspot Wi-Fi (Soft AP) w trybie tetheringu lub tylko lokalnie
  • Wi-Fi Direct (p2p)
  • Obsługuje Wi-Fi (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

Aplikacja korzystająca z usług Wi-Fi komunikuje się bezpośrednio z różnymi usługami Wi-Fi za pośrednictwem Bindera. Usługi Wi-Fi działają w ramach usługi systemowej i komunikują się z warstwą HAL za pośrednictwem dostarczonych interfejsów HIDL i AIDL. Ten diagram przedstawia ogólną strukturę stosu Wi-Fi systemu Android.

Architektura Wi-Fi

Rysunek 1. Architektura Wi-Fi Androida

Ramy aplikacji

Na poziomie struktury aplikacji znajduje się kod aplikacji, który wykorzystuje różne interfejsy API systemu Android.net.wifi do interakcji ze strukturą i sprzętem Wi-Fi. Wewnętrznie ten kod wywołuje proces Wi-Fi za pośrednictwem mechanizmu Binder IPC.

Usługi Wi-Fi

Usługi Wi-Fi działają w ramach Usługi Systemowej i znajdują się w packages/modules/Wifi/service/ . Usługa Wi-Fi komunikuje się z Wi-Fi HAL za pośrednictwem AIDL.

Istnieją różne usługi Wi-Fi:

  • Usługa Wi-Fi: Podstawowy mechanizm kontrolowania trybów infrastruktury Wi-Fi (zarówno STA, jak i AP).
  • Usługa Wi-Fi P2P: zarządza trybem Wi-Fi Direct.
  • Usługa Wi-Fi Aware: zarządza trybem Wi-Fi Aware.
  • Usługa Wi-Fi RTT: zarządza funkcjonalnością IEEE 802.11mc FTM.

Struktura Wi-Fi obejmuje również samodzielny proces Wi-Ficond , znajdujący się w system/connectivity/wificond . Proces Wi-Fi komunikuje się ze sterownikiem Wi-Fi za pomocą standardowych poleceń nl80211 .

HAL Wi-Fi

Struktura Wi-Fi obejmuje trzy powierzchnie Wi-Fi HAL reprezentowane przez trzy różne interfejsy: Vendor HAL, Supplicant HAL i Hostapd HAL.

Aby uzyskać szczegółowe informacje na temat implementacji różnych warstw HAL, zobacz Wi-Fi HAL .