I’m implementing static passkey security in a BLE peripheral using nRF52810 with SDK 17.1.0. I have added a feature where the device disconnects automatically if the user doesn’t enter the passkey within a timeout window.
The problem I’m facing is:
1. When I connect to the BLE device from **some phones**, the **passkey entry prompt appears**, but when I enter the correct PIN, **nothing happens**. After the timeout, the device disconnects.
2. On other phones (e.g., my friend's phone), it works fine — the prompt appears, the PIN is entered, and pairing succeeds.
3. After pairing once, the phone doesn't show the PIN prompt again when reconnecting — I want the phone to **ask for the passkey every time**.
Questions:
- Why is the correct passkey not working on some phones?
- How can I **force the phone to always ask for the passkey**?
- Is there something I need to clear from the phone or the peripheral after disconnection to reset bonding?
I have configured the security with static passkey using `pm_sec_params_t` with MITM and IO capabilities. I also start a timer on connection and disconnect if pairing does not complete in time.
Any advice or steps to debug this further would be appreciated.