Device not booting anymore

We have one device which was working fine and after repowering it was not booting anymore. It is showing the splash screen and I can just access the bootloader. The debug output sais the following:

Toradex Windows CE 7.0 1.6
 for iMX6 Built on Dec 23 2019
Colibri iMX6 Solo 256MB
Wait mode Disabled
SMP support disabled
RTC origin set to: 2006/01/01.
Registry - loading version 2 from 16386.
Registry loaded.
Loading GPIO Multiplexer...
Failed(0) Loading GPIO Multiplexer (1 ms)
Loading Clock...
GPU enabled.
DVFS not enabled.
Done Loading Clock (14 ms)
Exception 'Prefetch Abort' (0x3): Thread-Id=01780036(pth=af817000), Proc-Id=00820022(pprc=af813578) 'udevice.exe', VM-active=00820022(pprc=af813578) 'udevice.exe'
PC=40f16fe8(???+0x40f16fe8) RA=42706fe0(ntlmssp_svc.dll+0x00006fe0) SP=0016fd98, BVA=40f16fe8

What might have happened and how can it be fixed?

Hi @widtmann ,

It looks like some service is crashing while loading.

Is this a standard 1.6 Image or a custom built one?

It could be some issue with the loading of some custom drivers or a misconfiguration in the registry… you can try clearing the registry from the bootloader menu.

It is the standard Toradex image. I cleared the registry and get another error message in the log output now:

Toradex Windows CE 7.0 1.6
 for iMX6 Built on Dec 23 2019
Colibri iMX6 Solo 256MB
Wait mode Disabled
SMP support disabled
RTC origin set to: 2006/01/01.
Registry is empty or invalid. Loading default values.
Registry loaded.
Exception 'Prefetch Abort' (0x3): Thread-Id=00520002(pth=af802664), Proc-Id=00400002(pprc=82dfa5e0) 'NK.EXE', VM-active=00400002(pprc=82dfa5e0) 'NK.EXE'
PC=00000008(???+0x00000008) RA=80243938(kernel.dll+0x0001f938) SP=b38ffcd0, BVA=00000008

Hi @widtmann ,

Strangely it now seems to crash even earlier. I see options:

  1. OS Image is corrupt
  2. Some HW defect on SOC (RAM or CPU)

If the Exception you get is always exactly the same it would point towards 1)

→ You can try to reflash the OS Image

If the Exception keeps changing at each PowerCycle it’s more 2)

→ You can return the module if it’s still in warranty

The log message is not always the same:

Toradex Windows CE 7.0 1.6
 for iMX6 Built on Dec 23 2019
Colibri iMX6 Solo 256MB
Wait mode Disabled
SMP support disabled
RTC origin set to: 2006/01/01.
Registry is empty or invalid. Loading default values.
Registry loaded.

Toradex Windows CE 7.0 1.6
 for iMX6 Built on Dec 23 2019
Colibri iMX6 Solo 256MB
Wait mode Disabled
SMP support disabled
RTC origin set to: 2006/01/01.
Registry is empty or invalid. Loading default values.
Registry loaded.
Exception 'Prefetch Abort' (0x3): Thread-Id=00520002(pth=af802664), Proc-Id=00400002(pprc=82dfa5e0) 'NK.EXE', VM-active=00400002(pprc=82dfa5e0) 'NK.EXE'
PC=00000008(???+0x00000008) RA=80243938(kernel.dll+0x0001f938) SP=b38ffcd0, BVA=00000008

Toradex Windows CE 7.0 1.6
 for iMX6 Built on Dec 23 2019
Colibri iMX6 Solo 256MB
Wait mode Disabled
SMP support disabled
RTC origin set to: 2006/01/01.
Registry is empty or invalid. Loading default values.
Registry loaded.
Exception 'Prefetch Abort' (0x3): Thread-Id=00520002(pth=af802664), Proc-Id=00400002(pprc=82dfa5e0) 'NK.EXE', VM-active=00400002(pprc=82dfa5e0) 'NK.EXE'
PC=00000008(???+0x00000008) RA=80243938(kernel.dll+0x0001f938) SP=b38ffcd0, BVA=00000008

Toradex Windows CE 7.0 1.6
 for iMX6 Built on Dec 23 2019
Colibri iMX6 Solo 256MB
Wait mode Disabled
SMP support disabled
RTC origin set to: 2006/01/01.
Registry is empty or invalid. Loading default values.
Registry loaded.
Loading GPIO Multiplexer...
Failed(0) Loading GPIO Multiplexer (0 ms)
Loading Clock...
GPU enabled.
DVFS not enabled.
Done Loading Clock (13 ms)
Exception 'Prefetch Abort' (0x3): Thread-Id=01430036(pth=af817000), Proc-Id=01eb001e(pprc=af8136b0) 'udevice.exe', VM-active=01eb001e(pprc=af8136b0) 'udevice.exe'
PC=40f16fe8(???+0x40f16fe8) RA=42706fe0(ntlmssp_svc.dll+0x00006fe0) SP=0016fd98, BVA=40f16fe8

Toradex Windows CE 7.0 1.6
 for iMX6 Built on Dec 23 2019
Colibri iMX6 Solo 256MB
Wait mode Disabled
SMP support disabled
RTC origin set to: 2006/01/01.
Registry is empty or invalid. Loading default values.
Registry loaded.
Exception 'Prefetch Abort' (0x3): Thread-Id=00520002(pth=af802664), Proc-Id=00400002(pprc=82dfa5e0) 'NK.EXE', VM-active=00400002(pprc=82dfa5e0) 'NK.EXE'
PC=00000008(???+0x00000008) RA=80243938(kernel.dll+0x0001f938) SP=b38ffcd0, BVA=00000008

Toradex Windows CE 7.0 1.6
 for iMX6 Built on Dec 23 2019
Colibri iMX6 Solo 256MB
Wait mode Disabled
SMP support disabled
RTC origin set to: 2006/01/01.
Registry is empty or invalid. Loading default values.
Registry loaded.

So it looks like a defective hardware. I still tried to reflash the OS image with the recovery script but it wasn’t successful:

bootfrom usb
bootfrom usb
System configured to boot from usb on next reset.
>
reboot
reboot
<LF>Commercial temperature grade DDR3 timings, 32bit bus width.
Trying to boot from USB SDP
SDP: initialize...
SDP: handle requests...
Downloading file of size 315968 to 0x177fffc0... done
Jumping to header at 0x177fffc0
Header Tag is not a IMX image
U-Boot 2016.11-1.8.0+g07edca0bb8 (Oct 19 2018 - 13:34:30 +0000)
CPU:   Freescale i.MX6SOLO rev1.4 at 792 MHz
Reset cause: POR
I2C:   ready
DRAM:  256 MiB
PMIC:  device id: 0x10, revision id: 0x21, programmed
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Using default environment
In:    serial_mxc
Out:   serial_mxc
Err:   serial_mxc
Model: Toradex Colibri iMX6 Solo 256MB V1.1A, Serial# 10617636
Serial Downloader recovery mode, using sdp command
Net:   using PHY at 0
FEC [PRIME]
Hit any key to stop autoboot:  0 
SDP: initialize...
SDP: handle requests...
Downloading file of size 20811492 to 0x12100000... done
Downloading file of size 303 to 0x12000000... done
Jumping to header at 0x12000000
Header Tag is not a IMX image
## Loading kernel from FIT Image at 12100000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  Linux Kernel 4.1
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x121000dc
     Data Size:    5097296 Bytes = 4.9 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x11000000
     Entry Point:  0x11000000
     Hash algo:    md5
     Hash value:   8c6222f12fcc545df9eb6d06ebd488ab
   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!

I’ll stop the investigations here and hope it was just a single case. Thank you for your support.

Thank you, I just started the RMA case.

You are welcome.

Hi @widtmann ,

Yes, i would say it’s a HW issue. Another possible cause could be that the eMMC device has reached end of life number of write/erase cycles. Do you write often to the eMMC device?

You can start an RMA case for this Unit, we will have a look here to tr to find out the exact cause of the problem,