My SoC crashed and I can't recover it

Hey, there!

I have a Verdin IMX8M-plus (4GB) that crashed during a development with Cortex-M7 and MCUXpresso SDK. As a first try to fix it, I followed the recovery with recovery mode and Easy Installer, but my SoC do not respond even for the recovery script.

Here’s some logs:

# FIRST LOG FROM CORTEX-A53 UART

U-Boot SPL 2024.07-7.2.0+git.3f772959501c (Jan 01 1970 - 00:00:00 +0000)
DDR configured as dual rank
SEC0:  RNG instantiated
Normal Boot
WDT:   Started watchdog@30280000 with servicing every 1000ms (60s timeout)
Trying to boot from BOOTROM
Boot Stage: Primary boot
Find img info 0x4802f000, size 1068
Need continue download 1024
NOTICE:  Do not release JR0 to NS as it can be used by HAB
NOTICE:  BL31: v2.10.0  (release):lf-6.6.52-2.2.0-dirty
NOTICE:  BL31: Built : 00:00:00, Jan  1 1970


U-Boot 2024.07-7.2.0+git.3f772959501c (Jan 01 1970 - 00:00:00 +0000)

CPU:   Freescale i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 45C
Reset cause: POR
DRAM:  4 GiB

waiting a little bit, another log comes

U-Boot SPL 2024.07-7.2.0+git.3f772959501c (Jan 01 1970 - 00:00:00 +0000)
DDR configured as dual rank
SEC0:  RNG instantiated
Normal Boot
WDT:   Started watchdog@30280000 with servicing every 1000ms (60s timeout)
Trying to boot from BOOTROM
Boot Stage: Primary boot
Find img info 0x4802f000, size 1068
Need continue download 1024
NOTICE:  Do not release JR0 to NS as it can be used by HAB
NOTICE:  BL31: v2.10.0  (release):lf-6.6.52-2.2.0-dirty
NOTICE:  BL31: Built : 00:00:00, Jan  1 1970


U-Boot 2024.07-7.2.0+git.3f772959501c (Jan 01 1970 - 00:00:00 +0000)

CPU:   Freescale i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 54C
Reset cause: WDOG
DRAM:  4 GiB

The output from recovery.sh:

./recovery-linux.sh 
Downloading Toradex Easy Installer...
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.233-0-g79ce7d2

Success 0    Failure 0                                                
                                                                       
                                                                       
1:3-200C3800 1/ 1 [=================100%=================] SDPS: boot -f ../imx-boot-recoverytezi

and it stays there forever.

I tried to enter U-Boot console, but I couldn’t.

Is there another way to recover the module (i have Yavia and Verdin Development Board)?

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Recovery Options for Verdin iMX8M Plus

Based on the logs you’ve provided, your Verdin iMX8M Plus appears to be stuck in a boot loop with watchdog resets. Here are several recovery approaches you can try:

1. Alternative Recovery Methods

External Media Approach

The Toradex Easy Installer can be loaded from external media instead of USB OTG (1). Since you have both Yavia and Verdin Development Board carriers, you can try:

  • SD Card Method: Use a FAT-formatted SD card with the Toradex Easy Installer image (1)
  • USB Stick Method: Use a FAT-formatted USB stick if your carrier board supports USB host (1)

Serial Console Access

You’ll need access to the serial port debug UART for booting via USB (1). Use the serial console to:

  • Access the U-Boot prompt by pressing any key during the “Hit any key to stop autoboot” message
  • Manually specify boot commands using U-Boot environment variables (2)

2. U-Boot Boot Target Configuration

If you can access the U-Boot console, you can modify boot targets (2):

[U-Boot]$ setenv boot_targets mmc1 usb0 mmc2 dhcp
[U-Boot]$ saveenv
[U-Boot]$ reset

(2)

You can also run specific boot commands directly (2):

[U-Boot]$ run bootcmd_usb0

(2)

3. Troubleshooting the USB OTG Recovery

Connection Issues

  • Avoid using USB hubs between the PC and USB OTG port (1)
  • Avoid using Virtual Machines (1)
  • Try different USB cables or ports
  • Ensure secure connections to your carrier board (1)

Driver Issues

The recovery script uses UUU (Universal Update Utility). If the script hangs at the SDPS boot stage, this could indicate driver or connection issues.

4. Hardware Considerations

Power Supply

Ensure your power supply is stable and adequate for your carrier board (1). Connect all cables following the QuickStart Guide for your specific carrier board (1).

Display Connection

Connect your display/monitor before powering on, as HDMI hotplug is not supported (1). If you don’t have a display available, you can access the Easy Installer GUI remotely using VNC (1).

5. Alternative Recovery Sequence

Try this sequence with your external media approach:

  1. Power off the module completely
  2. Insert a properly formatted SD card with Toradex Easy Installer
  3. Connect to serial console
  4. Power on and immediately try to break into U-Boot
  5. If successful, run the SD card boot command
  6. If U-Boot is unresponsive, the hardware may require professional recovery

The fact that you’re seeing consistent boot loops with watchdog resets suggests the bootloader or early boot process may be corrupted, making external media recovery your best option.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hi @ramf!

Could you please describe which steps you took?

Besides, I recommend downloading the latest TEZI version and trying the steps described in this article. As the Toradex AI said, you can also try loading TEZI from an external media (SD card or USB stick).

Best regards.

  1. I’ve tried some Easy Installer images:
  • Verdin-iMX8MP_ToradexEasyInstaller_7.4.0+build.8;
  • Verdin-iMX8MP_ToradexEasyInstaller_6.8.4+build.13;
  • Verdin-iMX8MP_ToradexEasyInstaller_5.7.6+build.21

Some enter an infinite wait, others returns

 Downloading Toradex Easy Installer...

uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.127-0-g08c58c9

Success 0    Failure 1                                                         
                                                                                                                                                      

1:3      1/ 1 [HID(W):LIBUSB_ERROR_TIMEOUT           ] SDPS: boot -f ../imx-boot


Downloading Toradex Easy Installer failed... 
  1. I’ve tried other USB ports and cables, but nothing have changed.
  2. I’ve used Verdin Development Board and Yavia to run the recovery.
  3. I have already tried a boot from a SD card and a pen drive, but i couldn’t access U-Boot to explicitly define my boot method.

Today, to make sure, I tried to access U-Boot again, but now the serial interface from Cortex-A53 don´t even returns me those logs that I mentioned earlier (literally nothing appears). I am accessing the serial interface from a Ubuntu 22.04 with Cutecom or screen

screen /dev/ttyUSB2 115200

Thank you for the help.