2017-01-23 18 views
1

Сценарий: У меня есть одно устройство (Android Phone), которым я могу управлять, и я хочу проанализировать возможности Bluetooth другого устройства, у которого ограничено управление/информация. Я могу принимать/отклонять сопряжение, но я не могу Известно, какие версии или функции поддерживаются (это я хочу узнать).Как определить из журнала HCI, какая версия/технология Bluetooth (BR/EDR или LE) была фактически использована?

Вопрос: Из записанных журналов HCI (на Android-телефоне) вы можете определить, какая версия/технология была фактически использована при успешном соединении? Другими словами, как вы можете определить, была ли использована низкая энергия Bluetooth или классический Bluetooth (BR/EDR)?

Примечание: Я не ищу:

  • LMP реклама на «удаленный хост», так как это будет только сказать какая версия Bluetooth поддерживается (например, 4,1), но не скажу какой технологии фактически используется

  • также, не смотря на пульте дистанционного управления расширенные возможности говорить, что поддерживаются технологии (такие как BR/EDR и LE), но не давая подробности о том, какие технологии используются на самом деле

Спасибо :)

ответ

0

Если ссылка LE устанавливается, HCI LE Meta 0x3e Event с суб события LE Connection Complete 0х01 будет видно в журналах. См. Спецификацию ядра v5 Vol 2, часть E.
Если сопряжение происходит по линии LE, тогда SMP PDU, связанные с спариванием, будут отображаться в журналах HCI, когда на хосте происходит сопряжение. См. Спецификацию основного тома Vol 3, часть H. В LE GATT используется для обнаружения служб удаленного устройства.

Если ссылка BR/EDR поднята, в журналах будет показано событие завершения подключения HCI 0x03. В BR/EDR SDP используется для обнаружения служб удаленного устройства.