Thales' cellular IoT products business is now part of Telit Cinterion, find out more.

You are here

Telit Cinterion IoT Developer Community

MV31: How to do FW update via QDU over MBIM on Linux ARM64 OS

Showcase, November 21, 2022 - 11:51am, 1176 views


The MV31/MV32 5G data cards have the embedded QDU function over MBIM interface for its FW download, update/upgrade.

QDU over MBIM is dedicated on both Microsoft Windows 10/11 and on Linux Kernel (up from 5.x).

  ->Refer to details about QDU over Libmbim (up from V1.26) on Linux OS, see:


Show Case:

Here is a show case about MV3x FW update using QDU function over MBIM on the Linux OS for ARM64.

For the target host HW platform,  customers will need to build the libmbim library firstly.

For instructions, refer to:

  $ git clone

  $ cd libmbim

  $ meson setup build --prefix=/usr

  $ ninja -C build

Then install the new libmbim library: 
$ sudo ninja -C build install


Regarding rebuild & install the new libmbim library, there are many dependencies, compile tools and make options of the library, for the customer target embedded HW system /e.g. gudev, glib, gobject, gio and gmodule, and the libmbim-glib) 

Ussually these function blocks are however not in the standard Linux distributions for embedded HW platform (e.g. ARM), customers need to check out the details on their target HW platforms / Linux distributions

fxQDU Tool:

Once the libmbim library has been built, then copy the ota.bin into the directory, and use the FW download tool from Thales DIS AIS (NDA is required)

 $  ./fxQDU

See below log, which is on the test device “rockpro64 ARM64” HW platform which we use as reference unit (

Pre-condition: it is necessary to disable the Modem Manager before running the fxQDU tool.

  sudo systemctl disable ModemManager.service



root@rockpro64: /MV31/mnt# uname -r


root@rockpro64:/MV31/mnt# uname -a

Linux rockpro64 5.15.74-rockchip64 #22.08.6 SMP PREEMPT Tue Oct 18 06:50:17 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

root@rockpro64:/MV31/mnt# ./fxQDU

[/dev/wwan0mb im0] Successfully requested modem to update session Asynchronously

opening QDU file... ./ota.bin

[/dev/wwanOmbim0] Successfully opening QOU file

========> Update OTA file: 100% Successfully upgrade OTA image

Wait switch bootup partition and reboot



Afterwards, re-enable again the Modem Manager when the fxQDU tool is finished

  sudo systemctl enable ModemManager.service



Please contact Thales IOT support for the fxQDU tool


wemei's picture