Issue with Multiple Device DFU Updates Using nRF Mesh Controller (iPhone Bonding Problem)

I am currently working on a project using an nRF52840 with an nRF Mesh controller and have run into an issue when trying to perform Device Firmware Updates (DFU) using multiple iPhones.

Current Setup:

  • Bluetooth Mesh Provisioning is successfully implemented, and the device is working as expected.
  • DFU updates are working perfectly fine when using one iPhone.
  • The project utilizes Bluetooth bonding for authentication using passkeys.
  • I can bond and perform DFU updates with the first iPhone without any issues.

Issue:

When I try to perform a DFU update using another iPhone (while still on the same mesh network and provisioned correctly), I encounter the following problem:

  • The second iPhone attempts to pair with the device, but I receive an error stating "Encryption is insufficient", and the DFU update fails.
  • The device seems to limit the connection to the first iPhone and doesn't allow the second iPhone to initiate the DFU process, even though they are on the same mesh network and provisioning data is identical.

Questions:

  1. Is there a way to allow multiple iPhones to bond with the device for DFU updates without invalidating or clearing the previous bond? For example, is there a way to manage a bonding table to store bonding data for multiple devices?
  2. What is the best approach to disconnect a previously bonded device automatically (e.g., disconnect the first iPhone) when another device (second iPhone) attempts to initiate DFU?
  3. Is there a method to force bonding data to time out after a set period, allowing new devices to bond automatically?

Any suggestions or guidance on how to resolve this issue would be greatly appreciated!

Thank you!

Parents Reply Children
No Data
Related