Testez, déboguez et réglez le Wi-Fi

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

Tests

Pour tester le framework Wi-Fi, AOSP propose une combinaison de tests unitaires et de tests CTS.

Tests unitaires

AOSP inclut des tests fonctionnels et unitaires pour le framework Wi-Fi par défaut : pour le gestionnaire du Wi-Fi (code côté application) et le service Wi-Fi.

Tests Wi-Fi Manager:

  • Situé à packages/modules/Wifi/framework/tests/
  • Exécutez-le à l'aide de l'exécutable de shell suivant (lire le fichier pour poursuivre l'exécution). options):

    atest FrameworksWifiApiTests
    

Tests du service Wi-Fi:

  • Situé à packages/modules/Wifi/service/tests/wifitests/
  • Exécutez-le à l'aide de l'exécutable de shell suivant (lire le fichier pour poursuivre l'exécution). options):

    atest FrameworksWifiTests
    

Tests CTS

La suite de tests de compatibilité (CTS) inclut des tests pour le Framework Wi-Fi. Ils se trouvent dans cts/tests/tests/net/src/android/net/wifi Les tests Wi-Fi CTS nécessitent appareil soumis aux tests doit être associé à un point d'accès au début du test exécuter.

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

Android 9 a amélioré la journalisation Wi-Fi pour faciliter pour déboguer les problèmes de Wi-Fi. Sur Android 9 ou version ultérieure, les tampons circulaires du pilote ou du micrologiciel peuvent toujours être activés. Les rapports de bugs peuvent automatiquement être déclenchée lorsqu'un état incorrect est détecté (uniquement dans userdebug et eng builds). Lorsque le HAL Wi-Fi (AIDL ou HIDL version 1.2 ou ultérieure) est utilisé, le micrologiciel Les tampons de débogage sont stockés dans le HAL plutôt que dans le framework pour réduire les coûts d'IPC.

Implémentation

Pour en savoir plus sur la mise en œuvre de référence, consultez la implémentation par défaut dans la colonne 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 manuel

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

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

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

Réglage de la configuration

Pour contrôler l'intensité du signal auquel un appareil s'associe est dissocié d'un réseau, le framework Wi-Fi utilise les paramètres d'entrée et de sortie ; Seuils RSSI.

Les seuils d'entrée et de sortie sont stockés en tant que configuration pouvant être surchargée. avec les noms suivants (où le paramètre bad fait référence au exit RSSI):

  • 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 risque d'être surchargé à 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 de commandes adb. (Vous pouvez également créer un build avec de nouvelles superpositions, mais en utilisant des commandes adb accélérer le traitement des tests.)

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 les valeurs utilisées dans cet exemple de commande sont les valeurs par défaut configurées dans l'AOSP codebase):

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 forçages), utilisez la la commande adb suivante:

adb shell settings delete global wifi_score_params