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

Buttonless Secure DFU without bonds

       Hello! I am currently developing with nrf52832 SDK14.2, I used the Buttonless Secure DFU routine in the SDK to implement the DFU upgrade. In the project, after linking with the IOS phone, it needs to be paired, but after linking with the Android phone, there is no need to pair binding, so I set NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS to 0, but found a problem in use, if in the device and IOS The DFU upgrade is required in the state where the mobile phone is bound and linked. You must manually ignore the binding in the IOS phone settings to be successful, but the manual operation process is too cumbersome and unfriendly to the user. Is there any way? Do you need to manually modify the IOS phone settings without the user?

  • Hello,

    I am not sure I understand your question:

     

    I set NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS to 0, but found a problem in use, if in the device and IOS The DFU upgrade is required in the state where the mobile phone is bound and linked.

    Are you having issues performing the DFU because of bonding information that is stored, or do you require bonding for DFU, but you don't want to delete the bonding information after DFU?

    Best regards,

    Edvin

  •          Thank you for your reply!

              In the use of normal devices and IOS phones, the device needs to be bound to the IOS phone. After the binding, there is a new version of the program that needs to be updated. If the binding relationship in the phone settings is not ignored, it cannot be tied. To be successful, I hope that there is a user-friendly way: the device and the IOS phone are in a binding connection state. At this time, the app finds a new version and initiates a DFU upgrade to the device, knowing that the upgrade is complete and reconnecting. This process is full for the client. Automatic does not need to do other operations, thank you!


    Note: The device and the IOS phone have a binding relationship, and there is no binding relationship with the Android phone, so only "NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS" is set to 0.

  •          Thank you for your reply!

              In the use of normal devices and IOS phones, the device needs to be bound to the IOS phone. After the binding, there is a new version of the program that needs to be updated. If the binding relationship in the phone settings is not ignored, it cannot be tied. To be successful, I hope that there is a user-friendly way: the device and the IOS phone are in a binding connection state. At this time, the app finds a new version and initiates a DFU upgrade to the device, knowing that the upgrade is complete and reconnecting. This process is full for the client. Automatic does not need to do other operations, thank you!


    Note: The device and the IOS phone have a binding relationship, and there is no binding relationship with the Android phone, so only "NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS" is set to 0.

  • Jim said:
    n the use of normal devices and IOS phones, the device needs to be bound to the IOS phone. After the binding, there is a new version of the program that needs to be updated. If the binding relationship in the phone settings is not ignored, it cannot be tied

     So you are updating to an application that doesn't have support bonding?

    You can't force the phone to delete bonding data from the nRF's application. Maybe ( I don't know ) you can do it from a custom application. You would have to check with Apple.

    Or is the problem that you can't do DFU, because NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS is set to 0, while your phone is bonded?

Related