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 współbieżność Wi-Fi STA/AP:
- Włącz flagę czasu kompilacji, aby włączyć obsługę 2 interfejsów w HAL.
Flaga znajduje się w regionie
device/<oem>/<device>/BoardConfig-common.mk.WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
- Udostępnij dwa interfejsy sieci:
wlan0wlan1
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 Channel Switch Avoidance (CSA), która umożliwia:
- Przenieś punkt dostępu na ten sam kanał co stacja.
- Przenieś punkt dostępu do innego pasma niż stacja.