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

DFU process on iOS stop in Enabling DFU Bootloader... , not switch to bootloader

SDK 15.2.0

I migrated ble_app_buttonless_dfu to our project, and test DFU with android nRF Tool. Everything work fine.

But when tring on iOS nRF Tool, it always stop in { Enabling DFU Bootloader... } (as the picture attached )

At this moment, the nRF52 stop advertising.

If i reset the nRF52 it goes to application and advertising again.

Then I use nRF Tool on android to do DFU, I could see nRF52 switch to bootloader and the pending state on iOS start to  DFU processing and complete the DFU.

I guess there's some problem in swtich to bootloader with iOS nRF Tool. 

I could switch to DFU by using lightblue with The Buttonless Secure DFU Service, write 0x01to  Buttonless DFU without bonds. 

If any suggestion for me ?

  • Hi,

    The only difference between Android and iOS that I can think of is that iOS sends the DFU_OP_SET_ADV_NAME command to change the device name in DFU mode before issuing the DFU_OP_ENTER_BOOTLOADER command. So I suspect the DFU_OP_SET_ADV_NAME may be failing for some reason. Are you able to debug the FW app while you initiate DFU from your iOS device to maybe confirm this? 

Related