bluetoothbluetooth-lowenergywiresharkhci

How to determine from HCI logs what Bluetooth version/ technology (BR/EDR or LE) was actually used?


The scenario: I have one device (Android Phone) that I can control and I want to analyse the Bluetooth capabilities of a different device of which I have limited control/ information - I can only accept/ reject pairing, but I don't known what versions or features are supported (this is that I want to find out).

Question: From the recorded HCI logs (in the Android Phone), can you determine what version/ technology was actually used in a successful pairing? In other words, how can you tell whether Bluetooth low energy was used or the Classic Bluetooth (BR/EDR)?

Note: I am not looking for:

Thanks :)


Solution

  • If the LE link is set up, HCI LE Meta Event 0x3E with sub event LE Connection Complete 0x01 will be seen in the logs. See core spec v5 Vol 2, part E.
    If pairing occurs over the LE link, then SMP PDUs related to pairing will be seen in the HCI logs as pairing occurs on the host. See core spec Vol 3, Part H. In LE, GATT is used to discover services of the remote device.

    If the BR/EDR link is up, HCI Connection Complete event 0x03 will be seen in the logs. In BR/EDR, SDP is used to discover services of the remote device.