Questa pagina descrive come testare, eseguire il debug e ottimizzare l'implementazione del Wi-Fi utilizzando gli strumenti forniti in AOSP.
Test
Per testare il framework Wi-Fi, AOSP fornisce un mix di test delle unità e test CTS.
Test delle unità
AOSP include test funzionali e delle unità per il framework Wi-Fi predefinito: sia per Wi-Fi Manager (codice lato app) sia per il servizio Wi-Fi.
Test di Wi-Fi Manager:
- Situato a
packages/modules/Wifi/framework/tests/
Esegui utilizzando il seguente eseguibile della shell (leggi il file per altre opzioni di esecuzione):
atest FrameworksWifiApiTests
Test del servizio Wi-Fi:
- Situato a
packages/modules/Wifi/service/tests/wifitests/
Esegui utilizzando il seguente eseguibile della shell (leggi il file per altre opzioni di esecuzione):
atest FrameworksWifiTests
Test CTS
La suite di test di compatibilità (CTS) include test per il framework Wi-Fi. Questi si trovano in
cts/tests/tests/net/src/android/net/wifi
. I test CTS Wi-Fi richiedono che il dispositivo in fase di test sia associato a un punto di accesso all'inizio dell'esecuzione del test.
Opzioni di logging avanzate per il debug
Android 9 ha migliorato la registrazione del Wi-Fi per semplificare il debug dei problemi relativi al Wi-Fi. In Android 9 o versioni successive, i buffer circolari dei driver o del firmware possono essere sempre attivi. I report sui bug possono essere attivati automaticamente quando viene rilevato uno stato anomalo (solo nelle build userdebug e eng). Quando viene utilizzato l'HAL Wi-Fi (versione AIDL o HIDL 1.2 o successive), i buffer di debug del firmware vengono archiviati nell'HAL anziché nel framework per ridurre i costi IPC.
Implementazione
Per un'implementazione di riferimento, consulta l'implementazione predefinita nell'HAL del fornitore.
Puoi disattivare la registrazione del firmware impostando la risorsa
config_wifi_enable_wifi_firmware_debugging
su false.
Test manuale
Esegui questo test manuale per verificare che i vecchi file nella directory tombstone vengano eliminati.
- Attiva il Wi-Fi.
- Connettiti a una rete.
- Genera una segnalazione di bug.
Ispeziona il file ZIP del report sui bug e verifica che i log del firmware archiviati esistano. I log si trovano nelle seguenti posizioni:
- AIDL HAL: sezione
dumpsys
del file principale della segnalazione di bug - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: sezione
Ottimizzazione della configurazione
Per controllare l'intensità del segnale in corrispondenza della quale un dispositivo si associa o si dissocia da una rete, il framework Wi-Fi utilizza le soglie RSSI di ingresso e uscita.
Le soglie di ingresso e uscita vengono memorizzate come parametri di configurazione sovraccaricabili con i seguenti nomi (dove il parametro bad
si riferisce alla soglia RSSI di uscita):
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
I parametri vengono memorizzati in
<root>/frameworks/base/core/res/res/values/config.xml
e possono essere sovraccaricati
utilizzando il file di overlay
<root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml
.
Puoi testare nuove soglie configurando il dispositivo utilizzando i comandi adb. In alternativa, puoi creare una build con nuove sovrapposizioni, ma l'utilizzo dei comandi adb consente di eseguire i test più rapidamente.
adb shell settings put global wifi_score_params \
[rssi2|rssi5]=<bad>:<entry>:<low>:<good>
Ad esempio, il seguente comando configura nuovi parametri di soglia (i valori utilizzati in questo comando di esempio sono i valori predefiniti configurati nella codebase AOSP):
adb shell settings put global wifi_score_params \
rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57
Per ripristinare i valori dei parametri integrati (ovvero rimuovere le sostituzioni), utilizza il seguente comando adb:
adb shell settings delete global wifi_score_params