FOTA from intermediate worked and now getting "Device not supported"

I ran this exercise a month or two ago and it worked to do OTA updates. I then tried recently again and it is giving me "Device not supported" in the Nordic Device manager app when I choose to do the update. 

I must be doing something different, but don't know what it could be. 

Here are the steps I took:

- Wiped out the folder where I was putting the ncs-inter git clone, and re-cloned it.

- Selected the l8_e3 exercise in the v2.6.2-v2.5.2 folder.

- Created a build config for my nrf52840dk using the nrf52840dk_nrf52840 board

- Modified the prj.conf file to include:

CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
- Built and flashed the firmware to the board
- Added an extra printk() line to modify the file and create a visible change and build the project.
- copied the app_update.bin to my phone and attempted to do the update, and I get:
Greatly appreciate any clues on how to get this working. 
  • Environment info:

    Using VSCode with NRF Connect on Windows, and I have both 2.6.1 and 2.8.0 toolkits installed.

  • Hi,

    Was the device already paired/bonded, or were you prompted to pair when initiating the DFU? Either way, please try to remove the pairing for this device from Bluetooth settings on your phone and try again to see if you get the same error.

  • It was indeed bonded and when I deleted the bond the update worked.

    After that, I found another issue where I was looking at an old image when the app booted. It turned out that there is some sort of caching in the filesystem (don't know if it's in the Nordic app, or in the FS itself), where I would see the updated file and modified date, but the firmware bin was not updated when it was sent to the board. I then renamed the file on the PC when I transferred it to Dropbox, and then looked it up. That caused the latest update to be transmitted.

    Thanks for the input regarding the bonding. Does this mean that any users of our board will have to re-pair any time they do a firmware update, or is there a way to maintain that?

  • I have not had to rename the firmware binary file to avoid caching of the old file. If you experience this issue again, please let me know so I can try to reproduce it on my end. 

    robbsadler said:
    Thanks for the input regarding the bonding. Does this mean that any users of our board will have to re-pair any time they do a firmware update, or is there a way to maintain that?

    No, normally you should be able to use the existing bond. I'm unsure what happened in this case, but it seems like something caused the bond stored on the nrf to be erased. This can happen if you do a chiperase when loading the FW your debugger.

Related