Funkcja Wi-Fi Aware dodana w systemie Android 8.0 umożliwia obsługującym urządzenia wykrywanie, łączenie i zasięg (dodana w systemie Android 9) bezpośrednio przy użyciu protokołu Wi-Fi Aware bez dostępu do Internetu lub sieci komórkowej. Ta funkcja, zbudowana na podstawie specyfikacji Wi-Fi Alliance (WFA) Wi-Fi Aware (wersje 2.0 i 3.0), umożliwia łatwe udostępnianie danych o wysokiej przepustowości wśród zaufanych urządzeń i aplikacji, które w przeciwnym razie są poza siecią.
Przykłady i źródło
Aby korzystać z tej funkcji, producenci urządzeń powinni wdrożyć język projektowania interfejsu sprzętowego Wi-Fi (HIDL) dostarczony w projekcie Android Open Source Project (AOSP). HIDL zastępuje poprzednią strukturę warstwy abstrakcji sprzętu (HAL) używaną do usprawnienia implementacji przez określenie typów i wywołań metod zebranych w interfejsach i pakietach.
Postępuj zgodnie z Wi-Fi HIDL, aby zastosować funkcję Wi-Fi Aware: sprzęt/interfejsy/wifi/1.2 lub nowszy. Powierzchnia HAL Wi-Fi Aware jest bardzo duża; plik hardware/interfaces/wifi/1.2/README-NAN.md opisuje podzbiór, który jest aktualnie używany przez framework.
Możesz odwołać się do starszej warstwy HAL Wi-Fi, aby zobaczyć, jak jest ona skorelowana z nowym interfejsem HIDL: hardware/libhardware_legacy/+/master/include/hardware_legacy/wifi_nan.h .
Realizacja
Producenci urządzeń muszą zapewnić obsługę zarówno frameworka, jak i HAL/firmware:
- Struktura:
- Kod AOSP
- Włącz świadomy: wymaga zarówno flagi funkcji, jak i flagi kompilacji HIDL
- Obsługa HAL Wi-Fi Aware (NAN) (co oznacza 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
lubBoardConfig-common.mk
znajdującym się wdevice/<oem>/<device>
, dodaj następującą flagę:WIFI_HIDL_FEATURE_AWARE := true
W
device.mk
znajdującym się wdevice/<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 szereg urządzeń równorzędnych korzystających z protokołu IEEE 802.11mc, znanego również jako czas podróży w obie strony (RTT). Ta podfunkcja Wi-Fi Aware jest uzależniona od urządzenia obsługującego funkcję Wi-Fi RTT, czyli 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 do 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 funkcji Wi-Fi Aware Discovery (NMI) i interfejsów danych (NDP) był losowy i nie był identyczny z prawdziwym adresem MAC urządzenia. Adresy MAC muszą być:
- Losowo przy każdym włączeniu lub ponownym włączeniu funkcji Wi-Fi Aware.
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 CTS Verifier w celu sprawdzenia poprawności funkcji Wi-Fi Aware. Wi-Fi Aware można również przetestować za pomocą pakietu Vendor Test Suite (VTS) .
Testy jednostkowe
Testy pakietów Wi-Fi Aware są wykonywane przy użyciu:
Testy serwisowe:
atest com.android.server.wifi.aware
Testy menedżerskie:
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 sprawdzić poprawność funkcji 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 weryfikują 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 Testy Wi-Fi Aware.