1. The need for FUOTA
As LoRaWAN® networks continue to expand, managing the performance and security of devices becomes an increasingly pressing concern. Addressing the vulnerabilities associated with LoRaWAN devices has heightened the demand for a dependable, secure firmware update mechanism that is also adaptable for constrained devices. Firmware Update Over-the-Air (FUOTA) is a set of specifications that fulfills these requirements. FUOTA facilitates remote device management irrespective of its location, bypassing the need for expensive and time-consuming site visits. It updates firmware of LoRaWAN devices, enhancing their functionality, resolving bugs, and safeguarding them against potential threats. It also updates configuration settings and introduces new features. In this article we explore FUOTA’s inner workings, highlight how OrbiWise brings this technology to the forefront, and explain its significance as a game-changer for managing LoRaWAN devices.
2. Unlock FUOTA’s Full Potential with OrbiWise
Both OrbiWise’s OrbiWAN LNS and the Sampols Noise App solution incorporate an advanced FUOTA protocol engine paired with a user-friendly graphical interface. This combination enables robust, efficient, and intuitive management of device firmware updates, leveraging a campaign-based approach to facilitate simultaneous upgrading or downgrading of multiple firmware versions.
The unique design of OrbiWise’s FUOTA solutionaccommodates devices from various LoRaWAN regions or those utilizing different LoRaWAN parameters by grouping them into dedicated update sessions. This innovative setup significantly enhances FUOTA campaign execution by ensuring optimal compatibility within each session, expediting the update process.
Furthermore, OrbiWise’s FUOTA protocol engine strictly adheres to the latest LoRa Alliance® specifications, including TS003 – Application Layer Clock Synchronization v2.0.0, TS004 – Fragmented Data Block Transport v2.0.0, TS005 – Remote Multicast Setup v2.0.0, TS006 – Firmware Management Protocol v1.0.0, and TS007 – Multi-Package Access Protocol v1.0.0. This compliance underscores OrbiWise’s unwavering commitment to maintaining quality and efficiency in its solutions.
The protocol engine is also equipped with sophisticated features for enhanced FUOTA campaign management. Thanks to state-of-the-art features and strict compliance with leading specifications, OrbiWise reaffirms its position as a pioneer in FUOTA. Here’s why:
- It supports sending firmware fragments over both unicast (class A) and multicast (class B, and C) for device updates.
- It enables the effortless creation of FUOTA campaigns by automatically retrieving the most recent update patch for a group of devices.
- It guarantees secure firmware updates by delivering only officially approved versions to compatible devices.
- These firmware packages are bundled with a manifest compliant with RFC 9124, a regulation that outlines the information model for firmware updates in Internet of Things (IoT) devices. This approach ensures secure and reliable delivery of updates to each compatible device.
- It efficiently programs devices via unicast transmissions based on the devices’ transmission intervals.
- It automates the scheduling of multiple multicast sessions for delivering large firmware images.
- It provides advanced settings to fine-tune firmware delivery over multicast sessions, thereby preventing network overload.
- It offers advanced logging on the Protocol Engine – APP interface for monitoring FUOTA campaigns and the status of devices set to be updated.
3. Case Study: Streamlining Noise Sensor Updates with FUOTA
Let’s take a look at a real-world case study that demonstrates the practical application and tangible benefits of FUOTA technology in the context of noise sensor updates.
By focusing on the specific steps involved in updating a batch of noise sensors using the OrbiWise solution, we will demonstrate how this innovative technology has revolutionized the update process, leading to improved efficiency, reduced operational costs, and enhanced device management.
- The first step is to check the latest firmware update available for your devices. OrbiWise’s FUOTA protocol engine simplifies this task for you as it automatically identifies the most recent firmware version for each device. This automation saves valuable time and effort, eliminating the need for manual checks and ensuring that your devices are always up-to-date with the latest firmware.
2. After identifying the latest firmware update, the next step is to select the devices that are receptive to the update. By simply clicking the Update button, the system automatically identifies and selects all devices compatible with the new firmware. This intelligent feature ensures that every eligible device can benefit from the enhancements and improvements brought by the latest firmware. By eliminating the need for manual selection, this functionality saves time and ensures a comprehensive update coverage across your entire device fleet.
3. To initiate the firmware update campaign you’d like to run, the next step is to provide a unique name for that campaign. Additionally, you have the option to include a description that provides further details about the campaign. This description can include relevant information such as the devices being updated, or the specific firmware version. By using this feature, you can maintain organized and well-documented records of each firmware update campaign for future reference and tracking.
4. Once your campaign details are set, you can specify the desired start time of your update. The system will suggest a recommended start time based on the technical requirements of the FUOTA process. This recommendation ensures that all necessary FUOTA applicative commands be sent to each device via unicast downlinks before the multicast phase begins. If needed, you have the option to select a different start time that aligns with your specific needs and considerations.
5. During the multicast phase, the system fragments the firmware update file and sends it to multiple devices simultaneously via multicast downlinks by default. Alternatively, you can choose to enforce the delivery of the fragmented file via unicast downlinks (class A). In this case, each fragment will be sent individually to each device once the fragmentation session parameters are properly communicated. It’s important to note that using unicast downlinks for large firmware updates at low data rates may extend the update process up to a few weeks. This is due to the individual delivery of each fragment to each device, which requires additional time compared to the multicast method.
6. After ensuring that all campaign details are accurate, you can proceed to initiate the campaign by clicking on the Start Campaign button. This action will activate the FUOTA campaign, and launch the distribution of firmware updates based on the specified schedule and settings. Throughout the campaign, you can monitor the progress of ongoing and completed firmware update campaigns, providing you with real-time visibility on the status of each update.
To fully comprehend the functioning of a FUOTA campaign, we distinguish four essential parts:
- Device Information Retrieval and Session Consolidation: The FUOTA server retrieves device information transparently from the LoRaWAN network servers, ensuring up-to-date data for the campaign. It then automatically consolidates diverse devices into optimized FUOTA sessions or groups to enhance the efficiency of the FUOTA process. Clicking on the Groups Session button gives you a comprehensive overview of the FUOTA sessions. You can access detailed information about each session, including parameters like multicast type, RX2 data rate, fragment size, number of fragments, and the list of devices associated with each session.
- Unicast Command Programming: These are specific commands sent to individual devices in a unicast fashion. They are used to retrieve the protocol versions being used, share multicast and fragmentation session parameters, and ensure device readiness for the upcoming multicast session by synchronizing them for the multicast time.
- Sending Fragments: In a multicast approach, the firmware update is transmitted as fragments to multiple devices simultaneously. This fragmentation technique enables the large firmware update file to be divided into manageable chunks that can be efficiently sent over the network without causing overload. To enhance the reliability of the firmware update, redundancy fragments may be sent when necessary. Redundancy fragments provide an additional layer of assurance, increasing the likelihood that as many devices as possible receive the complete set of fragments. Receiving devices then reassemble these fragments to apply the firmware update. Please note that scenarios in which large firmware images need to be delivered to devices, the server will automatically schedule multiple multicast sessions. This is necessary because the maximum duration of a multicast session, scheduled using commands from the Remote Multicast Setup Specification authored by the FUOTA Working Group of the LoRa Alliance, is limited to 2^15 seconds, which equals approximately 9.1 hours. By automatically scheduling multiple multicast sessions, the server ensures efficient and successful delivery of firmware updates to devices, even when the update process exceeds the maximum duration of a single multicast session.
- Device Reboot and Firmware Version Verification: Once the firmware fragments have been reassembled and applied to the devices, the server initiates a device reset to ensure the new firmware takes effect. After the reset, the server communicates with the devices to verify the current firmware version. This post-update check confirms whether the update was successful and ensures that the device is operating with the correct firmware version.
Regarding steps 2, 3, and 4, users have the ability to check the status of devices associated with each FUOTA session (group) at any time. This allows users to monitor and track the progress of the devices during the unicast command programming, fragment transmission, device reboot, and firmware version verification phases:
In the example above, the device received the required configuration commands during the unicast programming phase. Once the designated time arrived, the FUOTA server started broadcasting fragments to the devices in the multicast group. This particular device confirmed reception of the data block after receiving four redundancy fragments and transitioned to Class A for energy conservation. Subsequently, the FUOTA server programmed a hardware reboot and verified that the device was running the target version as intended after the reboot.
The FUOTA specification, implemented in OrbiWise’s solutions, revolutionizes the process of managing and updating LoRaWAN devices. Thanks to its robust protocol engine, user-friendly interface, and adherence to industry-leading specifications, FUOTA empowers organisations and enterprises to efficiently and securely update their device firmware.
Through the case study highlighted in this article, we have witnessed the practical application and tangible benefits of FUOTA in the context of LoRaWAN noise sensor updates. In OrbiWise’s solutions such as OrbiWAN and the Sampols NoiseApp this translates into optimization of our customer’s processes, automated firmware checks, device selection, campaign management. Customers can significantly enhance operational efficiency, reduce costs, and improve overall device management.
If you are interested in unlocking the full potential of FUOTA for your organization, we encourage you to reach out to us for further details or to schedule a demo.
Wait no longer and embark on a new era of seamless and efficient device firmware management.