7 years, 7 months ago.

Remote firmware updating OTA from MTS Dragonfly?

Are there any examples for firmware update OTA from Dragonfly over cellular?

Question relating to:

The MultiConnect® Dragonfly offers developers an FCC and carrier certified solution that makes connecting sensors and other edge-of-network devices quick and easy.

1 Answer

7 years, 7 months ago.

Amod,

Our wiki page about this should be helpful.

https://developer.mbed.org/teams/MultiTech/wiki/updating-firmware-using-MTS-bootloader#updating-firmware-from-user-applications

Cheers,

Mike

Accepted Answer

Thank you for the reply, any more documentation or examples besides this?

posted by Amod Amatya 26 Apr 2017

We don't have any complete examples, because that would require hosting actual new firmware somewhere. Is there a specific part of the process you're having trouble with?

-Mike

posted by Mike Fiore 26 Apr 2017

Sorry for the late reply, I went through the above documentation, my question is what actually is the user application? Can we upgrade firmware bin file which is downloaded using HTTP?

posted by Amod Amatya 12 May 2017

The user application is whatever application you write to run on the Dragonfly. Where the new firmware is located and how it is downloaded must be known by the application and is outside the scope of the bootloader.

Your application must connect to where the new firmware is hosted, download it, put it into the filesystem with the proper name, and reset. The bootloader will take care of the rest.

posted by Mike Fiore 12 May 2017

Thanks Mike,

I am able to fetch the bin file and put it into the file system with the proper file name, but when i reset the system, I get error the following error:

  • [ERROR] validate_firmware: lseek failed
  • [ERROR] update_firmware: Failed to validate new firmware

I have also attached screenshot of the another error I faced

/media/uploads/Amod/1.png

posted by Amod Amatya 15 May 2017

Amod,

Did you build your new firmware using mbed-cli or the online compiler? Those tools append a CRC to the firmware so the bootloader can validate it before flashing. According to the log you posted, the CRC check failed, which means the FW was corrupted or you built it using a tool that didn't append the CRC like the mbed tools do.

-Mike

posted by Mike Fiore 15 May 2017

Hi Mike,

Thanks for your help. We successfully flashed new firmware remotely. The problem was in writing the downloaded bin file to the flash which we managed to solve.

-Amod

posted by Amod Amatya 16 May 2017