Google 致力于为黑人社区推动种族平等。查看具体举措
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Consapevole del Wi-Fi

La funzionalità Wi-Fi Aware aggiunta in Android 8.0 consente ai dispositivi di supporto di rilevare, connettersi e raggiungere (aggiunto in Android 9) l'uno con l'altro direttamente utilizzando il protocollo Wi-Fi Aware senza accesso a Internet o alla rete cellulare. Questa funzione, basata sulla specifica Wi-Fi Aware Wi-Fi Alliance (WFA) (versioni 2.0 e 3.0), consente una facile condivisione di dati ad alta velocità tra dispositivi e app affidabili che altrimenti sarebbero fuori rete.

Esempi e fonte

Per utilizzare questa funzione, i produttori di dispositivi devono implementare il linguaggio HIDL ( Wi-Fi Hardware Interface Design Language) fornito in Android Open Source Project (AOSP). HIDL sostituisce la precedente struttura HAL (Hardware Abstraction Layer) utilizzata per semplificare le implementazioni specificando i tipi e le chiamate ai metodi raccolte in interfacce e pacchetti.

Segui il Wi-Fi HIDL per utilizzare la funzione Wi-Fi Aware: hardware / interfacce / wifi / 1.2 o superiore. La superficie Wi-Fi Aware HAL è molto ampia; il file hardware / interfaces / wifi / 1.2 / README-NAN.md descrive il sottoinsieme attualmente utilizzato dal framework.

Puoi fare riferimento all'HAL Wi-Fi legacy per vedere come è correlato con la nuova interfaccia HIDL: hardware / libhardware_legacy / + / master / include / hardware_legacy / wifi_nan.h .

Implementazione

I produttori di dispositivi devono fornire supporto sia per framework che per HAL / firmware:

  • Struttura:
    • Codice AOSP
    • Abilita consapevole: richiede sia un flag di funzionalità che un flag di build HIDL
  • Supporto HAL Wi-Fi Aware (NAN) (che implica il supporto del firmware)

Per implementare questa funzione, i produttori di dispositivi implementano l'HIDL Wi-Fi e abilitano due flag di funzionalità:

  • In BoardConfig.mk o BoardConfig-common.mk situato in device/<oem>/<device> , aggiungi il seguente flag:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • In device.mk situato in device/<oem>/<device> , modifica la variabile d'ambiente PRODUCT_COPY_FILES per includere il supporto per la funzione 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 include dispositivi peer che utilizzano il protocollo IEEE 802.11mc, noto anche come Round Trip Time (RTT). Questa funzione secondaria di Wi-Fi Aware è subordinata al dispositivo che supporta la funzione Wi-Fi RTT, ovvero richiede che il dispositivo supporti sia Wi-Fi Aware che Wi-Fi RTT. Per maggiori dettagli, vedi Wi-Fi RTT .

Altrimenti, tutto il necessario per questa funzione è incluso in AOSP.

Il flag WIFI_HIDL_FEATURE_AWARE viene ignorato se viene specificato il flag WIFI_HAL_INTERFACE_COMBINATIONS . Per ulteriori informazioni, vedere concorrenza multi-interfaccia Wi-Fi .

Randomizzazione MAC

Android richiede che l'indirizzo MAC del rilevamento Wi-Fi Aware (NMI) e le interfacce dati (NDP) siano randomizzati e non siano identici al vero indirizzo MAC del dispositivo. Gli indirizzi MAC devono essere:

  • Randomizzato ogni volta che Wi-Fi Aware viene abilitato o riattivato.
  • Quando Wi-Fi Aware è abilitato, l'indirizzo MAC deve essere randomizzato a intervalli regolari configurati dal parametro NanConfigRequest.macAddressRandomizationIntervalSec NanConfigRequest.macAddressRandomizationIntervalSec. Questo è configurato dal framework per impostazione predefinita per 30 minuti.

Validazione

Android fornisce una serie di unit test, test di integrazione (ACTS), test di Compatibility Test Suite (CTS) e test CTS Verifier per convalidare la funzionalità Wi-Fi Aware. Wi-Fi Aware può anche essere testato utilizzando Vendor Test Suite (VTS) .

Test unitari

I test del pacchetto Wi-Fi Aware vengono eseguiti utilizzando:

Test di servizio:

% ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh -e package
com.android.server.wifi.aware

Test del manager:

% ./frameworks/base/wifi/tests/runtests.sh -e package android.net.wifi.aware

Test di integrazione (ACTS)

La suite di test acts/sl4a , descritta in tools/test/connectivity/acts/tests/google/wifi/aware/README.md , fornisce test funzionali, prestazionali e di stress.

Test di Compatibility Test Suite (CTS)

Utilizzare i test CTS per convalidare la funzione Wi-Fi Aware. CTS rileva quando la funzione è abilitata e include automaticamente i test associati.

I test CTS possono essere attivati ​​utilizzando:

% atest SingleDeviceTest

Test CTS Verifier

I test CTS Verifier convalidano il comportamento Wi-Fi Aware utilizzando due dispositivi: un dispositivo di prova e un dispositivo noto . Per eseguire i test, apri CTS Verifier e vai alla sezione intitolata Test Wi-Fi Aware.