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.
- 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 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
- HAL da AIDL: seção
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