In contrast to earlier MCU chips supported by Wirepas Stack and SDK, the nRF91XX series has a separate modem firmwareGenerally, a device is flashed with newest modem firmware in factory programming, but any later releases are most likely updated over the air. Therefore, the modem firmware update has to be supported also by the Wirepas OTAP functionality. This document presents different scenarios of modem firmware update by OTAP that will be supported by Wirepas 5G Mesh Product.

Modem Firmware types and version numbering

Each available modem firmware release contains a full DFU image for updating the modem firmware and optionally a delta DFU image (or multiple delta DFU images) which is smaller size. The release numbering follows a semantic versioning scheme shown in left-hand side of the below figure.

The main principles of semantic version numbering are

  • Major and minor versions (digits x and y incremented)

    • There are new features included in the modem firmware release

    • Only full DFU image of the modem firmware is provided (no delta image)

    • Also software library (libmodem) is updated due to possible modem API changes

  • Patch versions (digit z incremented)

    • For releases containing bugfixes

    • Both full DFU image and delta DFU image are provided

    • In case several bugfix releases are made sequentially, multiple delta images, may be included

It is not well known in advance which versions will be released in future but the right-hand side of below figure presents a possible release numbering that future releases may follow.

 

The full DFU image can be flashed to the device always. Delta DFU image must be flashed on top of an existing modem version that specified by the delta DFU image numbering, e.g. delta DFU image 1.0.0 -> 1.0.1 means that it must be applied on modem version 1.0.0 and after the update the modem firmware version is 1.0.1. It makes no difference if the firmware existing on the device is updated using full or delta DFU images. Hence, it is possible that a modem firmware on a device is updated using following sequence from the example release history shown in Figure above:

  • Device is initially flashed with full DFU image 1.0.0 (from release 1.0.0)

  • After release of version 1.0.1 the device is updated using delta DFU image 1.0.0 -> 1.0.1

  • After release of version 1.0.2 the device is updated using delta DFU image 1.0.1 -> 1.0.2

In practice

The scratchpad image generation is done as part of the application build. Normally, the application build generates following three scratchpad images

  • WM Stack only (wpc_stack.otap)

  • Application only (<app_name>.otap)

  • WM Stack and Application (<app_name>_wpc_stack.otap)

In case of 5G Mesh application build the Modem FW can also be appended into the scratchpad image file. This results into a couple of more scratchpad image (.otap) files that will be generated in a default application build. 

A scratchpad image can contain only one Modem FW image, either Full DFU or Delta DFU image.

The modem firmware used for generating the scratchpad is provided as an argument to the application build make command. The argument format is modem_fw=<filename>, where <filename> is a path to a .cbor or .bin file. Scratchpad generation determines the used area ID type based on the file extension. There are two additional scratchpad image files generated by default in all app builds:

  • WM Stack and Modem FW (wpc_stack_modem_fw.otap)

  • Application, WM Stack and Modem FW (<app_name>_wpc_stack_modem_fw.otap)

Legal Notice

Use of this document is strictly subject to Wirepas’ Terms of Use and Legal Notice.

Copyright © 2024 Wirepas Oy