Mit Android 9 können Geräte gleichzeitig im STA- und AP-Modus betrieben werden. Für Geräte, die Dual Band Simultaneous (DBS) unterstützen, eröffnet diese Funktion neue Möglichkeiten, wie z. B. die Nichtunterbrechung von STA-WLAN, wenn ein Benutzer Hotspot (SoftAP) aktivieren möchte.
Beispiele und Quelle
Die Wi-Fi-STA/AP-Parallelität wird im standardmäßigen AOSP-Android-Framework-Code unterstützt. Es wird auch von der in Wi-Fi HAL beschriebenen Referenz-HAL-Implementierung unterstützt. Das im Abschnitt „Implementierung“ unten beschriebene Build-Time-Flag WIFI_HIDL_FEATURE_DUAL_INTERFACE
ermöglicht eine Schnittstellen-Parallelitätsspezifikation, die die gleichzeitige Unterstützung für STA und AP angibt.
Implementierung
So implementieren Sie Wi-Fi STA/AP-Parallelität auf Ihrem Gerät:
Aktivieren Sie ein Build-Time-Flag, um die Unterstützung für zwei Schnittstellen in der HAL zu aktivieren. Das Flag befindet sich in
device/<oem>/<device>/BoardConfig-common.mk
.- WIFI_HIDL_FEATURE_DUAL_INTERFACE := wahr
Machen Sie zwei Netzwerkschnittstellen verfügbar:
- wlan0 und wlan1
Das Flag WIFI_HIDL_FEATURE_DUAL_INTERFACE
wird ignoriert, wenn das Flag WIFI_HAL_INTERFACE_COMBINATIONS
angegeben ist. Weitere Informationen finden Sie unter Wi-Fi-Multi-Interface-Parallelität .
Validierung
Um zu überprüfen, ob die Funktion wie vorgesehen funktioniert, führen Sie sowohl einen Integrationstest (ACTS) als auch einen manuellen Test durch.
Die ACTS-Datei WifiStaApConcurrencyTest.py
unter tools/test/connectivity/acts_tests/tests/google/wifi
enthält eine Reihe von Tests, die verschiedene Kombinationen von STAs und APs hervorbringen.
Um diese Funktion manuell zu validieren, schalten Sie die STA- und AP-Schnittstellen unabhängig von der Benutzeroberfläche ein und aus.
Wenn sich sowohl AP als auch STA im selben Subnetz befinden, können Routing-Probleme auf dem zu testenden Gerät (DUT) auftreten. Um Kollisionen zu vermeiden, versuchen Sie, den AP in ein anderes Subnetz zu verschieben.
Einige Hersteller von Wi-Fi-Chips versetzen das Funkgerät in den Time-Sharing-Modus, wenn STA und AP sich im selben Band, aber auf unterschiedlichen Kanälen befinden. Dies führt zu einem starken Leistungsabfall. Um dieses Problem zu beheben, kann der Chip Channel Switch Vermeidung (CSA) verwenden, um entweder:
- Verschieben Sie den AP auf denselben Kanal wie die STA
- Verschieben Sie den AP auf ein anderes Band als den STA