Подтвердить что ты не робот

Журнал Bluetooth HCI не сгенерирован

Я запускаю Android 4.4.2, и я включил "журнал отслеживания Bluetooth HCI", как описано здесь Обнюхание/регистрация вашего собственного трафика Bluetooth для Android

После включения и выключения Bluetooth я перезагрузил телефон. Я не смог найти файл журнала в ожидаемом месте:

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

Как я могу добраться до btsnoop_hci.log?

4b9b3361

Ответ 1

Согласно моему опыту, функция отслеживания Bluetooth HCI требует, чтобы ваше устройство было внедрено. На моем укорененном Samsung Galaxy S GT-I9000 он отлично работает, когда на моей ненарушенной галактике S3 Neo эта функция не работает.

Кроме того, вы должны убедиться, что вы случайно не удалили файл. Всякий раз, когда я удаляю файл, я должен снова включить функцию отслеживания Bluetooth, чтобы система заново создала файл журнала.

Ответ 2

ОБНОВЛЕНИЕ: Журнал btsnoop hci, похоже, постепенно удаляется из доступных для пользователя областей на многих телефонах. Если вы включили ведение журнала hci, вы можете получить отчет об ошибке

adb bugreport anewbugreportfolder

Затем распакуйте папку. Если вам повезло, есть папка 'FS', которая содержит журнал btsnoop_hci.log несколькими слоями вниз (не знаю, почему некоторые телефоны имеют это, а некоторые нет). Если у вас его нет, возьмите текст сообщения об ошибке. файл, который выглядит следующим образом

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

Запустите btsnooz.py против него. В соответствии с инструкциями 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

По состоянию на 01.08.118 ссылка на btsnooz находится здесь: https://android.googlesource.com/platform/system/bt/+/master/tools/scripts/btsnooz.py

ОТСУТСТВИЕ ОТВЕТСТВЕННОСТИ:

Вы можете увидеть, где ваш телефон хранит журнал hci, прочитав файл bt_stack.conf. Попробуйте

adb shell cat /etc/bluetooth/bt_stack.conf

Вы увидите строку, которая выглядит как

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

Обычно, но не всегда (зависит от телефона), в корне SDCard. В этом файле конфигурации также есть строка, которая может отражать, включено ли ведение журнала hci

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

Переключение параметра "Включить журнал отслеживания Bluetooth HCI" в параметрах разработчика должно изменить его на

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

Я говорю "должен", потому что для некоторых телефонов это не обновляет этот файл. Вы должны:

  1. Прочитайте файл bt_stack.conf. Посмотрите, где должен быть журнал HCI, и действительно ли включено ведение журнала bt snoop
  2. Если в опциях разработчика указано, что ведение журнала btsnoop_hci включено, а в файле bt_stack.conf указано, что оно выключено, попробуйте включить и отключить питание Bluetooth и/или телефона.
  3. Если ваш телефон рутирован, установите вручную BtSnoopLogOutput=true

Если ни один из 3 вариантов не работает, вам не повезло. BT Snoop hci logging немного несовместим на разных телефонах. Я видел несколько телефонов, на которых я просто не мог заставить его работать, несмотря ни на что, но в большинстве случаев вы должны иметь возможность его запустить. Телефон с рутом не обязателен.

Ответ 3

В Nexus 5X и Pixel C Android O вам нужно включить Bluetooth, включить отслеживание HCI в настройках разработчика, отключить и повторно включить Bluetooth и перезагрузить.

После этого вы можете получить журнал, перейдя в настройки разработчика и "возьмите отчет об ошибке" и получите полный журнал.

Файл bt_stack.conf не изменяется и нет нового файла на /sdcard, как на других устройствах

Ответ 4

Для пользовательской версии Pixel/Nexus у вас может не быть разрешения на извлечение /data/misc/bluetooth/logs/btsnoop_hci.log. Вы можете получить журнал hci следующим образом:

adb shell dumpsys bluetooth_manager
adb bugreport > BUG_REPORT.txt

Вы получите файл BUG_REPORT.txt и zip файл. Журнал HCI будет найден в разделе FS\data\misc\bluetooth\logs zip файла.

Ответ 5

На моем, bt_stack.conf показано/sdcard/Android/data/btsnoop_hci.log

Ответ 6

Для Samsung s8 волшебное местоположение -/data/log/bt/
и вам нужен root-доступ, чтобы получить его

Ответ 7

Вот что решило это для меня:

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

чтобы увидеть, каково имя файла журнала, для меня это:

/data/log/bt/btsnoop_hci.log

Сложность в том, что файлы генерируются с меткой времени в их именах, поэтому вы не сможете получить их (это), просто используя

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

2) Вместо этого используйте adb pull/data/log/bt/, и вы получите всю папку со всеми журналами

Ответ 8

На телефоне OnePlus 6 (A6003, Android 9) (и, как мне кажется, на других телефонах OnePlus), местоположение:

/sdcard/oem_log/btsnoop

Это местоположение не требует ни рута, ни доступа через adb. Журнал будет иметь расширение .cfa и находится в двоичном формате pcap, подходящем для анализа, например. Wireshark.

Ответ 9

@TwinPrimesAreEz отлично, но есть четвертый вариант; по крайней мере, когда ваше устройство внедрено. Вызов:

/system/bin/btsnoop

Где-то этот инструмент был удален, но он все еще существует на моем устройстве. Whatismore, кажется, называется, когда bluetooth включен. В logcat я вижу: "btsnoop_dump:: snoop_log_open: Невозможно открыть запись Dir". Не уверен, почему он не может открыть этот dir (кстати, это /data/media/0). Но я подозреваю, что этот инструмент каким-то образом препятствует новой опции отслеживания HCI, интегрированной в Android. Но если вы вызываете этот инструмент напрямую (например, через adb shell или эмулятор терминала), он работает. Для меня он создал файл /data/media/0/hci_snoop20180203164422.cfa.

Ответ 10

то, что Лукас сказал здесь в ветке выше: fooobar.com/info/103081/... правильно для Samsung Android Phone (A7) под управлением 8.0.0.

adb: error: не удалось определить удаленный объект '/data/log/bt/btsnoop_hci.log': Отказано в разрешении - это ошибка, которую мы получаем, если у меня нет разрешения root. Боты и неопытные люди, комментирующие, понижающие голосование в эти дни, портят переполнение стека!