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 fournit une combinaison de tests unitaires, de tests d'intégration (ACTS) et de tests CTS.
Tests unitaires
AOSP inclut 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 à l'aide de 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 à l'aide de l'exécutable shell suivant (lisez le fichier pour plus d'options d'exécution) :
atest FrameworksWifiTests
Suite de tests de communication 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 peut être trouvé 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 cadre Wi-Fi. Ceux-ci sont situés 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 améliore la journalisation Wi-Fi pour faciliter le débogage des problèmes Wi-Fi. Sous Android 9 ou supérieur, les tampons circulaires du pilote/micrologiciel peuvent toujours être activés. Les rapports de bogue peuvent être déclenchés automatiquement lorsqu'un mauvais état est détecté (uniquement dans les versions userdebug et eng). Lorsque le Wi-Fi HAL (version 1.2 ou supérieure) est utilisé, les tampons de débogage du micrologiciel sont stockés dans le HAL au lieu du cadre pour réduire les coûts IPC.
Mise en œuvre
Pour une implémentation de référence, consultez l' implémentation par défaut dans le fournisseur HAL.
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 se trouve sur /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py
.
Les vidages de microprogramme vérifiés sont conservés dans le répertoire de désactivation approprié dans Flash pour les builds userdebug. Dumpstate collecte à partir de ce répertoire lors de la création d'un rapport de bogue.
Essai manuel
Exécutez ce test manuel pour vérifier que les anciens fichiers du répertoire de désactivation sont en cours de suppression.
- Activez le Wi-Fi.
- Se connecter à un réseau.
- Générez un rapport de bogue .
- Inspectez le fichier zip du rapport de bogue et vérifiez que
/lshal-debug/android.hardware.wifi@1.2__IWifi_default.txt
contient les journaux du micrologiciel archivés.
Réglage de la configuration
Pour contrôler la force du signal à laquelle un appareil s'associe ou se dissocie d'un réseau, la structure 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