Replacing U-boot in Colibri IMX6ULL

Hello,

When IMX6ULL is powered on , there is no output on the serial console.So i put the board into recovery mode by following the link : iMX Recovery Mode .

Once in recovery mode i use the imx_usb loader : GitHub - boundarydevices/imx_usb_loader: USB & UART loader for i.MX5/6/7/8 series to load prebuilt u-boot-nand.imx.

The board boots up , and i use tftp/nfs to load kernel and rootfs.
1 . I follow the link : Colibri iMX7 Firmware Update - Toradex Community ,
to update the u-boot , there are no errors displayed. But , on restarting the board does not boot.
2. The same is the case when i use the ‘run setupdate’ , ‘run update’ commands from u-boot.The steps are a success on restart it does not boot.
3. The same happens when i update the u-boot-nand.imx from the u-boot.

Please let me know if i any additional steps need to be taken care of.

Thank you

The recommended way to update a whole image including a U_Boot is by using Toradex Easy Installer. Please follow this article - https://developer.toradex.com/software/toradex-easy-installer

Thank you for the reply.So, i am now trying to replace the whole image via Toradex Easy Installer. As i do not have the easy installer in my board, i download the image from ‘Load Toardex Easy Installer’ section and run recovery-linux.sh on my linux-PC (while the board is in recovery mode). It boots up (i can check in my serial console).

I do not have a display, so i can connect via vncviewer, for which i require an IP, according to the TEZI the IP is ‘192.168.11.1’, which i should be able to check by running the command ‘ip addr show eth0’ (I have USB/otg cable plugged in to the otg port of the board).

But when i run the command in the serial console i do not see the IP address.
Hence unable to connect via vncviewer.
Could you please let me know about what i might be missing.

Thank you

Hi @kavya

‘ip addr show eth0’

The interface of RNDIS is called usb0. You can check this with ifconfig. eth0 is the Ethernet Interface which needs Ethernet connection and a proper network setup.

But when i run the command in the serial console i do not see the IP address. Hence unable to connect via vncviewer. Could you please let me know about what i might be missing.

Did you try to connect to the Ip address 192.168.11.1?

yes, i forgot to mention , but i checked with ifconfig as well. I tried connecting to 192.168.11.1 via vncviewer, but it does not connect.
ifconfig does not show usb0.

Could you share the dmesg log and the output of lsusb and ifconfig command?

U-Boot 2016.11-1.8.0+g07edca0bb8 (Oct 19 2018 - 13:34:09 +0000)                 
                                                                                
CPU:   Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)                   
CPU:   Industrial temperature grade (-40C to 105C) at 44C                       
Reset cause: POR                                                                
DRAM:  512 MiB                                                                  
NAND:  512 MiB                                                                  
MMC:   FSL_SDHC: 0                                                              
Using default environment                                                       
                                                                                
Video: 640x480x18                                                               
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
MISSING TORADEX CONFIG BLOCK                                                    
Model: Toradex Colibri iMX6ULL                                                  
Serial Downloader recovery mode, using sdp command                              
Net:   FEC0                                                                     
Hit any key to stop autoboot:  0                                                
SDP: initialize...                                                              
SDP: handle requests...                                                         
Downloading file of size 20856020 to 0x82100000... done                         
Downloading file of size 237 to 0x82000000... done                              
Jumping to header at 0x82000000                                                 
Header Tag is not a IMX image                                                   
## Loading kernel from FIT Image at 82100000 ...                                
   Using 'config@1' configuration                                               
   Trying 'kernel@1' kernel subimage                                            
     Description:  Linux Kernel 4.1                                             
     Type:         Kernel Image                                                 
     Compression:  uncompressed                                                 
     Data Start:   0x821000e0                                                   
     Data Size:    4887376 Bytes = 4.7 MiB                                      
     Architecture: ARM                                                          
     OS:           Linux                                                        
     Load Address: 0x81000000                                                   
     Entry Point:  0x81000000                                                   
     Hash algo:    md5                                                          
     Hash value:   5b8a3fa97134f80a06ee830c58e75dcf                             
   Verifying Hash Integrity ... md5+ OK                                         
## Loading ramdisk from FIT Image at 82100000 ...                               
   Using 'config@1' configuration                                               
   Trying 'ramdisk@1' ramdisk subimage                                          
     Description:  SquashFS RAMdisk                                             
     Type:         RAMDisk Image                                                
     Compression:  uncompressed                                                 
     Data Start:   0x825a9518                                                   
     Data Size:    15929344 Bytes = 15.2 MiB                                    
     Architecture: ARM                                                          
     OS:           Linux                                                        
     Load Address: unavailable                                                  
     Entry Point:  unavailable                                                  
     Hash algo:    md5                                                          
     Hash value:   fff196a3409547b7ed2046bf9081b3ff                             
   Verifying Hash Integrity ... md5+ OK                                         
## Loading fdt from FIT Image at 82100000 ...                                   
   Using 'config@1' configuration                                               
   Trying 'fdt@1' fdt subimage                                                  
     Description:  Colibri iMX6ULL Device Tree                                  
     Type:         Flat Device Tree                                             
     Compression:  uncompressed                                                 
     Data Start:   0x834da5e4                                                   
     Data Size:    37816 Bytes = 36.9 KiB                                       
     Architecture: ARM                                                          
     Hash algo:    md5                                                          
     Hash value:   f61ffa470f6c279d7fade885b5600b74                             
   Verifying Hash Integrity ... md5+ OK                                         
   Booting using the fdt blob at 0x834da5e4                                     
   Loading Kernel Image ... OK                                                  
   Loading Device Tree to 8fff3000, end 8ffff3b7 ... OK                         
   Updating MTD partitions...                                                   
                                                                                
Starting kernel ...                                                             
                                                                                
[    0.540602] gpmi-nand 1806000.gpmi-nand: mode:5 ,failed in set feature.      
[    0.588059] imx_usb 2184000.usb: Can't register ci_hdrc platform device, err7
Running /etc/rc.local...                                                        
Colibri-iMX6ULL_ToradexEasyInstaller_1.8-20181019                               
                                                                                
Welcome to Toradex Easy Installer                                               
                                                                                
This is a Linux based installer for Toradex modules. Currently the              
installer does not have a serial console interface. You can use the             
Toradex Easy Installer through any of the available display interfaces          
using USB mouse/keyboard or via network using VNC. Use:                         
  # ip addr show eth0                                                           
to display the Ethernet IP address or use USB RNDIS at IP 192.168.11.1.         
                                                                                
/ # ifconfig                                                                    
eth0      Link encap:Ethernet  HWaddr 00:14:2D:00:00:00                         
          UP BROADCAST MULTICAST  MTU:1500  Metric:1                            
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0                    
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0                  
          collisions:0 txqueuelen:1000                                          
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)                                
                                                                                
/ # lsusb                                                                       
Bus 001 Device 001: ID 1d6b:0002

You can place a TEZI compatible image to USB flash or SD card and change autoinstall value to true at json file. Than insert this media to your carrier board.and load TEZI. TEZI will automatically flash that image. Please check for more details here.

Thank you.

Could you please let me know the format for the image/folder layout in USB flash?
I downloaded ‘Toradex Embedded Linux Images’ for Colibri IMX6ULL under the ‘OS and demo images tab’ and extracted it to my USB flash.Then I run the TEZI (with autoinstall changed to true in image.json), but its the same output as mentioned above.
I could not find any information related to this.

There is nothing special about layout.

Format your USB media as FAT32 and unpack this file to a root. Then change a “autoinstall”: false, to “autoinstall”: true,
at /Colibri-iMX6ULL_Console-Image-Tezi_2.8b6.184/image.json

Thank you.
I followed the same but it does not work.
Also, could there be any particular reason that the usb0 does not show on ifconfig command ?

Thank you!!
This works, I am now able to update everything without any issues.

Yes, I believe the MISSING TORADEX CONFIG BLOCK is the culprit. In this case, one would need to recover it first which is usually done using the Toradex Easy Installer GUI. Alternatively, one could try doing this in U-Boot using its cfgblock create command. After that any- and everything should work as usual again (;-p).

Perfect. Thanks for the feedback.