================ Firmware Upgrade ================ .. sidebar:: Contents .. contents:: :depth: 3 :local: 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 :osdx:op:`interfaces cellular * upgrade-firmware *`, 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 EC25GL model from firmware version **EG25GLGAR07A02M1G_01.200.01.200** to beta version **EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300** (as provided by Quectel). **Step 1:** Check the model and the firmware version currently installed on the cellular module using operational command :osdx:op:`interfaces cellular * show device-info`. .. code-block:: none :emphasize-lines: 6 admin@osdx$ interfaces cellular cell0 show device-info Module Manufacturer = Quectel Module Model = EG25GL Module Firmware = EG25GLGAR07A02M1G Hardware Revision = 10000 Modem/App Firmware = EG25GLGAR07A02M1G_01.200.01.200 IMEI = 865061060284235 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. .. code-block:: none $ scp -O ./EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300.tar.xz admin@192.168.1.1: admin@192.168.1.1's password: EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300.tar.xz 100% 112MB 16.6MB/s 00:06 **Step 3:** Locate the file containing the firmware and unzip it. To do this, use the :osdx:op:`file uncompress *` 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. .. code-block:: none :emphasize-lines: 5 admin@osdx$ file show running:// ----------------------------------------------------------------------------------------------- Name Type Size Last modified ----------------------------------------------------------------------------------------------- EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300.tar.xz application/x-xz 112MB 2023 Sep 20 13:08 auth/ directory 2.7KB 2023 Sep 20 12:15 coredump/ directory 1.0KB 2025 May 13 kerneldump/ directory 0B 2023 Sep 20 12:15 log/ directory 3.6KB 2023 Sep 20 12:15 save-hist/ directory 1.0KB 2023 Sep 20 12:15 scripts/ directory 1.0KB 2025 May 13 support/ directory 1.0KB 2025 May 13 user-data/ directory 1.0KB 2025 May 13 .. code-block:: none admin@osdx$ file uncompress running://EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300.tar.xz .. code-block:: none :emphasize-lines: 6 admin@osdx$ file show running:// ----------------------------------------------------------------------------------------------- Name Type Size Last modified ----------------------------------------------------------------------------------------------- EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300.tar.xz application/x-xz 112MB 2023 Sep 20 13:08 EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300/ directory 180MB 2025 Apr 29 auth/ directory 2.7KB 2023 Sep 20 12:15 coredump/ directory 1.0KB 2025 May 13 kerneldump/ directory 0B 2023 Sep 20 12:15 log/ directory 3.6KB 2023 Sep 20 12:15 save-hist/ directory 1.0KB 2023 Sep 20 12:15 scripts/ directory 1.0KB 2025 May 13 support/ directory 1.0KB 2025 May 13 user-data/ directory 1.0KB 2025 May 13 **Step 4:** Run the firmware upgrade process. To do this, use the :osdx:op:`interfaces cellular * upgrade-firmware *` operational command. This process may take several seconds to complete and, when it is finished, message **Upgrade module successfully** should appear if the firmware has been duly upgraded. .. code-block:: none :emphasize-lines: 16 admin@osdx$ interfaces cellular cell0 upgrade-firmware running://EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300 [000.000]: Version: QFirehose_Linux_Android_V1.4.21 [000.000]: use symbolic link: [/dev/cell0_diag] [000.000]: symbolic link target: [/dev/cell0_diag]-[ttyUSB0] [000.000]: will use device: /dev/ttyUSB0 [000.000]: Symbolic filter file: [running://EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300]-[/opt/vyatta/etc/config/EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300] ... [028.883]: upgrade progress 100% 70763700/70763700 [028.883]: send finished [028.884]: [028.885]: [028.885]: [028.886]: [028.886]: [029.887]: THE TOTAL DOWNLOAD TIME IS 21.954 s [029.890]: Upgrade module successfully. [029.890]: inf[0] ep_in -1/1024, errno = 108 (Cannot send after transport endpoint shutdown) [029.890]: qusb_noblock_read read=-1, errno: 108 (Cannot send after transport endpoint shutdown) [029.890]: qusb_noblock_read cur=0, min_size=1 [029.890]: qusb_noblock_read cur=0, min_size=1 **Step 5:** Delete all files used for the upgrade from the OSDx device. To do this, use the :osdx:op:`file delete *` operational command. In this case, both the compressed file and the folder generated when it was decompressed must be deleted. .. code-block:: none admin@osdx$ file delete running://EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300.tar.xz Do you want to delete the file? (y/n): y .. code-block:: none admin@osdx$ file delete running://EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300 Do you want to delete the directory? (y/n): y .. code-block:: none admin@osdx$ file show running:// -------------------------------------------------- Name Type Size Last modified -------------------------------------------------- auth/ directory 2.7KB 2023 Sep 20 12:15 coredump/ directory 1.0KB 2025 May 13 kerneldump/ directory 0B 2023 Sep 20 12:15 log/ directory 3.6KB 2023 Sep 20 12:15 save-hist/ directory 1.0KB 2023 Sep 20 12:15 scripts/ directory 1.0KB 2025 May 13 support/ directory 1.0KB 2025 May 13 user-data/ directory 1.0KB 2025 May 13 **Step 6:** Finally, it is important to reboot the OSDx device and then verify that the firmware version currently installed on the cellular module is the proper one. .. code-block:: none admin@osdx$ reboot Proceed with reboot? (Yes/No) [No] yes .. code-block:: none :emphasize-lines: 6 admin@osdx$ interfaces cellular cell0 show device-info Module Manufacturer = Quectel Module Model = EG25GL Module Firmware = EG25GLGAR07A03M1G_BETA250428 Hardware Revision = 10000 Modem/App Firmware = EG25GLGAR07A03M1G_BETA250428_A0.300.A0.300 IMEI = 865061060284235 Radio Interfaces = gsm, umts, lte Data Service Capability = non-simultaneous-cs-ps Maximum TX/RX rate supported = 50000/100000 Kbps