Flashing TEZI in imx8qm Fails

I have an imx8qm 1.1C I have been using for development. Recently I wanted to to upgrade with a custom built torizon image and thus needed to flash TEZI on it.

But it seems the process is not completing. The device is detected and flashing seems to start but it seems its not completing. On the host side this is what I get and the script doesn’t exit.

:~/toradex/Apalis-iMX8_ToradexEasyInstaller_5.4.0+build.4$ ./recovery-linux.sh 
Downloading Toradex Easy Installer...
[sudo] password for --: 
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.127-0-g08c58c9

Success 0    Failure 0                                                                                      
1:11     1/ 1 [=================100%=================] SDPS: boot -f ../imx-boot  

On the module side I can see TEZI, But I cannot interract with the serial port. Keyboard inputs are not detected.


If I reset the module, It drops into uboot terminal and I cannot interact with it also. See below.


Could you assist in knowing what is going on here. It seems I cannot recover the module.

Also interesting is the timeout is set to 0 sec.

Hi @keven.tribe ,

Thank you for using the community.

We successfully reproduced the issue and forwarded it to the R&D Team and they are working on it.

As a workaround, you can use an older version of the Toradex Easy Installer. I was able to flash an image by using Toradex Easy Installer 2.0b7.

You can download this version here:

Toradex Easy Installer Older Versions

Best Regards

I have an old version. i will try and let you know.

Hi @kevin.tx

Unfortunately for 2.0b7 am getting same results with flashing process hanging after loading TEZI. The module is not even reporting TEZI on debug port.

~/toradex/Apalis-iMX8_ToradexEasyInstaller_2.0b7-20210415# ./recovery-linux.sh 
Downloading Toradex Easy Installer...
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.43-0-ga9c099a

Success 0    Failure 0                                                                                              
1:11     1/ 1 [=================100%=================] SDPS: boot -f ../imx-boot      

Below the logs from the module.

U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g52f89f8382 (Apr 15 2021 - 17:12:01 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 31C
DRAM:  4 GiB
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadMax 4GB Wi-Fi / BT IT V1.1C, Serial# 06852170

  - SCFW b929edfe, SECO-FW 27167ff2, IMX-MKIMAGE d7f9440d, ATF bb209a0
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g52f89f8382 

switch to partitions #0, OK
mmc0(part 0) is current device
Detect USB boot. Will enter fastboot mode!
flash target is MMC:0
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Boot from USB for mfgtools
Use default environment for                              mfgtools
Run bootcmd_mfg: select_dt_from_module_version && fastboot 0
Hit any key to stop autoboot:  0 
Apalis iMX8 # 

Hi @keven.tribe,

Thanks for the update.

Just to confirm, did you wait the recommended 8-10 seconds after putting the module into recovery before starting the recovery script?

Furthermore, if I see this right, the recovery script never gave you the message “Successfully Installed” right?

Best Regards

I tried with putting device in recovery mode and waiting more than 10 seconds. Still no change. The script does not exit at all. This is the reason we are not getting the flashing exit status.

its really behaving strange I would say. I have previously flashed the same module the same way with even the same TEZI release with no issues at all. But now its not exiting.

Attached you will see the latest attempt to flash it. The terminal on the far left shows module was in recovery more than 10 seconds before launching the script. As you can see from the middle screen the script did not exit. On the extreme right is the debug port of the module. it was blank before the script started. after the script starting you can see it drops to the uboot terminal and nothing happens afterwards however long I wait.

Hey Keven,

Are you using the Ixora Carrier board?

I had this issue a few weeks ago and it was because I had not removed the jumper JP2.


Hi @Kim,

Good catch!
That’s interesting. :thinking:

Can you share the specific setup that you used?
What version of the module and the carrier board did you use in your case?
Also what version of the Toradex Easy Installer did you use?

You can see in the article of the recovery mode that you have to remove JP2 to use the OTG port in client mode.
I tried your setup here on my desk and by removing the jumper you surely should be able to recover it.

Best Regards

Hi @Kim @kevin.tx

Am using a custom Cartier board.

May be I will check the equivalent imx8qm module pin attached to JP2 for Ixora on my board and see if it’s connected to anything in the system.

Hi @kevin.tx ,

The USBO1_ID on my board is pulled high to 3V3 by default which I believe should not be an issue since I have flashed the board several times before using the same recovery process. I checked the status of the Pin and its indeed high.

I tried again to flash but with same results. Could there be a possibility that the module is damaged partially? :woozy_face: Since it can’t be flashed but can drop into uboot without responding to keyboard inputs.

I have tried using 2 similar carrier boards with similar results. I am out of ideas at this point.

Hi @keven.tribe ,

I received your module. I did some initial tests and I was successfully flashing different TEZI versions onto it. The keyboard inputs were also recognized, as I followed it up by installing the Toradex Minimal Reference Image.

Looking again at your pictures, what you see here is the first “loading bar” the shows you if the device was recognized. Usually after this one you would see another “loading bar” with a counter that counts to 10.

Your output

My output

It seems like something is off on your setup. :thinking:

Did you try to use a Toradex Carrier Board instead?
Could you maybe explain in more detail what steps you are going through to flash TEZI onto the module?

Best Regards

Hi @kevin.tx

That’s strange. Well good thing is module is not damaged.

If now I think about it. I tried the flashing on 2 of my carrier boards but used the same serial cable and usb cable for debug and flashing respectively.

For the usb cable I made it myself by adding another USB-A in the position of a micro USB. So that I could have USB-A to USB-A on both sides. When I had these issues I did check if the connections are all OK for the flashing USB, but didn’t check the serial debug cable. Can a damaged serial cable that’s connected to the debug port prevent tezi from finishing the flashing?

Hi @keven.tribe ,

Thanks for clarifying. So that means that the OTG port you use is a USB-A port?
Could you maybe share a snipped of your schematic, where we could see the USB connector?

I would not expect, that a damaged serial cable on the debug port would have any effect on the flashing of tezi.

Did you see this problem on a single device only?

Best Regards

Hi @kevin.tx

I tried on 2 carrier boards with the same result. Attached is the sch for the OTG port. I have however flashed the module multiple times from the same port. So there is something that seems to be off.

This is the connection to the module.

This is the Port side.

Hi @kevin.tx

I tried with a new serial cable and it flashes now. Don’t know what was up with the old one. We can close the case.

Thanks for the assistance.