Why is there no log displayed when connecting to BLE?

nrf52832 (s132 v7.0.1, SDK v17.0.0) is under development as peripheral and central device.

PM_EVT_CONN_SEC_FAILED may occur on the central side when a BLE connection is made.
In that case, BLE_GAP_EVT_CONNECTED did not occur on the peripheral side.

Why does the error occur after the connection on the central side even though the connection did not occur on the peripheral side?

Is there any way to resolve this phenomenon?

  • Hi Kei, 

    As far as I know, PM_EVT_CONN_SEC_FAILED can happen even when the connection is not established. 

    When a central send a connect request, it assumes that the peer has received the connection request and proceed to send the first packet in the next connection event. If the first packet in the next connection event is a security request and if the packet is never receive by the peripheral, then the central will receive connection request failed and the peripheral will not have BLE_GAP_EVT_CONNECTED callback. 

    In the following screenshot, you can see that the Connect Request was ignored (or not received) by the peripheral, and the central assuming the connection is established, continued to send 6 retransmission packets of LL_FEATURE_REQ before giving up. The peripheral, doesn't receive the connect request, continue to advertise as normal. 



    It's just my hypothesis. We would need to capture a sniffer trace to verify that. Could you please capture a sniffer trace when the issue happen ? How often do you see the problem ? 
    Did you reproduce the issue with one of the example ? I assume before the problem appeared, you bonded the two devices ? 

Related