Cómo verificar y depurar

Para verificar y depurar la pila de Bluetooth, usa las herramientas que se proporcionan en AOSP y las pruebas del Grupo de interés especial (SIG) de Bluetooth.

Prueba y verifica

Para probar la pila de Bluetooth, el AOSP proporciona una combinación de pruebas de unidades, pruebas de CTS y herramientas para el Bluetooth Profile Tuning Suite (PTS).

Pruebas de unidades en el AOSP

El AOSP incluye pruebas funcionales y de unidades para la pila de Bluetooth predeterminada. Estas pruebas se encuentran en /packages/modules/Bluetooth/system/test/. Para ejecutar las pruebas de AOSP, haz lo siguiente:

  1. Detén el entorno de ejecución de Android:

    adb shell stop
  2. Desde el directorio de pruebas, ejecuta el archivo ejecutable de shell y, si quieres ejecutar una prueba o un conjunto de pruebas específicos, incluye las opciones correspondientes:

    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Cuando finalicen las pruebas, vuelve a habilitar el tiempo de ejecución de Android:

    adb shell start

La lista de nombres de pruebas se puede encontrar en /packages/modules/Bluetooth/system/test/README.md.

Profile Tuning Suite

El SIG de Bluetooth proporciona el PTS de Bluetooth, una herramienta de prueba para la interoperabilidad de protocolos y perfiles. Para obtener más información, consulta el sitio de Bluetooth Profile Tuning Suite.

Pruebas de CTS

El Conjunto de pruebas de compatibilidad (CTS) incluye pruebas para la pila de Bluetooth. Se encuentran en cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.

Opciones de depuración

El AOSP proporciona diferentes métodos para depurar la pila de Bluetooth de un dispositivo, incluidos los registros y los informes de errores. Es posible que estos métodos no funcionen para los problemas que no se pueden reproducir o para los problemas de audio, que pueden verse afectados por varias partes de la plataforma y el dispositivo.

Depuración con informes de errores

Para verificar el estado del servicio Bluetooth con dumpsys, usa el siguiente comando:

adb shell dumpsys bluetooth_manager

De forma predeterminada, todos los mensajes de registro son de nivel de seguimiento 2. Para obtener más información sobre los niveles de registro y cambiarlos para diferentes perfiles, consulta system/bt/conf/bt_stack.conf.

Para extraer registros de espionaje del informe de errores, usa la secuencia de comandos btsnooz.

  1. Obtén btsnooz.py.

  2. Extrae la versión de texto del informe de errores.

  3. Ejecuta btsnooz.py en la versión de texto del informe de errores:

    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Depuración con registros

En Android 4.4 y versiones posteriores, puedes recopilar manualmente registros de BTSnoop, que se asemejan al formato de snoop en RFC 1761. Estos registros capturan los paquetes de la interfaz del controlador de host (HCI). En la mayoría de los dispositivos Android, los registros se almacenan en data/misc/bluetooth/logs.

Por motivos de privacidad, el registro BTSnoop "en memoria" y siempre activo solo registra información y eventos no personales. Para registrar todos los datos, el usuario debe habilitar el registro de búsqueda de HCI de Bluetooth de la siguiente manera:

  1. Habilita las Opciones para desarrolladores en el dispositivo.

  2. En el menú Opciones para desarrolladores, activa el botón de activación Habilitar registro de búsqueda de HCI de Bluetooth.

  3. Reinicia el Bluetooth para que se aplique el registro.