La Wi-Fi Direct questa funzionalità, nota anche come Wi-Fi P2P, consente ai dispositivi che supportano il rilevamento e la connessione l'uno all'altro direttamente utilizzando il protocollo Wi-Fi Direct senza accesso a internet o alla rete mobile. Questo funzionalità, basata su Wi-Fi Alliance (WFA) Specifiche di Wi-Fi Direct consente la condivisione di dati a velocità effettiva elevata a dispositivi e app attendibili che non sono connessi alla rete.
Esempi e fonte
Per utilizzare questa funzionalità, i produttori di dispositivi devono implementare il Wi-Fi Interfacce HAL Vendor e Supplicant.
In Android 13, l'interfaccia Supplicant utilizza AIDL per la definizione dell'HAL. Nella Android 14 e versioni successive, l'interfaccia Vendor HAL utilizza AIDL In Android 12 e versioni precedenti, le colonne Supplicant e Le interfacce HAL del fornitore vengono definite utilizzando HIDL.
Per utilizzare Wi-Fi Direct, sono necessarie le seguenti piattaforme Wi-Fi HAL funzionalità:
hardware/interfaces/wifi/aidl
ohardware/interfaces/wifi/1.3
o superiorehardware/interfaces/wifi/supplicant/aidl
ohardware/interfaces/wifi/supplicant/1.2
o superiore
Implementazione
I produttori di dispositivi devono fornire supporto sia per il framework che per l'HAL/firmware:
- Framework:
- Codice AOSP
- Attiva Wi-Fi Direct: richiede un flag di funzionalità
- Supporto dell'HAL per Wi-Fi Direct (P2P), che implica il supporto del firmware
Per implementare questa funzionalità, i produttori di dispositivi implementano la tecnologia Wi-Fi HIDL o AIDL
e attiva il flag funzionalità per Wi-Fi Direct. A device.mk
situato
in device/<oem>/<device>
, modifica la variabile di ambiente PRODUCT_COPY_FILES
per includere il supporto della funzionalità 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
```
Tutti gli altri requisiti per il supporto di Wi-Fi Direct sono inclusi in AOSP.
Randomizzazione MAC
Android richiede che l'indirizzo e l'interfaccia del dispositivo di Wi-Fi Direct indirizzi IP sono randomizzati. Questi indirizzi devono essere diversi dall'indirizzo MAC vero il dispositivo e deve soddisfare i seguenti requisiti:
- L'indirizzo del dispositivo Wi-Fi Direct deve essere randomizzato al momento della creazione dell'interfaccia se non è un gruppo permanente salvato; altrimenti l'indirizzo del dispositivo deve continuare a usare l'ultima l'indirizzo MAC generato.
- L'indirizzo dell'interfaccia Wi-Fi Direct, noto anche come indirizzo di gruppo, deve essere randomizzato ogni volta che viene stabilita una connessione.
La randomizzazione degli indirizzi MAC Wi-Fi Direct è implementata in "wpa_supplicant" e controllato
in base a due configurazioni, p2p_device_random_mac_addr
e
p2p_interface_random_mac_addr
.
Per attivare questa funzionalità, i produttori di dispositivi devono:
- Implementa l'API Wi-Fi Supplicant
ISupplicantP2pIface::setMacRandomization
. A seconda dell'interfaccia implementata, si tratta di:hardware/interface/wifi/supplicant/1.2
per HIDLhardware/interface/wifi/supplicant/aidl
per AIDL
- Imposta
config_wifi_p2p_mac_randomization_supported
su "true" in un dispositivo personalizzato in overlay.
Convalida
Android offre una serie di test delle unità, test della Compatibility Test Suite (CTS) e CTS Verifier esegue i test per convalidare la rete Wi-Fi. Caratteristica diretta. Il Wi-Fi Direct può essere testato anche utilizzando Suite di prova del fornitore (VTS).
Test delle unità
Verifica il pacchetto di Wi-Fi Direct svolgendo i seguenti test.
Test di servizio:
atest com.android.server.wifi.p2p
Test del gestore:
atest android.net.wifi.p2p
Test della Compatibility Test Suite (CTS)
Utilizza i test CTS per convalidare la funzionalità di Wi-Fi Direct. Il CTS rileva quando la funzionalità è attivata e include automaticamente i test associati.
Per attivare i test CTS, esegui:
% atest android.net.wifi.p2p.cts
Test di verifica CTS
I test di CTS Verifier convalidano il comportamento di Wi-Fi Direct utilizzando due dispositivi: un test e un dispositivo riconoscibile. Per eseguire i test, apri CTS Verifier e vai alla sezione Test Wi-Fi Direct.