Ta strona zawiera informacje o tym, jak testować, debugować i dostrajać implementację Wi-Fi za pomocą narzędzi dostępnych w AOSP.
Testowanie
Aby przetestować platformę Wi-Fi, AOSP udostępnia połączenie testów jednostkowych i testów CTS.
Testy jednostkowe
AOSP zawiera testy funkcjonalne i jednostkowe domyślnej platformy Wi-Fi – zarówno Menedżera Wi-Fi (kod po stronie aplikacji), jak i usługi Wi-Fi.
Testy Menedżera Wi-Fi:
- Znajdują się w
packages/modules/Wifi/framework/tests/ Uruchom za pomocą tego pliku wykonywalnego powłoki (więcej opcji wykonania znajdziesz w pliku):
atest FrameworksWifiApiTests
Testy usługi Wi-Fi:
- Znajdują się w
packages/modules/Wifi/service/tests/wifitests/ Uruchom za pomocą tego pliku wykonywalnego powłoki (więcej opcji wykonania znajdziesz w pliku):
atest FrameworksWifiTests
Testy CTS
Zestaw testów zgodności (CTS) zawiera testy platformy Wi-Fi. Znajdują się one w cts/tests/tests/net/src/android/net/wifi. Testy Wi-Fi CTS wymagają, aby testowane urządzenie było powiązane z punktem dostępu na początku testu.
Rozszerzone opcje logowania na potrzeby debugowania
W Androidzie 9 ulepszono logowanie Wi-Fi, aby ułatwić debugowanie problemów z Wi-Fi. W Androidzie 9 lub nowszym bufory pierścieniowe sterownika lub oprogramowania układowego mogą być zawsze włączone. Raporty o błędach mogą być automatycznie generowane po wykryciu nieprawidłowego stanu (tylko w kompilacjach userdebug i eng). Gdy używany jest HAL Wi-Fi (AIDL lub HIDL w wersji 1.2 lub nowszej), bufory debugowania oprogramowania układowego są przechowywane w HAL zamiast w platformie, aby zmniejszyć koszty IPC.
Implementacja
Implementację referencyjną znajdziesz w domyślnej implementacji w HAL dostawcy.
Logowanie oprogramowania układowego możesz wyłączyć, ustawiając wartość zasobu config_wifi_enable_wifi_firmware_debugging na false.
Test ręczny
Uruchom ten test ręczny, aby sprawdzić, czy stare pliki w katalogu tombstone są usuwane.
- Włącz Wi-Fi.
- Połącz się z siecią.
- Wygeneruj raport o błędzie.
Sprawdź plik ZIP raportu o błędzie i upewnij się, że istnieją zarchiwizowane dzienniki oprogramowania układowego. Dzienniki znajdują się w tych lokalizacjach:
- AIDL HAL: sekcja
dumpsysgłównego pliku raportu o błędzie - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: sekcja
Dostrajanie konfiguracji
Aby kontrolować siłę sygnału, przy której urządzenie łączy się z siecią lub rozłącza się z nią, platforma Wi-Fi używa progów RSSI entry i exit.
Progi entry i exit są przechowywane jako parametry konfiguracyjne, które można zastąpić, o tych nazwach (gdzie parametr bad odnosi się do progu RSSI exit):
config_wifi_framework_wifi_score_bad_rssi_threshold_5GHzconfig_wifi_framework_wifi_score_entry_rssi_threshold_5GHzconfig_wifi_framework_wifi_score_bad_rssi_threshold_24GHzconfig_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
Parametry są przechowywane w
<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.
Nowe progi możesz przetestować, konfigurując urządzenie za pomocą poleceń adb. (Możesz też utworzyć kompilację z nowymi nakładkami, ale użycie poleceń adb zapewnia szybsze 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 skonfigurowane wartości domyślne w bazie kodu AOSP):
adb shell settings put global wifi_score_params \
rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57Aby przywrócić wbudowane wartości parametrów (czyli usunąć zastąpienia), użyj tego polecenia adb:
adb shell settings delete global wifi_score_params