Esta página describe cómo probar, depurar y ajustar la implementación de Wi-Fi utilizando las herramientas proporcionadas en AOSP.
Pruebas
Para probar el marco de Wi-Fi, AOSP proporciona una combinación de pruebas unitarias, pruebas de integración (ACTS) y pruebas CTS.
Pruebas unitarias
AOSP incluye pruebas funcionales y unitarias para el marco Wi-Fi predeterminado: tanto para el Administrador de Wi-Fi (código del lado de la aplicación) como para el Servicio Wi-Fi.
Pruebas del Administrador de Wi-Fi:
- Ubicado en
packages/modules/Wifi/framework/tests/
Ejecute usando el siguiente ejecutable de shell (lea el archivo para obtener más opciones de ejecución):
atest FrameworksWifiApiTests
Pruebas del Servicio Wi-Fi:
- Ubicado en
packages/modules/Wifi/service/tests/wifitests/
Ejecute usando el siguiente ejecutable de shell (lea el archivo para obtener más opciones de ejecución):
atest FrameworksWifiTests
Conjunto de pruebas de comunicaciones de Android
Android Comms Test Suite (ACTS) realiza pruebas automatizadas de pilas de conectividad, como Wi-Fi, Bluetooth y servicios móviles. La herramienta de prueba requiere adb y Python, y se puede encontrar en tools/test/connectivity/acts
.
Las pruebas ACTS para Wi-FI se encuentran en tools/test/connectivity/acts_tests/tests/google/wifi
, con un ejemplo de configuración de prueba en el mismo directorio: example_config.json
.
pruebas CTS
El conjunto de pruebas de compatibilidad (CTS) incluye pruebas para el marco de Wi-Fi. Estos se encuentran en cts/tests/tests/net/src/android/net/wifi
. Las pruebas de Wi-Fi CTS requieren que el dispositivo bajo prueba esté asociado con un punto de acceso al inicio de la prueba.
Opciones de registro mejoradas para la depuración
Android 9 mejoró el registro de Wi-Fi para facilitar la depuración de problemas de Wi-Fi. En Android 9 o superior, los buffers circulares del controlador/firmware siempre pueden estar activados. Los informes de errores se pueden activar automáticamente cuando se detecta un mal estado (solo en compilaciones userdebug y eng). Cuando se utiliza Wi-Fi HAL (AIDL o HIDL versión 1.2 o superior), los buffers de depuración del firmware se almacenan en el HAL en lugar del marco para ahorrar costos de IPC.
Implementación
Para obtener una implementación de referencia, consulte la implementación predeterminada en el proveedor HAL.
Puede deshabilitar el registro de firmware configurando el recurso, config_wifi_enable_wifi_firmware_debugging
, en falso.
Prueba de integración (ACTS)
La prueba de integración se puede encontrar en /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py
.
Los volcados de firmware verificados se conservan en el directorio de desecho correspondiente en flash para las compilaciones de depuración del usuario. Dumpstate recopila datos de este directorio al crear un informe de error.
Prueba manual
Ejecute esta prueba manual para verificar que los archivos antiguos en el directorio de desecho se estén eliminando.
- Enciende el wifi.
- Conectar a una red.
- Generar un informe de error .
Inspeccione el archivo Zip del informe de errores y verifique que existan los registros de firmware archivados. Los registros se encuentran en las siguientes ubicaciones:
- AIDL HAL: sección
dumpsys
del archivo principal de informe de errores - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: sección
Ajuste de configuración
Para controlar la intensidad de la señal con la que un dispositivo se asocia o disocia de una red, el marco Wi-Fi utiliza los umbrales RSSI de entrada y salida .
Los umbrales de entrada y salida se almacenan como parámetros de configuración sobrecargables con los siguientes nombres (donde el parámetro bad
se refiere al umbral RSSI de salida ):
-
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
Los parámetros se almacenan en <root>/frameworks/base/core/res/res/values/config.xml
y se pueden sobrecargar usando el archivo de superposición <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml
.
Puede probar nuevos umbrales configurando el dispositivo mediante comandos adb. (Como alternativa, puede crear una compilación con nuevas superposiciones, pero el uso de comandos adb proporciona una respuesta de prueba más rápida).
adb shell settings put global wifi_score_params \
[rssi2|rssi5]=<bad>:<entry>:<low>:<good>
Por ejemplo, el siguiente comando configura nuevos parámetros de umbral (los valores utilizados en este comando de muestra son los valores predeterminados configurados en el código base de AOSP):
adb shell settings put global wifi_score_params \
rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57
Para restaurar los valores de los parámetros integrados (es decir, eliminar las anulaciones), utilice el siguiente comando adb:
adb shell settings delete global wifi_score_params