Świadomość Wi-Fi

Funkcja Wi-Fi Aware dodana w systemie Android 8.0 umożliwia obsługiwanym urządzeniom wykrywanie, łączenie się i ustalanie zasięgu (dodane w systemie Android 9) bezpośrednio za pomocą protokołu Wi-Fi Aware bez dostępu do Internetu lub sieci komórkowej. Ta funkcja, zbudowana w oparciu o specyfikację Wi-Fi Alliance (WFA) Wi-Fi Aware (wersje 2.0, 3.0 i 3.1), umożliwia łatwe udostępnianie danych o dużej przepustowości między zaufanymi urządzeniami i aplikacjami, które w innym przypadku są poza siecią.

Przykłady i źródło

Aby korzystać z tej funkcji, producenci urządzeń powinni zaimplementować język projektowania interfejsu sprzętowego Wi-Fi (HIDL) zawarty w projekcie Android Open Source Project (AOSP). HIDL zastępuje poprzednią strukturę warstwy abstrakcji sprzętu (HAL) używaną do usprawniania implementacji poprzez określanie typów i wywołań metod zebranych w interfejsy i pakiety.

Postępuj zgodnie z Wi-Fi HIDL, aby zastosować funkcję Wi-Fi Aware: hardware/interfaces/wifi/1.2 lub nowszy. Powierzchnia Wi-Fi Aware HAL jest bardzo duża; plik hardware/interfaces/wifi/1.2/README-NAN.md opisuje podzbiór aktualnie używany przez platformę.

Możesz odwołać się do starszej warstwy Wi-Fi HAL, aby zobaczyć, jak koreluje ona z nowym interfejsem HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/wifi_nan.h .

Realizacja

Producenci urządzeń muszą zapewniać obsługę zarówno struktury, jak i HAL/oprogramowania układowego:

  • Struktura:
    • Kod AOSP
    • Włącz świadomość: wymaga zarówno flagi funkcji, jak i flagi kompilacji HIDL
  • Obsługa Wi-Fi Aware (NAN) HAL (co implikuje obsługę oprogramowania układowego)

Aby zaimplementować tę funkcję, producenci urządzeń implementują Wi-Fi HIDL i włączają dwie flagi funkcji:

  • W BoardConfig.mk lub BoardConfig-common.mk znajdującym się w device/<oem>/<device> dodaj następującą flagę:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • W device.mk znajdującym się w device/<oem>/<device> zmodyfikuj zmienną środowiskową PRODUCT_COPY_FILES , aby uwzględnić obsługę funkcji Wi-Fi Aware:

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

Wi-Fi Aware obejmuje określanie odległości do urządzeń równorzędnych przy użyciu protokołu IEEE 802.11mc, znanego również jako Round Trip Time (RTT). Ta funkcja podrzędna Wi-Fi Aware jest uzależniona od tego, czy urządzenie obsługuje funkcję Wi-Fi RTT, to znaczy wymaga, aby urządzenie obsługiwało zarówno Wi-Fi Aware, jak i Wi-Fi RTT. Aby uzyskać więcej informacji, zobacz Wi-Fi RTT .

W przeciwnym razie wszystko, co jest wymagane dla tej funkcji, jest zawarte w AOSP.

Flaga WIFI_HIDL_FEATURE_AWARE jest ignorowana, jeśli określono flagę WIFI_HAL_INTERFACE_COMBINATIONS . Aby uzyskać więcej informacji, zobacz Współbieżność wielu interfejsów Wi-Fi .

Randomizacja MAC

Android wymaga, aby adres MAC wykrywania Wi-Fi Aware (NMI) i interfejsów danych (NDP) był losowy i nie był identyczny z prawdziwym adresem MAC urządzenia. Adresy MAC muszą być:

  • Przydzielane losowo za każdym razem, gdy funkcja Wi-Fi Aware jest włączana lub ponownie włączana.
  • Gdy funkcja Wi-Fi Aware jest włączona, adres MAC musi być losowany w regularnych odstępach czasu skonfigurowanych za pomocą parametru NanConfigRequest.macAddressRandomizationIntervalSec HIDL. Jest to domyślnie skonfigurowane przez platformę na 30 minut.

Walidacja

Android udostępnia zestaw testów jednostkowych, testów integracyjnych (ACTS), testów zestawu testów zgodności (CTS) i testów weryfikatora CTS w celu sprawdzenia funkcji Wi-Fi Aware. Wi-Fi Aware można również przetestować za pomocą Vendor Test Suite (VTS) .

Testy jednostkowe

Testy pakietu Wi-Fi Aware przeprowadzane są przy użyciu:

Testy serwisowe:

atest com.android.server.wifi.aware

Testy menedżera:

atest android.net.wifi.aware

Testy integracyjne (ACTS)

Zestaw testów acts/sl4a opisany w tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md zapewnia testy funkcjonalne, wydajnościowe i obciążeniowe.

Testy zestawu testów zgodności (CTS).

Użyj testów CTS, aby zweryfikować funkcję Wi-Fi Aware. CTS wykrywa, kiedy funkcja jest włączona i automatycznie dołącza powiązane testy.

Testy CTS można uruchomić za pomocą:

atest SingleDeviceTest

Testy weryfikatora CTS

Testy CTS Verifier sprawdzają zachowanie Wi-Fi Aware przy użyciu dwóch urządzeń: urządzenia testowego i znanego dobrego urządzenia. Aby uruchomić testy, otwórz CTS Verifier i przejdź do sekcji zatytułowanej Wi-Fi Aware Tests.