Cómo probar, depurar y ajustar la conexión Wi-Fi

En esta página, se describe cómo probar, depurar y ajustar la implementación de Wi-Fi con las herramientas proporcionadas en AOSP.

Prueba

Para probar el framework de Wi-Fi, el AOSP ofrece una combinación de pruebas de unidades y de CTS.

Pruebas de unidades

AOSP incluye pruebas funcionales y de unidades para el framework de Wi-Fi predeterminado. para el Administrador de Wi-Fi (código de la app) y el servicio de Wi-Fi.

Pruebas del Administrador de Wi-Fi:

  • Ubicada en packages/modules/Wifi/framework/tests/
  • Realiza la ejecución con el siguiente shell ejecutable (lee el archivo para realizar más acciones) opciones):

    atest FrameworksWifiApiTests
    

Pruebas del servicio de Wi-Fi:

  • Ubicada en packages/modules/Wifi/service/tests/wifitests/
  • Realiza la ejecución con el siguiente shell ejecutable (lee el archivo para realizar más acciones) opciones):

    atest FrameworksWifiTests
    

Pruebas del CTS

El Conjunto de pruebas de compatibilidad (CTS) incluye pruebas para el framework de Wi-Fi. Se encuentran en cts/tests/tests/net/src/android/net/wifi Las pruebas del CTS de Wi-Fi requieren la dispositivo que está a prueba para asociarse con un punto de acceso al inicio de la prueba cuando se ejecute.

Opciones de registro mejoradas para la depuración

Android 9 mejoró el registro Wi-Fi para que sea más fácil depurar problemas de Wi-Fi. En Android 9 o versiones posteriores, los búferes de anillo del controlador o firmware pueden estar siempre encendidos. Los informes de errores pueden Se activará cuando se detecte un estado incorrecto (solo en compilaciones userdebug y eng). Cuando se usa la HAL de Wi-Fi (AIDL o HIDL versión 1.2 o superior), el firmware Para ahorrar costos de IPC, los búferes de depuración se almacenan en la HAL y no en el framework.

Implementación

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

Para inhabilitar el registro de firmware, configura el recurso config_wifi_enable_wifi_firmware_debugging, como falso.

Prueba manual

Ejecuta esta prueba manual para verificar que los archivos antiguos de la directorio tombstone.

  1. Activa Wi-Fi.
  2. Conéctate a una red.
  3. Genera un informe de errores.
  4. Examina el archivo ZIP del informe de errores y verifica que los registros de firmware archivados existen. Los registros se encuentran en las siguientes ubicaciones:

    • HAL del AIDL: Sección dumpsys del archivo principal del informe de errores
    • HAL de HIDL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Ajuste de configuración

Para controlar la intensidad de la señal con la que un dispositivo se asocia o se desvincula de una red, el framework de Wi-Fi usa la entrada y la salida los umbrales de RSSI.

Los umbrales de entrada y salida se almacenan como parámetros de configuración sobrecargables. parámetros con los siguientes nombres (donde el parámetro bad hace referencia al salir 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

Los parámetros se almacenan en <root>/frameworks/base/core/res/res/values/config.xml y puede estar sobrecargado usando el archivo de superposición <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml

Puedes probar umbrales nuevos configurando el dispositivo con comandos adb. (Como alternativa, puedes crear una compilación con nuevas superposiciones, pero usando comandos adb proporcionar un plazo de prueba más rápido).

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 (el Los valores que se usan en este comando de muestra son los que se configuraron en el AOSP base de código):

adb shell settings put global wifi_score_params \
                       rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57

Para restablecer los valores de los parámetros integrados (es decir, quitar las anulaciones), usa el siguiente comando adb:

adb shell settings delete global wifi_score_params