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

Deleting device bonds (PM_EVT_CONN_SEC_CONFIG_REQ) - Apple Hosts

On Apple platforms, It's pretty easy to end up in a situation where there is bonding information on the Nordic but that information has been deleted from the host. All you have to do is "forget device". Then you'll get a PM_EVT_CONN_SEC_CONFIG_REQ event and the default handling does not resolve the situation:

    // Reject pairing request from an already bonded peer.
    NRF_LOG_INFO("Pairing attempted, but bond already exists\n");
    pm_conn_sec_config_t conn_sec_config = { .allow_repairing = false };
    pm_conn_sec_config_reply(p_evt->conn_handle, &conn_sec_config);
    break; }

I've read here that one should delete the bonding information from the Nordic, but no description about how that should be done cleanly. This can easily happen in the field, so reprogramming the chip is not an option. How does one exit this wedged condition?