Esta página descreve como testar, depurar e ajustar a implementação de Wi-Fi usando as ferramentas fornecidas no AOSP.
Teste
Para testar a estrutura 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 a estrutura de Wi-Fi padrão: para o Wi-Fi Manager (código do lado do app) e o Wi-Fi Service.
Testes do Wi-Fi Manager:
- Localizado em
packages/modules/Wifi/framework/tests/ Execute usando o seguinte executável de shell (leia o arquivo para mais opções de execução):
atest FrameworksWifiApiTests
Testes do Wi-Fi Service:
- Localizado em
packages/modules/Wifi/service/tests/wifitests/ Execute usando o seguinte executável de shell (leia o arquivo para mais opções de execução):
atest FrameworksWifiTests
Testes CTS
O conjunto de teste de compatibilidade (CTS) inclui testes para a estrutura de Wi-Fi. Eles estão localizados em cts/tests/tests/net/src/android/net/wifi. Os testes CTS de Wi-Fi exigem que o dispositivo em teste seja associado a um ponto de acesso no início da execução do teste.
Opções de registro aprimoradas para depuração
O Android 9 melhorou o registro de Wi-Fi para facilitar a depuração de problemas de Wi-Fi. No Android 9 ou mais recente, os buffers de anel do driver ou firmware podem estar sempre ativados. Os relatórios de bugs podem ser acionados automaticamente quando um estado ruim é detectado (somente em builds userdebug e eng). Quando o Wi-Fi HAL (versão 1.2 ou mais recente do AIDL ou HIDL) é usado, os buffers de depuração de firmware são armazenados no HAL em vez da estrutura para economizar custos de IPC.
Implementação
Para uma implementação de referência, consulte a implementação padrão no HAL do fornecedor.
É possível desativar o registro de firmware definindo o recurso config_wifi_enable_wifi_firmware_debugging como "false".
Teste manual
Execute este teste manual para verificar se os arquivos antigos no diretório de lápides estão sendo excluídos.
- Ative o Wi-Fi.
- Conecte-se a uma rede.
- Gere um relatório de bugs.
Inspecione o arquivo ZIP do relatório de bugs e verifique se os registros de firmware arquivados existem. Os registros são encontrados nos seguintes locais:
- HAL do AIDL: seção
dumpsysdo arquivo principal do relatório de bugs - HAL do HIDL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- HAL do AIDL: seção
Ajuste de configuração
Para controlar a intensidade do sinal em que um dispositivo se associa ou se dissocia de uma rede, a estrutura de Wi-Fi usa os limites de RSSI de entrada e de saída.
Os limites de entrada e de saída são armazenados como parâmetros de configuração sobrecarregáveis com os seguintes nomes (em que o parâmetro bad se refere ao limite de RSSI de saída):
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
Os parâmetros são armazenados em
<root>/frameworks/base/core/res/res/values/config.xml e podem ser sobrecarregados
usando o arquivo de sobreposição
<root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml.
É possível testar novos limites configurando o dispositivo usando comandos adb. Como alternativa, você pode criar um build com novas sobreposições, mas o uso de comandos adb oferece 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 (os valores usados neste comando de amostra são os padrões configurados na base de código do AOSP):
adb shell settings put global wifi_score_params \
rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57Para restaurar os valores de parâmetro integrados (ou seja, remover as substituições), use o seguinte comando adb:
adb shell settings delete global wifi_score_params