Flashing Colibri T30 from USB Stick

Hi,

I have started flashing ColibriT30 with Colibri-T30_LXDE-Image_2.8b6.184-20190401.tar.bz2

After following the prerequisites steps from Flashing Embedded Linux to Tegra Modules and Update the Linux Image - Colibri Evaluation Board,

[upload|ES1RMfqLiwTj8B65Qeddk+LwDSw=]
I have formatted the USB Stick using gparted as fat32.

Sending the command ./update.sh -o /usb_path/ to the path where the USB Stick has been mounted returns an error:

[upload|HNjNvzEptqRd8k9PWIWmEPxIZIA=]

But cbootimage is already installed:
[upload|0oQy0FVyZhJtWFBLBF/+UVcwKfU=]

Any suggestions please?

Thanks.

I guess you might be using an unsupported host distro. Which one exactly are you using? And please include textual log files rather than nonsensical screenshots. Thanks!

Thanks for getting back to me. Sorry for the screenshots earlier. I will send log files next time.

I am using Oracle VM Virtual Box running on Debian 8 (jessie) 32-bit:

typing uname -a returns with:

Linux debian 3.16.0-10-686-pae #1 SMP Debian 3.16.81-1 (2020-01-17) i686 GNU/Linux

If Debian is not supported, I could install Ubuntu which is listed under Prerequisites.

Is Ubuntu-18.04.3 supported?

Thanks.

I would stick to one of them 64-bit ones as listed here:

https://developer.toradex.com/knowledge-base/board-support-package/openembedded-(core)#Prerequisites

I believe to match our BSP 2.8 based on the Ångström Distribution v2017.12, OpenEmbedded rocko, Yocto Project version 2.4 Ubuntu 16.04 64-bit would be more suitable.

Thanks.

I will install, configure Ubuntu 16.04.6 64-bit on my virtual machine and try flashing the ColibriT30 with Colibri-T30_LXDE-Image_2.8b6.184-20190401 again.

Hopefully this will fix the issue I was experiencing earlier.

Sure and just let us know should you have any further questions or comments.

Thanks.

I have managed to set up the USB stick successfully.

But after sending ./update.sh -d to load the U-Boot bootloader to the T30 RAM, PuTTY screen displayed only half of the info while U-boot was loading:

U-Boot SPL 20166.11-2.8.6+g83a53c1c0c (Apr 01 2019 - 13:11:45)

Trying to boot from RAM

U-Boot 20166.11-2.8.6+g83a53c1c0c (Apr 01 2019 - 13:11:45 + 0000)

SoC: tegra30

Reset cause:POR

DRAM: 1GiB

MMC: Tegra SD/MMC:0, Tegra SD/MMC:1

***Warning -bad CRC, using default environment

and it stops here, without giving me the option to type in commands (next command according to https://developer.toradex.com/getting-started/module-1-from-the-box-to-the-shell/update-the-linux-image-colibri-evaluation-board?som=colibri-t30&board=colibri-evaluation-board would be Step 19. run setupdate).

Any suggestions please?

Kind regards.

Strange, that works just fine for me:

U-Boot SPL 2016.11-2.8.6+g83a53c1c0c (Apr 01 2019 - 13:11:45)
Trying to boot from RAM


U-Boot 2016.11-2.8.6+g83a53c1c0c (Apr 01 2019 - 13:11:45 +0000)

SoC: tegra30
Reset cause: POR
DRAM:  1 GiB
MMC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
In:    serial
Out:   serial
Err:   vidconsole
Model: Toradex Colibri T30 1GB V1.1F, Serial# 03076257
USB recovery mode, disabled autoboot
Net:   No ethernet found.
Colibri T30 #


U-Boot SPL 2016.11-2.8.6+g83a53c1c0c (Apr 01 2019 - 13:11:45)
Trying to boot from RAM


U-Boot 2016.11-2.8.6+g83a53c1c0c (Apr 01 2019 - 13:11:45 +0000)

SoC: tegra30
Reset cause: POR
DRAM:  1 GiB
MMC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
In:    serial
Out:   vidconsole
Err:   vidconsole
Model: Toradex Colibri T30 1GB IT V1.1B, Serial# 02845424
USB recovery mode, disabled autoboot
Net:   No ethernet found.
Colibri T30 # 

What exact hardware (module and carrier board) versions of things are you talking about?

Thanks.

I know, very strange indeed… I have tried several times, but the same thing happened.

I am using ColibriT30 1GB IT V1.1B, SN: 06511105 and Colibri Evaluation Board V3.1a, SN:00038345. Are these not compatible with each other? Or could it be a firmware issue?

Kind regards.

I am using ColibriT30 1GB IT V1.1B, SN: 06511105

And I used a Colibri T30 1GB IT V1.1B, Serial# 02845424 as the second target above.

and Colibri Evaluation Board V3.1a, SN:00038345

I used the later V3.2A version but I am not aware of any significant differences.

Are these not compatible with each other?

Not at all. This really should just workTM.

Or could it be a firmware issue?

I guess or some strange hardware issue. It’s just that I never heard of any such issue. Could you by any chance try this with a different Colibri T30 module? BTW: Is that module booting anything at all if just turned on without pressing the recovery mode button?

Thanks.

Sorry, we don’t have another T30 available.

The module seems to be booting OK when the carrier board is just turned on (all the LED lights are on, including Ethernet, USB, etc).

Perhaps I am missing something while following the flashing instructions - please let me know if the following are correct:

  1. Insert serial cable to (UART A on Colibri Evaluation Board and USB port on the PC at the other end) and Launch PuTTY to display the serial debug console.

  2. Plug in a mini USB cable to connect Colibri Evaluation Board with Linux PC.

  3. Insert USB stick populated with ./update.sh -o path_to_usb_stick

  4. Turn on the Evaluation Board and quickly press Space on PuTTY to enter command mode and type X followed by reboot rcm

  5. cd to Colibri T30 image folder on the Linux PC and send the command ./update.sh -d directly to the module via USB cable.

  6. PuTTY screen shows info about u-boot.

During step 6 mentioned above, it should return to command line, but it hangs after

*** Warning - bad CRC, using default environment.

I have also tried, several times, while PuTTY is connected, to reboot the Evaluation board and quickly press any key, but I can’t seem to be able to enter command mode (expecting to see Colibri T30#). Is there a specific instance any key should be pressed to stop auto booting?

Kind regards.

The module seems to be booting OK when the carrier board is just turned on (all the LED lights are on, including Ethernet, USB, etc).

And you don’t get any serial debug output? Have you tried both 9600 and 115200 baud?

'1. Insert serial cable to (UART A on Colibri Evaluation Board and USB port on the PC at the other end) and Launch PuTTY to display the serial debug console.

One could also just use X27 with a regular USB A to B cable with the integrated FTDI USB to serial chip. Remember to then change the jumper JP17 and JP19 to USB.

'2. Plug in a mini USB cable to connect Colibri Evaluation Board with Linux PC.

Either X29 USB-b or X30 micro-USB but never both!

'3. Insert USB stick populated with ./update.sh -o path_to_usb_stick

USB memory stick or SD card.

'4. Turn on the Evaluation Board and quickly press Space on PuTTY to enter command mode and type X followed by reboot rcm

That applies if the factory pre-installed WinCE/WEC is still running.

I have also tried, several times, while PuTTY is connected, to reboot the Evaluation board and quickly press any key, but I can’t seem to be able to enter command mode (expecting to see Colibri T30#). Is there a specific instance any key should be pressed to stop auto booting?

If it is a new module with WinCE/WEC still factory pre-installed, then you would need to press space to interrupt its Eboot loader. With U-Boot any key would interrupt auto boot.

Thanks for the explanations.

When the module is turned on normally (not in recovery mode), using PuTTY with 115200 baud rate, the following is displayed:

Toradex Bootloader 2.2 for Tegra Built Dec 7 2018 15:05:43

Press [SPACE] to enter Bootloader Menu

Colibri T30 1GB IT 1.1B Serial: 6511105

RAM: 1024 MB, CarveOut: 2 MB

Locating kernel image in flash…Done(620)

Decompressing IMAGE(26353307, 51248212) from FLASH(0) to RAM(800016000)…Done(476ms)

Jumping to image at 0x80016000…

And it stops here. Is this normal behaviour?

I believe Colibri T30 still has the factory WINCE image since I haven’t managed yet to run setupdate and run update commands.

Perhaps earlier the fact that I had both serial cable and mini USB connected the same time caused the issues mentioned so far.Could this have caused any damage to Colibri T30?..

I will try flashing using the mini USB cable only while the Evaluation board is in Recovery Mode and hopefully it will work.

Kind regards.

Thanks.

I have now tried Recovery Method using a mini USB cable only. Please let me know if I missed something:

  1. Plug in the mini USB cable, hold down Recovery Mode button on the Colibri Evaluation board while powering it up.
  2. Use ./update.sh -d to download u-boot into RAM. No errors were reported, last line is …/colibri-t30_bin/u-boot-dtb-tegra.bin sent successfully. Unplug mini USB cable.
  3. Insert USB stick (in my case) as populated with ./update.sh -o.
  4. Launch PuTTY to get a serial console ready for next commands.
  5. Press SPACE to open Bootloader menu.
  6. Press X to enter command mode.
  7. But typing in run setupdate returns with invalid command

I am definitely doing something wrong here…

Kind regards

And it stops here. Is this normal behaviour?

I guess that is a broken WinCE/WEC installation then with only the Eboot loader still launching.

I believe Colibri T30 still has the factory WINCE image since I haven’t managed yet to run setupdate and run update commands.

Yes, exactly. Or at least the Eboot boot loader thereof.

Perhaps earlier the fact that I had both serial cable and mini USB

I don’t think there is any mini-USB anywhere. You probably meant the stand-up micro-USB connector. I would rather recommend using the USB-B socket instead as it is much less fragile.

connected the same time caused the issues mentioned so far. Could this have caused any damage to Colibri T30?..

No, not at all. One can use either bottom X25 RS-232 or X27 USB-B selectable by jumpers JP-17 and JP-19. You may even have both plugged in but only the one selected by the jumpers will send/receive any serial debug UART communication.

I will try flashing using the mini USB cable only while the Evaluation board is in Recovery Mode and hopefully it will work.

No, the idea is really to have the serial debug console running at all times to really see exactly what is going on.

I have now tried Recovery Method using a mini USB cable only. Please let me know if I missed something:

I don’t think we do have any mini-USB interfaces. You probably meant micro-USB.

'4. Launch PuTTY to get a serial console ready for next commands.

I guess the idea would be to have the serial debug console running at all times.

Press SPACE to open Bootloader menu.

I guess until you now had the serial debug console running it may already have been too late. However, if using U-Boot in recovery mode it should actually abort auto booting anyway.

Press X to enter command mode.

That would be the procedure if the WinCE/WEC Eboot loader is running.

But typing in run setupdate returns with invalid command

Could you post the exact output thereof? Maybe it is Eboot running which would not accept any U-Boot commands but rather e.g. the following to enter recovery mode: reboot rcm.

I am definitely doing something wrong here…

I guess the complete textual serial debug console output may help us identify what exactly is going on.

Thanks for the explanations.

Sorry, yes, I have used a USB A to micro USB cable, not mini USB.

This time, I had PuTTY running at all times as you suggested.

I have also tried a different micro USB cable.

And it worked! It has returned to command mode and I was able to send run setupdate and run update without any problems.

[upload|l7DyxykIpEa6EOuGJ9zLuf0nL8o=]

But a FAILED message written in red caught my attention (Failed to start Commit a transient machine-id on disk). Should I worry about it?
[upload|e3hlq1nz8hZgbYk8JhozCtywzOI=]

Kind regards.

But a FAILED message written in red caught my attention (Failed to start Commit a transient machine-id on disk). Should I worry about it?

Probably, not. What does systemctl status systemd-machine-id-commit.service say?

It returns with Unknown command ‘systemctl’ - try 'help’
2055-screenshot-from-2020-02-03-15-49-57-systemctl-unkn.png

systemctl is a linux command not U-Boot, please run it from Linux Console.