# Firmware Update

For PCIe devices, it is recommended to update to the latest firmware for stable driver execution and optimal performance. It is available on both **Linux/Ubuntu** and **Windows** systems.

```{attention}
- Please complete driver installation before proceeding with [firmware update](installing_driver.md).
- Please check the compatible runtime and firmware versions [here](compatibility.md)
- The update process is performed identically on both Linux and Windows.
```

## Table of Contents

- [Download firmware tool](#download-firmware-tool)
- [Update firmware](#update-to-latest-firmware)
    - [Option 1: Update with GUI tool](#option-1-update-with-gui-tool)
    - [Option 2: Update with Console tool](#option-2-update-with-console-tool)
- [Check firmware](#check-firmware-version)

## Download firmware tool

Download and install the latest tool suitable for your current OS from the [Download Site](https://dl.mobilint.com/releases?series-id=9&product=ARIES).

* Windows : mobilint_ctrl_v?_windows.zip
* Linux(debian package) : aries_flash_firmware_?.deb, mobilint_ctrl_?.deb

## Update to latest firmware

Depending on the execution environment, update methods are provided in both the GUI and the Console environment. You must close all AI applications before proceeding with the update.

### Option 1: Update with GUI tool

Run the `mobilint_ctrl` program and click the `firmware` tab.

![Firmware Tab](/res/image/mobilint_ctrl_firmware_0.png "Firmware Tab")

Click the `Check Firmware Update...` button to check the currently installed firmware.

![Check current firmware](/res/image/mobilint_ctrl_firmware_1.png "Check current firmware")

Click the `Update Firmware...` button to proceed with the latest firmware update.

![Update firmware](/res/image/mobilint_ctrl_firmware_2.png "Update firmware")
```{attention}
- This process takes about 7~10 seconds.
- Never turn off the host PC during the update.
- An internet connection is required because the latest firmware is downloaded online.
```

If the latest firmware is already installed, it will be displayed as follows.

![Already the latest firmware](/res/image/mobilint_ctrl_firmware_3.png "Already the latest firmware")

The installed firmware will be applied after a reboot.

### Option 2: Update with Console tool

You can update the firmware to the latest version using the `aries_flash_firmware update` command. An internet connection is required at this moment.

If executed successfully, the update process will be displayed as shown below.

```bash
> aries_flash_firmware update
* PCIe Device Driver connection details.
		> Driver version : 1.8.2 (Revision 2)
		> PCIe card connection information.
				 - Main-System(VID:0x209F,DID:0x0000), Sub-System(VID:0x0402,DID:0x1093), PCIe 4.0 - 8 Lanes
		Device type   : Aries 2 (Firmware v1.2.5 rev#0)
		Product type  : Commercial
		Board type    : Low profile
		DRAM size     : 16 GB

*I: Current firmware.
	- Reading Board [==================================================] Done.
		BSP           : aries-mla100
		Product name  : MLA100 LowProfile
		Version       : v1.2.5 rev.0 (Build date : 2026-03-23 16:14:00 KST)
		Configuration : master(cd87e82d) release
		SHA256 check  : Ok!

*I: Downloading firmware : MLA100 LowProfile v1.2.6
		BSP           : aries-mla100
		Product name  : MLA100 LowProfile
		Version       : v1.2.6 rev.0 (Build date : 2026-05-22 18:28:31 KST)
		Configuration : master(3ac404ba) release
		SHA256 check  : Ok!

*I: Flash new firmware. (Don't turn off the device!!!)
	- Erasing flash [==================================================] Done.
	- Verifying...  [==================================================] Done.
	- Writing flash [==================================================] Done.
	- Verifying...  [==================================================] Done.
*I: Please reboot your system to update device.
*I: Done!
- More detail information : https://docs.mobilint.com
```

```{attention}
- This process takes about 7~10 seconds.
- Never turn off the host PC during the update.
- An internet connection is required because the latest firmware is downloaded online.
```

If the latest firmware is already installed, it will notify you that it has already been updated as shown below and will not proceed with unnecessary firmware flashing.

```bash
> aries_flash_firmware update
* PCIe Device Driver connection details.
		> Driver version : 1.8.2 (Revision 2)
		> PCIe card connection information.
				 - Main-System(VID:0x209F,DID:0x0000), Sub-System(VID:0x0402,DID:0x1093), PCIe 4.0 - 8 Lanes
		Device type   : Aries 2 (Firmware v1.2.5 rev#0)
		Product type  : Commercial
		Board type    : Low profile
		DRAM size     : 16 GB

*I: Current firmware.
	- Reading Board [==================================================] Done.
		BSP           : aries-mla100
		Product name  : MLA100 LowProfile
		Version       : v1.2.6 rev.0 (Build date : 2026-05-22 18:28:31 KST)
		Configuration : master(3ac404ba) release
		SHA256 check  : Ok!

*I: No need to update, The firmware is already up to date.
- More detail information : https://docs.mobilint.com
```

The installed firmware will be applied after a reboot.

## Check firmware version

After rebooting, run `aries_flash_firmware status`. You can confirm that the latest firmware has already been installed as shown below.

```bash
> aries_flash_firmware status
* PCIe Device Driver connection details.
        > Driver version : 1.8.2 (Revision 2)
        > PCIe card connection information.
                 - Main-System(VID:0x209F,DID:0x0000), Sub-System(VID:0x0402,DID:0x1093), PCIe 4.0 - 8 Lanes
        Device type   : Aries 2 (Firmware v1.2.6 rev#0)
        Product type  : Commercial
        Board type    : Low profile
        DRAM size     : 16 GB

*I: Current firmware.
    - Reading Board [==================================================] Done.
        BSP           : aries-mla100
        Product name  : MLA100 LowProfile
        Version       : v1.2.6 rev.0 (Build date : 2026-05-22 18:28:31 KST)
        Configuration : master(3ac404ba) release
        SHA256 check  : Ok!

*I: The firmware is already up to date.
```

You can check the installed firmware version by running the GUI/CLI monitoring tool.

#### 1) `mobilint_ctrl` GUI monitoring tool
![GUI monitoring tool](/res/image/mobilint_ctrl.png "mobilint_ctrl")

#### 2) `mobilint_ctrl_cli` CLI monitoring tool
![CLI monitoring tool](/res/image/mobilint_ctrl_cli.png "mobilint_ctrl_cli")
