После включения и выключения Bluetooth я перезагрузил телефон. Я не смог найти файл журнала в ожидаемом месте:
$ adb pull /sdcard/btsnoop_hci.log remote object ‘/sdcard/btsnoop_hci.log’ does not exist
Как я могу добраться до btsnoop_hci.log?
ОТВЕТЫ
Ответ 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
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
Вы можете увидеть, где ваш телефон хранит журнал hci, прочитав файл bt_stack.conf. Попробуйте
adb shell cat /etc/bluetooth/bt_stack.conf
Вы увидите строку, которая выглядит как
# BtSnoop log output file BtSnoopFileName =/sdcard/btsnoop_hci.log
Обычно, но не всегда (зависит от телефона), в корне SDCard. В этом файле конфигурации также есть строка, которая может отражать, включено ли ведение журнала hci
# EnableBtSnoop logging function # valid value : true , false BtSnoopLogOutput=false
Переключение параметра «Включить журнал отслеживания Bluetooth HCI» в параметрах разработчика должно изменить его на
# EnableBtSnoop logging function # valid value : true , false BtSnoopLogOutput=true
Я говорю «должен», потому что для некоторых телефонов это не обновляет этот файл. Вы должны:
- Прочитайте файл bt_stack.conf. Посмотрите, где должен быть журнал HCI, и действительно ли включено ведение журнала bt snoop
- Если в опциях разработчика указано, что ведение журнала btsnoop_hci включено, а в файле bt_stack.conf указано, что оно выключено, попробуйте включить и отключить питание Bluetooth и/или телефона.
- Если ваш телефон рутирован, установите вручную BtSnoopLogOutput=true
Если ни один из 3 вариантов не работает, вам не повезло. BT Snoop hci logging немного несовместим на разных телефонах. Я видел несколько телефонов, на которых я просто не мог заставить его работать, несмотря ни на что, но в большинстве случаев вы должны иметь возможность его запустить. Телефон с рутом не обязателен.
Секретное меню телефона. Полный обзор всех функций меню для разработчиков. Часть 2
Ответ 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 будет найден в разделе FSdatamiscbluetoothlogs 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), местоположение:
Это местоположение не требует ни рута, ни доступа через adb . Журнал будет иметь расширение .cfa и находится в двоичном формате pcap , подходящем для анализа, например. Wireshark.
Ответ 9
/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. Боты и неопытные люди, комментирующие, понижающие голосование в эти дни, портят переполнение стека!
Источник: utyatnishna.ru
Журнал отслеживания 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?
Jack Shultz 11 фев. 2015, в 03:47
Поделиться
Ответ, помеченный как правильный, на самом деле не является правильным.
Пожалуйста, перейдите к ответу с наибольшим количеством голосов для фактического правильного ответа.
PaulR 08 сен. 2017, в 13:06
Попробуйте это для Android O, Samsung последние: adb pull /data/log/bt/btsnoop_hci.log
Divyanshu Kushwaha 27 март 2018, в 11:14
Поделиться:
android-bluetooth
android-4.4-kitkat
8 ответов
Лучший ответ
Согласно моему опыту, функция отслеживания Bluetooth HCI требует, чтобы ваше устройство было внедрено. На моем укорененном Samsung Galaxy S GT-I9000 он отлично работает, когда на моей ненарушенной галактике S3 Neo эта функция не работает.
Кроме того, вы должны убедиться, что вы случайно не удалили файл. Всякий раз, когда я удаляю файл, я должен снова включить функцию отслеживания Bluetooth, чтобы система заново создала файл журнала.
Lukas 26 март 2015, в 10:43
Поделиться
Это абсолютно не так. Разумеется, нет необходимости рутировать телефон для сбора журнала HCI
TwinPrimesAreEz 20 май 2015, в 14:07
Хорошо, спасибо за исправление. Я обычно работаю только с устройствами с рутом и без Google. Я пробовал только один раз на телефоне без рута. Таким образом, я написал «По своему опыту» в моем ответе. Я собираюсь удалить свой ответ.
Lukas 21 май 2015, в 08:49
Есть ли документация, в которой говорится, что для отслеживания HCI требуется root?
IgorGanapolsky 13 март 2017, в 15:44
Я согласен с Лукасом. Я видел это только на рутованных телефонах. Кто-нибудь пробовал с нерутированным телефоном?
Raulp 17 апр. 2017, в 08:01
У меня есть два телефона без рута, которые создают этот файл, но в разных местах. Смотрите следующий ответ, чтобы найти правильный путь.
wholeman 15 сен. 2017, в 18:43
Некоторые поставщики хранят этот файл журнала в каталоге без прав доступа. умный, не так ли? Смотрите параметр «BtSnoopFileName» в bt_stack.conf. И этот конфигурационный файл также может быть в разных местах. В худшем случае в разрешении запрещен путь. Посмотрите в «/ etc / bluetooth /» или «/ vendor / etc / bluetooth».
Dominik 28 май 2018, в 14:32
Показать ещё 4 комментария
ОБНОВЛЕНИЕ: Журнал btsnoop hci, похоже, постепенно удаляется из доступных для пользователя областей на многих телефонах. Если вы включили ведение журнала hci, вы можете получить отчет об ошибке
adb bugreport anewbugreportfolder
Затем распакуйте папку. Если вам повезло, есть папка ‘FS’, которая содержит журнал btsnoop_hci.log несколькими слоями вниз (не знаю, почему некоторые телефоны имеют это, а некоторые нет). Если у вас его нет, возьмите текст сообщения об ошибке. файл, который выглядит так
bugreport-2018-08-01-15-08-01.txt
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
Вы можете увидеть, где ваш телефон хранит журнал hci, прочитав файл bt_stack.conf. Пытаться
adb shell cat /etc/bluetooth/bt_stack.conf
Вы увидите линию, которая выглядит как
# BtSnoop log output file BtSnoopFileName =/sdcard/btsnoop_hci.log
Обычно, но не всегда (зависит от телефона) в корне SDCard. В этом файле конфигурации также есть строка, которая может отражать, действительно ли включено ведение журнала hci.
# EnableBtSnoop logging function # valid value : true , false BtSnoopLogOutput=false
Переключение параметра «Включить журнал отслеживания Bluetooth HCI» в параметрах разработчика должно изменить его на
# EnableBtSnoop logging function # valid value : true , false BtSnoopLogOutput=true
Я говорю «должен», потому что для некоторых телефонов не обновляйте этот файл. Вам следует:
- Прочитайте файл bt_stack.conf. Посмотрите, где должен быть журнал HCI и действительно ли включено ведение журнала bt snoop
- Если в опциях разработчика указано, что ведение журнала btsnoop_hci включено, а в файле bt_stack.conf указано, что оно выключено, попробуйте включить и отключить питание Bluetooth и/или телефона.
- Если ваш телефон рутирован, вручную установите BtSnoopLogOutput = true
Если ни один из 3 вариантов не работает, вам не повезло. BT Snoop hci logging немного несовместим на разных телефонах. Я видел несколько телефонов, на которых я просто не мог заставить его работать, не смотря ни на что, но в большинстве случаев вы должны его запустить. Рутированный телефон не обязателен
Источник: overcoder.net
Включение программного протокола HCI Bluetooth snoop
Существует известный способ включения HCI Bluetooth snoop-журнала из интерфейса опций разработчика.
Есть ли способ достичь этого программно?
Лучший ответ:
1. Использование bt_stack.conf (требуется root)
- Найдите файл bt_stack.conf (иногда это в /etc/bluetooth/ , иногда в /data/misc/bluetooth )
- Измените файл bt_stack.conf (установите BtSnoopLogOutput=true )
- Отключить и включить Bluetooth – это приведет к регистрации HCI snoop
- Когда вы решите, что этого достаточно, отредактируйте файл еще раз, установив BtSnoopLogOutput=false и сбросьте Bluetooth – это остановит ведение журнала отслеживания HCI
2. Использование скрытого Android API
Обратите внимание: этот подход потребует, чтобы ваше приложение имело разрешение BLUETOOTH_ADMIN .
Если это нормально, вы можете использовать тот же код, который использует приложение системных настроек Android.
private void writeBtHciSnoopLogOptions()
configHciSnoopLog является частью скрытого API класса BluetoothAdapter , поэтому убедитесь, что вы знаете, как его включить:
- Использование скрытого API Android
- Андроида-скрытая-api-библиотека
3. Использование SL4A
SL4A приносит языки программирования на Android, позволяя вам редактировать и выполнять скрипты и интерактивные интерпретаторы непосредственно на устройстве Android. Эти скрипты имеют доступ ко многим API-интерфейсам, доступным для полноценных приложений для Android, но с очень упрощенным интерфейсом, который упрощает выполнение.
Если ваш образ Android создан с поддержкой SL4A, вы можете использовать следующий метод BluetoothFacade :
Обратите внимание, что ссылка API на Github устарел, но вы можете увидеть последние в официальном AOSP репо ( Commonsrccomgooglecodeandroid_scriptingfacadebluetooth )
Сценарий Python, который позволяет вести журналы отслеживания HCI, будет выглядеть так:
from android import Android droid = Android() droid.bluetoothConfigHciSnoopLog(True)
Когда вы /sdcard/btsnoop_hci.log , вы можете найти журнал HCI Snoop в /sdcard/btsnoop_hci.log
Источник: techarks.ru