Custom board stuck at bootloader

We are developing a board to host the Connectcard i.mx28. The modules boot to Linux just fine in the Digi dev kit, but moved to our board I get various errors.

Our board is designed to provide battery voltage (3.3V) rather than 5V. It also signals the module to boot (as required when on battery voltage).

When I got the board from the hardware guys, the module would halt at uboot with this error message:

incorrect image (no header or corrupted)

When I gave them the module it had a stock Linux image on it, so something in the development process must have nuked the flash.

When I try a new/stock module on our board, it also fails to boot but in a different way.

Battery Voltage = 3.40V
5v input not detected. Booting from battery              ?

*** FAILURE: memtest: wrote 0x00000001 @ 0x40000004, read 0x00000000
Battery Voltage = 3.35V
5v input not detected. Booting from battery

*** FAILURE: memtest: wrote 0x00000000 @ 0x40000000, read 0x00FF00FF

Moving this module back to the dev kit allows it to boot fine. Does anyone know what might be causing the module to fail memtest when on our hardware and how to fix it?

Are you usinf digi embedded Linux or digi embedded yocto?
What version?
Sounds like you are using an old U-boot.
Please update your DEL (if this is the one you are using) to the latest one and build a fresh u-boot. then try again and report.
FAILURE: memtest… error should be gone

These modules were stock from the factory. One identifies as

U-Boot 2009.08 - DUB- - (Nov 13 2013 - 11:38:48) - GCC 4.4.6
for ConnectCard for i.MX28

The other identifies as

U-Boot 2009.08 - DUB- - (Oct 04 2012 - 16:49:23) - GCC 4.4.6
for ConnectCard Wi-i.MX28

We are using DEY here. I will try flashing these modules. The puzzling thing (to me) is that I can move the module from our hardware to the Digi dev kit to “solve” the memtest issue.

I don’t know how to test my new u-boot. Can you point me in the right direction? I’m loading it over tftp:

CCARDWMX28 # tftpboot 0x42000000
Using FEC0 device
TFTP from server; our IP address is
Filename ‘’.
Load address: 0x42000000
Loading: ###################################
Bytes transferred = 504256 (7b1c0 hex)

Then I try to boot it:
CCARDWMX28 # bootm
Wrong Image Format for bootm command
ERROR: can’t get kernel image!

Apparently I can’t boot from memory with the bootm command. How do I do it?

please update uboot in flash:
update uboot tftp

or boot u-boot via USB, but the first option is easier and more preferable

Thanks for sticking with me. It was my plan to eventually update u-boot in flash, but I intended to run it from memory first to make sure there were no catastrophic errors. This was a common workflow in the last platform I worked on and saved me from committing a number of bad builds to flash. Maybe this is not common with ConnectCard.

Looks like there is a slight difference in what DEY is building and what my card expects:

CCARDWMX28 # update uboot tftp
Partition marked read-only / fixed. Do you want to continue?(y/n)y
Using FEC0 device
TFTP from server; our IP address is
Filename ‘’.
Load address: 0x42000000
TFTP error: ‘File not found’ (1)
Not retrying…
command tftp 0x42000000 failed

DEY reports supported platforms: ccardimx28js ccimx6sbc. ccardwmx28js-ivt is not offered. Is ccardimx28js similar enough to work?

I’ve done
update uboot tftp
update linux tftp
update rootfs tftp

Now when it boots from the dev kit (was working before), it stalls at
Starting kernel …

When I move it back to our hardware (had memtest issue before), I get
Undefined Ins
Undefined Ins
looping every few seconds.

U-boot version string:
U-Boot 2013.01 - dub- (Aug 04 2015 - 16:19:38) - GCC 4.8.2
for ConnectCard for i.MX28

Image Name: Linux-3.10.64-dey+g40258c7

try resetting NVRAM from U-boot:
env default -a

No change after env default -a (and I tried it again followed by saveenv). I still get nothing after
Starting Kernel …

One more thing: DEY built a .dtb file, but the u-boot update command won’t allow me to write it, because there is no fdt parition:
CCARDIMX28 # update fdt tftp
Partition fdt not found
CCARDIMX28 # flpart
Nr | Name | Start | Size | Type | FS | Flags

0 | Bstrm-U-Boot | 0 | 3 MiB | Bootstream | | fixed
1 | NVRAM | 3 MiB | 512 KiB | NVRAM | | fixed
2 | Kernel | 3584 KiB | 5 MiB | Linux/Android-Kernel | |
3 | RootFS | 8704 KiB | 115 MiB | Filesystem | JFFS2 | rootfs
4 | UserFS | 126464 KiB | 135680 KiB | Filesystem | JFFS2 |

Any further thoughts? We are stuck…

Solved. It was a hardware issue. We boosted our “battery” voltage (actually from a switching power supply) from 3.35V to 3.6V. At 3.6V, the ConnectCard boots and runs stable.