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

REMOTE DFU INVALID STATE (2)

I am trying to port the SDK 7.2 DFU example to support the S310 stack and compile using GCC. I have made the necessary changes as suggested in this post and I am testing on an nRF51422_xxaa chip using the Android nRF Toolbox version 1.11.4 to upload.

I cannot get past 0% of the upload for an application, the Android app always returns REMOTE DFU INVALID STATE (2). I have not been successful in catching where this is originating in the debugger, all I can see is that somewhere in the DFU there is a dfu_reset() call made.

Can you clarify under what conditions this state gets returned and what I might be missing?

Admittedly I am ignoring the .DAT file requirement that the nRF Toolbox seems to want for the init packet, could this be the problem? How do I create the .DAT file? I see the dfu_init_template.c, but dfu_init_prevalidate does not even get called before my failure.

Thank you!

Parents
  • Hi Jason,

    From SDK v7.x, the init packet (.dat) is required (as mentioned in the nRFToolbox app) if you don't send the init packet, the bootloader won't work. If you don't want to use initpacket, you can try to modify the bootloader code, or switch back to bootloader from SDK v6.1.

    But it's not too hard to make the initpacket. You can follow the instruction attached here.

Reply
  • Hi Jason,

    From SDK v7.x, the init packet (.dat) is required (as mentioned in the nRFToolbox app) if you don't send the init packet, the bootloader won't work. If you don't want to use initpacket, you can try to modify the bootloader code, or switch back to bootloader from SDK v6.1.

    But it's not too hard to make the initpacket. You can follow the instruction attached here.

Children
Related