Hello.
I am developing a BLE application on NRF52832 using Nordic SDK11 and S132 softdevice. I use Linux PC as a BLE host device, and can pair & bond the NRF bluetooth device with the Linux host. I use encrypted connection settings BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM and just-works pairing mode. I use peermanager library for storing the bonding information in the NRF BLE device.
My question relates to an IoT'ish situation that the NRF BLE device and the host (Linux) devices are happily paired&bonded together and reside somewhere in the field, so that I can remotely communicate with the host device over the Internet, yet there won't be anyone physically present in the field to perform manual interactions. Now let's assume an adverse situation that the (Linux) host would lose it's bluetooth pairing information for whatever reason.
Question: How can I make the NRF device accept renewed pairing request from the host device that has earlier been paired with this same NRF BLE device, yet the (Linux) host device does not have earlier pairing information available any more?
The issue is that the NRF BLE device rejects pairing requests with the host device, if the NRF BLE device recognizes the host device by its MAC as one with earlier bonding information recorded into the NRF's flash storage.
I can manually re-establish pairing between the NRF BLE and host devices by pushing physical button on NRF BLE device to force NRF's peermanager to forget the earlier bonding, but how I could achieve this in software so that there won't be need for anyone be physically present in place to push the erase-bonding-button on the NRF BLE device?