Can't recover my Apalis imx8QM 4 GB WB

Hello,

I try to recover my Apalis imX8QM 4GB WB V1.0 B.
I follow this instruction to go into the recovery mode.
I have added the USB-Connection, removed the jumper and a RS232 to see more.

I have tested it under windows and linux and with the following easy installers:

  • apalis-imx8_toradexeasyinstaller_2.0b6-20201102
  • Apalis-iMX8_ToradexEasyInstaller_2.0b7-nightly-20210203
  • Apalis-iMX8_ToradexEasyInstaller_2.0b7-nightly-20210204
  • Apalis-iMX8_ToradexEasyInstaller_2.0b7-nightly-20210205

Every time the Module goes into the recovery mode and I get into a loop.
As an example on windows: I start the “recovery-windows.bat” and get the following output:

Downloading Toradex Easy Installer...
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.43-0-ga9c099a

Success 0    Failure 0    Wait for Known USB Device Appear...

Then I start the module and I get:

Downloading Toradex Easy Installer...
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.43-0-ga9c099a

Success 0    Failure 0


2:6      1/ 1 [=================100%=================] SDPS: boot -f ../imx-boot

On the module I see the following output:

U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g553fb1fa86 (Oct 30 2020 - 17:36:38 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 34C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
MISSING TORADEX CONFIG BLOCK
Board: Apalis iMX8
Boot:  USB

 BuildInfo:
  - 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+g553fb1fa86

switch to partitions #0, OK
mmc0(part 0) is current device
"Synchronous Abort" handler, esr 0x96000007
elr: 0000000080080148 lr : 0000000080026ea0 (reloc)
elr: 00000000ffeee148 lr : 00000000ffe94ea0
x0 : 00000000fff047ec x1 : 0000000000000000
x2 : 00000000fd67e250 x3 : 0000000000000000
x4 : 0000000000000066 x5 : 00000000fff047ec
x6 : 0000000000000021 x7 : 00000000fd6a0f40
x8 : 00000000fd67dfa0 x9 : 0000000000000008
x10: 00000000ffffffd8 x11: 0000000000000006
x12: 000000000001869f x13: 0000000000000200
x14: 000000000000003a x15: 00000000ffffffff
x16: 0000000000002080 x17: 0000000000000000
x18: 00000000fd68bda8 x19: 00000000fff0477a
x20: 00000000fff047ec x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000fd67e2c0

Resetting CPU ...

resetting ...

I don’t know why the module goes into a resting. But after the reset the module then goes into the recovery mode, the boot -f …/imx-boot transfer again the file and the board resets → goes into recovery mode and I have a loop.

Loop:

  1. Turn on
  2. Go into recovery mode
  3. tansfer “boot -f …/imx-boot” to 100%
  4. reset
  5. Go to point two.

What can I do to break the loop?
Why do I get this loop?

Best regards

Please download and unpack to your dev machine apalis-imx8_toradexeasyinstaller_2.0b2

Put module in a recovery mode and run recovery-windows/linux script

Immediately press a “space” at terminal connected to module debug UART to stop boot at U_boot stage.

run :

 env default -a
 saveenv

Than you can load Toradex easy installer 2.0b6

Hi @alex.tx :

I was able to reset to the defaults:

U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54 (Jul 17 2019 - 00:34:05 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 17C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
MISSING TORADEX CONFIG BLOCK
Board: Apalis iMX8
Boot:  USB

 BuildInfo:
  - SCFW cb6f758b, SECO-FW d7523fe8, IMX-MKIMAGE dd023400, ATF d6451cc
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54

switch to partitions #0, OK
mmc0(part 0) is current device
Detect USB boot. Will enter fastboot mode!
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Boot from USB for mfgtools
Use default environment for                              mfgtools
Run bootcmd_mfg: fastboot 0
Hit any key to stop autoboot:  0
=>
=> env default -a
## Resetting to default environment
=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK

I have then tried all of my four easy installers, but all four going into the loop:

resetting ...


U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g553fb1fa86 (Nov 02 2020 - 09:44:18 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 28C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
MISSING TORADEX CONFIG BLOCK
Board: Apalis iMX8
Boot:  USB

 BuildInfo:
  - 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+g553fb1fa86

switch to partitions #0, OK
mmc0(part 0) is current device
"Synchronous Abort" handler, esr 0x96000007
elr: 0000000080080148 lr : 0000000080026ea0 (reloc)
elr: 00000000ffeee148 lr : 00000000ffe94ea0
x0 : 00000000fff047ec x1 : 0000000000000000
x2 : 00000000fd67e250 x3 : 0000000000000000
x4 : 0000000000000066 x5 : 00000000fff047ec
x6 : 0000000000000021 x7 : 00000000fd6a0f40
x8 : 00000000fd67dfa0 x9 : 0000000000000008
x10: 00000000ffffffd8 x11: 0000000000000006
x12: 000000000001869f x13: 0000000000000200
x14: 000000000000003a x15: 00000000ffffffff
x16: 0000000000002080 x17: 0000000000000000
x18: 00000000fd68bda8 x19: 00000000fff0477a
x20: 00000000fff047ec x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000fd67e2c0

Resetting CPU ...

resetting ...


U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g553fb1fa86 (Nov 02 2020 - 09:44:18 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 28C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
MISSING TORADEX CONFIG BLOCK
Board: Apalis iMX8
Boot:  USB

 BuildInfo:
  - 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+g553fb1fa86

switch to partitions #0, OK
mmc0(part 0) is current device
"Synchronous Abort" handler, esr 0x96000007
elr: 0000000080080148 lr : 0000000080026ea0 (reloc)
elr: 00000000ffeee148 lr : 00000000ffe94ea0
x0 : 00000000fff047ec x1 : 0000000000000000
x2 : 00000000fd67e250 x3 : 0000000000000000
x4 : 0000000000000066 x5 : 00000000fff047ec
x6 : 0000000000000021 x7 : 00000000fd6a0f40
x8 : 00000000fd67dfa0 x9 : 0000000000000008
x10: 00000000ffffffd8 x11: 0000000000000006
x12: 000000000001869f x13: 0000000000000200
x14: 000000000000003a x15: 00000000ffffffff
x16: 0000000000002080 x17: 0000000000000000
x18: 00000000fd68bda8 x19: 00000000fff0477a
x20: 00000000fff047ec x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000fd67e2c0

Resetting CPU ...

resetting ...

Maybe my printenv’s help you:

U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54 (Jul 17 2019 - 00:34:05 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 24C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
MISSING TORADEX CONFIG BLOCK
Board: Apalis iMX8
Boot:  USB

 BuildInfo:
  - SCFW cb6f758b, SECO-FW d7523fe8, IMX-MKIMAGE dd023400, ATF d6451cc
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54

switch to partitions #0, OK
mmc0(part 0) is current device
Detect USB boot. Will enter fastboot mode!
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Boot from USB for mfgtools
Use default environment for                              mfgtools
Run bootcmd_mfg: fastboot 0
Hit any key to stop autoboot:  0
=>
=>
=> printenv
arch=arm
baudrate=115200
board=apalis-imx8
board_name=apalis-imx8
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
boot_fdt=try
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_targets=mmc1 mmc2 mmc0 usb0 dhcp
bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else booti ${loadaddr} - ${fdt_addr}; fi
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;
bootcmd_mfg=fastboot 0
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_mmc1=setenv devnum 1; run mmc_boot
bootcmd_mmc2=setenv devnum 2; run mmc_boot
bootcmd_usb0=setenv devnum 0; run usb_boot
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttyLP1,115200 earlycon=lpuart32,0x5a070000,115200
cpu=armv8
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
ethprime=FEC
fdt_addr=0x83000000
fdt_addr_r=0x84000000
fdt_file=fsl-imx8qm-apalis.dtb
hdp_addr=0x84000000
hdp_file=hdmitxfw.bin
image=Image
initrd_addr=0x83800000
initrd_high=0xffffffffffffffff
ipaddr=192.168.10.2
kernel_addr_r=0x82000000
loadaddr=0x80280000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadhdp=fatload mmc ${mmcdev}:${mmcpart} ${hdp_addr} ${hdp_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadm4image_0=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4_0_image}
loadm4image_1=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4_1_image}
m4_0_image=m4_0.bin
m4_1_image=m4_1.bin
m4boot_0=run loadm4image_0; dcache flush; bootaux ${loadaddr} 0
m4boot_1=run loadm4image_1; dcache flush; bootaux ${loadaddr} 1
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} video=imxdpufb5:off video=imxdpufb6:off video=imxdpufb7:off
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; run loadhdp; hdp load ${hdp_addr}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; else echo wait for boot; fi;
mmcdev=0
mmcpart=1
mmcroot=/dev/mmcblk0p2 rootwait rw
netargs=setenv bootargs console=${console} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp video=imxdpufb5:off video=imxdpufb6:off video=imxdpufb7:off
netboot=echo Booting from net ...; run netargs;  if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${loadaddr} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; else booti; fi;
netmask=255.255.255.0
panel=NULL
ramdisk_addr_r=0x86400000
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
script=boot.scr
scriptaddr=0x87000000
serverip=192.168.10.1
soc=imx8
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
vendor=toradex

Environment size: 4343/8188 bytes

Best regards

From your log " MISSING TORADEX CONFIG BLOCK"

So you need to restore it. Please use U_Boot command

cfgblock create

Hi @alex.tx

I was able to restore the Toradex Config Block.

But it has not change the loop problem.
I have tried all 4 Easy-Installers.
Please take a look at:

U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54 (Jul 17 2019 - 00:34:05 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 21C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
MISSING TORADEX CONFIG BLOCK
Board: Apalis iMX8
Boot:  USB

 BuildInfo:
  - SCFW cb6f758b, SECO-FW d7523fe8, IMX-MKIMAGE dd023400, ATF d6451cc
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54

switch to partitions #0, OK
mmc0(part 0) is current device
Detect USB boot. Will enter fastboot mode!
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Boot from USB for mfgtools
Use default environment for                              mfgtools
Run bootcmd_mfg: fastboot 0
Hit any key to stop autoboot:  0
=>
=> cfgblock create
Is the module an IT version? [y/N] n
Does the module have Wi-Fi / Bluetooth? [y/N] y
Enter the module version (e.g. V1.1B): V1.0B
Enter module serial number: 06540918
Toradex config block successfully written
=>
=>
=>

U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g553fb1fa86 (Nov 02 2020 - 09:44:18 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 33C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadPlus 2GB Wi-Fi / BT V1.0B, Serial# 06540918

 BuildInfo:
  - 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+g553fb1fa86

switch to partitions #0, OK
mmc0(part 0) is current device
"Synchronous Abort" handler, esr 0x96000007
elr: 0000000080080148 lr : 0000000080026ea0 (reloc)
elr: 00000000ffeee148 lr : 00000000ffe94ea0
x0 : 00000000fff047ec x1 : 0000000000000000
x2 : 00000000fd67e250 x3 : 0000000000000000
x4 : 0000000000000066 x5 : 00000000fff047ec
x6 : 0000000000000021 x7 : 00000000fd6a0f40
x8 : 00000000fd67dfa0 x9 : 0000000000000008
x10: 00000000ffffffd8 x11: 0000000000000006
x12: 000000000001869f x13: 0000000000000200
x14: 000000000000003a x15: 00000000ffffffff
x16: 0000000000002080 x17: 0000000000000000
x18: 00000000fd68bda8 x19: 00000000fff0477a
x20: 00000000fff047ec x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000fd67e2c0

Resetting CPU ...

resetting ...


U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g553fb1fa86 (Nov 02 2020 - 09:44:18 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 34C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadPlus 2GB Wi-Fi / BT V1.0B, Serial# 06540918

 BuildInfo:
  - 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+g553fb1fa86

switch to partitions #0, OK
mmc0(part 0) is current device
"Synchronous Abort" handler, esr 0x96000007
elr: 0000000080080148 lr : 0000000080026ea0 (reloc)
elr: 00000000ffeee148 lr : 00000000ffe94ea0
x0 : 00000000fff047ec x1 : 0000000000000000
x2 : 00000000fd67e250 x3 : 0000000000000000
x4 : 0000000000000066 x5 : 00000000fff047ec
x6 : 0000000000000021 x7 : 00000000fd6a0f40
x8 : 00000000fd67dfa0 x9 : 0000000000000008
x10: 00000000ffffffd8 x11: 0000000000000006
x12: 000000000001869f x13: 0000000000000200
x14: 000000000000003a x15: 00000000ffffffff
x16: 0000000000002080 x17: 0000000000000000
x18: 00000000fd68bda8 x19: 00000000fff0477a
x20: 00000000fff047ec x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000fd67e2c0

Resetting CPU ...

resetting ...


U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g553fb1fa86 (Nov 02 2020 - 09:44:18 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 35C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadPlus 2GB Wi-Fi / BT V1.0B, Serial# 06540918

 BuildInfo:
  - 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+g553fb1fa86

switch to partitions #0, OK
mmc0(part 0) is current device
"Synchronous Abort" handler, esr 0x96000007
elr: 0000000080080148 lr : 0000000080026ea0 (reloc)
elr: 00000000ffeee148 lr : 00000000ffe94ea0
x0 : 00000000fff047ec x1 : 0000000000000000
x2 : 00000000fd67e250 x3 : 0000000000000000
x4 : 0000000000000066 x5 : 00000000fff047ec
x6 : 0000000000000021 x7 : 00000000fd6a0f40
x8 : 00000000fd67dfa0 x9 : 0000000000000008
x10: 00000000ffffffd8 x11: 0000000000000006
x12: 000000000001869f x13: 0000000000000200
x14: 000000000000003a x15: 00000000ffffffff
x16: 0000000000002080 x17: 0000000000000000
x18: 00000000fd68bda8 x19: 00000000fff0477a
x20: 00000000fff047ec x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000fd67e2c0

Resetting CPU ...

resetting ...

Is there anything more I can restore/reset ?

Best Regards

Have you tried apalis-imx8_toradexeasyinstaller_2.0b2 ?

Hi @alex.tx

I have also tried the apalis-imx8_toradexeasyinstaller_2.0b2, but he just stops:

Windows:

Downloading Toradex Easy Installer...
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.2.135-0-gacaf035

Success 0    Failure 0

         1/ 0 [                                      ]
2:6      1/ 1 [=================100%=================] SDPS: boot -f ../flash.bin

Ixora:

U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54 (Jul 17 2019 - 00:34:05 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 21C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadPlus 2GB Wi-Fi / BT V1.0B, Serial# 06540918

 BuildInfo:
  - SCFW cb6f758b, SECO-FW d7523fe8, IMX-MKIMAGE dd023400, ATF d6451cc
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54

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

I think it is a little bit better, because the module stops, but I can’t get into the easy installer.

Best regards

Hi,

I also had this kind of loop. The solution was to erase all emmc partitions and restore config block.
After that I was able to load TEZI from recovery mode and install TEZI to emmc.

Regards, Mlinar

Hi @mlinar ,

thanks for your answer. Do you mean this?
Just to understand it a little more:
I go into the u-boot and then start:

 mmc dev 0 0
mmc read ${loadaddr} 0x7fffffff 1
mmc erase 0 0xe90000

mmc dev 0 1
mmc read ${loadaddr} 0x7fffffff 1
mmc erase 0 0x4000

mmc dev 0 2
mmc erase 0 0x4000

Does I need to erase all three partions?

Thanks a lot. I will try it.

Yes,

from TEZI or from u-boot. If doing it from u-boot you will have to recreate config block.

Regards, Mlinar

Hi @mlinar,

I think I’m now on the write way, but I don’t know how to load the installer from U-Boot. Please take a look at this:

U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54 (Jul 17 2019 - 00:34:05 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 32C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadPlus 2GB Wi-Fi / BT V1.0B, Serial# 06540918

 BuildInfo:
  - SCFW cb6f758b, SECO-FW d7523fe8, IMX-MKIMAGE dd023400, ATF d6451cc
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54

switch to partitions #0, OK
mmc0(part 0) is current device
Detect USB boot. Will enter fastboot mode!
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Boot from USB for mfgtools
Use default environment for                              mfgtools
Run bootcmd_mfg: fastboot 0
Hit any key to stop autoboot:  0
=> mmc dev 0 0
switch to partitions #0, OK
mmc0(part 0) is current device
=> mmc read ${loadaddr} 0x7fffffff 1

MMC read: dev # 0, block # 2147483647, count 1 ... MMC: block number 0x80000000 exceeds max(0x1d5c000)
0 blocks read: ERROR
=> mmc erase 0 0x1d5c000

MMC erase: dev # 0, block # 0, count 30785536 ... 30785536 blocks erased: OK
=> mmc dev 0 1
switch to partitions #1, OK
mmc0(part 1) is current device
=> mmc read ${loadaddr} 0x7fffffff 1

MMC read: dev # 0, block # 2147483647, count 1 ... MMC: block number 0x80000000 exceeds max(0x4000)
0 blocks read: ERROR
=> mmc erase 0 0x4000

MMC erase: dev # 0, block # 0, count 16384 ... 16384 blocks erased: OK
=> mmc dev 0 2
switch to partitions #2, OK
mmc0(part 2) is current device
=> mmc read ${loadaddr} 0x7fffffff 1

MMC read: dev # 0, block # 2147483647, count 1 ... MMC: block number 0x80000000 exceeds max(0x4000)
0 blocks read: ERROR
=>  mmc erase 0 0x4000

MMC erase: dev # 0, block # 0, count 16384 ... 16384 blocks erased: OK
=>
=> env default -a
## Resetting to default environment
=>
## Resetting to default environment
=> env default -a
## Resetting to default environment
=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK
=> cfgblock create
Is the module an IT version? [y/N] N
Does the module have Wi-Fi / Bluetooth? [y/N] y
Enter the module version (e.g. V1.1B): V1.0B
Enter module serial number: 06540918
Toradex config block successfully written
=> saveenv

I think with this I was able to completly clean the module. Now I have the LAN connected to the Ixora and also prepared a SD-Card and put the SD into the IXORA baseboard.

How can I now start the Easy-Installer from u-boot?
Is the Easy-Installer the TEZI-Image?

Best regards AND THANKS A LOT.

Hi @alex.tx ,

I think I have maybe found the error, but don’t know how to fix it.
Please take a look here:

U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g553fb1fa86 (Oct 30 2020 - 17:36:38 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 55C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadPlus 2GB Wi-Fi / BT V1.0B, Serial# 06540918

 BuildInfo:
  - 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+g553fb1fa86

switch to partitions #0, OK
mmc0(part 0) is current device
"Synchronous Abort" handler, esr 0x96000007
elr: 0000000080080148 lr : 0000000080026ea0 (reloc)
elr: 00000000ffeee148 lr : 00000000ffe94ea0
x0 : 00000000fff047ec x1 : 0000000000000000
x2 : 00000000fd67e250 x3 : 0000000000000000
x4 : 0000000000000066 x5 : 00000000fff047ec
x6 : 0000000000000021 x7 : 00000000fd6a0f40
x8 : 00000000fd67dfa0 x9 : 0000000000000008
x10: 00000000ffffffd8 x11: 0000000000000006
x12: 000000000001869f x13: 0000000000000200
x14: 000000000000003a x15: 00000000ffffffff
x16: 0000000000002080 x17: 0000000000000000
x18: 00000000fd68bda8 x19: 00000000fff0477a
x20: 00000000fff047ec x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000fd67e2c0

Resetting CPU ...

resetting ...

The Module thinks it is a 2 GB Module:

Model: Toradex Apalis iMX8 QuadPlus 2GB Wi-Fi / BT V1.0B, Serial# 06540918

But I have a 4GB module: Apalis iMX8QM 4GB WB.

Maybe this is my problem.

  • How can I change the 2GB to 4GB?
  • Why do you think my module tells me it is a 2GB model?

Best regards

You can load TEZI using recovery mode option and then install your preferred image.

Regards, Mlinar

RAM size information is stored in config block. Please erase it and create a new.

Hi @alex.tx :

with the tips from @mlinar I come a little bit closer.

If I these four installers I come into the loop :

  • apalis-imx8_toradexeasyinstaller_2.0b6-20201102
  • Apalis-iMX8_ToradexEasyInstaller_2.0b7-nightly-20210203
  • Apalis-iMX8_ToradexEasyInstaller_2.0b7-nightly-20210204
  • Apalis-iMX8_ToradexEasyInstaller_2.0b7-nightly-20210205

BUT if I erase the mmc and reset the cfgblock like this:

U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54 (Jul 17 2019 - 00:34:05 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 21C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadPlus 2GB Wi-Fi / BT V1.0B, Serial# 06540918

 BuildInfo:
  - SCFW cb6f758b, SECO-FW d7523fe8, IMX-MKIMAGE dd023400, ATF d6451cc
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54

switch to partitions #0, OK
mmc0(part 0) is current device
Detect USB boot. Will enter fastboot mode!
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Boot from USB for mfgtools
Use default environment for                              mfgtools
Run bootcmd_mfg: fastboot 0
Hit any key to stop autoboot:  0
=>
=> mmc dev 0 0
switch to partitions #0, OK
mmc0(part 0) is current device
=> mmc read ${loadaddr} 0x7fffffff 1

MMC read: dev # 0, block # 2147483647, count 1 ... MMC: block number 0x80000000 exceeds max(0x1d5c000)
0 blocks read: ERROR
=> mmc erase 0 0x1d5c000

MMC erase: dev # 0, block # 0, count 30785536 ... 30785536 blocks erased: OK
=> mmc dev 0 1
switch to partitions #1, OK
mmc0(part 1) is current device
=> mmc read ${loadaddr} 0x7fffffff 1

MMC read: dev # 0, block # 2147483647, count 1 ... MMC: block number 0x80000000 exceeds max(0x4000)
0 blocks read: ERROR
=> mmc erase 0 0x4000

MMC erase: dev # 0, block # 0, count 16384 ... 16384 blocks erased: OK
=> mmc dev 0 2
switch to partitions #2, OK
mmc0(part 2) is current device
=> mmc read ${loadaddr} 0x7fffffff 1

MMC read: dev # 0, block # 2147483647, count 1 ... MMC: block number 0x80000000 exceeds max(0x4000)
0 blocks read: ERROR
=> mmc erase 0 0x4000

MMC erase: dev # 0, block # 0, count 16384 ... 16384 blocks erased: OK
=> env default -a
## Resetting to default environment
=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK
=> cfgblock create
Is the module an IT version? [y/N] y
Does the module have Wi-Fi / Bluetooth? [y/N] y
Enter the module version (e.g. V1.1B): V1.0B
Enter module serial number: 06540918
Toradex config block successfully written

I then get from the next U-Boot:

Model: Toradex Apalis iMX8 QuadMax 4GB Wi-Fi / BT IT V1.0B, Serial# 06540918

Also with the Easy-Installer: apalis-imx8_toradexeasyinstaller_2.0b2-20190716

I get now the folling Output WITHOUT a loop:

Windows:

Downloading Toradex Easy Installer...
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.2.135-0-gacaf035

Success 1    Failure 0

         1/ 0 [                                      ]
ECHO ist ausgeschaltet (OFF).                        ] FB: done
Successfully downloaded Tezi
Der Befehl "else" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Failed downloading Tezi
Drücken Sie eine beliebige Taste . . .

On the module I see:

U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54 (Jul 17 2019 - 00:34:05 +0000)

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

 BuildInfo:
  - SCFW cb6f758b, SECO-FW d7523fe8, IMX-MKIMAGE dd023400, ATF d6451cc
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.78_1.0.0_ga-bringup+g25f68add54

switch to partitions #0, OK
mmc0(part 0) is current device
Detect USB boot. Will enter fastboot mode!
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Boot from USB for mfgtools
Use default environment for                              mfgtools
Run bootcmd_mfg: fastboot 0
Hit any key to stop autoboot:  0
Detect USB boot. Will enter fastboot mode!
Starting download of 600 bytes

downloading of 600 bytes finished
Detect USB boot. Will enter fastboot mode!
Starting download of 102464 bytes

downloading of 102464 bytes finished
Detect USB boot. Will enter fastboot mode!
Starting download of 48887640 bytes
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..........................................................................
..
downloading of 48887640 bytes finished
## Executing script at 82e00000
Loading hdp firmware from 0x0000000082fe0000 offset 0x0000000000002000
Loading hdp firmware Complete
## Loading kernel from FIT Image at 83000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  Linux Kernel 4.14
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x830000dc
     Data Size:    9889576 Bytes = 9.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x80280000
     Entry Point:  0x80280000
     Hash algo:    md5
     Hash value:   32d5bf1b0500a2aeb396d5be7ad798b0
   Verifying Hash Integrity ... md5 error!
Bad hash value for 'hash@1' hash node in 'kernel@1' image node
Bad Data Hash
ERROR: can't get kernel image!

Do you have a Idea how I can fix this?

Best Regards

Hi,

Have you made modification on ixora carrier board as per ixora errata section Errata#2?

HI,

I have not make this change to my ixora board. I also don’t think that this is nessesary for the tezi image. This Image is realy small. That’s why I think this change on the ixora board is not the right way.

Best Regards

It is not a matter of size but rather the power consumption may be too high.

Anyway, I suspect something fishy going on here. Could you please also check the following SoC fuses for me?

fuse read 0 276
fuse read 0 277

Hi @marcel.tx

Here are your fuses:

=> fuse read 0 276
Reading bank 0:

Word 0x00000114: 00000094
=> fuse read 0 277
Reading bank 0:

Word 0x00000115: 00003e91
=>

Do you need more informations?
Short side question: What are fuses?

Best regards

Do you need more information?

No, that looks proper.

Short side question: What are fuses?

Fuses are special non-volatile areas where early boot relevant things may be configured (e.g. boot media, RAM timing and such).