Funkcja Wi-Fi Direct , znana również jako Wi-Fi P2P, umożliwia obsługującym urządzeniom wykrywanie i łączenie się ze sobą bezpośrednio przy użyciu protokołu Wi-Fi Direct bez dostępu do Internetu lub sieci komórkowej. Ta funkcja, oparta na specyfikacji Wi-Fi Direct stowarzyszenia Wi-Fi Alliance (WFA), umożliwia udostępnianie danych o dużej przepustowości pomiędzy zaufanymi urządzeniami i aplikacjami, które w przeciwnym razie byłyby poza siecią.
Przykłady i źródło
Aby móc korzystać z tej funkcji, producenci urządzeń muszą wdrożyć interfejsy HAL Wi-Fi dostawcy i suplikanta.
W systemie Android 13 interfejs suplikanta używa AIDL do definicji HAL. W Androidzie 14 i nowszych interfejs HAL dostawcy korzysta z AIDL. W systemie Android 12 i starszych interfejsy HAL suplikanta i dostawcy są definiowane przy użyciu języka HIDL.
Do korzystania z funkcji Wi-Fi Direct wymagane są następujące powierzchnie Wi-Fi HAL:
-
hardware/interfaces/wifi/aidl
lubhardware/interfaces/wifi/1.3
lub nowszy -
hardware/interfaces/wifi/supplicant/aidl
lubhardware/interfaces/wifi/supplicant/1.2
lub nowszy
Realizacja
Producenci urządzeń muszą zapewnić obsługę zarówno frameworka, jak i HAL/oprogramowania sprzętowego:
- Struktura:
- Kod AOSP
- Włącz Wi-Fi Direct: wymaga flagi funkcji
- Obsługa Wi-Fi Direct (P2P) HAL (co oznacza obsługę oprogramowania układowego)
Aby zaimplementować tę funkcję, producenci urządzeń wdrażają interfejsy Wi-Fi HIDL lub AIDL i włączają flagę funkcji dla Wi-Fi Direct. W device.mk
znajdującym się w device/<oem>/<device>
zmodyfikuj zmienną środowiskową PRODUCT_COPY_FILES
, aby uwzględnić 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ą zawarte w AOSP.
Randomizacja MAC
Android wymaga, aby adres urządzenia Wi-Fi Direct i adres interfejsu były losowe. Muszą różnić się od prawdziwego adresu MAC urządzenia i spełniać następujące wymagania:
- Adres urządzenia Wi-Fi Direct musi zostać losowo wybrany podczas tworzenia interfejsu, jeśli nie zapisano żadnej trwałej grupy; w przeciwnym razie adres urządzenia musi nadal używać ostatnio wygenerowanego adresu MAC.
- Adres interfejsu Wi-Fi Direct, zwany także adresem grupowym, musi być losowy przy każdym nawiązaniu połączenia.
Randomizacja MAC Wi-Fi Direct jest zaimplementowana w „wpa_supplicant” i kontrolowana przez dwie konfiguracje: p2p_device_random_mac_addr
i p2p_interface_random_mac_addr
.
Aby włączyć tę funkcję, producenci urządzeń muszą:
- Zaimplementuj interfejs API suplikanta Wi-Fi
ISupplicantP2pIface::setMacRandomization
. W zależności od zaimplementowanego interfejsu jest to:-
hardware/interface/wifi/supplicant/1.2
dla HIDL -
hardware/interface/wifi/supplicant/aidl
dla AIDL
-
- Ustaw
config_wifi_p2p_mac_randomization_supported
na „true” w niestandardowej nakładce urządzenia.
Walidacja
Android udostępnia zestaw testów jednostkowych, testów integracyjnych (Android Connectivity Test Suite, ACTS), testów zgodności (CTS) i testów CTS Verifier w celu sprawdzenia poprawności funkcji Wi-Fi Direct. Wi-Fi Direct można także przetestować za pomocą pakietu Vendor Test Suite (VTS) .
Testy jednostkowe
Sprawdź pakiet Wi-Fi Direct, korzystając z poniższych testów.
Testy serwisowe:
atest com.android.server.wifi.p2p
Testy menedżerskie:
atest android.net.wifi.p2p
Testy integracyjne (ACTS)
Zestaw testów ACTS Wi-FI Direct, znajdujący się w tools/test/connectivity/acts_tests/tests/google/wifi/p2p
, implementuje testy funkcjonalne Wi-Fi Direct.
Testy zestawu testów zgodności (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 uruchomić testy CTS, uruchom:
% atest android.net.wifi.p2p.cts
Testy weryfikatora CTS
Testy CTS Verifier sprawdzają działanie Wi-Fi Direct przy użyciu dwóch urządzeń: urządzenia testowego i znanego, sprawnego urządzenia. Aby uruchomić testy, otwórz CTS Verifier i przejdź do sekcji zatytułowanej Testy Wi-Fi Direct.