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 ?

Parents
  • 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? 

Reply
  • 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? 

Children
No Data
Related