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

Disconnection procedure after LL conn. parameter update leads to supervision timeout

Hi all

We use the nRF51822 with the S130 V1.0.0 in the peripheral role and a Galaxy S5 in the central role. As soon as the S5 connects to the nRF, we send a connection parameter update request (L2CAP) to the S5 for increasing the communication speed. This request is accepted by the S5 and it sends afterwards the corresponding LL connection update request with an Instant value of 0x0011.

Now it happens sometimes, that we have to close the connection before the new connection parameters take effect (before the instant). The nRF sends the LL_TERMINATE_IND packet and waits for the BLE_GAP_EVT_DISCONNECTED event. But this event occurs first after the supervision timeout has expired (7000ms).

With a BLE sniffer I can see that the S5 sends an empty PDU after the LL_TERMINATE_IND which confirms the connection termination procedure. Therefore I don't see any reason why the disconnected event doesn't occur immediately.

When our application doesn't send the connection parameter update request after connection establishment, the BLE_GAP_EVT_DISCONNECTED event occurs right after the nRF has sent the LL_TERMINATE_IND packet.

Does anyone know this behavior?

EDIT: Added sniffer trace from Frontline BPA sniffer. supervision_timeout_at_disconnect.zip

EDIT: Another sniffer trace in which the last try was successful. supervision_timeout_at_disconnect_S5_2.zip

EDIT: Added sniffer trace in which the connection is terminated before the instant. disconnect_successful_S5.zip

Kind regards

Parents Reply Children
No Data
Related