Wi-Fi Direct

Die Wi-Fi Direct WLAN-P2P-Funktion, mit der unterstützende Geräte direkt miteinander kommunizieren das Wi-Fi Direct-Protokoll ohne Internet- oder Mobilfunkverbindung verwenden. Dieses Funktion, die auf der Wi-Fi Alliance basiert (WFA) Wi-Fi Direct-Spezifikation ermöglicht die gemeinsame Nutzung von Daten mit hohem Durchsatz vertrauenswürdigen Geräten und Apps, die sich außerhalb des Netzwerks befinden.

Beispiele und Quelle

Um diese Funktion nutzen zu können, müssen Gerätehersteller das WLAN HAL-Schnittstellen für Anbieter und Supplicant.

In Android 13 Die Supplicant-Schnittstelle verwendet AIDL für die HAL-Definition. In Ab Android 14 nutzt die HAL-Schnittstelle des Anbieters AIDL Unter Android 12 und niedriger werden HAL-Schnittstellen von Anbietern werden mithilfe von HIDL definiert.

Die folgenden Wi-Fi-HAL-Oberflächen sind für die Verwendung von Wi-Fi Direct erforderlich Funktion:

  • hardware/interfaces/wifi/aidl oder hardware/interfaces/wifi/1.3 oder höher
  • hardware/interfaces/wifi/supplicant/aidl oder hardware/interfaces/wifi/supplicant/1.2 oder höher

Implementierung

Gerätehersteller müssen sowohl Framework- als auch HAL-/Firmware-Unterstützung anbieten:

  • Rahmenwerk: <ph type="x-smartling-placeholder">
      </ph>
    • AOSP-Code
    • Wi-Fi Direct aktivieren: Funktions-Flag erforderlich
  • Wi-Fi Direct (P2P) HAL-Unterstützung (was Firmware-Unterstützung impliziert)

Zur Implementierung dieser Funktion implementieren Gerätehersteller Wi-Fi HIDL oder AIDL und aktivieren das Funktions-Flag für Wi-Fi Direct. Ort: device.mk Ändern Sie in device/<oem>/<device> die Umgebungsvariable PRODUCT_COPY_FILES. um die Wi-Fi Direct-Funktion zu unterstützen:

```
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
```

Alle anderen Anforderungen zur Unterstützung von Wi-FI Direct sind in AOSP enthalten.

Randomisierung bei MAC

Für Android müssen die Wi-Fi Direct-Geräteadresse und -Benutzeroberfläche Adressen nach dem Zufallsprinzip ausgewählt werden. Sie müssen sich von der tatsächlichen MAC-Adresse der Gerät und muss die folgenden Anforderungen erfüllen:

  • Die Wi-Fi Direct-Geräteadresse muss bei der Schnittstellenerstellung zufällig ausgewählt werden, falls ist keine persistente Gruppe gespeichert; Andernfalls muss die Geräteadresse weiterhin die letzte generierten MAC-Adresse.
  • Die Adresse der Wi-Fi Direct-Schnittstelle, auch als Gruppenadresse bezeichnet, muss bei jedem Verbindungsaufbau zufällig ausgewählt werden.

Wi-Fi Direct-MAC-Randomisierung in wpa_supplicant implementiert und kontrolliert mit zwei Konfigurationen, p2p_device_random_mac_addr und p2p_interface_random_mac_addr.

Um diese Funktion zu aktivieren, müssen Gerätehersteller folgende Voraussetzungen erfüllen:

  • Implementieren Sie die Wi-Fi Supplicant ISupplicantP2pIface::setMacRandomization API. Abhängig von der implementierten Schnittstelle ist dies in: <ph type="x-smartling-placeholder">
      </ph>
    • hardware/interface/wifi/supplicant/1.2 für HIDL
    • hardware/interface/wifi/supplicant/aidl für AIDL
  • Festlegen config_wifi_p2p_mac_randomization_supported auf „true“ gesetzt auf einem benutzerdefinierten Gerät -Overlay.

Zertifizierungsstufe

Android bietet eine Reihe von Einheitentests, Tests der Kompatibilitätstest-Suite (CTS) und Der CTS Verifier prüft das WLAN. Direkte Funktion. Wi-Fi Direct kann auch mit dem Vendor Test Suite (VTS):

Einheitentests

Prüfen Sie das Wi-Fi Direct-Paket mithilfe der folgenden Tests.

Diensttests:

atest com.android.server.wifi.p2p

Tests für Manager:

atest android.net.wifi.p2p

CTS-Tests (Compatibility Test Suite)

Prüfen Sie die Wi-Fi Direct-Funktion mithilfe von CTS-Tests. CTS erkennt, wenn die Funktion und die zugehörigen Tests werden automatisch eingeschlossen.

Führen Sie folgenden Befehl aus, um die CTS-Tests auszulösen:

% atest android.net.wifi.p2p.cts

Tests zur CTS-Prüfung

Der CTS-Verifier prüft Wi-Fi Direct-Verhalten mit zwei Geräten: einem Test und einem als gut bekannten Gerät. Um die Tests auszuführen, öffnen Sie CTS Verifier und Gehen Sie zum Abschnitt „Wi-Fi Direct Tests“.