WLAN testen, debuggen und optimieren

Auf dieser Seite wird beschrieben, wie Sie die WLAN-Implementierung mithilfe die in AOSP bereitgestellten Tools.

Testen

Zum Testen des WLAN-Frameworks bietet AOSP eine Mischung aus Unit- und CTS-Tests.

Einheitentests

AOSP umfasst Funktions- und Einheitentests für das standardmäßige WLAN-Framework: für den WLAN-Manager (Code auf App-Seite) und den WLAN-Dienst.

Wi-Fi Manager-Tests:

  • Befindet sich in packages/modules/Wifi/framework/tests/
  • Führen Sie die Ausführung mit der folgenden ausführbaren Shell aus. Lesen Sie die Datei, um weitere Ausführungen zu erhalten. Optionen):

    atest FrameworksWifiApiTests
    

WLAN-Tests:

  • Befindet sich in packages/modules/Wifi/service/tests/wifitests/
  • Führen Sie die Ausführung mit der folgenden ausführbaren Shell aus. Lesen Sie die Datei, um weitere Ausführungen zu erhalten. Optionen):

    atest FrameworksWifiTests
    

CTS-Tests

Die Kompatibilitätstest-Suite (CTS) umfasst Tests für die WLAN-Framework. Diese befinden sich in cts/tests/tests/net/src/android/net/wifi Für die WLAN-CTS-Tests ist die das zu testende Gerät zu Beginn des Tests mit einem Zugangspunkt verknüpft werden soll ausführen.

Erweiterte Logging-Optionen für die Fehlerbehebung

Unter Android 9 wurde die WLAN-Protokollierung verbessert, damit Sie um WLAN-Probleme zu beheben. Unter Android 9 oder höher Treiber- oder Firmware-Ringzwischenspeicher aktiviert sein können. Fehlerberichte können automatisch wird ausgelöst, wenn ein fehlerhafter Zustand erkannt wird (nur in Nutzer-Debug- und Entwickler-Builds). Bei Verwendung von Wi-Fi HAL (AIDL oder HIDL Version 1.2 oder höher) wird die Firmware Debug-Zwischenspeicher werden im HAL statt im Framework gespeichert, um IPC-Kosten zu sparen.

Implementierung

Eine Referenzimplementierung finden Sie in der Standardimplementierung in der Lieferanten-HAL.

Sie können das Firmware-Logging deaktivieren, indem Sie die Ressource festlegen, config_wifi_enable_wifi_firmware_debugging auf „false“ setzen.

Manueller Test

Führen Sie diesen manuellen Test aus, um zu überprüfen, ob alte Dateien im tombstone-Verzeichnis gelöscht werden.

  1. Aktivieren Sie die WLAN-Funktion.
  2. Stellen Sie eine Verbindung zu einem Netzwerk her.
  3. Erstellen Sie einen Fehlerbericht.
  4. Untersuchen Sie die ZIP-Datei mit dem Fehlerbericht und prüfen Sie, ob die archivierten Firmwareprotokolle existieren. Die Logs befinden sich an den folgenden Speicherorten:

    • AIDL HAL: Abschnitt dumpsys der Hauptdatei mit dem Fehlerbericht
    • HIDL-HAL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Konfigurationsabstimmung

Um die Signalstärke zu steuern, die ein Gerät mit oder vom Netzwerk getrennt wird, verwendet das WLAN-Framework den entry und den exit, RSSI-Grenzwerte

Die entry- und exit-Schwellenwerte werden als überlastbare Konfiguration gespeichert. Parameter mit den folgenden Namen (wobei sich der Parameter bad auf den RSSI-Grenzwert für exit):

  • 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

Die Parameter werden unter <root>/frameworks/base/core/res/res/values/config.xml und möglicherweise überlastet mithilfe der Overlay-Datei <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml.

Sie können neue Grenzwerte testen, indem Sie das Gerät mit ADB-Befehlen konfigurieren. (Alternativ können Sie einen Build mit neuen Overlays erstellen, aber mithilfe von ADB-Befehlen schnellere Tests.)

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

Mit dem folgenden Befehl werden beispielsweise neue Schwellenwertparameter (die Die in diesem Beispielbefehl verwendeten Werte sind die konfigurierten Standardwerte im AOSP. Codebasis):

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

Um die integrierten Parameterwerte wiederherzustellen (d.h. die Überschreibungen zu entfernen), verwenden Sie die Methode folgenden ADB-Befehl:

adb shell settings delete global wifi_score_params