Firmware Upgrade

Firmware upgrades are essential to ensure optimal performance, bug fixes, security patches, and support for new features on all hardware.

This chapter explains how to upgrade the firmware of the different hardware components available in OSDx devices, detailing the necessary steps, precautions, and best practices to avoid errors.

Quectel LTE and 5G modules

For OSDx devices with Quectel cellular modules installed, OSDx offers an operational command that allows the firmware of these modules to be upgraded.

Requirements and precautions

Upgrading the firmware of Quectel cellular modules requires the use of operational command controllers cellular <value> upgrade-firmware <file>, only available from OSDx versions 4.2.4.3 and 4.2.5.0 onwards.

Furthermore, it is extremely important that the file containing the firmware to be upgraded has been provided by the manufacturer itself or by a trusted source (since the firmware file must be compatible with both the hardware model and the firmware version currently installed on it).

Steps in the Upgrade Process

In this section, we will explain all the steps required to upgrade the firmware of Quectel cellular modules. By way of example, we will take the upgrading of the EC25E model from firmware version EC25EFAR06A01M4G_TEL_01.200.01.200 to version EC25EFAR06A01M4G_TEL_01.300.01.300 (as provided by Quectel).

Step 1: Check the model and the firmware version currently installed on the cellular module using operational command controllers cellular <value> show device-info.

admin@osdx$ controllers cellular wwan0 show device-info
Module Manufacturer          = Quectel
Module Model                 = EC25E
Module Firmware              = EC25EFAR06A01M4G_TEL
Hardware Revision            = 10000
Modem/App Firmware           = EC25EFAR06A01M4G_TEL_01.200.01.200
IMEI                         = 866308062070222
Radio Interfaces             = gsm, umts, lte
Data Service Capability      = non-simultaneous-cs-ps
Maximum TX/RX rate supported = 50000/100000 Kbps

Step 2: Load the file containing the firmware upgrade onto the OSDx device. We recommend performing this process through a wired network connection to the OSDx device and using SCP to copy the file from an external system.

$ scp -O ./EC25EFAR06A01M4G_TEL_01.300.01.300.tar.xz admin@192.168.1.1:
admin@192.168.1.1's password:
EC25EFAR06A01M4G_TEL_01.300.01.300.tar.xz         100%   71MB  15.5MB/s   00:04

Step 3: Locate the file containing the firmware and unzip it. To do this, use the file uncompress <file> operational command. The process may take several seconds to complete and, when it’s finished, a folder containing all the files needed for the firmware upgrade process will appear.

admin@osdx$ file show running://
-------------------------------------------------------------------------------------------------------
                    Name                                   Type                Size     Last modified
-------------------------------------------------------------------------------------------------------
  EC25EFAR06A01M4G_TEL_01.300.01.300.tar.xz  application/x-xz                  72MB   2026 Jul 15 08:41
  auth/                                      directory                         12KB   2024 Jun 6
  config.boot                                regular file, no read permission  940B   2025 Mar 12
  coredump/                                  directory                         1.0KB  2026 Jul 15 08:12
  kerneldump/                                directory                         1.0KB  2025 Mar 9
  log/                                       directory                         11KB   2026 Jul 15 08:08
  qlog/                                      directory                         4.4KB  2024 Oct 12
  save-hist/                                 directory                         1.0KB  2019 Feb 14
  scripts/                                   directory                         1.0KB  2023 Jun 27
  support/                                   directory                         1.0KB  2023 Jun 27
  tcn-publisher/                             directory                         8.7KB  2026 Jul 15 08:07
  user-data/                                 directory                         1.0KB  2024 Oct 12
admin@osdx$ file uncompress running://EC25EFAR06A01M4G_TEL_01.300.01.300.tar.xz
admin@osdx$ file show running://
-------------------------------------------------------------------------------------------------------
                    Name                                   Type                Size     Last modified
-------------------------------------------------------------------------------------------------------
  EC25EFAR06A01M4G_TEL_01.300.01.300.tar.xz  application/x-xz                  72MB   2026 Jul 15 08:41
  EC25EFAR06A01M4G_TEL_01.300.01.300/        directory                         111MB  2025 Jul 22
  auth/                                      directory                         12KB   2024 Jun 6
  config.boot                                regular file, no read permission  940B   2025 Mar 12
  coredump/                                  directory                         1.0KB  2026 Jul 15 08:12
  kerneldump/                                directory                         1.0KB  2025 Mar 9
  log/                                       directory                         11KB   2026 Jul 15 08:08
  qlog/                                      directory                         4.4KB  2024 Oct 12
  save-hist/                                 directory                         1.0KB  2019 Feb 14
  scripts/                                   directory                         1.0KB  2023 Jun 27
  support/                                   directory                         1.0KB  2023 Jun 27
  tcn-publisher/                             directory                         8.7KB  2026 Jul 15 08:07
  user-data/                                 directory                         1.0KB  2024 Oct 12

Step 4: Run the firmware upgrade process. To do this, use the controllers cellular <value> upgrade-firmware <file> operational command. The module is prepared, the firmware is flashed and the module is then automatically restarted and reconfigured. Only the main milestones are shown on screen (the full output of the flashing tool is saved to the system log). This process may take a while and, when it is finished, the command verifies that the installed firmware matches the one just flashed and message Firmware upgrade of cellular module wwan0 completed successfully should appear if the firmware has been duly upgraded.

admin@osdx$ controllers cellular wwan0 upgrade-firmware running://EC25EFAR06A01M4G_TEL_01.300.01.300
[000.069] Preparing cellular module wwan0 for the firmware upgrade...
[005.458] Waiting for cellular module wwan0 to be ready...
[005.494] Cellular module wwan0 is ready.
[005.503] Upgrading firmware of cellular module wwan0...
[007.007] -- Totals checking 17 files md5 value, 0 file fail!
[008.009] -- switch to 'Emergency download mode'
[008.018] -- successful, wait module reboot
[009.088] -- Sahara protocol completed
[017.627] -- upgrade progress 0% 16384/225479672
[017.723] -- upgrade progress 0% 568028/225479672
[017.757] -- upgrade progress 0% 726684/225479672
[017.827] -- upgrade progress 0% 1133888/225479672
[018.755] -- upgrade progress 3% 7030080/225479672
[019.684] -- upgrade progress 5% 12926272/225479672
[021.372] -- upgrade progress 10% 23674176/225479672
[027.941] -- upgrade progress 29% 65617216/225479672
[029.630] -- upgrade progress 33% 76365120/225479672
[036.207] -- upgrade progress 52% 118308160/225479672
[044.587] -- upgrade progress 76% 171785536/225479672
[052.962] -- upgrade progress 99% 225262912/225479672
[053.003] -- upgrade progress 100% 225479672/225479672
[054.013] -- THE TOTAL DOWNLOAD TIME IS 44.987 s
[054.021] -- Upgrade module successfully.
[054.032] Firmware of cellular module wwan0 flashed successfully.
[054.040] Waiting for cellular module wwan0 to reset...
[080.149] Reconfiguring cellular module wwan0...
[093.655] Cellular module wwan0 reconfigured.
[093.740] Firmware version verified: cellular module wwan0 reports 'EC25EFAR06A01M4G_TEL_01.300.01.300'.
[093.748] Firmware upgrade of cellular module wwan0 completed successfully.

Step 5: Delete all files used for the upgrade from the OSDx device. To do this, use the file delete <file> operational command. In this case, both the compressed file and the folder generated when it was decompressed must be deleted.

admin@osdx$ file delete running://EC25EFAR06A01M4G_TEL_01.300.01.300.tar.xz
Do you want to delete the file? (y/n): y
admin@osdx$ file delete running://EC25EFAR06A01M4G_TEL_01.300.01.300
Do you want to delete the directory? (y/n): y
admin@osdx$ file show running://
----------------------------------------------------------------------------
       Name                     Type                Size     Last modified
----------------------------------------------------------------------------
  auth/           directory                         12KB   2024 Jun 6
  config.boot     regular file, no read permission  940B   2025 Mar 12
  coredump/       directory                         1.0KB  2026 Jul 15 08:12
  kerneldump/     directory                         1.0KB  2025 Mar 9
  log/            directory                         11KB   2026 Jul 15 08:08
  qlog/           directory                         4.4KB  2024 Oct 12
  save-hist/      directory                         1.0KB  2019 Feb 14
  scripts/        directory                         1.0KB  2023 Jun 27
  support/        directory                         1.0KB  2023 Jun 27
  tcn-publisher/  directory                         8.7KB  2026 Jul 15 08:07
  user-data/      directory                         1.0KB  2024 Oct 12

Step 6: The firmware upgrade process already verifies the installed version automatically in Step 4, but you may additionally confirm it manually by checking the firmware version currently installed on the cellular module.

admin@osdx$ controllers cellular wwan0 show device-info
Module Manufacturer          = Quectel
Module Model                 = EC25E
Module Firmware              = EC25EFAR06A01M4G_TEL
Hardware Revision            = 10000
Modem/App Firmware           = EC25EFAR06A01M4G_TEL_01.300.01.300
IMEI                         = 866308062070222
Radio Interfaces             = gsm, umts, lte
Data Service Capability      = non-simultaneous-cs-ps
Maximum TX/RX rate supported = 50000/100000 Kbps

Note

If, after the upgrade, the cellular module or its service do not work properly, force a restart of the controller with the controllers cellular <value> restart operational command.