Recovery mode colibri VF61 doesn't work

Hello everyone.

I deleted by misake the U-Boot from the NAND memory of the Colibri VF61 module.

I am using the update.sh script file to recovery it througout UART_A on Iris board, but i recive this message:

magic missmacth: response was 0x00000000

How can i recover the modle? I saw is possible to use USB OTG, but i don’t klnow what i need…

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello there!

I’m sorry to hear about the trouble with your Colibri VF61 module. Let’s work through the recovery process together. You have two main options: using the serial recovery method via UART_A or the USB OTG method. Here’s how you can proceed:

Serial Recovery via UART_A

  1. Check Connections:

    • Connect your Colibri VF61 module to your development PC using UART_A on the Iris board. Ensure that hardware flow control with RTS/CTS signals is used. If RTS/CTS are not connected, you can bridge them, but using them is recommended.
  2. Run the Recovery Utility:

    • Use the imx_uart utility, which is invoked by the update.sh script. If RTS/CTS are not connected, use the -n parameter to bypass flow control:
      ./update.sh -n
      
    • This command will download U-Boot to the module’s memory and start it. After downloading, you should see a serial console, which you can access using a terminal application like screen or minicom.
  3. Power Cycle the Module:

    • Once the bootloader is running, power cycle the module to clear the “enter recovery mode” flag, as a simple reset will not suffice.

USB OTG Recovery

If you prefer using USB OTG, follow these steps:

  1. Connect via USB OTG:

    • Connect the USB OTG port of the module to your PC using the appropriate USB cable.
  2. Enter Recovery Mode:

    • Follow the specific steps for entering recovery mode using USB OTG, which may involve setting certain pins or using a specific utility.
  3. Run the Recovery Process:

    • Use the appropriate tools and drivers on your PC to download and flash the bootloader via USB.

If you encounter any issues, double-check all connections and ensure that the correct parameters are used. This should help you successfully recover your Colibri VF61 module.

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

Recovery mode on Colibri VF61.

Recovery over USB doesn’t work on Colibri VF modules. Perhaps because VBUS is tied to 3V only GPIO, I’m not sure. Recovery over USB works well on FSL Vybrid Tower Board.

  • Try not using imx_uart --no-rtscst switch and instead tie RTS to CTS.
  • USB-RS232 dongle instead of PC COM port may help as well, especially by TX/RX feedback lights available on USB-RS232 dongles. No lights? Then just kill imx_uart and try again without waiting for a long
  • After you power up board with recovery pin shorted (recovery jumper on Iris|), don’t launch immediately recovery (and imx_uart). Better try flushing UART buffer first. You may just launch and exit serial terminal application for this. Then try recovery.sh/bat

Hello,

Thanks for your reply. I am trygin to flash the U-Boot to the VF module from Ubuntu. So i am not using directly “imx_uart”. i just execute update.sh to flash u-boot onto the module.
I am using a Dongle (USB - RS232), i executed the following:

./update.sh -n -d /dev/ttyUSB0

RST and CTS both are disconected then, in the dongle i can see green led blinking, but there are another LED (ORANGE or RED) that doesn’t work at all. Then not succeded (same message come up)

About this:

  • USB-RS232 dongle instead of PC COM port may help as well, especially by TX/RX feedback lights available on USB-RS232 dongles. No lights? Then just kill imx_uart and try again without waiting for a long

Should i try on Windows machine? yesterday i tried, message doesn’t come up but hangs on “starting associating phase…” message.

Now i tried what you said (tie RTS to CTS and execute without "–no-rtsc param) ireceive again magis mismatch, message but different number:

magic missmatch 0x000007c

Still doesn’t work :frowning:

My solution was to tie RTS to CTS and not rely on -n switch. -n never worked, neither from WIndows nor Linux. IMO -n or --no-rtscst should not be used.

TX? LED should start lighting almost immediately. No LED - don’t waste your time waiting, kill, cycle power with recovery jumper applied and try again.
Did you launch and close serial terminal before starting imx_uart / recovery? Try it, seems helping both on Linux and Windows.

Edit: BTW results may depend on your power supply. Powering up shouldn’t lead to glitch on RS232 TX, which may further lead your target to enter some irresponsive state. Lab PS with slow voltage rise, rising voltage manually may help.

Well finally seems works, i can run u-boot from SD. But when i run “run setupdate” command:

First it says Unable to read file colibri_VF/flash_blk.img
Bad device USB 0.

I cannot finish the installation of U-Boot on NAND memory…Why?

So, before run “run setupdate” do i have to copy from RAM to NAND the U-Boot? somethign like

nand write 0x1000000 0x0 0x40000?

You can’t boot Colibri VF u-boot from SD. For that you would need to irreversibly fuse your Colibri for SD, which, I doubt, is possible at all. Did you boot u-boot via UART?

colibri_vf/ folder with dtb files, kernel and *.ubifs should be on your SD card or USB flash drive. If U-boot usb start / usb reset commands are unable to see your flash drive, then perhaps version of U-boot you load via UART is unable to turn power on of your Iris USB connector. Just try putting your recovery files to uSD card.

Hello,
First i wanna you to know i really appreciate your help, thanks so much :).

I just tried the commands usb start and reset and it detects right. no mistakes here.

So, U-Boot is on my NAND already, right? if i power off and power on again the Board, U-Boot doesn’t starts… i need to execute, again the update.sh script over UART, and then, i can execute U-Boot…why? i did update.sh…so U-Boot is in nand…should starts automatically…isn’t?

It is weird, the files you mentioned are on the SD card…the output of the U-Boot when i run “run setupdate” is the following:

starting USB…
USB0: USB EHCI 1.00
USB1: USB EHCI 1.00
scanning bus 0 for devices… 1 USB Device(s) found
scanning bus 1 for devices… 1 USB Device(s) found
** Bad device usb 0 **
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.2
Filename ‘colibri_vf/flash_eth.img’.
Load address: 0x80008000
Loading: *

UPDATE:

Well finally seems run setupdate works, after this it finish with “reseting” message…and here it hangs. I restart board but U-Boot still doesn’t starts…what’s the next step?
I am new at this things so…so sorry for my questions.

> UPDATE 2

FInally it works, i followed the steps of recovery from scratch.

It installed boot and kernel on NAND memory…so now if i wanna install my own image generated by Yocto, do i need to following the same steps but substitute the files?

Easy way is flash on a SD the kernel and then execute run sdboot…but in nand memory it is angstrom (console version) installed…so i would like remove it (not u-boot!!) and install my own image…

Thanks for all!