it-swarm.com.de

Bluetooth-HCI-Snoop-Protokoll wird nicht generiert

Ich verwende Android 4.4.2 und habe das "Bluetooth HCI Snoop-Protokoll" wie hier beschrieben aktiviert Sniffing/Protokollieren Ihres eigenen Android-Bluetooth-Verkehrs

Nach dem Ein- und Ausschalten von Bluetooth habe ich das Telefon neu gestartet. Ich konnte die Protokolldatei nicht am erwarteten Speicherort finden: 

$ adb pull /sdcard/btsnoop_hci.log
remote object '/sdcard/btsnoop_hci.log' does not exist

Wie komme ich zum btsnoop_hci.log?

18
Jack Shultz

UPDATE: Das Protokoll btsnoop hci scheint auf vielen Telefonen aus den für Benutzer zugänglichen Bereichen auszusteigen. Vorausgesetzt, Sie haben die hci-Protokollierung aktiviert, erhalten Sie einen Fehlerbericht

adb bugreport anewbugreportfolder

Dann entpacken Sie den Ordner. Wenn Sie Glück haben, gibt es einen "FS" -Ordner, der das Protokoll btsnoop_hci.log in mehreren Ebenen enthält (nicht sicher, warum einige Telefone dies haben und andere nicht.) Wenn Sie es nicht haben, greifen Sie zum Fehlerbericht Datei, die so aussieht

bugreport-2018-08-01-15-08-01.txt

Führen Sie btsnooz.py dagegen aus. Gemäß den Anweisungen von 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

Ab dem 01.08.18 ist der Link zu btsnooz hier: https://Android.googlesource.com/platform/system/bt/+/master/tools/scripts/btsnooz.py

LEGACY ANTWORT:

Wo sich Ihr Telefon das hci-Protokoll speichert, können Sie der Datei bt_stack.conf entnehmen. Versuchen

adb Shell cat /etc/bluetooth/bt_stack.conf

Sie sehen eine Zeile, die aussieht

# BtSnoop log output file
BtSnoopFileName =/sdcard/btsnoop_hci.log <--your file location

Es befindet sich normalerweise, aber nicht immer (abhängig vom Telefon) im Stammverzeichnis der SD-Karte. Diese Konfigurationsdatei enthält auch eine Zeile, in der möglicherweise angegeben wird, ob die Protokollierung von hci tatsächlich aktiviert ist oder nicht

# EnableBtSnoop logging function
# valid value : true , false
BtSnoopLogOutput=false

Durch Umschalten der Option "Bluetooth-HCI-Snoop-Protokoll aktivieren" in den Entwickleroptionen sollte dies geändert werden

# EnableBtSnoop logging function
# valid value : true , false
BtSnoopLogOutput=true

Ich sage "sollte", weil diese Datei bei einigen Handys nicht aktualisiert wird. Du solltest:

  1. Lesen Sie die Datei bt_stack.conf. Sehen Sie, wo sich das HCI-Protokoll befinden soll und ob die bt-Snoop-Protokollierung tatsächlich aktiviert ist oder nicht
  2. Wenn die Entwickleroptionen angeben, dass die Protokollierung btsnoop_hci aktiviert ist, die Datei bt_stack.conf jedoch deaktiviert ist, versuchen Sie, die Bluetooth-Funktion und/oder Ihr Telefon auszuschalten. 
  3. Wenn Ihr Telefon gerootet ist, legen Sie manuell BtSnoopLogOutput = true fest

Wenn keine der 3 Optionen funktioniert, haben Sie kein Glück. BT Snoop hci-Protokollierung ist auf verschiedenen Telefonen etwas inkonsistent. Ich habe ein paar Telefone gesehen, bei denen ich es einfach nicht schaffen konnte, egal was, aber für die meisten Fälle sollte es möglich sein, dass es funktioniert. Ein gerootetes Telefon ist keine Voraussetzung

62
TwinPrimesAreEz

Auf Nexus 5X und Pixel C Android O müssen Sie Bluetooth aktivieren, HCI-Snooping in den Entwicklereinstellungen aktivieren, Bluetooth deaktivieren und erneut aktivieren und neu starten.

Danach können Sie das Protokoll abrufen, indem Sie zu den Entwicklereinstellungen gehen und "Fehlerbericht aufnehmen". Anschließend erhalten Sie ein vollständiges Protokoll. 

Die Datei "bt_stack.conf" wird nicht geändert und auf/sdcard gibt es keine neue Datei wie auf anderen Geräten

12
PaulFreund

Bei einer Benutzerversion Pixel/Nexus haben Sie möglicherweise keine Berechtigung, /data/misc/bluetooth/logs/btsnoop_hci.log..__ abzurufen.

adb Shell dumpsys bluetooth_manager
adb bugreport > BUG_REPORT.txt

Sie erhalten eine BUG_REPORT.txt- und Zip-Datei. Das HCI-Protokoll befindet sich unter FS\data\misc\bluetooth\logs der Zip-Datei.

3
Fukai

Bei mir zeigte bt_stack.conf /sdcard/Android/data/btsnoop_hci.log

2
abourget

Für Samsung s8 lautet der magische Ort/data/log/bt / 
und Sie benötigen Root-Zugriff, um es zu erhalten

2
GroovyDotCom

Auf einem OnePlus 6-Telefon (A6003, Android 9)) (und ich glaube, anderen OnePlus-Telefonen) lautet der Standort:

/sdcard/oem_log/btsnoop

Für diesen Speicherort ist kein Rooting und kein Zugriff über adb erforderlich. Das Protokoll enthält ein .cfa Erweiterung.

1
szalski

Das hat es für mich gelöst:

1) adb Shell cat /etc/bluetooth/bt_stack.conf

um zu sehen, wie der Name der Protokolldatei lautet, ist es für mich:

/data/log/bt/btsnoop_hci.log

Das Schwierige daran ist, dass Dateien mit einem Zeitstempel im Namen generiert werden, so dass Sie sie nicht einfach erhalten können 

adb pull /data/log/bt/btsnoop_hci.log

2) Verwenden Sie stattdessen adb pull /data/log/bt/ und Sie erhalten den gesamten Ordner mit allen Protokollen

1
Tontici Oleg

@TwinPrimesAreEz ist ausgezeichnet, aber es gibt eine vierte Option. zumindest wenn Ihr Gerät gerootet ist. Anruf:

/system/bin/btsnoop

Irgendwo Dieses Tool wurde entfernt, aber es ist immer noch auf meinem Gerät vorhanden. Whatismore, es scheint, wenn Bluetooth aktiviert ist. In logcat sehe ich: "btsnoop_dump:: snoop_log_open: Der Dir-Eintrag kann nicht geöffnet werden". Nicht sicher, warum es nicht in der Lage ist, dieses Verzeichnis zu öffnen (übrigens, es ist /data/media/0). Ich vermute jedoch, dass dieses Tool irgendwie mit der neuen in Android integrierten HCI-Snooping-Option interferiert. Wenn Sie dieses Tool jedoch direkt aufrufen (z. B. über adb Shell oder Terminal Emulator ), funktioniert es. Für mich erstellte er die Datei /data/media/0/hci_snoop20180203164422.cfa

0
Jack Miller