Android 9 wprowadza możliwość jednoczesnego działania urządzeń w trybie STA i AP. W przypadku urządzeń obsługujących dwuzakresowe połączenie równoczesne (DBS) ta funkcja otwiera nowe możliwości, takie jak brak zakłóceń w działaniu 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ślnej strukturze Androida AOSP. Jest ona też obsługiwana przez referencyjną implementację HAL opisaną w sekcji Wi-Fi HAL. Flaga czasu kompilacji WIFI_HIDL_FEATURE_DUAL_INTERFACE
opisana w sekcji Implementacja umożliwia specyfikację współbieżności interfejsu, która wskazuje obsługę współbieżną STA i AP.
Implementacja
Aby wdrożyć na urządzeniu jednoczesne działanie Wi-Fi STA/AP:
Włącz flagę czasu kompilacji, aby włączyć obsługę dwóch interfejsów w HAL. Flaga znajduje się w regionie
device/<oem>/<device>/BoardConfig-common.mk
.- WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
udostępniać 2 interfejsy sieci:
- wlan0 i wlan1
Flaga WIFI_HIDL_FEATURE_DUAL_INTERFACE
jest ignorowana, jeśli określono flagę WIFI_HAL_INTERFACE_COMBINATIONS
. Więcej informacji znajdziesz w artykule Współbieżność wielu interfejsów Wi-Fi.
Weryfikacja
Aby sprawdzić, czy funkcja działa zgodnie z oczekiwaniami, przeprowadź test ręczny.
Aby ręcznie sprawdzić tę funkcję, włącz i wyłącz interfejsy STA i AP niezależnie od interfejsu użytkownika.
Jeśli punkt dostępu i stacja są w tej samej podsieci, mogą wystąpić problemy z routingiem na testowanym urządzeniu. Aby uniknąć kolizji, spróbuj przenieść punkt dostępu do innej podsieci.
Niektórzy dostawcy układów Wi-Fi umieszczają radio w trybie współdzielenia czasu, jeśli STA i AP działają w tym samym paśmie, ale na różnych kanałach. Prowadzi to do znacznego spadku skuteczności. Aby rozwiązać ten problem, układ może użyć funkcji unikania zmiany kanału (Channel Switch Avoidance, CSA), która umożliwia:
- Przenieś punkt dostępu na ten sam kanał co stacja.
- Przeniesienie punktu dostępu do innego pasma niż stacja