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

How to detect binding information lost?

Hi all,

I'm using nrf51822 and ble_app_multirole_lesc example on SDK 12.3.

When I connect with "nrf connect" Android application for the first time, the bind is established and the communication is secure.

After that, I deleted the bond information from the mobile phone and I tried to reconnect again, nRF accepts the connection and calls "PM_EVT_PEER_DATA_UPDATE_SUCCEEDED" event.

1-How can this happen?

2-Is there an event called (nRF side) to detect that the mobile has lost the binding information?

Best regards.

Parents
  • Hello,

    I assume that you connect with nRF Connect as a central (nRF in peripheral role), is that correct?

    Have you set:

    pm_conn_sec_config_t conn_sec_config = {.allow_repairing = true}; ?

    or is it false?

    Best regards,

    Edvin

  • Hello, 

    Yes, I connected with nRF Connect as a central (nRF in peripheral role).

    I found that the pm_conn_sec_config_t conn_sec_config is called from PM_EVT_CONN_SEC_CONFIG_REQ event but this event is not called when I deleted the bond information from the mobile phone and I tried to reconnect again ( reconnect without entering in the bond process in the mobile side).

    This is the log I get when I reconnect: 

    0> New stack status = CONNECTED
    0> CCW:DEBUG:PM_EVT_BONDED_PEER_CONNECTED Connected to previously bonded device
    0> CCW:INFO: PM_EVT_PEER_DATA_UPDATE_SUCCEEDED: peer_id=0 data_id=0x6 action=0x0
    0> CCW:INFO: PM_EVT_LOCAL_DB_CACHE_APPLIED

    1 - Is there an event called (nRF side) to detect that the mobile has lost the binding information?

    2- Can the nRF request to start the pairing/bonding process?

    Best regards,

    Youssef

Reply
  • Hello, 

    Yes, I connected with nRF Connect as a central (nRF in peripheral role).

    I found that the pm_conn_sec_config_t conn_sec_config is called from PM_EVT_CONN_SEC_CONFIG_REQ event but this event is not called when I deleted the bond information from the mobile phone and I tried to reconnect again ( reconnect without entering in the bond process in the mobile side).

    This is the log I get when I reconnect: 

    0> New stack status = CONNECTED
    0> CCW:DEBUG:PM_EVT_BONDED_PEER_CONNECTED Connected to previously bonded device
    0> CCW:INFO: PM_EVT_PEER_DATA_UPDATE_SUCCEEDED: peer_id=0 data_id=0x6 action=0x0
    0> CCW:INFO: PM_EVT_LOCAL_DB_CACHE_APPLIED

    1 - Is there an event called (nRF side) to detect that the mobile has lost the binding information?

    2- Can the nRF request to start the pairing/bonding process?

    Best regards,

    Youssef

Children
Related