Toradex Installer 5.7.3 fails to install new images after a recovery, Colibri IM7D V1.1d

Module type: Colibri IMX7D 512 V1.1d
Context: Module succesfully recovered
Recover Image: Colibri-iMX7_ToradexEasyInstaller_5.7.3+build.17

Easy Installer starts correctly and it refreshes available images from network.
When i select a new image like ‘Toradex Embedded Linux…’ (various versions, same behaviors) and download starts I get an error while installer unzip downloaded data like:

No messages over serial console
And if i try to download and install ‘Toradex Easy Installer’ apparently it works but at boot the SOM seems to have missed image installation (it starts but it looks for images from FTP for instance)

What’s happening ?

Thanks in advance.
Matteo.

Hello @Debbio

  • Which carrier board are you using?
  • Is this issue hapenning in only one module?
  • Have you tried intalling the image from a USB? (to discard any issues with your network connection)

Best regards,
Josep

Good morning @josep.tx

The carrier is our custom board modeled over Iris carrier
Unfortunately i tried only one module since it’s the only one available now (i will try to get more)
I’ve just tried USB Toradex Easy Install loading through run bootcmd_usb0 and the installer starts correctly (as does the installer from linux recovery does) with just a few messages during the process:

[ 3.410023] SQUASHFS error: zlib decompression failed, data probably corrupt
[ 3.417139] SQUASHFS error: squashfs_read_data failed to read block 0x966926

And equally i got error downloading internet images, i can vouch for my network.

Just a bit more context over this particular SOM, it was previously running with Linux BSP 3.0.4 with no apparently issue.

Also when booting:

Loading Environment from NAND… *** Warning - bad CRC, using default environment

Again, if i install the same Toradex Easy Install into the SOM, after reboot i got:

Verifying Hash Integrity … sha256 error!
Bad hash value for ‘hash-1’ hash node in ‘kernel-1’ image node
Bad Data Hash

I start thinking this module has some memory issue, how can i check it to be sure of this ? Can i do something to correct the issue?

Thanks

Hello @Debbio ,
Would it be possible for you to share the full boot log until the error happens? It could be a memory issue, because I have been able to install Toradex Easy Installer 5.7.3+build.17 without issues on on of my modules

This is my full log when booting from the Easy Installer:

U-Boot 2020.07-5.7.3+git.7683835c191e (Jul 25 2023 - 14:07:39 +0000)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 40C
Reset cause: POR
DRAM:  512 MiB
PMIC:  RN5T567 LSIVER=0x01 OTPVER=0x0d
NAND:  512 MiB
MMC:   FSL_SDHC: 0
Loading Environment from NAND... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX7 Dual 512MB V1.1D, Serial# 03015086
SEC0: RNG instantiated
Net:   eth0: ethernet@30be0000
Hit any key to stop autoboot:  0
Booting Toradex Easy Installer...
ubi0: default fastmap pool size: 200
ubi0: default fastmap WL pool size: 100
ubi0: attaching mtd5
ubi0: scanning is finished
ubi0: attached mtd5 (name "ubi", size 508 MiB)
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 4057, bad PEBs: 7, corrupted PEBs: 0
ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 9/4, WL threshold: 4096, image sequence number: 1252300805
ubi0: available PEBs: 0, total reserved PEBs: 4057, PEBs reserved for bad PEB handling: 73
No size specified -> Using max size (33490032)
Read 33490032 bytes from volume rootfs to 82100000
## Loading kernel from FIT Image at 82100000 ...
   Using 'conf-imx7d-colibri-eval-v3.dtb' configuration
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x82100108
     Data Size:    6992384 Bytes = 6.7 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x81000000
     Entry Point:  0x81000000
     Hash algo:    sha256
     Hash value:   44fe302703498a30abb8e38fe3ec0628d8ee40786d381fbd1e519db9201d37ff
   Verifying Hash Integrity ... sha256+ OK
## Loading ramdisk from FIT Image at 82100000 ...
   Using 'conf-imx7d-colibri-eval-v3.dtb' configuration
   Trying 'ramdisk-1' ramdisk subimage
     Description:  tezi-initramfs
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x827f269c
     Data Size:    26202112 Bytes = 25 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha256
     Hash value:   ee6adefa5f613602dcbe0074ff22bc63d7256f3b3b9b369e2924c81b47112f8d
   Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 82100000 ...
   Using 'conf-imx7d-colibri-eval-v3.dtb' configuration
   Trying 'fdt-imx7d-colibri-eval-v3.dtb' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x827ab420
     Data Size:    56846 Bytes = 55.5 KiB
     Architecture: ARM
     Hash algo:    sha256
     Hash value:   cbc61a0f0468e96d05dec300709d8aacbbf50c586cac57558e8b7573e1c639ca
   Verifying Hash Integrity ... sha256+ OK
   Booting using the fdt blob at 0x827ab420
   Loading Kernel Image
   Loading Ramdisk to 8e703000, end 90000000 ... OK
   Loading Device Tree to 8e6f2000, end 8e702e0d ... OK
   Updating MTD partitions...

Starting kernel ...

[    0.027622] debugfs: Directory 'dummy-iomuxc-gpr@30340000' with parent 'regmap' already present!
[    0.250608] debugfs: Directory 'dummy-src@30390000' with parent 'regmap' already present!
[    0.422887] caam_jr 30901000.jr0: failed to flush job ring 0
[    0.428810] caam_jr 30902000.jr1: failed to flush job ring 1
[    0.434703] caam_jr 30903000.jr1: failed to flush job ring 2
Running /etc/rc.local...
Toradex Easy Installer 5.7.3+build.17 ()
Starting udev
System time was Mon Nov 27 10:03:22 UTC 2023.
Setting the System Clock using the Hardware Clock as reference...
System Clock set. System local time is now Mon Nov 27 10:03:23 UTC 2023.

Welcome to the Toradex Easy Installer

This is a Linux based installer for Toradex modules. Currently, the installer
does not have a serial console interface. You can use the Toradex Easy Installer
via any of the available display interfaces using USB mouse/keyboard or via a
network connection using VNC. Use:
  # ip addr show
to display the Ethernet IP address(es) or use USB RNDIS at IP 192.168.11.1.

Check our documentation at:
  https://developer.toradex.com/software/toradex-easy-installer
/ #

Best regards,
Josep

@josep.tx ,

Here’s the booting after:

  1. Recovery from usb linux
  2. Installing the Toradex Easy Installer 5.7.3 from network (no issue during the download)
  3. Reboot
U-Boot 2020.07-5.7.3+git.7683835c191e (Jul 25 2023 - 14:07:39 +0000)

CPU:   Freescale i.MX7D rev1.3 1000 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 35C
Reset cause: POR
DRAM:  512 MiB
PMIC:  RN5T567 LSIVER=0x01 OTPVER=0x0d
NAND:  512 MiB
MMC:   FSL_SDHC: 0
Loading Environment from NAND... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX7 Dual 512MB V1.1D, Serial# 06569388
SEC0: RNG instantiated
Net:   eth0: ethernet@30be0000
Hit any key to stop autoboot:  0 
Booting Toradex Easy Installer...
ubi0: default fastmap pool size: 200
ubi0: default fastmap WL pool size: 100
ubi0: attaching mtd5
ubi0: scanning is finished
ubi0: attached mtd5 (name "ubi", size 508 MiB)
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 4058, bad PEBs: 6, corrupted PEBs: 0
ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 804839556
ubi0: available PEBs: 0, total reserved PEBs: 4058, PEBs reserved for bad PEB handling: 74
No size specified -> Using max size (33490032)
Read 33490032 bytes from volume rootfs to 82100000
## Loading kernel from FIT Image at 82100000 ...
   Using 'conf-imx7d-colibri-eval-v3.dtb' configuration
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x82100108
     Data Size:    6992384 Bytes = 6.7 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x81000000
     Entry Point:  0x81000000
     Hash algo:    sha256
     Hash value:   44fe302703498a30abb8e38fe3ec0628d8ee40786d381fbd1e519db9201d37ff
   Verifying Hash Integrity ... sha256 error!
Bad hash value for 'hash-1' hash node in 'kernel-1' image node
Bad Data Hash
ERROR: can't get kernel image!
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...

Again from usb:

  1. Usb with Toradex Easy Installer 5.7.3 build 17
  2. Reset Cpu
  3. run bootcmd_usb0
U-Boot 2020.07-5.7.3+git.7683835c191e (Jul 25 2023 - 14:07:39 +0000)

CPU:   Freescale i.MX7D rev1.3 1000 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 36C
Reset cause: POR
DRAM:  512 MiB
PMIC:  RN5T567 LSIVER=0x01 OTPVER=0x0d
NAND:  512 MiB
MMC:   FSL_SDHC: 0
Loading Environment from NAND... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX7 Dual 512MB V1.1D, Serial# 06569388
SEC0: RNG instantiated
Net:   eth0: ethernet@30be0000
Hit any key to stop autoboot:  0 
Colibri iMX7 TEZI # run bootc
  bootcmd bootcmd_dhcp bootcmd_mmc0 bootcmd_usb0 bootcount
Colibri iMX7 TEZI # run bootcmd_usb0 
starting USB...
Bus usb@30b10000: USB EHCI 1.00
Bus usb@30b20000: USB EHCI 1.00
scanning bus usb@30b10000 for devices... 2 USB Device(s) found
scanning bus usb@30b20000 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Device 0: Vendor: SanDisk Rev: 1.00 Prod: Ultra USB 3.0
            Type: Removable Hard Disk
            Capacity: 59232.0 MB = 57.8 GB (121307136 x 512)
... is now current device
Scanning usb 0:1...

After reset, boot

U-Boot 2020.07-5.7.3+git.7683835c191e (Jul 25 2023 - 14:07:39 +0000)

CPU:   Freescale i.MX7D rev1.3 1000 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 36C
Reset cause: POR
DRAM:  512 MiB
PMIC:  RN5T567 LSIVER=0x01 OTPVER=0x0d
NAND:  512 MiB
MMC:   FSL_SDHC: 0
Loading Environment from NAND... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX7 Dual 512MB V1.1D, Serial# 06569388
SEC0: RNG instantiated
Net:   eth0: ethernet@30be0000
Hit any key to stop autoboot:  0 
Booting Toradex Easy Installer...
ubi0: default fastmap pool size: 200
ubi0: default fastmap WL pool size: 100
ubi0: attaching mtd5
ubi0: scanning is finished
ubi0: attached mtd5 (name "ubi", size 508 MiB)
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 4058, bad PEBs: 6, corrupted PEBs: 0
ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 804839556
ubi0: available PEBs: 0, total reserved PEBs: 4058, PEBs reserved for bad PEB handling: 74
No size specified -> Using max size (33490032)
Read 33490032 bytes from volume rootfs to 82100000
## Loading kernel from FIT Image at 82100000 ...
   Using 'conf-imx7d-colibri-eval-v3.dtb' configuration
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x82100108
     Data Size:    6992384 Bytes = 6.7 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x81000000
     Entry Point:  0x81000000
     Hash algo:    sha256
     Hash value:   44fe302703498a30abb8e38fe3ec0628d8ee40786d381fbd1e519db9201d37ff
   Verifying Hash Integrity ... sha256 error!
Bad hash value for 'hash-1' hash node in 'kernel-1' image node
Bad Data Hash
ERROR: can't get kernel image!
switch to partitions #0, OK

Hello @Debbio ,
It looks like a RAM issue.
you could try interrupting the boot and running the mtest tool with the start from 0x82100000, where the image is loaded

https://docs.u-boot.org/en/latest/usage/cmd/mtest.html

Best regards,
Josep

@josep.tx

This module has 521MB of RAM hence size is equal to 0x20000000
If addressing is 32 bit 0x20000000 / 4 = 0x8000000

mtest 0x82100000 0x8a100000  0x55aa55aa 1

Is it correct?
I’ve tried more iterations and different patterns, with no errors

Hello @Debbio

That is correct.

Were you able to test more modules?

Best regards,
Josep

Not yet… no modules available at the moment, i’ll let you know.
Thanks for now!