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.
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 .