Когда 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-чипом. По нему можно восстановить точную последовательность событий, приведших к сбою подключения.