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.
- Aktivieren Sie die WLAN-Funktion.
- Stellen Sie eine Verbindung zu einem Netzwerk her.
- Erstellen Sie einen Fehlerbericht.
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
- AIDL HAL: Abschnitt
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