Hello, I am working on iOS app acting as a central that connects to a peripheral which triggers bonding on connection. The pairing is successful on the first connection and after resetting the peripheral (and forgetting the device in Bluetooth Settings). It fails, however, after this devices is forgotten in the Bluetooth Settings at DHKey check, but the peripheral remains turned on.
The peripheral is a linux device using BlueZ. This issue does not happen with Android device.
Steps:
- Connect with the peripheral in the app using Core Bluetooth for the first time.
- Accept the pairing prompt.
- Bonding is successful and the peripheral is under MY DEVICES in Bluetooth Settings.
- Forget the device in Bluetooth Settings.
- Connect with the peripheral in the app using Core Bluetooth.
- Pairing prompt pops up repeatedly. Sometimes it pops up once, but the pairing is not successful as the device is not present under MY DEVICES.
- Connect with the peripheral in the app using Core Bluetooth another time.
- Pairing prompt still shows app.
- Restarting the peripheral fixes it and central iOS device is able to pair again.
Sharing a screen shot from nRF Sniffer for SMP packets which indicate DHKey check failing. I was not able to attach whole log files because of size, let me know if needed I can share them in a different way somehow.
Is there anything different in the flow between pairing for the first time and after forgetting the device?