J'utilise Android 4.4.2 et j'ai activé le "journal de surveillance Bluetooth HCI" comme décrit ici Reniflement/enregistrement de votre trafic Bluetooth Android
Après avoir activé et désactivé Bluetooth, j'ai redémarré le téléphone. Je n'ai pas trouvé le fichier journal à l'emplacement prévu:
$ adb pull /sdcard/btsnoop_hci.log
remote object '/sdcard/btsnoop_hci.log' does not exist
Comment puis-je accéder au btsnoop_hci.log?
MISE À JOUR: Le journal btsnoop hci semble disparaître progressivement des zones accessibles aux utilisateurs de nombreux téléphones. En supposant que la journalisation hci soit activée, vous pouvez obtenir un rapport de bogue.
adb bugreport anewbugreportfolder
Puis décompressez le dossier. Si vous êtes chanceux, il existe un dossier 'FS' contenant le journal btsnoop_hci.log de plusieurs couches (vous ne savez pas pourquoi certains téléphones ont ceci ou pas.) Si vous ne l'avez pas, récupérez le texte du rapport de bogue fichier qui ressemble à ceci
bugreport-2018-08-01-15-08-01.txt
Exécutez btsnooz.py contre elle. Selon les instructions 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
Depuis le 01/08/18, le lien vers btsnooz est ici: https://Android.googlesource.com/platform/system/bt/+/master/tools/scripts/btsnooz.py
RÉPONSE DE LEGACY:
Vous pouvez voir où votre téléphone stocke le journal hci en lisant le fichier bt_stack.conf. Essayer
adb Shell cat /etc/bluetooth/bt_stack.conf
Vous verrez une ligne qui ressemble à
# BtSnoop log output file
BtSnoopFileName =/sdcard/btsnoop_hci.log <--your file location
C’est généralement, mais pas toujours (cela dépend du téléphone), la racine de la carte SD. Il existe également une ligne dans ce fichier de configuration qui peut indiquer si la journalisation hci est réellement activée ou non.
# EnableBtSnoop logging function
# valid value : true , false
BtSnoopLogOutput=false
Activer l'option 'Activer Bluetooth HCI snoop log' dans les options pour les développeurs devrait la changer en
# EnableBtSnoop logging function
# valid value : true , false
BtSnoopLogOutput=true
Je dis "devrait" car pour certains téléphones, ne mettez pas à jour ce fichier. Vous devriez:
Si aucune des 3 options ne fonctionne, vous n’avez pas de chance. La journalisation BT Snoop hci est un peu incohérente sur différents téléphones. J'ai vu quelques téléphones où je ne pouvais tout simplement pas le faire fonctionner, peu importe, mais dans la plupart des cas, vous devriez pouvoir le faire fonctionner. Un téléphone enraciné n'est pas une exigence
Sur le Nexus 5X et Pixel C Android O, vous devez activer le bluetooth, activer la surveillance HCI dans les paramètres du développeur, désactiver et réactiver le bluetooth, puis redémarrer.
Après cela, vous pouvez obtenir le journal en accédant aux paramètres du développeur, en prenant un rapport de bogue et en obtenant un journal complet.
Le fichier bt_stack.conf n'est pas modifié et il n'y a pas de nouveau fichier sur/sdcard comme sur d'autres périphériques.
Pour une version utilisateur Pixel/Nexus, vous pouvez ne pas avoir la permission d'extraire /data/misc/bluetooth/logs/btsnoop_hci.log.Vous pouvez obtenir le journal hci comme suit:
adb Shell dumpsys bluetooth_manager
adb bugreport > BUG_REPORT.txt
Vous obtiendrez un fichier BUG_REPORT.txt et un fichier Zip. Le journal HCI se trouve sous FS\data\misc\bluetooth\logs du fichier Zip.
Sur la mienne, bt_stack.conf affiche /sdcard/Android/data/btsnoop_hci.log
Pour Samsung S8, l'emplacement magique est/data/log/bt /
et vous avez besoin d'un accès root pour l'obtenir
C'est ce qui a résolu le problème pour moi:
1) adb Shell cat /etc/bluetooth/bt_stack.conf
pour voir quel est le nom du fichier journal, il s’agit pour moi:
/data/log/bt/btsnoop_hci.log
La difficulté réside dans le fait que les fichiers sont générés avec l’horodatage dans leur nom afin que vous ne puissiez pas les obtenir simplement en utilisant
adb pull /data/log/bt/btsnoop_hci.log
2) Utilisez adb pull /data/log/bt/
à la place, et vous obtiendrez le dossier entier, avec tous les journaux
@TwinPrimesAreEz est excellent mais il existe une quatrième option. au moins lorsque votre appareil est enraciné. Appel:
/system/bin/btsnoop
Quelque part cet outil a été supprimé, mais il existe toujours sur mon appareil. Whatismore, il semble être appelé lorsque Bluetooth est activé. Dans logcat
je vois: "btsnoop_dump:: snoop_log_open: impossible d'ouvrir l'entrée Dir". Vous ne savez pas pourquoi il est incapable d’ouvrir ce répertoire (au fait, c’est /data/media/0
), mais j’imagine que cet outil interfère d’une manière ou d’une autre avec la nouvelle option de surveillance intégrée HCI intégrée à Android. Mais si vous appelez cet outil directement (par exemple, via adb Shell
ou Émulateur de terminal ), cela fonctionne. Pour moi, il a créé le fichier /data/media/0/hci_snoop20180203164422.cfa
.