Testare, eseguire il debug e ottimizzare il Wi-Fi

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 delle funzionalità e delle unità per il framework Wi-Fi predefinito: entrambi per Wi-Fi Manager (codice lato app) e per il servizio Wi-Fi.

Test di Wi-Fi Manager:

  • Si trova presso packages/modules/Wifi/framework/tests/
  • Esegui utilizzando la shell eseguibile che segue (leggi il file per ulteriori esecuzioni). opzioni):

    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 la framework Wi-Fi. Questi 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, i buffer di anello del driver o del firmware possono essere sempre attivi. Le segnalazioni di bug possono automaticamente verrà attivato 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 implementazione predefinita nel Vendor HAL.

Puoi disabilitare 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.

  1. Attiva il Wi-Fi.
  2. Collegati a una rete.
  3. Genera una segnalazione di bug.
  4. Esamina il file ZIP della segnalazione di bug e verifica che i log del firmware archiviati esistono. 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

Ottimizzazione della configurazione

Per controllare l'intensità del segnale a cui un dispositivo è associato a o si dissocia da una rete, il framework Wi-Fi utilizza entry e exit Soglie RSSI.

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 vengono memorizzati <root>/frameworks/base/core/res/res/values/config.xml e potrebbe essere sovraccarico 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 usando i comandi adb consente di velocizzare i tempi di esecuzione dei test).

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 gli override), utilizza la proprietà seguente comando adb:

adb shell settings delete global wifi_score_params