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:
- Si trovano in
packages/modules/Wifi/framework/tests/ Esegui utilizzando il seguente eseguibile della shell (leggi il file per ulteriori opzioni di esecuzione):
atest FrameworksWifiApiTests
Test del servizio Wi-Fi:
- Si trovano in
packages/modules/Wifi/service/tests/wifitests/ Esegui utilizzando il seguente eseguibile della shell (leggi il file per ulteriori opzioni di esecuzione):
atest FrameworksWifiTests
Test CTS
La suite di test di compatibilità (CTS) include test per il
framework Wi-Fi. 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 dei test.
Opzioni di logging avanzate per il debug
Android 9 ha migliorato il logging Wi-Fi per semplificare il debug dei problemi relativi al Wi-Fi. In Android 9 o versioni successive, i buffer di anello del driver o del firmware possono essere sempre attivi. Le segnalazioni di bug possono essere attivate automaticamente quando viene rilevato uno stato errato (solo nelle build userdebug ed 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 il logging 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.
- Collegati a una rete.
- Genera una segnalazione di bug.
Ispeziona il file ZIP della segnalazione di bug e verifica che esistano i log del firmware archiviati. I log si trovano nelle seguenti posizioni:
- HAL AIDL: sezione
dumpsysdel file della segnalazione di bug principale - HAL HIDL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- HAL AIDL: sezione
Ottimizzazione della configurazione
Per controllare la potenza del segnale in base alla 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_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
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 le nuove soglie configurando il dispositivo utilizzando i comandi adb. In alternativa, puoi creare una build con nuovi overlay, ma l'utilizzo dei comandi adb offre un turnaround di test più rapido.
adb shell settings put global wifi_score_params \
[rssi2|rssi5]=<bad>:<entry>:<low>:<good>Ad esempio, il seguente comando configura i nuovi parametri di soglia (i valori utilizzati in questo comando di esempio sono i valori predefiniti configurati nel codebase AOSP):
adb shell settings put global wifi_score_params \
rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57Per ripristinare i valori dei parametri integrati (ovvero rimuovere le sostituzioni), utilizza il seguente comando adb:
adb shell settings delete global wifi_score_params