Die in Android 8.0 hinzugefügte Wi-Fi Aware-Funktion ermöglicht es den unterstützenden Geräten, über das Wi-Fi Aware-Protokoll ohne Internet- oder Mobilfunkzugang direkt miteinander zu kommunizieren, sich zu verbinden und zu streuen (in Android 9 hinzugefügt). Das wlan testen Android oder Apple. Diese Funktion, die auf der Wi-Fi Alliance (WFA) Wi-Fi Aware-Spezifikation (Version 2.0) aufbaut, ermöglicht den einfachen Austausch von Daten mit hohem Durchsatz zwischen vertrauenswürdigen Geräten und Anwendungen, die ansonsten außerhalb des Netzwerks liegen.

Beispiele und Quelle

Um diese Funktion nutzen zu können, sollten Gerätehersteller die Wi-Fi Hardware Interface Design Language (HIDL) implementieren, die im Android Open Source Project (AOSP) bereitgestellt wird. HIDL ersetzt die bisherige Hardware Abstraction Layer (HAL)-Struktur, die zur Optimierung von Implementierungen verwendet wurde, durch die Angabe von Typen und Methodenaufrufen, die in Schnittstellen und Paketen gesammelt wurden.
Folgen Sie dem Wi-Fi-HIDL, um die Wi-Fi Aware-Funktion zu nutzen: hardware/interfaces/wifi/1.2. Die Wi-Fi Aware HAL-Oberfläche ist sehr groß; die Datei hardware/interfaces/wifi/1.2/README-NAN.md beschreibt die Teilmenge, die derzeit vom Framework verwendet wird.
Wlan testen
Sie können auf das alte Wi-Fi HAL verweisen, um zu sehen, wie es mit der neuen HIDL-Schnittstelle korreliert: hardware/libhardware_legacy/+/master/include/hardware_legacy/wifi_nan.h.
Implementierung
Gerätehersteller müssen sowohl Framework als auch HAL/Firmware-Support anbieten:
Framework:

AOSP-Code

Aktivieren Sie Aware: Erfordert sowohl ein Feature-Flag als auch ein HIDL-Build-Flag.
Wi-Fi Aware (NAN) HAL Unterstützung (was bedeutet, dass die Firmware unterstützt wird)
Um dieses Feature zu implementieren, implementieren die Gerätehersteller das Wi-Fi HIDL und aktivieren zwei Feature-Flags:
  • Fügen Sie in BoardConfig.mk oder BoardConfig-common.mk im Gerät/<oem>/<device> das folgende Flag hinzu:
    WIFI_HIDL_FEATURE_AWARE := true
  • Ändern Sie in device.mk in device/<oem>/<device> die Umgebungsvariable PRODUCT_FILES, um die Unterstützung für die Wi-Fi Aware-Funktion einzuschließen:
  • PRODUKTKOPIEN VON DATEIEN +=
  • Frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
  • Wi-Fi Aware umfasst die Auswahl von Peer-Geräten mit dem IEEE 802.11mc-Protokoll, auch bekannt als Round Trip Time (RTT). Dieses Untermerkmal von Wi-Fi Aware ist davon abhängig, dass das Gerät die Wi-Fi RTT-Funktion unterstützt, d.h. es erfordert, dass das Gerät sowohl Wi-Fi Aware als auch Wi-Fi RTT unterstützt. Weitere Informationen finden Sie unter Wi-Fi RTT.
Andernfalls ist alles, was für diese Funktion erforderlich ist, in AOSP enthalten.

MAC Randomisierung

Android erfordert, dass die MAC-Adresse des Wi-Fi Aware Discovery (NMI) und die Datenschnittstellen (NDPs) zufällig gewählt werden und nicht mit der tatsächlichen MAC-Adresse des Geräts identisch sind. Die MAC-Adressen müssen sein:
Randomisiert, wenn Wi-Fi Aware aktiviert oder wieder aktiviert ist.
Wenn Wi-Fi Aware aktiviert ist, muss die MAC-Adresse in einem regelmäßigen Intervall randomisiert werden, das durch den Parameter NanConfigRequest.macAddressRandomizationIntervalSec HIDL konfiguriert wird. Dies ist vom Framework standardmäßig auf 30 Minuten konfiguriert.
Hinweis: Gemäß der Wi-Fi Aware-Spezifikation kann die Randomisierung ausgesetzt werden, während ein NDP konfiguriert ist.

Validierung

Android bietet eine Reihe von Unit-Tests, Integrationstests (ACTS), Kompatibilitätstests (CTS) und CTS Verifier-Tests zur Validierung der Wi-Fi Aware-Funktion. Wi-Fi Aware kann auch mit der Vendor Test Suite (VTS) getestet werden.
Unit-Tests
Die Wi-Fi Aware-Pakettests werden mit:
Servicetests:
%./frameworks/opt/net/wifi/tests/wifitests/wifitests/runtests.sh -e Paket
com.android.server.wifi.aware
Manager-Tests:
%./frameworks/base/wifi/tests/runtests.sh -e Paket android.net.wifi.aware
Integrationstests (ACTS)
Die Testsuite acts/sl4a, beschrieben unter Tools/Test/Konnektivität/Acts/Tests/google/wifi/aware/README.md, bietet Funktions-, Leistungs- und Stresstests.
Kompatibilitätstest Suite (CTS)
Verwenden Sie CTS-Tests, um die Wi-Fi Aware-Funktion zu überprüfen. CTS erkennt, wenn die Funktion aktiviert ist und beinhaltet automatisch die zugehörigen Tests.
Die CTS-Tests können mit:
% am Test SingleDeviceTest SingleDeviceTest
CTS Verifier-Tests
CTS Verifier-Tests validieren das Wi-Fi Aware-Verhalten mit zwei Geräten: einem Testgerät und einem bekannt guten Gerät. Um die Tests auszuführen, öffnen Sie CTS Verifier und navigieren Sie zu dem Abschnitt mit dem Titel Wi-Fi Aware Tests.