No VGA output + boot loading failed in Colibri T20 with colibri evaluation board v3.2!

Hi

My T20 module were working very well, suddenly it stopped!
I got two problems while trying to communicate with Colibri T20 ( v1.2 A 256MB ) using Colibri evaluation board (3.2V)

-1st problem :
when trying to connect to the module using VGA port it gives no output on display, even if I changed the display screen and double check the cable to be sure it is working fine!
Even if I replaced the T20 with another one

2nd problem :

when trying to communicate using serial port via USB B and setting the jumpers JP19,20,17 and JP21 with TeraTerm5 , the module was not booting

- Here is the Serial output :

==========================================================================

U-Boot hmq536-3-p1a (Apr 19 2016 - 11:44:20)

TEGRA2
DRAM: 256 MiB
NAND: 512 MiB
Board: Marine Pro
Missing Colibri config block
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
Creating 1 MTD partitions on “nand0”:
0x000001740000-0x00001ff00000 : “mtd=7”
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size: 262144 bytes (256 KiB)
UBI: logical eraseblock size: 253952 bytes
UBI: smallest flash I/O unit: 4096
UBI: VID header offset: 4096 (aligned 4096)
UBI: data offset: 8192
UBI: attached mtd1 to ubi0
UBI: MTD device name: “mtd=7”
UBI: MTD device size: 487 MiB
UBI: number of good PEBs: 1951
UBI: number of bad PEBs: 0
UBI: max. allowed volumes: 128
UBI: wear-leveling threshold: 4096
UBI: number of internal volumes: 1
UBI: number of user volumes: 1
UBI: available PEBs: 0
UBI: total number of reserved PEBs: 1951
UBI: number of PEBs reserved for bad PEB handling: 19
UBI: max/mean erase counter: 20/10
UBIFS: recovery needed
Read Page 0x94BF data ECC error
Read Page 0x94BF data ECC error
Read Page 0x94BF data ECC error
Read Page 0x94BF data ECC error
UBI error: ubi_io_read: error -5 while reading 253952 bytes from PEB 501:8192, read 249856 bytes
UBIFS error (pid 0): ubifs_start_scan: cannot read 253952 bytes from LEB 1842:0, error -5
Error reading superblock on volume ‘ubi:rootfs’!
(Re)start USB…
USB: 5 USB Device(s) found
scanning bus for storage devices… 0 Storage Device(s) found
scanning bus for ethernet devices… 1 Ethernet Device(s) found

** Invalid boot device **
UBIFS not mounted, use ubifs mount to mount volume first!
Using kernel and root filesystem on EXT2 formatted USB stick…
** Block device usb 0 not supported
Booting from UBI NAND…

Loading from nand0, offset 0xc80000
Image Name: Linux-3.1.10-hmq537-3-p1b
Created: 2015-04-28 6:50:18 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4145360 Bytes = 4 MiB
Load Address: 00008000
Entry Point: 00008000

#booting kernel from Legacy Image at 00408000 …

Image Name: Linux-3.1.10-hmq537-3-p1b
Created: 2015-04-28 6:50:18 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4145360 Bytes = 4 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

[ 3.648110] mcp251x spi1.0: MCP251x didn’t enter in conf mode after reset
[ 3.655145] mcp251x spi1.0: probe failed
[ 4.668074] mcp251x spi1.1: MCP251x didn’t enter in conf mode after reset
[ 4.675105] mcp251x spi1.1: probe failed
[ 4.907772] msg ft5x0x_read_reg i2c read error: -121
[ 5.134056] UBI error: ubi_io_read: error -74 (ECC error) while reading 253952 bytes from PEB 501:8192, read 253952 bytes
[ 5.145737] UBIFS error (pid 1): ubifs_recover_leb: corrupt empty space LEB 1842:221184, corruption starts at 30545
[ 5.156192] UBIFS error (pid 1): ubifs_scanned_corruption: corruption at LEB 1842:251729
[ 5.165782] UBIFS error (pid 1): ubifs_recover_leb: LEB 1842 scanning failed
[ 5.208251] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 5.216547] [] (unwind_backtrace+0x0/0xec) from [] (dump_stack+0x20/0x24)
[ 5.225097] [] (dump_stack+0x20/0x24) from [] (panic+0x7c/0x1ac)
[ 5.232869] [] (panic+0x7c/0x1ac) from [] (mount_block_root+0x1d4/0x218)
[ 5.241326] [] (mount_block_root+0x1d4/0x218) from [] (prepare_namespace+0x94/0x194)
[ 5.250823] [] (prepare_namespace+0x94/0x194) from [] (kernel_init+0x104/0x134)
[ 5.259902] [] (kernel_init+0x104/0x134) from [] (kernel_thread_exit+0x0/0x8)
[ 5.268790] CPU0: stopping
[ 5.271509] [] (unwind_backtrace+0x0/0xec) from [] (dump_stack+0x20/0x24)
[ 5.280040] [] (dump_stack+0x20/0x24) from [] (do_IPI+0xe4/0x1b4)
[ 5.287891] [] (do_IPI+0xe4/0x1b4) from [] (__irq_svc+0x38/0xd0)
[ 5.295637] Exception stack(0xc0841c78 to 0xc0841cc0)
[ 5.300689] 1c60: 00000400 00000002
[ 5.308872] 1c80: 00000001 00000001 00000473 00000a0a 00000000 00000002 c80014e0 00000000
[ 5.317056] 1ca0: 00000000 c0841d8c 00000002 c0841cc0 c0046460 c0046480 20000113 ffffffff
[ 5.325252] [] (__irq_svc+0x38/0xd0) from [] (find_busiest_group+0x560/0x784)
[ 5.334134] [] (find_busiest_group+0x560/0x784) from [] (load_balance+0xdc/0x6c4)
[ 5.343364] [] (load_balance+0xdc/0x6c4) from [] (rebalance_domains+0xfc/0x18c)
[ 5.352418] [] (rebalance_domains+0xfc/0x18c) from [] (run_rebalance_domains+0x4c/0x12c)
[ 5.362265] [] (run_rebalance_domains+0x4c/0x12c) from [] (__do_softirq+0x118/0x25c)
[ 5.371757] [] (__do_softirq+0x118/0x25c) from [] (irq_exit+0x5c/0xc4)
[ 5.380030] [] (irq_exit+0x5c/0xc4) from [] (do_IPI+0xb4/0x1b4)
[ 5.387695] [] (do_IPI+0xb4/0x1b4) from [] (__irq_svc+0x38/0xd0)
[ 5.395441] Exception stack(0xc0841f00 to 0xc0841f48)
[ 5.400495] 1f00: c0841f50 000003e8 00000000 0000ed30 35596ba3 00000001 c081e22c 00000000
[ 5.408679] 1f20: 00000000 411fc090 00000000 c0841f6c 039e848f c0841f48 c0054804 c0036884
[ 5.416858] 1f40: 20000013 ffffffff
[ 5.420359] [] (__irq_svc+0x38/0xd0) from [] (tegra_idle_enter_lp3+0xf0/0x110)
[ 5.429343] [] (tegra_idle_enter_lp3+0xf0/0x110) from [] (cpuidle_idle_call+0x198/0x378)
[ 5.439183] [] (cpuidle_idle_call+0x198/0x378) from [] (cpu_idle+0x8c/0x104)
[ 5.447990] [] (cpu_idle+0x8c/0x104) from [] (rest_init+0x94/0xac)
[ 5.455919] [] (rest_init+0x94/0xac) from [] (start_kernel+0x2b8/0x30c)
[ 5.464279] [] (start_kernel+0x2b8/0x30c) from [<00008040>] (0x8040)

=============================================================================

FYI, The T20 module were installed in Auto-Maskin DCU210E Controller
I tried the terminal code ( uname -a) on another working T20 from another DCU 210E and I found that the Linux version used in all Auto-Maskin DCU 210E is ( Linux marine-pro 4.14.48-hmq537-4-p1a #1 SMP PREEMPT Mon Aug 20 17:04:12 CEST 2018 armv7l GNU/Linux )

Any help to recover the T20 module is highly appreciated,

Thanks in advance!

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

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


Hello! Thank you for reaching out with a detailed description of your situation. Let’s address the two issues you’re experiencing with your Colibri T20 on the Colibri Evaluation Board V3.2:


1. VGA Output Issue

You mentioned getting no VGA output, even after trying different screens, cables, and even modules.

  • On the Colibri Evaluation Board V3.2, the VGA signals are routed through the DVI-I connector (X5). Ensure that you are connecting your VGA cable to the DVI-I connector, not a simple VGA DB-15 port.
  • The relevant signals are CRT_RED, CRT_GREEN, CRT_BLUE, CRT_HSYNC, and CRT_VSYNC. These are available on the DVI-I connector for analog VGA output. Your display must support the required signal levels: +3.3V for RGB and +5V for sync lines.
  • Please double-check that the DVI-I connector is well seated and that neither the cable nor the display expects a DDC/I²C communication or powered pins not provided by the board.

For more information, please consult the evaluation board documentation:


2. Serial Port / Boot Issue (with Kernel Panic)

Your serial output indicates a NAND flash corruption, specifically:

UBI error: ubi_io_read: error -74 (ECC error)
UBIFS error: corrupt empty space LEB …
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

This is preventing the root filesystem from mounting. Most likely causes are:

  • The NAND flash has developed uncorrectable errors (often age or excessive writes).
  • The UBIFS (flash filesystem) is unable to recover the corrupted Logical Erase Block (LEB).

Recovery Steps

A. Prepare for Recovery

  • The module attempts USB recovery automatically in your logs (“Using kernel and root filesystem on EXT2 formatted USB stick…”), but is unable to find a bootable USB device.
  • Typically, you would need a recovery image (bootloader and rootfs) for your exact hardware/software setup. Since this is an Auto-Maskin Marine Pro custom firmware, only the manufacturer can provide the correct image. Using the wrong image can irreversibly break their specific application/software stack.
  • However, for standard Toradex modules, you would normally follow these steps:

B. USB Recovery Procedure Overview

  1. Create a bootable USB stick

    • Download or request a suitable recovery image from your system provider (Auto-Maskin).
    • The USB stick must be formatted (generally FAT32/EXT2, as required), and the image provided must be present at the correct location.
  2. Plug the USB stick into the Evaluation Board

    • Power off the system, insert the USB stick, and power on.
    • Watch the serial console for any messages about finding and booting from the USB stick.
  3. Reflash or Restore

    • If the image loads, follow any on-screen instructions to reflash or restore the OS.

C. NAND Recovery (for Standard Toradex Images)
If the filesystem is corrupt and you have access to Toradex-provided images, please refer to the following (skip if you must use custom/Auto-Maskin images):

D. Hardware Issues

Since you see the same issue on several modules, also check:

  • Is the evaluation board supplying stable 3.3V/5V power?
  • Are all jumpers set according to the carrier board documentation?
  • Double-check that UART_A is used for the debug console, with serial settings 115200 baud, 8N1.

Summary

  • The VGA output is most likely not working due to a signal path or display mismatch—ensure the use of the DVI-I connector and correct signal level expectations.
  • The module’s NAND flash/UBIFS is corrupted. For custom firmware, the safest way forward is to obtain the proper recovery image from Auto-Maskin.
  • Try the USB recovery process as described above.
  • Make sure the carrier board and power supply are working reliably since multiple modules failing in the same way can sometimes indicate an external problem.

If you have any further questions or need clarification on any step, please let me know!

Best regards,
Toradex AI Assistant.

Colibri Evaluation Board family
Configuring serial port/debug console

@ToradexAI

For VGA output issue :

i’ve tried to get VGA output with DVI to VGA converter but it still no output coming on screen

For Boot issue :

i’ve tried to start with recovery mode but it didn’t work after trying two methods..
1st. using recovery mode push button on Eval. board
2nd. connecting the two pads which are existed over T20 module
both ways gives me the same result which is hanging out the module from starting with zero data coming on serial port also most of the leds on eval. board turned off after restarting while keeping recovery button pressed.

last but not least, this link is no longer available:

i still need support!

Thanks for your response.

Please remember to tick the “Solution” checkbox below if my response solves your question. If you have follow-up questions, just continue to tag me using @ToradexAI in your new posts.

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


Thank you for your detailed update.

1. VGA Output via DVI-I to VGA

On the Colibri Evaluation Board V3.2, the VGA output is provided through the DVI-I connector (X5), not a regular VGA port. However, not all modules or all DVI-to-VGA adapters are compatible:

  • The Colibri T20 supports analog VGA signals on the DVI-I connector, but your DVI-to-VGA converter must be a passive converter that exposes the analog pins. Active digital (DVI-D) converters will not work—make sure your adapter is marked as passive!
  • If you are using a regular DVI-D to VGA converter, it will not work, as the DVI-D type does not carry analog signals.
  • Check the carrier board and DVI-I connector X5 for damage. Try another passive DVI-I to VGA adapter and another monitor if possible.
  • Reference: Colibri Evaluation Board connector documentation

2. Recovery Mode is Not Working

Based on your description, you are using the correct hardware recovery procedures (either with the Eval board’s SW9/SW8 button sequence or by shorting the module’s pads). However, the result—no serial output and most board LEDs turning off—suggests one of these issues:

  1. Power Supply / Power Sequencing Problem

    • Ensure your power supply is stable and delivering the correct voltage/current.
    • If the module is attempting to enter recovery but draws more current, a weak supply could shut things down.
  2. USB Connection Requirements

    • You must use a USB 2.0 High-Speed–capable USB port and cable.
    • On the Eval board, connect a USB A to USB B cable to the X29 port.
    • Make sure your PC’s USB recognizes a new device when recovery mode is triggered. Recovery mode relies on USB enumeration (See recovery mode instructions here).
  3. Button Timing / Method

    • For buttons: Hold SW9 (Recovery), press/release SW8 (Reset), keep holding SW9 for 2–5 seconds, then release.
    • For manual pad shorting: Short the pads ONLY while powering the board on, then remove the short after power-on.
  4. Serial Output

    • When in recovery mode, you will not get standard serial/UART output. The device should enumerate as a USB device on your PC (NVIDIA USB recovery).
    • Check your PC’s Device Manager (Windows) or lsusb (Linux) for a device VID:PID from NVIDIA when recovery mode is active.

If the module and most LEDs shut off and you do not see a new device on your PC, it might be:

  • Insufficient power or board problem.
  • Faulty module preventing proper recovery.
  • Incorrect cables/connections.

3. Updated Links

The T20 recovery mode documentation can be found here:

4. Next Steps

  1. Double check USB client connection (X29 on eval board) and try a different PC USB port.
  2. Confirm that a new USB device appears on the host PC when entering recovery mode.
  3. Ensure you are using a passive DVI-I to VGA adapter.
  4. If recovery mode consistently shuts off the module (LEDs off, no USB enumeration), try with another power supply if available.

If you can confirm any device detection or have further results, let me know, and I’ll suggest the next steps!

Best regards,
Toradex AI Assistant


References:
Colibri Evaluation Board Information
Recovery Mode (T20)

Hi @arsca!

As you can see on our website, Colibri T20 is currently in end-of-life (EOL), which means it isn’t supported anymore and does not receive any updates or patches.

We recommend following our migration guide to choose the SoM that is most suitable for your use case.

That being said, the answer given by Toradex AI seems to be reasonable and a good starting point.

Best regards.

Hi

It is not supported for releasing new OS package or new bootloader and i understand!

But it is just a simple question and an experienced answer will not be a big deal with T20 module even in It’s EOL.

Upgrading to a new module is not an option because the SOM is customised by a marine controller manufacturer ( Auto-Maskin )
The linux package is ( Marine pro v. 4.4 ) as i mentioned above so it is a customised package and the maker will not give help for commercial purposes, that’s why i bought new Eval. Board and came a cross here for any kind of help to not loose the entire controller, because buying just a programmed T20 as a spare part is not an option.

I hope you understand the situation and how urgently i need help!!

Hi @arsca,

I just want to make sure I fully understand your setup — you’re using a Colibri T20 with an Evaluation Board running the “Marine” image, correct?

From the log you shared, I noticed a “Missing Colibri config block” message. From my understanding, this could potentially cause the module to malfunction, so it might be a good starting point for your investigation. You can find more information about config blocks and how to rewrite them in this article on our developer website.

That said, please keep in mind that this is an EOL module, so we can’t guarantee this procedure will resolve the issue.

Best regards,