Wi-Fi AP/AP-Parallelität

Android 12 führt die Wi-Fi AP/AP-Parallelität ein, die es Geräten ermöglicht, zwei Access Point (AP)-Schnittstellen zu erstellen. Mit dieser Funktion können Geräte Tethering über einen Dualband-Simultan-WLAN-Hotspot (DBS) (Soft AP) unterstützen. Einzelheiten zur Unterstützung von Tethering über einen einzelnen WLAN-Hotspot finden Sie unter Unterstützung für WLAN-Hotspots (Soft AP) .

Auf dieser Seite werden das Geräteverhalten bei Aktivierung dieser Funktion sowie Implementierungsdetails für Gerätehersteller und -anbieter beschrieben.

Wie es funktioniert

Wenn Wi-Fi AP/AP-Parallelität unterstützt wird, kann das Gerät zwei AP-Schnittstellen erstellen, beispielsweise eine Schnittstelle, die im 2,4-GHz-Band arbeitet, und eine im 5-GHz-Band. Clients können dann eine Verbindung zu jeder der AP-Schnittstellen herstellen.

Der Wi-Fi-HAL generiert eine einzelne überbrückte Schnittstelle mit den beiden AP-Schnittstellen und stellt sie dem Wi-Fi- und Konnektivitätsstapel zur Verfügung, wenn der Stapel einen Soft-AP aktiviert. Nachdem der Soft-AP aktiviert wurde, zeigt der Wi-Fi-HAL an, dass zwei Schnittstellen verfügbar sind, und aktualisiert die Informationen (z. B. Betriebskanal, Bandbreite und BSSID) für jeden AP.

Um Strom zu sparen, deaktiviert das Framework einen nicht verwendeten AP (2,4 GHz, 5 GHz oder 6 GHz) nach einem Zeitraum der Inaktivität. Das Framework betrachtet einen AP als inaktiv, wenn kein Client verbunden ist. Gerätehersteller können die Länge dieses inaktiven Zeitraums anpassen. Weitere Informationen finden Sie unter Anpassen des Inaktivitätszeitraums .

Geräte unterstützen die Wi-Fi-AP/AP-Parallelität, indem sie eine der folgenden überbrückten Soft-AP-Konfigurationen verwenden:

  • Konfigurieren von zwei Bändern (der Kanal wird automatisch vom Framework oder dem Treiber ausgewählt)
  • Konfigurieren von zwei Kanälen auf einem Dualband-AP

Anforderungen

Um die Wi-Fi AP/AP-Parallelität zu implementieren, müssen Geräte die folgenden Anforderungen erfüllen:

  • Der Wi-Fi-Chip oder die Firmware müssen zwei gleichzeitige AP-Verbindungen unterstützen. Die Firmware muss für beide Verbindungen alle Kanal- und Bandkombinationen unterstützen. Um Leistungsprobleme zu vermeiden, empfehlen wir die Verwendung eines 2x2+2x2 DBS-fähigen WLAN-Chips.

  • Das Gerät muss die folgenden Methoden im Wi-Fi Vendor HAL unterstützen:

    • IWifiChip.createBridgedApIface()
    • IWifiChip.removeIfaceInstanceFromBridgedApIface()
    • IWifiApIface.resetToFactoryMacAddress()
    • IWifiApIface.getBridgedInstances()

Implementierung

Gehen Sie wie folgt vor, um die Wi-Fi-AP/AP-Parallelität zu implementieren:

  1. Aktivieren Sie mindestens eine der folgenden Funktionen (standardmäßig deaktiviert) mithilfe von Laufzeitressourcen-Overlays :

    • config_wifiBridgedSoftApSupported : Unterstützt mehrere APs, die miteinander verbunden sind.
    • config_wifiStaWithBridgedSoftApConcurrencySupported : Unterstützt die Parallelität einer Station (STA) und mehrerer überbrückter APs.
  2. Definieren Sie für Geräte, die AIDL Wi-Fi HAL oder HIDL Wi-Fi HAL 1.6 verwenden, AP_BRIDGED in der Wi-Fi HAL-Schnittstellenkombination. Weitere Einzelheiten finden Sie unter Wi-Fi-Multi-Interface-Parallelität .

  3. Konfigurieren Sie die überbrückte Soft-AP-Konfiguration, indem Sie eine der folgenden Methoden aufrufen:

  4. Registrieren Sie einen Rückruf, um die Gerätefunktionen mit WifiManager#registerSoftApCallback zu erhalten. Der SoftApCallback Callback bietet die folgenden Methoden für eine überbrückte Soft-AP-Konfiguration:

Passen Sie den Inaktivitätszeitraum an

Um die Länge des Inaktivitätszeitraums anzupassen, konfigurieren Sie das folgende Overlay, das in packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml zu finden ist:

  • config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond : Das Standard-Timeout-Intervall für das Herunterfahren. Nur gültig, wenn SoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled aktiviert ist.

  • (Verfügbar ab 13) config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging : Gibt an, ob der Inaktivitäts-Abschalttimer beim Laden deaktiviert werden soll.