Unable to Flashing Embedded Linux to VF61

I’ve been trying to flash the last image of Linux (Colibri_VF_LinuxImageV2.5_20151215.tar) for the last 2 days without success. The hardware I’m using is:

  • Colibri VF61, 256 MB, Version: 1.0B with “Colibri_VF_LinuxImageV2.1_20131129”.
  • Colibri Evaluation Board 3.2A

The procedure I am following is http://developer.toradex.com/knowledge-base/flashing-linux-on-vybrid-modules and trying to flashing from U-Boot, but the fact is that when I try to use the ‘run setupdate’ and ‘run update’ commands to update the module I get the following: "Error: “setupdate not defined” as you can see int the next image:


From this I assumed that the version of bootloader was old, so I tried to update it Flashing from Scratch. To achieve this I enter into recovery mode and run the serial recovery utility, specifically:

The utility imx_uart is called by the update shell script (which is contained in the downloaded image):
./update.sh -d /dev/ttyS0

In case RTS/CTS are not connected:
./update.sh -n -d /dev/ttyUSB0*

In the following image you can see the result of this procedure:


I do not know what the phrase “magic missmatch” means, but the truth is I’m stuck at this point and can not update the bootloader or image.

On my develop computer I’m using Ubuntu 12.04 LTS, I´m using the pre built virtual machine provide from this link:

http://developer.toradex.com/files/toradex-dev/uploads/media/Colibri/Linux/VM/Colibri-VF61-VB-disk1.vmdk (disk image, about 1.6GB)
http://developer.toradex.com/files/toradex-dev/uploads/media/Colibri/Linux/VM/Colibri-VF61-VB.ovf (Virtual Machine descriptor file, ~14KB)

Thaks a lot!

Does the serial USB device in Virtual Box is enabled ?
/dev/ttyS0 in article is provided as an example one need to select appropriate serial tty device.
May be this link helps with the hints on enabling USB devices on Virtual Box.

Since you have a running boot loader, I would recommend to use the old boot loader. There is a note in the Flashing From U-Boot chapter with a command which shows how to use the flashing scripts using an older boot loader:

mmc rescan; fatload mmc 0:1 ${loadaddr} flash_mmc.img; source ${loadaddr}

Unfortunately the serial loader is at times quite troublesome to get running. There is a special character sequence which need to be exchange between the module and the host, it seems that the module did not send the right sequence. There could be several reasons: Did you shorten the RTS/CTS pins on module side (see this article)? Make sure the module is really in recover mode by pressing and holding the recovery button, then press the power button while still holding the recovery mode button for another 1-2 seconds. After the release of the recovery mode button, the module should be in recovery mode.

Thanks stefan! I just test the command and get the following:


It’s like board_name is not in the enviroment?

If I run the env print command this is what I see:


Thanks bhuvanchandra.dv! Yes, it’s enabled and working!

Hm, I see your U-Boot is actually quite old. Since we only shipped a small amount with that old software preinstalled, we actually don’t test upgrade using this version anymore, sorry about that.

Try setting the variable manually before executing the mmc commands by using:

setenv board_name colibri_vf

If that does not work out, despite what I said earlier, flashing from scratch might be the better option.

ok, I just did that and seems to start flashing, but I get this:

link text

After the reset it stay there forever…

On the other hand, I tried to flash it from scratch…but without succesfull either.

PD: I attached the log because if not I excced character limit

Oh I see, you have a 1.0 module… Those early samples have a routing issue with audio. You need to disable the AC97 driver (e.g. in the device tree or using a custom kernel configuration). However, in order to have Audio support and get around issues in the future I would recommend to use one of the newer modules.