Compatible Wi-Fi

La fonctionnalité Wi-Fi Aware ajoutée dans Android 8.0 permet aux appareils compatibles de se découvrir, de se connecter et de se connecter (ajouté dans Android 9) les uns aux autres directement à l'aide du protocole Wi-Fi Aware sans accès à Internet ou au réseau cellulaire. Cette fonctionnalité, basée sur la spécification Wi-Fi Aware de la Wi-Fi Alliance (WFA) (versions 2.0 et 3.0), permet un partage facile des données à haut débit entre des appareils et des applications de confiance qui sont autrement hors réseau.

Exemples et source

Pour utiliser cette fonctionnalité, les fabricants d'appareils doivent implémenter le langage de conception d'interface matérielle Wi-Fi (HIDL) fourni dans le projet Open Source Android (AOSP). HIDL remplace la structure précédente de la couche d'abstraction matérielle (HAL) utilisée pour rationaliser les implémentations en spécifiant les types et les appels de méthode collectés dans les interfaces et les packages.

Suivez le Wi-Fi HIDL pour utiliser la fonctionnalité Wi-Fi Aware : matériel/interfaces/wifi/1.2 ou supérieur. La surface Wi-Fi Aware HAL est très grande ; le fichier hardware/interfaces/wifi/1.2/README-NAN.md décrit le sous-ensemble actuellement utilisé par le framework.

Vous pouvez référencer l'ancien Wi-Fi HAL pour voir comment il est corrélé avec la nouvelle interface HIDL : hardware/libhardware_legacy/+/master/include/hardware_legacy/wifi_nan.h .

Mise en œuvre

Les fabricants d'appareils doivent fournir à la fois une prise en charge du framework et de HAL/firmware :

  • Cadre:
    • Code AOSP
    • Enable Aware : nécessite à la fois un indicateur de fonctionnalité et un indicateur de construction HIDL
  • Prise en charge Wi-Fi Aware (NAN) HAL (ce qui implique la prise en charge du micrologiciel)

Pour implémenter cette fonctionnalité, les fabricants d'appareils implémentent le Wi-Fi HIDL et activent deux indicateurs de fonctionnalité :

  • Dans BoardConfig.mk ou BoardConfig-common.mk situé dans device/<oem>/<device> , ajoutez l'indicateur suivant :

    WIFI_HIDL_FEATURE_AWARE := true
    
  • Dans device.mk situé dans device/<oem>/<device> , modifiez la variable d'environnement PRODUCT_COPY_FILES pour inclure la prise en charge de la fonctionnalité 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 inclut la télémétrie vers des appareils homologues utilisant le protocole IEEE 802.11mc, également connu sous le nom de Round Trip Time (RTT). Cette sous-fonctionnalité de Wi-Fi Aware est conditionnelle à ce que l'appareil prenne en charge la fonction Wi-Fi RTT, c'est-à-dire qu'elle nécessite que l'appareil prenne en charge à la fois Wi-Fi Aware et Wi-Fi RTT. Pour plus de détails, voir Wi-Fi RTT .

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

L'indicateur WIFI_HIDL_FEATURE_AWARE est ignoré si l'indicateur WIFI_HAL_INTERFACE_COMBINATIONS est spécifié. Pour plus d'informations, consultez Concurrence multi-interface Wi-Fi .

Randomisation MAC

Android exige que l'adresse MAC de la découverte Wi-Fi Aware (NMI) et des interfaces de données (NDP) soit aléatoire et ne soit pas identique à la véritable adresse MAC de l'appareil. Les adresses MAC doivent être :

  • Aléatoire chaque fois que Wi-Fi Aware est activé ou réactivé.
  • Lorsque Wi-Fi Aware est activé, l'adresse MAC doit être randomisée à un intervalle régulier configuré par le paramètre NanConfigRequest.macAddressRandomizationIntervalSec HIDL. Ceci est configuré par défaut par le framework pour être de 30 minutes.

Validation

Android fournit un ensemble de tests unitaires, de tests d'intégration (ACTS), de tests de suite de tests de compatibilité (CTS) et de tests de vérification CTS pour valider la fonctionnalité Wi-Fi Aware. Wi-Fi Aware peut également être testé à l'aide de Vendor Test Suite (VTS) .

Tests unitaires

Les tests du package Wi-Fi Aware sont exécutés à l'aide de :

Essais de service :

atest com.android.server.wifi.aware

Épreuves du gestionnaire :

atest android.net.wifi.aware

Tests d'intégration (ACTS)

La suite de tests acts/sl4a , décrite dans tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md , fournit des tests fonctionnels, de performance et de stress.

Tests de la suite de tests de compatibilité (CTS)

Utilisez les tests CTS pour valider la fonctionnalité Wi-Fi Aware. CTS détecte quand la fonctionnalité est activée et inclut automatiquement les tests associés.

Les tests CTS peuvent être déclenchés à l'aide de :

atest SingleDeviceTest

Tests du vérificateur CTS

Les tests CTS Verifier valident le comportement Wi-Fi Aware à l'aide de deux appareils : un appareil de test et un appareil en bon état. Pour exécuter les tests, ouvrez CTS Verifier et accédez à la section intitulée Wi-Fi Aware Tests.