Wi-Fi Direct

Wi-Fi Direct funkcja znana również jako sieć Wi-Fi P2P, pozwalająca urządzeniom wykrywać i łączyć się z siecią bezpośrednio do siebie korzystając z protokołu Wi-Fi Direct bez dostępu do internetu i sieci komórkowej. Ten funkcja opracowana na zlecenie Wi-Fi Alliance (WFA) Specyfikacja Wi-Fi Direct pozwala na udostępnianie danych o dużej przepustowości zaufanych urządzeń i aplikacji, które są poza siecią.

Przykłady i źródło

Aby można było korzystać z tej funkcji, producenci urządzeń muszą wdrożyć Wi-Fi Interfejsy dostawcy i potencjalnego klienta HAL.

W Androidzie 13 interfejs Supplicant używa AIDL do definicji HAL. W Android 14 i nowsze wersje interfejsu HAL dostawcy AIDL. W Androidzie 12 i starszych wersjach funkcje Supplicant i Interfejsy HAL dostawców są zdefiniowane za pomocą HIDL.

Do korzystania z Wi-Fi Direct wymagane są następujące platformy Wi-Fi HAL cecha:

  • hardware/interfaces/wifi/aidl lub, hardware/interfaces/wifi/1.3 lub więcej
  • hardware/interfaces/wifi/supplicant/aidl lub, hardware/interfaces/wifi/supplicant/1.2 lub więcej

Implementacja

Producenci urządzeń muszą zapewnić zarówno wsparcie w zakresie platformy, jak i HAL/oprogramowania układowego:

  • Platforma:
    • Kod AOSP
    • Włącz Wi-Fi Direct: wymaga flagi funkcji
  • obsługa HAL Wi-Fi Direct (P2P), co oznacza obsługę oprogramowania układowego;

Aby wdrożyć tę funkcję, producenci urządzeń wdrażają Wi-Fi HIDL lub AIDL i włącz flagę funkcji Wi-Fi Direct. Lokalizacja: device.mk w device/<oem>/<device> zmodyfikuj zmienną środowiskową PRODUCT_COPY_FILES m.in. obsługę funkcji Wi-Fi Direct:

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

Wszystkie pozostałe wymagania dotyczące obsługi Wi-Fi Direct są uwzględnione w AOSP.

randomizacja MAC

Android wymaga, aby adres urządzenia i interfejs Wi-Fi Direct są losowe. Muszą one różnić się od rzeczywistego adresu MAC i musi spełniać następujące wymagania:

  • Adres urządzenia Wi-Fi Direct musi być losowy podczas tworzenia interfejsu, jeśli istnieje nie zapisano grupy trwałej; w przeciwnym razie adres urządzenia musi stosować ostatnie wygenerowany adres MAC.
  • Adres interfejsu Wi-Fi Direct (nazywany też adresem grupy) musi być losowy przy każdym nawiązywaniu połączenia.

W „wpa_supplicant” wdrożono randomizację adresu MAC sieci Wi-Fi Direct a także pod kontrolą za pomocą 2 konfiguracji: p2p_device_random_mac_addr i p2p_interface_random_mac_addr

Aby włączyć tę funkcję, producenci urządzeń muszą:

  • Zaimplementuj interfejs API ISupplicantP2pIface::setMacRandomization Supplicant Wi-Fi. W zależności od wdrożonego interfejsu będzie to:
    • hardware/interface/wifi/supplicant/1.2 za HIDL
    • hardware/interface/wifi/supplicant/aidl dla AIDL
  • Ustaw config_wifi_p2p_mac_randomization_supported na „true” (prawda) na urządzeniu niestandardowym nakładkę.

Weryfikacja

Android zapewnia zestaw testów jednostkowych, testy Compatibility Test Suite (CTS), Weryfikator CTS sprawdzający sieć Wi-Fi. Bezpośrednia funkcja. Wi-Fi Direct można też przetestować za pomocą Vendor Test Suite (VTS)

Testy jednostkowe

Sprawdź pakiet Wi-Fi Direct, wykonując te testy.

Testy usługi:

atest com.android.server.wifi.p2p

Testy menedżera:

atest android.net.wifi.p2p

Testy Compatibility Test Suite (CTS)

Użyj testów CTS, aby sprawdzić działanie funkcji Wi-Fi Direct. CTS wykrywa, kiedy funkcja jest włączona i automatycznie uwzględnia powiązane testy.

Aby aktywować testy CTS, uruchom polecenie:

% atest android.net.wifi.p2p.cts

Testy weryfikatora CTS

Weryfikator CTS weryfikuje działanie Wi-Fi Direct za pomocą 2 urządzeń: i urządzenia znanego dobrego. Aby uruchomić testy, otwórz narzędzie CTS Verifier i przejdź do sekcji Testy Wi-Fi Direct.