Z tej strony dowiesz się, jak testować, debugować i doskonalić implementację Wi-Fi za pomocą narzędzi dostępnych w AOSP.
Testowanie
Aby przetestować interfejs Wi-Fi, AOSP udostępnia mieszankę testów jednostkowych i testów CTS.
Testy jednostkowe
AOSP obejmuje testy funkcjonalne i jednostkowe domyślnej platformy Wi-Fi: zarówno pod kątem Menedżera Wi-Fi (kod po stronie aplikacji), jak i usługi Wi-Fi.
Testy Menedżera Wi-Fi:
- Lokalizacja:
packages/modules/Wifi/framework/tests/
Uruchom za pomocą tego pliku wykonywalnego powłoki (aby uzyskać więcej opcji wykonywania, przeczytaj plik):
atest FrameworksWifiApiTests
Testy usługi Wi-Fi:
- Lokalizacja:
packages/modules/Wifi/service/tests/wifitests/
Uruchom przy użyciu tego pliku wykonywalnego powłoki (przeczytaj plik, aby poznać więcej opcji wykonywania):
atest FrameworksWifiTests
Testy CTS
Compatibility Test Suite (CTS) zawiera testy platformy Wi-Fi. Te lokalizacje znajdują się w regionie: cts/tests/tests/net/src/android/net/wifi
. Testy Wi-Fi CTS wymagają, aby urządzenie w trakcie testu było powiązane z punktem dostępu na początku testu.
Ulepszone opcje logowania na potrzeby debugowania
W Androidzie 9 ulepszyliśmy rejestrowanie Wi-Fi, aby ułatwić debugowanie problemów z Wi-Fi. W Androidzie 9 lub nowszym bufor pierścienia sterownika lub oprogramowania może być zawsze włączony. Raporty o błędach mogą być uruchamiane automatycznie po wykryciu nieprawidłowego stanu (tylko w ramach debugowania użytkownika i kompilacji angielskiej). Gdy używany jest interfejs HAL Wi-Fi (AIDL lub HIDL w wersji 1.2 lub nowszej), bufor debugowania oprogramowania układowego jest przechowywany w interfejsie HAL zamiast w ramach, aby zmniejszyć koszty komunikacji między procesorami.
Implementacja
Implementację referencyjną znajdziesz w implementacji domyślnej w interfejsie HAL dostawcy.
Możesz wyłączyć rejestrowanie oprogramowania układowego, ustawiając wartość zasobu config_wifi_enable_wifi_firmware_debugging
na „fałsz”.
Test ręczny
Uruchom ten test ręczny, aby sprawdzić, czy stare pliki w katalogu usunięć są usuwane.
- Włącz Wi-Fi.
- Połącz się z siecią.
- Wygeneruj raport o błędzie.
Sprawdź plik ZIP z raportem o błędzie i sprawdź, czy istnieją zarchiwizowane dzienniki oprogramowania układowego. Dzienniki znajdują się w tych lokalizacjach:
- AIDL HAL: sekcja
dumpsys
w głównym pliku raportu o błędzie - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: sekcja
Dostosowanie konfiguracji
Aby kontrolować siłę sygnału, przy której urządzenie łączy się z siecią lub się z niej rozłącza, framework Wi-Fi używa progów RSSI wejścia i wyjścia.
Progi wejścia i wyjścia są przechowywane jako przeciążane parametry konfiguracyjne o tych nazwach (gdzie parametr bad
odnosi się do progu RSSI wyjścia):
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
Parametry są przechowywane w pliku <root>/frameworks/base/core/res/res/values/config.xml
i można je zastąpić za pomocą pliku nakładki <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml
.
Możesz testować nowe wartości progowe, konfigurując urządzenie za pomocą poleceń adb. (Możesz też utworzyć kompilację z nowymi nakładkami, ale użycie poleceń adb znacznie przyspieszy testowanie).
adb shell settings put global wifi_score_params \
[rssi2|rssi5]=<bad>:<entry>:<low>:<good>
Na przykład to polecenie konfiguruje nowe parametry progowe (wartości użyte w tym przykładowym poleceniu to domyślne wartości skonfigurowane w kodzie źródłowym AOSP):
adb shell settings put global wifi_score_params \
rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57
Aby przywrócić wbudowane wartości parametrów (czyli usunąć zastąpienia), użyj tego polecenia adb:
adb shell settings delete global wifi_score_params