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.
- Activez le Wi-Fi.
- Se connecter à un réseau.
- Générez un rapport de bug .
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
- AIDL HAL : section
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