Firmware Update¶
Industrial Edge and its components on the Edge Device provides the ability to update functions of the Edge Device in means of updating Edge Apps. To be able to update the functionalities themselves, you must use the firmware update mechanism.
Edge Device Builders can build their own firmwares and by using the provided functionalities from Industrial Edge, this firmware can be published, synchronized to a local IEM and updated onto an Edge Device.
In this section, you will find details about this process. How to build and publish your own firmware and what to do on the Edge Device side to apply the firmware.
What is the Firmware?¶
The firmware of an Edge Device is the combination of the operating system and some pre-installed apps on top of it.
The firmware of Industrial Edge Devices (IED) is based on Mentor's Industrial OS. On top of it, the Industrial Edge Runtime and the Industrial Edge Device Kit is running.
Firmware Update Lifecycle¶
The firmware update process consists of the following steps:
-
Build
Build your firmware and prepare the update artifact. -
Upload and Publish
Upload and publish your firmware on the IE Hub. -
Sync to IEM
Sync the published firmwares with your local IEM. -
Trigger Firmware Update
Trigger the firmware update operation for an Edge Device through the IEM UI. -
Download to the Edge Device
The Edge Device downloads the update artifact onto itself from the IEM. -
Apply the update and report the result
Apply the firmware update on the Edge Device, check it's validity and report the result.
Step 1: Build¶
The Edge Device firmware gets build by collecting the operating system, Edge Device specific drivers, the Industrial Edge Device Kit and their own additional apps. Edge Device Builders prepare their own firmware.
As result, an updatable artifact, for example a *.swu
file, is produced. This artifact should be known by the update mechanism on the Edge Device. For example if SWUpdate tool is used on the Edge Device to apply the update, this artifact must be a *.swu
file - which essentially is a cpio
archive in which metadata alongside the actual update data is packed.
The produced artifact should be validated by the Edge Device Builder before making it publicly available.
NOTICE
Contact the Industrial Edge team to get detailed information about the offerings provided to the Edge Device Builders for this step.
Step 2: Upload and Publish¶
The firmware gets uploaded to cloud and marked as available.
After the firmware gets build and verified, the firmware is ready to be published on the cloud. Publishing the firmware is necessary to make it available for usage. Otherwise your firmware will not be syncable with your IEM.
To publish a firmware on the IE Hub, contact the IE Ecosystem manager.
The system allows to add firmware release notes during or after publication, including previously added firmwares.
To add a release note, the designated Release Note Template should be completed and submitted.
Step 3: Sync to IEM¶
After the firmware is uploaded and published on the IE Hub, the firmware is now ready to be synced with the local IEM.
Using the Sycnhronize Firmware screen in the Management UI, you can synchronize the available firmware artifacts with your local IEM instance. The synchronization operation downloads the firmware artifact, for example the *.swu
file, along with its meta data, such as OSS disclaimer links and its publication date:
NOTICE
For details refer to the Industrial Edge Management - Operation manual.
Step 4: Trigger Firmware Update¶
The firmware has been published to the IE Hub and then synchronized with your local IEM instance. Now the firmware is ready to be used to update connected Edge Devices' firmware.
To be able to update an Edge Device firmware, the version of the installed firmware on the Edge Device must be lower than the version of the latest published firmware. The publication date is the date the firmware was published on the IE Hub.
By using the Firmware Update screen in the IEM, you can select a desired Edge Device and trigger the firmware update process to be run on the Edge Device:
NOTICE
For details refer to the Industrial Edge Management - Operation manual.
This user action creates a Firmware Update job in the background. This job should be received by the Edge Device by calling APIs of the Firmware Deployment
service that is running on the IEM.
Step 5: Download to the Edge Device¶
The created job in the IEM should be received by the Edge Device and should be applied. An agent compatible with the IEM backend service is required on the Edge Device for this task.
This agent, that is running on the Edge Device, should periodically call firmware deployment service APIs to get the job, the artifact and its meta data, such as its status.
You can use the already compatible version of the SWUpdate tool as the agent on the Edge Device.
This version's suricatta mode provides a mechanism to query some backend services. This includes:
- Get update files
- Download and apply the update
- Restart the Edge Device
- Report the status of the update job back to the backend
With its extendable Lua script modules, it can be adapted to the backend APIs and formats.
The suricatta LUA module is already compatible with the Industrial Edge firmware deployment service and can be used directly.
NOTICE
For more information, refer to the documentation of the SWUpdate tool in gitlab.
Step 6: Apply the Update and report the Result¶
The above mentioned version of the SWUpdate tool already handles applying the update with your provided firmware update artifact (a *.swu
file for SWUpdate cases) and with the instructions in its LUA module it reports the result back to the backend.
If you want to use your own firmware update agent on your Edge Device, you should handle this operation with your agent and after finishing and validating the update, your agent should report the result to the firmware deployment backend service on the IEM to finalize the update operation.
The firmware deployment service API needs to be called to perform the status reporting operations.
After successfully marking the firmware update operation, you should see the Up to date message for your Edge Device as shown in the figure above.
Edge Device Services¶
SWUpdate¶
The SWUpdate framework is Open Source Software (OSS) and provides general software update functionality. You can find detail info this link.