W Androidzie 9 wprowadzono możliwość jednoczesnej pracy urządzeń w trybie STA i AP. W przypadku urządzeń obsługujących Dual Band Simultaneous (DBS) ta funkcja otwiera nowe możliwości, takie jak niezakłócanie sieci Wi-Fi STA, gdy użytkownik chce włączyć hotspot (softAP).
Przykłady i źródło
Współbieżność Wi-Fi STA/AP jest obsługiwana w domyślnym kodzie platformy AOSP Android. Jest także wspierany przez referencyjną implementację HAL opisaną w Wi-Fi HAL . Flaga czasu kompilacji WIFI_HIDL_FEATURE_DUAL_INTERFACE
opisana w sekcji Implementacja poniżej umożliwia specyfikację współbieżności interfejsu wskazującą współbieżną obsługę STA i AP.
Realizacja
Aby zaimplementować współbieżność Wi-Fi STA/AP na swoim urządzeniu:
Włącz flagę czasu kompilacji, aby włączyć obsługę dwóch interfejsów w warstwie HAL. Flaga znajduje się w
device/<oem>/<device>/BoardConfig-common.mk
.- WIFI_HIDL_FEATURE_DUAL_INTERFACE:= prawda
Ujawnij dwa interfejsy sieciowe:
- wlan0 i wlan1
Flaga WIFI_HIDL_FEATURE_DUAL_INTERFACE
jest ignorowana, jeśli określono flagę WIFI_HAL_INTERFACE_COMBINATIONS
. Aby uzyskać więcej informacji, zobacz temat Współbieżność wielu interfejsów Wi-Fi .
Walidacja
Aby sprawdzić, czy funkcja działa zgodnie z oczekiwaniami, uruchom zarówno test integracji (ACTS), jak i test ręczny.
Plik ACTS, WifiStaApConcurrencyTest.py
, znajdujący się w tools/test/connectivity/acts_tests/tests/google/wifi
, zawiera zestaw testów, które wyświetlają różne kombinacje STA i AP.
Aby ręcznie sprawdzić tę funkcję, włącz i wyłącz interfejsy STA i AP niezależnie od interfejsu użytkownika.
Jeśli zarówno AP, jak i STA znajdują się w tej samej podsieci, mogą wystąpić problemy z routingiem na testowanym urządzeniu (DUT). Aby uniknąć kolizji, spróbuj przenieść punkt dostępowy do innej podsieci.
Niektórzy dostawcy chipów Wi-Fi przełączają radio w tryb podziału czasu, jeśli STA i AP znajdują się w tym samym paśmie, ale na różnych kanałach. Prowadzi to do poważnego spadku wydajności. Aby rozwiązać ten problem, chip może wykorzystywać funkcję unikania przełączania kanałów (CSA) w celu:
- Przenieś AP na ten sam kanał co STA
- Przenieś AP na inne pasmo niż STA