Projects / Reliable firmware update over low speed network links

Design and implementation of an efficient firmware update mechanism

Background

Roxar, a subsidiary of Emerson, operates in the Oil & Gas industry through the provision of metering, monitoring and management solutions for reservoirs.

After the success of prior projects together, Roxar got in touch with us to build an efficient firmware update mechanism for their latest products.

As part of the development of their next generation of connected products, Roxar needed to develop a robust on-the-field firmware update solution. With devices mainly deployed in remote environments, constraints of network speed quickly became the primary topic of conversation with regard to this project.

It became clear that protocol efficiency and working around data redundancy and network unreliability through tailored update algorithms were the core challenges that distinguished this from the development of a regular firmware update mechanism.

Challenges

  1. Low bandwidth network (as low as 1200 bauds)
  2. Challenging networks
  3. Relatively large firmware size (about 40 MiB)

Technologies

  • u-boot
  • Linux
  • Yocto
  • C++
  • fuse
  • libarchive
  • Content Defined Chunking
  • Modbus
  • ext4
  • squashfs