Когда Bluetooth-наушники на Android внезапно отваливаются, а разработчик приложения просит «прислать HCI snoop log», речь идёт о конкретном файле — btsnoop_hci.log, в который система записывает весь трафик между процессором телефона и Bluetooth-контроллером. Включить его запись можно через пункт «Включить журнал отслеживания Bluetooth HCI» в меню разработчика, после чего смартфон начнёт сохранять каждый пакет обмена.
Эта статья объясняет, что скрывается за термином HCI snoop, где искать лог на устройстве, чем его открыть и как по нему понять, почему гарнитура теряет связь или не проходит сопряжение. Материал будет полезен разработчикам, тестировщикам и пользователям, которые хотят самостоятельно диагностировать проблемы беспроводного подключения.
Что такое HCI и зачем нужен snoop-лог
HCI (Host Controller Interface) — это стандартизированный интерфейс обмена данными между хостом (операционной системой смартфона) и Bluetooth-контроллером (отдельным чипом или блоком внутри SoC). Все команды на сопряжение, передачу аудио, сканирование устройств проходят именно через этот уровень.
Слово snoop означает «подслушивание»: система перехватывает пакеты, которыми обмениваются хост и контроллер, и пишет их в файл. Получается полная история «разговора» телефона с Bluetooth-железом — от момента включения адаптера до разрыва соединения с конкретным устройством.
Зачем это нужно на практике:
- 🔍 Диагностика обрывов соединения с наушниками, колонками, автомобильной мультимедиа
- 🧩 Анализ ошибок сопряжения и обмена ключами шифрования
- 🎧 Проверка согласования аудиокодеков (SBC, AAC, aptX, LDAC) между устройствами
- 🛠️ Отладка собственных BLE-приложений разработчиками
- 📡 Поиск причин, почему устройство «видно», но не подключается
HCI snoop-лог — это дамп всего трафика между ОС и Bluetooth-чипом. По нему можно восстановить точную последовательность событий, приведших к сбою подключения.