Firmware


This page describes how to upgrade the device firmware.

Firmware versioning & naming

The device firmware versioning is inspired by the semantic versioning system.

Each firmware is assigned three two digit numbers: MAJOR, MINOR, PATCH:

  • MAJOR: Incompatible changes (e.g. requires changes to the Configuration File)
  • MINOR: New backwards-compatible functionality (e.g. new fields in the Configuration File)
  • PATCH: Backwards-compatible bug fixes (e.g. no changes to the Configuration File)

The firmware files available for download are zipped with naming as follows:

firmware-[MAJOR].[MINOR].[PATCH].zip

Example:

firmware-01.02.03.zip


Firmware upgrade

The device supports in-the-field firmware upgrades.

Note

The firmware upgrade process is power safe (tolerates power failures). However, it is recommended to ensure that the process completes

Upgrade process

Upgrading initiates when the device is powered and has been prepared with a new Firmware File:

  1. Power is applied to device
  2. The green LED comes on
  3. If the firmware is valid, the green LED blinks 5 times, else the red LED blinks 5 times
  4. The green LED remains solid while the firmware is upgraded (~20 sec)
  5. If the upgrade succeeds, the green LED blinks 5 times, else the red LED blinks 5 times
  6. The upgraded firmware is started

Note

The green LED comes on later than usual when a firmware upgrade is initiated

Note

The device automatically removes any Firmware Files (firmware.bin or firmware_wifi.bin) when the upgrade has completed. Firmware Files should never be manually deleted during the upgrade process.

Note

The CANedge2 upgrades the WiFi related features as a second step of the firmware upgrade process after the main firmware has started. Allow the CANedge2 a few minutes to complete the second step of the firmware upgrade. If power is lost during the second step, the device will resume next time it powers on.

Configuration update

If a device is updated to a firmware version with a different MAJOR or MINOR number, then the Configuration File also needs updating (i.e. with an updated name and structure matching the new firmware). The Configuration File is named as described in the Configuration section. A default Configuration File and corresponding Rule Schema are contained in the firmware download zip.

To modify an existing Configuration File, it can be useful to load the new Rule Schema in an editor together with the old Configuration File. After making the necessary updates, save the modified Configuration File with a name matching the new version.

Note

The firmware can be upgraded without providing a new compatible Configuration File. In this case, the device will create a default Configuration File on the SD card

Upgrade from SD card

The firmware can be upgraded by placing a Firmware File on the SD and powering the device:

  1. Download the firmware zip (Firmware File + Configuration File + Rule Schema)
  2. Place the firmware.bin file on the SD card (root directory)
  3. If MAJOR/MINOR is different, update the Configuration File and place it on the SD card root
  4. Power on the device and wait for the upgrade process to complete

Note

An incompatible firmware image is deleted and does not break the device

Example: Current firmware: 01.01.01, new firmware: 01.01.02

  1. Download firmware-01.01.02.zip and unzip it
  2. Copy firmware.bin to the SD card
  3. The MAJOR and MINOR versions are unchanged (no need to update the Configuration File)
  4. Power on the device and wait for the upgrade process to complete

Example: Current firmware: 01.01.00, new firmware: 01.02.00

  1. Download firmware-01.02.00.zip and unzip it
  2. Copy firmware.bin to the SD card
  3. Update the Configuration File (or use the default created by the firmware update)
  4. Power on the device and wait for the upgrade process to complete

Upgrade over-the-air

See the remote access section