android - representacion - opengl skia español
No se genera el registro snoop de Bluetooth HCI (9)
Estoy ejecutando Android 4.4.2 y habilité el "registro de indagación HCI de Bluetooth" como se describe aquí Detectar / registrar su propio tráfico Bluetooth de Android
Después de encender y apagar el bluetooth, reinicié el teléfono. No pude encontrar el archivo de registro en la ubicación esperada:
$ adb pull /sdcard/btsnoop_hci.log
remote object ''/sdcard/btsnoop_hci.log'' does not exist
¿Cómo puedo llegar al btsnoop_hci.log?
@TwinPrimesAreEz es excelente pero hay una cuarta opción; Al menos cuando su dispositivo está rooteado. Llamada:
/system/bin/btsnoop
Somewhere esta herramienta fue eliminada pero aún existe en mi dispositivo. Lo que es más, parece que se llama cuando Bluetooth está habilitado. En logcat
veo: "btsnoop_dump:: snoop_log_open: No se puede abrir la entrada Dir". No estoy seguro de por qué no se puede abrir ese directorio (por cierto, es /data/media/0
) Pero sospecho que esta herramienta de alguna manera interfiere con la nueva opción de indagación HCI integrada en Android. Pero si llama a esa herramienta directamente (por ejemplo, a través de un adb shell
o un emulador de terminal ), funcionará. Para mí creó el archivo /data/media/0/hci_snoop20180203164422.cfa
.
ACTUALIZACIÓN: Parece que el registro de btsnoop hci se está eliminando de las áreas accesibles para el usuario en muchos teléfonos. Asumiendo que tiene habilitado el registro hci, puede obtener un informe de error
adb bugreport anewbugreportfolder
Luego descomprime la carpeta. Si tiene suerte, hay una carpeta ''FS'' que contiene el registro btsnoop_hci.log varias capas hacia abajo (no estoy seguro de por qué algunos teléfonos tienen esto y otros no). Si no lo tiene, tome el texto del informe de error archivo que se ve así
bugreport-2018-08-01-15-08-01.txt
Ejecutar btsnooz.py contra él. Por instrucciones de Google,
To extract snoop logs from the bug report, use the btsnooz script.
Get btsnooz.py.
Extract the text version of the bug report.
Run btsnooz.py on the text version of the bug report:
btsnooz.py BUG_REPORT.txt > BTSNOOP.log
A partir del 8/1/18 el enlace a btsnooz está aquí: https://android.googlesource.com/platform/system/bt/+/master/tools/scripts/btsnooz.py
RESPUESTA DEL LEGADO:
Puede ver dónde está almacenando su teléfono el registro hci leyendo el archivo bt_stack.conf. Tratar
adb shell cat /etc/bluetooth/bt_stack.conf
Verás una línea que parece
# BtSnoop log output file
BtSnoopFileName =/sdcard/btsnoop_hci.log <--your file location
Normalmente, pero no siempre (depende del teléfono) está en la raíz de la sdcard. También hay una línea en este archivo de configuración que puede reflejar si el registro hci está realmente activado o no
# EnableBtSnoop logging function
# valid value : true , false
BtSnoopLogOutput=false
Al alternar la opción ''Habilitar el registro snoop de Bluetooth HCI'' en las opciones del desarrollador, se debe cambiar a
# EnableBtSnoop logging function
# valid value : true , false
BtSnoopLogOutput=true
Digo "debería" porque para algunos teléfonos no actualice este archivo. Debieras:
- Lea el archivo bt_stack.conf. Vea dónde debería estar el registro HCI y si el registro bt snoop está realmente habilitado o no
- Si las opciones del desarrollador dicen que el registro de btsnoop_hci está activado, pero el archivo bt_stack.conf dice que está desactivado, intente apagar y encender su teléfono y / o su teléfono.
- Si su teléfono está rooteado, configure manualmente BtSnoopLogOutput = true
Si ninguna de las 3 opciones funciona, no tienes suerte. El registro de BT Snoop hci es un poco inconsistente en diferentes teléfonos. He visto algunos teléfonos en los que simplemente no pude hacer que funcionara, no importa qué, pero en la mayoría de los casos, debería poder hacerlo funcionar. Un teléfono rooteado no es un requisito
En Nexus 5X y Pixel C Android O, debe habilitar el bluetooth, habilitar la indagación HCI en la configuración del desarrollador, deshabilitar y volver a activar el bluetooth y reiniciar.
Después de eso, puede obtener el registro accediendo a la configuración del desarrollador y "tomar informe de errores" y obtener un registro completo.
El archivo bt_stack.conf no se modifica y no hay ningún archivo nuevo en / sdcard como en otros dispositivos
En la mía, bt_stack.conf mostró /sdcard/Android/data/btsnoop_hci.log
En un teléfono OnePlus 6 (A6003, Android 9) (y creo que en otros teléfonos OnePlus) la ubicación es:
/sdcard/oem_log/btsnoop
Esta ubicación no requiere rooting ni acceso a través de adb
. El registro tendrá una extensión .cfa
.
Esto es lo que me lo resolvió:
1) adb shell cat /etc/bluetooth/bt_stack.conf
para ver cuál es el nombre del archivo de registro, para mí es:
/data/log/bt/btsnoop_hci.log
La parte difícil es que los archivos se generan con la marca de tiempo en sus nombres, por lo que no podrá obtenerlos simplemente con
adb pull /data/log/bt/btsnoop_hci.log
2) Utilice adb pull /data/log/bt/
lugar, y obtendrá toda la carpeta, con todos los registros
Para Samsung s8, la ubicación mágica es / data / log / bt /
y necesitas acceso de root para conseguirlo
Para una versión de usuario de Pixel / Nexus, es posible que no tenga permiso para extraer /data/misc/bluetooth/logs/btsnoop_hci.log. Puede obtener el registro hci de esta manera:
adb shell dumpsys bluetooth_manager
adb bugreport > BUG_REPORT.txt
Obtendrá un archivo BUG_REPORT.txt y un archivo zip. El registro HCI se encontrará en FS / data / misc / bluetooth / logs del archivo zip.
Según mi experiencia, la función de indagación HCI de Bluetooth requiere que su dispositivo esté enraizado. En mi Samsung Galaxy S GT-I9000 rooteado funciona bien, mientras que en mi Galaxy S3 Neo no rooteado esta función no funciona.
Además, debe asegurarse de no haber eliminado el archivo accidentalmente. Cada vez que borro el archivo, debo volver a habilitar la función de búsqueda de Bluetooth para que el sistema vuelva a crear el archivo de registro.