Environment
-
nRF Connect SDK v3.3.1
-
SoC: nRF54LM20A
-
BLE peripheral using connectable legacy advertising
-
Central: smartphone
Problem
We occasionally see very short-lived BLE connections that are disconnected with reason 0x08 (BT_HCI_ERR_CONN_TIMEOUT), even though the supervision timeout has not elapsed.
For example:
[00:31:36.387,160] Connected to conn 0x20009cd8, 68:A7:29:XX:XX:XX (public),
initial conn params: interval 30000us, latency 0, supervision timeout 720ms
[00:31:36.549,851] Disconnected from conn 0x20009cd8, 68:A7:29:XX:XX:XX (public),
(reason 0x8)
The timestamps shown above are captured when the connected and disconnected callbacks are invoked, respectively. They are not the timestamps of when the log messages are actually processed or printed.
The timestamps are obtained using k_cycle_get_32() with CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=1000000, giving 1 µs resolution. Therefore, the elapsed time between the two callback invocations is about 162.7 ms.
The initial connection parameters obtained with bt_conn_get_info() are:
-
Connection interval: 30 ms
-
Slave latency: 0
-
Supervision timeout: 720 ms
We have also confirmed that:
-
CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS=n -
Our application does not call
bt_conn_le_param_update()before the disconnect. -
No
security_changed,le_param_req, orle_param_updatedcallbacks were triggered before the disconnect. -
No MTU exchange was observed.
The issue is intermittent. Most connections work normally, but occasionally a newly established connection is disconnected in this way.
Questions
-
What could cause a connection to be disconnected with reason
0x08only ~163 ms after connection establishment, when the supervision timeout is 720 ms? -
In this case, is
0x08generated by our local controller's supervision timer, or can it also be reported when the peer terminates the connection due to its own timeout? -
Is there any way to obtain additional diagnostic information from the SoftDevice Controller, such as debug counters or connection-event information, to determine the cause of the disconnect?
-
Are there any known issues on nRF54L-series devices that could cause this kind of intermittent short-lived connection with reason
0x08?
Any suggestions on what to check would be appreciated.