Test, débogage et réglage du Wi-Fi

Cette page décrit comment tester, déboguer et régler l'implémentation Wi-Fi à l'aide des outils fournis dans AOSP.

Essai

Pour tester le framework Wi-Fi, AOSP propose un mélange de tests unitaires, de tests d'intégration (ACTS) et de tests CTS.

Tests unitaires

AOSP comprend des tests fonctionnels et unitaires pour le cadre Wi-Fi par défaut : à la fois pour le gestionnaire Wi-Fi (code côté application) et le service Wi-Fi.

Tests du gestionnaire Wi-Fi :

  • Situé dans packages/modules/Wifi/framework/tests/
  • Exécutez en utilisant l'exécutable shell suivant (lisez le fichier pour plus d'options d'exécution) :

    atest FrameworksWifiApiTests
    

Tests du service Wi-Fi :

  • Situé dans packages/modules/Wifi/service/tests/wifitests/
  • Exécutez en utilisant l'exécutable shell suivant (lisez le fichier pour plus d'options d'exécution) :

    atest FrameworksWifiTests
    

Suite de tests de communications Android

La suite de tests Android Comms (ACTS) effectue des tests automatisés des piles de connectivité, telles que les services Wi-Fi, Bluetooth et cellulaires. L'outil de test nécessite adb et Python, et il se trouve dans tools/test/connectivity/acts .

Les tests ACTS pour le Wi-FI se trouvent dans tools/test/connectivity/acts_tests/tests/google/wifi , avec un exemple de configuration de test dans le même répertoire : example_config.json .

Essais CTS

La suite de tests de compatibilité (CTS) comprend des tests pour le framework Wi-Fi. Ceux-ci se trouvent dans cts/tests/tests/net/src/android/net/wifi . Les tests Wi-Fi CTS nécessitent que l'appareil testé soit associé à un point d'accès au début de l'exécution du test.

Options de journalisation améliorées pour le débogage

Android 9 a amélioré la journalisation Wi-Fi pour faciliter le débogage des problèmes Wi-Fi. Sous Android 9 ou version ultérieure, les tampons en anneau du pilote/micrologiciel peuvent toujours être activés. Les rapports de bogues peuvent être automatiquement déclenchés lorsqu'un mauvais état est détecté (uniquement dans les versions userdebug et eng). Lorsque le Wi-Fi HAL (AIDL ou HIDL version 1.2 ou supérieure) est utilisé, les tampons de débogage du micrologiciel sont stockés dans le HAL au lieu du framework pour économiser les coûts IPC.

Mise en œuvre

Pour une implémentation de référence, consultez l’ implémentation par défaut dans le HAL du fournisseur.

Vous pouvez désactiver la journalisation du micrologiciel en définissant la ressource config_wifi_enable_wifi_firmware_debugging sur false.

Test d'intégration (ACTS)

Le test d'intégration est disponible sur /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py .

Les vidages de micrologiciel vérifiés sont conservés dans le répertoire tombstone approprié en flash pour les versions userdebug. Dumpstate collecte à partir de ce répertoire lors de la création d'un rapport de bogue.

Test manuel

Exécutez ce test manuel pour vérifier que les anciens fichiers du répertoire tombstone sont en cours de suppression.

  1. Activez le Wi-Fi.
  2. Se connecter à un réseau.
  3. Générez un rapport de bug .
  4. Inspectez le fichier Zip du rapport de bogue et vérifiez que les journaux du micrologiciel archivés existent. Les journaux se trouvent aux emplacements suivants :

    • AIDL HAL : section dumpsys du fichier principal de rapport de bug
    • HIDL HAL : /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Réglage de la configuration

Pour contrôler la force du signal auquel un appareil s'associe ou se dissocie d'un réseau, le cadre Wi-Fi utilise les seuils RSSI d' entrée et de sortie .

Les seuils d'entrée et de sortie sont stockés sous forme de paramètres de configuration surchargeables avec les noms suivants (où le bad paramètre fait référence au seuil RSSI de sortie ) :

  • config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz

Les paramètres sont stockés dans <root>/frameworks/base/core/res/res/values/config.xml et peuvent être surchargés à l'aide du fichier de superposition <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml .

Vous pouvez tester de nouveaux seuils en configurant l'appareil à l'aide des commandes adb. (Vous pouvez également créer une version avec de nouvelles superpositions, mais l'utilisation des commandes adb permet un délai de test plus rapide.)

adb shell settings put global wifi_score_params \
                             [rssi2|rssi5]=<bad>:<entry>:<low>:<good>

Par exemple, la commande suivante configure de nouveaux paramètres de seuil (les valeurs utilisées dans cet exemple de commande sont les valeurs par défaut configurées dans la base de code AOSP) :

adb shell settings put global wifi_score_params \
                       rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57

Pour restaurer les valeurs des paramètres intégrés (c'est-à-dire supprimer les remplacements), utilisez la commande adb suivante :

adb shell settings delete global wifi_score_params