Wi-Fi RTT (IEEE 802.11mc)

La Tempo di round trip (RTT) del Wi-Fi di Android 9 consente ai dispositivi che supportano misurare la distanza da altri dispositivi di supporto: se si tratta di punti di accesso (AP) o peer Wi-Fi Aware (se Wi-Fi Aware) è supportata sul dispositivo). Questa funzione, basata sullo standard IEEE 802.11mc consente alle app di usufruire di una maggiore precisione e di un migliore rilevamento della geolocalizzazione.

Esempi e fonte

Per utilizzare questa funzionalità, implementa l'interfaccia Vendor HAL. In Android 14 e versioni successive, l'interfaccia Vendor HAL è definita tramite AIDL. In Android 13 e versioni precedenti, l'interfaccia Vendor HAL viene definita tramite HIDL. In Android 8.0, HIDL ha sostituito la precedente struttura HAL (Hardware Abstraction Layer) utilizzata per semplificare le implementazioni specificando i tipi e i metodi di chiamata raccolti interfacce e pacchetti.

Segui l'interfaccia Wi-Fi per utilizzare la funzionalità Wi-Fi RTT. A seconda dell'interfaccia implementata, si tratta di:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 o versioni successive.

Puoi fare riferimento alla versione precedente dell'HAL Wi-Fi per vedere come è correlata al Interfacce AIDL e HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h.

Implementazione

Per implementare RTT Wi-Fi, devi fornire sia il framework sia l'HAL/firmware assistenza:

  • Framework:

    • Codice AOSP
    • Attiva RTT Wi-Fi: è richiesto un flag funzionalità
  • Supporto HAL per Wi-Fi RTT (IEEE 802.11mc) (che implica il supporto firmware)

Per implementare questa funzionalità, implementa l'interfaccia Wi-Fi AIDL o HIDL, e abilita il flag funzionalità:

  • Modifica il valore nella colonna device.mk situata in device/<oem>/<device> PRODUCT_COPY_FILES per includere il supporto del Wi-Fi Funzione RTT:

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

In caso contrario, tutto ciò che serve per questa funzionalità è incluso in AOSP.

Randomizzazione MAC

Per migliorare la privacy, l'indirizzo MAC usato durante le transazioni RTT Wi-Fi deve essere casuale, ovvero non deve corrispondere all'indirizzo MAC nativo della rete Wi-Fi a riga di comando. Tuttavia, per eccezione, quando un dispositivo è associato a un punto di accesso, può utilizzare l'indirizzo MAC a cui è associato per qualsiasi transazione RTT con quell'AP o con altri AP.

Convalida

Per questa funzionalità esistono test della suite di test di compatibilità Android (CTS). Rilevamenti CTS Quando la funzionalità è abilitata e include automaticamente i test associati. Questa funzionalità può essere testata anche utilizzando Suite di prova del fornitore (VTS).

Test delle unità

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

Test di servizio:

atest com.android.server.wifi.rtt

Test del gestore:

atest android.net.wifi.rtt

CTS

Per questa funzionalità esistono test della suite di test di compatibilità Android (CTS). Rilevamenti CTS Quando la funzionalità è abilitata e include automaticamente i test associati. Un Il punto di accesso che supporta Wi-Fi RTT (IEEE 802.11mc) deve rientrare nel raggio di il device-under-test.

I test CTS possono essere attivati utilizzando:

atest WifiRttTest

Calibrazione

Affinché RTT Wi-Fi funzioni correttamente, gli intervalli restituiti nel protocollo 802.11mc sono idealmente accurati nell'indicatore chiave di prestazione (KPI). Per il CDF del 90% per le larghezze di banda elencate, il KPI consigliato per una stima dell'intervallo è devono avere le seguenti tolleranze:

  • 80 MHz: 2 metri
  • 40 MHz: 4 metri
  • 20 MHz: 8 metri

Per garantire che l'implementazione della funzione funzioni correttamente, in cui è necessaria l'esecuzione di test.

Ciò può essere ottenuto confrontando un intervallo di dati di fatto con il valore RTT stimato portata a distanze crescenti. Per la conformità di base, è necessario convalidare il proprio soluzione rispetto a un dispositivo noto per essere calibrato RTT. La calibrazione dell'intervallo deve deve essere testato alle seguenti condizioni:

  1. Un grande laboratorio aperto o un corridoio che non contiene molto metallo oggetti che possono generare occorrenze insolitamente elevate di percorsi multipli.
  2. Almeno un percorso o una linea di visibilità (LOS) che si estende per 25 m.
  3. Indicatori con incrementi di 0,5 metri da un'estremità all'altra della traccia.
  4. Un luogo per proteggere un punto di accesso che supporta la funzionalità RTT a un'estremità della traccia montata a 20 cm dal pavimento e su un supporto mobile per uno smartphone Android (o altro dispositivo mobile Android sottoposto a test) che possono essere spostati pista e allineato con gli indicatori di 0, 5 m, sempre a 20 cm sopra al pavimento.

  5. A ogni indicatore devono essere registrati 50 risultati di misurazione, insieme distanza dal punto di accesso. Statistiche come media e varianza dell'intervallo, per ogni posizione dell'indicatore.

Dai risultati nel passaggio 5, è possibile tracciare un grafico per i dati di fatto (asse x) rispetto all'intervallo stimato (asse y) e una linea di regressione di "best fit" stimata. Ideale la calibrazione del dispositivo genererà una linea con un gradiente di 1,0, con un offset di 0,0 m attivato. sull'asse y. Deviazioni da questi valori sono accettabili se rientrano nei KPI per la larghezza di banda corrispondente. Se i risultati non rientrano nel KPI, la funzionalità del dispositivo deve essere ricalibrata per riportare i risultati entro il KPI e la specifica del prodotto.