This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION Disconnection Reason

Hi,

In past we have observed BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION as a disconnection reason when the application layer tries to disconnect because of a timeout. But we we some instances where we are seeing such disconnections without any trigger from the application layer. What are the possible reasons for such disconnections?

  • Hi,

    You can get also get BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION as the disconnect reason if a procedure timed out. For instance connection parameter update initiated by the slave, or other L2CAP procedure timeout or ATT related.

  • Hi Einar,

    We do see a connection parameter update around this time but it was not initiated by the slave:

    [04:43:47.743] <info>: Received BLE GAP event: 18
    [04:43:47.744] <info>: Received Connection Params: MIN_CI: 25, MAX_CI: 25, SL: 0, ST: 400
    [04:43:50.805] <info>: Received BLE GAP event: 17
    [04:43:50.805] <info>: Disconnected Reason: 22

    There is no other firmware activity at this time, what can possibly cause this timeout? Where do we configure timeout for connection parameter update? 

    Thanks

  • Hi,

    karnram said:
    There is no other firmware activity at this time, what can possibly cause this timeout?

    It is difficult to say without knowing more. Some questions:

    • Can you share a sniffer trace showing this issue? 
    • Which SoftDevice version are you using?
    • Are both  the slave and master Nordic devices, and are both nRF52840? If not, what is the master device?
    karnram said:
    Where do we configure timeout for connection parameter update? 

    There is no API for configuring the instant (when the new parameters take effect) or timeout. (For supervision timeout it is the old that is used up to the instant and the new after, but that is not relevant in this case as you would have a different disconnect reason for supervision timeout).

Related