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 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 Wi-Fi Manager:
- Localizado em
packages/modules/Wifi/framework/tests/
Execute usando o executável de shell a seguir (leia o arquivo para conferir mais opções de execução):
atest FrameworksWifiApiTests
Testes do serviço de Wi-Fi:
- Localizado em
packages/modules/Wifi/service/tests/wifitests/
Execute usando o executável de shell a seguir (leia o arquivo para conferir mais opções de execução):
atest FrameworksWifiTests
Testes CTS
O conjunto de teste de compatibilidade (CTS) inclui testes para o
framework 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 melhorou a geração de registros de Wi-Fi para facilitar a depuração de problemas de Wi-Fi. No Android 9 ou versões mais recentes, os buffers de anel de drivers ou firmware podem estar sempre ativados. Os relatórios de bugs podem gerar será acionado quando um estado inválido for 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.
- Ative o Wi-Fi.
- Conecte-se a uma rede.
- Gere um relatório do bug.
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 do AIDL: seção
dumpsys
do arquivo principal de bugreport - HAL do HIDL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- HAL do AIDL: seção
Ajustes de configuração
Para controlar a intensidade do sinal em que um dispositivo se associa ou se desconecta de uma rede, o framework do Wi-Fi usa os limites de RSSI de entrada e saída.
Os limites de entrada e 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 saída):
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 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
.
Você pode testar novos limites configurando o dispositivo com comandos adb. Como alternativa, é possível criar um build com novas sobreposições, mas o uso de comandos adb oferece uma resposta de teste mais rápida.
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 exemplo são os padrões configurados no repositório de código do AOSP):
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