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

DFU OTA via Android and iOS

Hi everyone,

I recently was able to do firmware upgrade via Android phone(Link). So once I programmed the device with a proper bootlader, I was able to always reflash my application section of nRF51822 device, with a new application.hex, incase of any application updates. I currently compile the new updated application to generate my application.hex and use nrfutil.exe to generate the zip file(containing the .bin, .dat , .json files) needed for DFU update via Android as explained here.

The issue is, I am never able to use this .zip file for a DFU update. I open up my nRF Master Control Panel App(latest version) on my phone, connect to my device, select the DFU option on the top right corner which opens up a dialog box which asks for either Distribution Packet(zip), softdevice, Bootloader or Application. When I select Distribution packet, it asks to select my zip file and I browse(File Manager app on Android) to select the .zip which I created above. The zip file gets opened in the file Manager App and 'not selected' and all the files inside are visible but none of the files are selectable.

  1. So my query is, will just having the zip with the bin and dat file not work for DFU as mentioned in the pdf here? What am I doing wrong in this process? (How I get DFU to work is by selecting the Application button when you click on DFU then go to select the application.hex file, the app then asks for you to select the init file and I select the .dat file and the app proceeds to update the firmware just fine. Is this the correct and only way to do it?)

  2. This brings me to the second issue on my iPhone. Here I use the nRF Toolbox app for DFU update. Here once I select the DFU section on the app. It will go to the screen which asks for you to select the application. If I go ahead and select the application.hex file, and proceed to upload the firmware after selecting the device, it says .init file is needed but doesnt give me an option to select the .dat file like in Android(Even though both application.hex and its .dat file are there in the same folder on the iPhone). So I cant do a DFU update on via an iPhone to my nRF device.

  3. In the iPhone nRF Toolbox app, in DFU section, whenever I click the select device option, I never see the proper advertising name of my device (Lets say ABC as I see in Android), I always see it advertising as DFUTarg. Is this a bug?

Thanks for your time, Hoping someone can help me out.

Thanks in advance.

Related