DAR Wi-Fi (IEEE 802.11mc)

La Délai aller-retour Wi-Fi (DAR) d'Android 9 permet aux appareils compatibles de Mesurer la distance par rapport à d'autres appareils pris en charge: s'il s'agit de points d'accès ou des pairs Wi-Fi Aware (si Wi-Fi Aware est pris en charge par l'appareil). Cette fonctionnalité, qui repose sur la norme IEEE 802.11mc permet aux applications d'utiliser la détection et la précision de la localisation améliorées.

Exemples et source

Pour utiliser cette fonctionnalité, implémentez l'interface HAL du fournisseur. Sur Android 14 et versions ultérieures, l'interface HAL du fournisseur est définie à l'aide d'AIDL. Sur Android 13 et versions antérieures, l'interface HAL du fournisseur est définie à l'aide de HIDL. Sous Android 8.0, HIDL a remplacé la structure HAL (Hardware Abstraction Layer) précédente utilisée pour simplifier les implémentations en spécifiant les types et les appels de méthode collectés dans interfaces et packages.

Suivez l'interface Wi-Fi pour utiliser la fonctionnalité de DAR Wi-Fi. En fonction de l'interface mise en œuvre, procédez comme suit:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 ou version ultérieure.

Reportez-vous à l'ancien HAL Wi-Fi pour voir le lien avec le Interfaces AIDL et HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h.

Implémentation

Pour implémenter le DAR Wi-Fi, vous devez fournir le framework et le HAL/micrologiciel assistance technique:

  • Cadre:

    • Code AOSP
    • Activer le DAR Wi-Fi: nécessite un flag de fonctionnalité
  • Compatibilité HAL avec le DAR Wi-Fi (IEEE 802.11mc) (ce qui implique la compatibilité avec le micrologiciel)

Pour implémenter cette fonctionnalité, implémentez l'interface Wi-Fi AIDL, ou HIDL, et activez le flag de fonctionnalité:

  • Dans le fichier device.mk situé dans device/<oem>/<device>, modifiez le Variable d'environnement PRODUCT_COPY_FILES pour inclure la compatibilité avec le Wi-Fi Fonctionnalité de texte en temps réel:

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

Sinon, tout ce qui est requis pour cette fonctionnalité est inclus dans AOSP.

randomisation MAC

Pour renforcer la confidentialité, l'adresse MAC utilisée lors des transactions texte en temps réel via le Wi-Fi doit être randomisées, c'est-à-dire qu'elles ne doivent pas correspondre à l'adresse MAC native du réseau Wi-Fi de commande. Cependant, à titre exceptionnel, lorsqu'un périphérique est associé à un point d'accès, peut utiliser l'adresse MAC à laquelle il est associé pour les transactions texte en temps réel. avec ce point d'accès ou avec d'autres points d'accès.

Validation

Il existe des tests CTS (Android Compatibility Test Suite) pour cette fonctionnalité. Détections CTS lorsque la fonctionnalité est activée et inclut automatiquement les tests associés. Vous pouvez également tester cette fonctionnalité Suite de test pour les fournisseurs (VTS).

Tests unitaires

Les tests du package DAR Wi-Fi sont exécutés à l'aide de la commande suivante:

Tests du service:

atest com.android.server.wifi.rtt

Tests du responsable:

atest android.net.wifi.rtt

CTS

Il existe des tests CTS (Android Compatibility Test Suite) pour cette fonctionnalité. Détections CTS lorsque la fonctionnalité est activée et inclut automatiquement les tests associés. Une Le point d'accès compatible avec le DAR Wi-Fi (IEEE 802.11mc) doit se trouver à portée l'appareil testé.

Les tests CTS peuvent être déclenchés à l'aide des éléments suivants:

atest WifiRttTest

Étalonnage

Pour que le DAR Wi-Fi soit performant, les plages renvoyées par le protocole 802.11mc sont idéalement précises pour l'indicateur clé de performance (KPI). Pour la valeur de CDF à 90 % aux bandes passantes indiquées, le KPI recommandé pour une estimation de la plage est doit avoir les tolérances suivantes:

  • 80 MHz: 2 mètres
  • 40 MHz: 4 mètres
  • 20 MHz: 8 mètres

Pour vous assurer que la fonctionnalité fonctionne correctement, calibrez est nécessaire.

Pour ce faire, vous pouvez comparer une plage de vérité terrain à la valeur DAR estimée à des distances croissantes. Pour une conformité de base, vous devez valider vos avec un appareil connu pour être calibré en DAR. L'étalonnage de la plage doit être testé dans les conditions suivantes:

  1. Un grand laboratoire ouvert ou un couloir qui n'a pas beaucoup de métal qui peuvent entraîner des occurrences anormalement élevées de chemins multiples.
  2. Au moins une voie ou un chemin de ligne de vue s'étendant sur 25 mètres.
  3. Les repères par incréments de 0,5 mètre s'incrémentent d'une extrémité du tracé à l'autre.
  4. Un endroit pour sécuriser un point d'accès compatible RTT à une extrémité de la voie monté à 20 cm au-dessus du sol et un support amovible pour un téléphone Android (ou tout autre appareil mobile Android testé) pouvant être déplacés le long du et aligné sur les repères de 0, 5 m, également à 20 cm au-dessus au sol.

  5. 50 résultats de distance doivent être enregistrés au niveau de chaque repère, ainsi que à distance du point d'accès. Des statistiques, telles que la moyenne et la variance de la plage, doit être calculé pour chaque position de repère.

À partir des résultats de l'étape 5, il est possible de dessiner un graphique de vérité terrain (axe des abscisses). par rapport à la plage estimée (axe des ordonnées) et à la ligne de régression de meilleur ajustement estimée. Idéal le calibrage de l'appareil génère une ligne de dégradé de 1,0 avec un décalage de 0,0 m activé. l'axe des y. Les écarts par rapport à ces valeurs sont acceptables si elles sont comprises dans la plage de valeurs le KPI de la bande passante correspondante. Si les résultats sont en dehors du KPI, le la fonctionnalité de l'appareil doit être recalibrée pour que les résultats correspondent au KPI. spécifique.