{% extends "base.html.twig" %} {% block title %}How to manage Firmware{% endblock %} {% block body %}

How to manage Firmware


Firmware availability and approval

Every device connected to DWARFG_LONG is running an Operating System. The bigger devices (Server, Desktop) are usually running quite big systems (Linux, *BSD, MacOS, Windows) but the smaller devices are running a more compact OS, called Firmware. DWARFG_LONG is able (for supported device types) to track what version of Firmware (or OS) is the device using and under some conditions and for some device types also make the device reflash its Firmware to a different Firmware version.

Firmware and OS table lists all versions actually known to the server. There are a few firmware versions recognized automatically once the server is deployed. Whenever any new device registers with unknown firmware/OS version, it causes creation of a new entry in this table. The following will describe Firmware management functionality, which is currently supported for Advantech routers running ICR OS and Teltonika routers running RUTOS.

Once the new firmware version is created in the table, the version is set as not available. That means that while the DWARFG_LONG knows about that version, it does not have the FW files in storage so you cannot flash any device to that particular version.

There are two ways how are the firmware files inserted into the system:

  • Automatic download of the firmware files from the router manufacturer into the server. This process is supported for Advantech routers - whenever a FW version is created (or find unavailable after server startup), the FW file download script is executed.
  • Manual firmware file upload. This is possible for any of the supported device types that support firmware management in DWARFG_LONG.

The firmware availability switches to Yes when:

  • For automatic FW download - when download successfully finishes.
  • For manual FW file upload - when at least one firmware file is uploaded.

Once firmware becomes available, it needs to be approved before you can push it to a device. Note that a firmware must be both available and approved to be selectable for flashing into a divece of appropriate type.

Adding new firmware version manually

In case none of your devices uses a particular FW version that is already available for download at manufacturer's site, you can add the firmware verison manually. Just click the Add Firmware button, select OS type and enter correct OS Version. If it is the Advantech firmware version, just wait for the files to be downloaded automatically. You will see the events noting the start and end of firmware download among other Event Log messages. Once the automatic firmware download process finishes (or immediately when the device type is other than Advantech), you can manually upload missing files - e.g. those that are available only after manually providing credentials that the DWARFG_LONG does not have available.

Assigning FW version to a device and flashing FW

There are two ways to assign firmware version to a device:

  • Using Device Details - when you open Device Details, look into Firmware version section. You can choose any of the approved and available firmware versions using the selectbox and confirming by Set version button.
    • NOTE that this FW selection section appears in Device Details only when there is at least one selectable FW version and for supported device types only. In other words, if you do not have any selectable FW version for the device which Details you are viewing, the section will not appear.
  • Using Mass action on the Devices table - On Devices table, select the devices you want to assign the FW version to. Once selected, click on Assign Fw Version button below the table, select the desired version and confirm.

The assignment action sets the desired version for the device. Once the agent sends data update, it will get the FW flash command as part of the response, download the FW file and perform the reflash (and reboot).

NOTE that the desired FW version stays set and thus, the FW version will be tracked. Whenever the device FW version starts diverting from the desired version (e.g. a manuall flash via device web interface to a different FW version is performed), it will get FW flash command on the next data update.

{% endblock body %}