Testar, depurar e ajustar o Wi-Fi

Esta página descreve como testar, depurar e ajustar a implementação de Wi-Fi usando das ferramentas fornecidas no AOSP.

Teste

Para testar o framework de Wi-Fi, o AOSP oferece uma combinação de testes de unidade e CTS.

Testes de unidade

O AOSP inclui testes funcionais e de unidade para o framework de Wi-Fi padrão: ambos para o Gerenciador de Wi-Fi (código do lado do app) e o serviço de Wi-Fi.

Testes do Gerenciador de Wi-Fi:

  • Localizado em packages/modules/Wifi/framework/tests/
  • Execute usando o seguinte executável shell (leia o arquivo para saber mais :

    atest FrameworksWifiApiTests
    

Testes do serviço de Wi-Fi:

  • Localizado em packages/modules/Wifi/service/tests/wifitests/
  • Execute usando o seguinte executável shell (leia o arquivo para saber mais :

    atest FrameworksWifiTests
    

Testes CTS

O conjunto de teste de compatibilidade (CTS) inclui testes de Framework de Wi-Fi. Eles estão localizados em cts/tests/tests/net/src/android/net/wifi: Os testes de Wi-Fi CTS exigem dispositivo em teste seja associado a um ponto de acesso no início do teste correr.

Opções de registro aprimoradas para depuração

O Android 9 aprimorou o registro de Wi-Fi para facilitar depurar problemas de Wi-Fi. No Android 9 ou versões mais recentes, os buffers de anel do driver ou do firmware podem estar sempre ativados. Os relatórios de bugs podem gerar ser acionado quando um estado inválido é detectado (somente em builds userdebug e eng). Quando a HAL de Wi-Fi (AIDL ou HIDL versão 1.2 ou superior) é usada, os buffers de depuração são armazenados na HAL em vez de no framework para economizar nos custos de IPC.

Implementação

Para uma implementação de referência, consulte a implementação padrão na HAL do fornecedor.

É possível desativar a geração de registros de firmware configurando o recurso config_wifi_enable_wifi_firmware_debugging, para falso.

Teste manual

Execute este teste manual para verificar se os arquivos antigos no tombstone directory estão sendo excluídos.

  1. Ative o Wi-Fi.
  2. Conecte-se a uma rede.
  3. Gere um relatório do bug.
  4. Inspecione o arquivo ZIP do relatório do bug e verifique se os registros de firmware arquivados existem. Os registros são encontrados nos seguintes locais:

    • HAL da AIDL: seção dumpsys do arquivo principal do relatório de bugs
    • HAL de HIDL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Ajuste de configuração

Para controlar a intensidade do sinal com que um dispositivo é associado ou se dissociar de uma rede, o framework de Wi-Fi usará a entrada e a saída Limites de RSSI.

Os limites de entry e exit são armazenados como configurações sobrecarregados. parâmetros com os nomes a seguir (em que o parâmetro bad se refere ao exit Limite de RSSI):

  • 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

Os parâmetros são armazenados <root>/frameworks/base/core/res/res/values/config.xml e pode estar sobrecarregado usando o arquivo de sobreposição <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml.

Você pode testar novos limites configurando o dispositivo com comandos adb. (Como alternativa, você pode criar um build com novas sobreposições, mas usando comandos adb fornecer um retorno de teste mais rápido.)

adb shell settings put global wifi_score_params \
                             [rssi2|rssi5]=<bad>:<entry>:<low>:<good>

Por exemplo, o comando a seguir configura novos parâmetros de limite (o os valores usados nesse exemplo de comando são os padrões configurados no AOSP base de código):

adb shell settings put global wifi_score_params \
                       rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57

Para restaurar os valores de parâmetros integrados (ou seja, remover as substituições), use o método este comando adb:

adb shell settings delete global wifi_score_params