Firmware Update Service
Device Type Requirements
The Firmware Update Service can be used to manage the firmware of your KPN Things M2M devices. Before you can use this service, your device types must be configured by a KPN support employee.
Your device type may consist of multiple modules, for which the firmware can be managed in the Firmware Update Service seperately. The names of the modules must correspond with SenML attributes reported by the devices of this type. The SenML attribute values indicate the current versions of the firmware for each of the modules.
Device Requirements
It is required that your devices are configured in a flow, with a decoder and encoder enabled, so the uplink messages from your device will be forwarded to the Firmware Update Service and the downlink SenML messages coming from the Firmware Update Service can be forwarded to your devices.
Firmware Update Process
The firmware update process is depicted below, and consists of the steps described in following sections.

1 - Uploading and activation of firmware
Via the Things Portal, you can create firmware packages for the modules of your device type. A firmware package has a version that corresponds to the SenML attribute value reported by the device when this firmware package is activated. A firmware file must be uploaded before the package can be activated on devices. Release notes can optionally be added for your convenience.
Using the portal, you can select a group of devices, and configure the target firmware for one or more modules for your selection of devices. This initiates the firmware update process.
2 - Send downlink to devices
The firmware service monitors the reported firmware version for each of the modules and if the target firmware version differs from the reported version, the service sends a downlink to your device. The downlink has the SenML format and contains the URL indicating where the new firmware can be downloaded, and a Bearer token, that is required for the download:
The downlink messages will be delivered to the device in the response of an uplink message.
The firmware update service will periodically send new downlinks if the update process takes more time than expected by the service. The devices must be able to process those downlinks correctly.
3 - Download new firmware
Upon receipt of the downlink with the firmware update information, the device shall download the firmware from the specified location using the provided token. HTTP Range may be used to download the firmware in multiple smaller parts.
After downloading the file, the CRC32 in the Digest HTTP response header can be used by the device to confirm successful file(-part) transfer.
4 - Apply new firmware
After downloading the firmware, the device will activate the new firmware.
5 - Report new firmware version
The device with the new firmware will now send new uplinks that contain the updated version information in the SenML. The firmware update service that receives the uplink message will update the current firmware version for the device that completes the firmware update process.
Limitations
max firmware file size
100MiB
max number of download attempts
19999
The complete file must be downloaded using max 19999 HTTP requests, or the file may be downloaded up to 19999 times using one request.
token validity
48h
The period the firmware can be downloaded by the device using the provided token. A new token will be provided by the service, if needed, in a new downlink message.
Last updated
Was this helpful?
