Prueba, depuración y ajuste de Wi-Fi

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 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 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 de 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 celulares. 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 una configuración de prueba de ejemplo en el mismo directorio: example_config.json .

Pruebas CTS

El conjunto de pruebas de compatibilidad (CTS) incluye pruebas para el marco Wi-Fi. Estos se encuentran en cts/tests/tests/net/src/android/net/wifi . Las pruebas Wi-Fi CTS requieren que el dispositivo bajo prueba esté asociado con un punto de acceso al comienzo de la ejecución de la prueba.

Opciones de registro mejoradas para la depuración

Android 9 mejora el registro de Wi-Fi para facilitar la depuración de problemas de Wi-Fi. En Android 9 o superior, los búferes circulares de controlador/firmware siempre pueden estar activados. Los informes de errores se pueden activar automáticamente cuando se detecta un mal estado (solo en compilaciones de depuración de usuarios y eng). Cuando se usa Wi-Fi HAL (versión 1.2 o superior), los búferes de depuración de firmware se almacenan en HAL en lugar del marco para ahorrar costos de IPC.

Implementación

Para ver una implementación de referencia, consulte la implementación predeterminada en la HAL del proveedor.

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 tombstone apropiado en flash para compilaciones de depuración de usuarios. Dumpstate recopila de este directorio al crear un informe de error.

Prueba manual

Ejecute esta prueba manual para verificar que los archivos antiguos en el directorio tombstone se eliminen.

  1. Encienda el wifi.
  2. Conectar a una red.
  3. Generar un informe de error .
  4. Inspeccione el archivo zip del informe de errores y verifique que /lshal-debug/android.hardware.wifi@1.2__IWifi_default.txt contenga los registros de firmware archivados.

Ajuste de configuración

Para controlar la intensidad de la señal a la que un dispositivo se asocia o desasocia 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 con 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. (Alternativamente, 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 la base de código 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