In questa pagina viene descritto 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 CTS.
Test delle unità
AOSP include test funzionali e di unità per il framework Wi-Fi predefinito: sia per il gestore Wi-Fi (codice lato app) sia per il servizio Wi-Fi.
Test di Wi-Fi Manager:
- Si trova presso
packages/modules/Wifi/framework/tests/
Esegui utilizzando il seguente file eseguibile della shell (leggi il file per altre opzioni di esecuzione):
atest FrameworksWifiApiTests
Test del servizio Wi-Fi:
- Si trova presso
packages/modules/Wifi/service/tests/wifitests/
Esegui utilizzando la shell eseguibile che segue (leggi il file per ulteriori esecuzioni). opzioni):
atest FrameworksWifiTests
Test CTS
La Compatibility Test Suite (CTS) include test per il framework Wi-Fi. Si trovano in
cts/tests/tests/net/src/android/net/wifi
. I test CTS relativi alle reti Wi-Fi richiedono
device-under-test da associare a un punto di accesso all'inizio del test
vengono eseguiti tutti i test delle unità.
Opzioni di logging avanzate per il debug
Android 9 ha migliorato il logging Wi-Fi per semplificare eseguire il debug dei problemi relativi al Wi-Fi. In Android 9 o versioni successive, gli anelli di buffer del driver o del firmware possono essere sempre attivi. I report di bug possono essere attivati automaticamente quando viene rilevato uno stato non valido (solo nelle build userdebug ed eng). Quando si utilizza l’HAL Wi-Fi (AIDL o HIDL versione 1.2 o successiva), i buffer di debug vengono archiviati nell'HAL anziché nel framework per risparmiare sui 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 nel È in corso l'eliminazione della directory tombstone.
- Attiva il Wi-Fi.
- Collegarti a una rete.
- Genera una segnalazione di bug.
Controlla il file ZIP del report di bug e verifica che i log del firmware archiviati esistano. I log si trovano nelle seguenti posizioni:
- HAL AIDL: sezione
dumpsys
del file bugreport principale - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- HAL AIDL: sezione
Ottimizzazione della configurazione
Per controllare l'intensità del segnale con cui un dispositivo si associa o si dissocia da una rete, il framework Wi-Fi utilizza le soglie RSSI di entrata e uscita.
Le soglie di entry e exit vengono memorizzate come configurazione sovraccarico.
con i seguenti nomi (dove il parametro bad
fa riferimento ai
soglia RSSI 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
I parametri sono 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 tramite i comandi ADB. In alternativa, puoi creare una build con nuovi overlay, 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 (il i valori utilizzati in questo comando di esempio sono i valori predefiniti configurati nell'AOSP codebase):
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