Problem with Easy Installer on colibri imx6

I managed to use Easy Installer to program Colibri IMX6DL IT(V1.0B) and it works fine. However, when I using easy installer on Colibri IMX6DL(V1.0A) It no longer boot in u-boot and no console diplay. I can go to recovery mod and install easy installer again, but nothing change.
How can i use easy installer on Colibri IMX6DL(v1.0A)?

That could be fast boot mode fusing resp. configuration related. Could you try first installing a regular Embedded Linux demo image which should take care of it?

I recover my module with “update -d” from “Colibri-iMX6_LXDE-Image_2.7.4” bsp.
The generated file from “yocto” does not work but “update -d” woks fine.

Well, ./update.sh -d doesn’t really flash anything and you would still need to do run setupdate; run update with a previously prepared update media plugged-in. Alternatively just use the Toradex Easy Installer recovery mechanism and subsequently install one of our Embedded Linux demo images directly via Internet.

Actually I used run setupdate; run update and used a SD card that populated with update -o .I forgotten to mention that. My problem is when I used Toradex Easy Installer on Colibri IMX6DL(V1.0A), the board not boot any more. but Easy Installer is fine with Colibri IMX6DL IT(V1.0B) .

Yes, I fully understand. And what are the fast boot fuses set to (e.g. check with U-Boot command fuse sense 0 5)?

Word 0x00000005: 00005072

That looks fine. I just tried it again on exactly a Colibri iMX6DL V1.0A module and both the Toradex Easy Installer in recovery or installed as well as flashing stable 2.7 works/boots just fine. Could you outline again what exactly you are doing step-by-step and how that fails vs. what you would expect it to do?

I tested with new Colibri iMX6DL V1.0A.

It is wiered. when I run fuse sense 0 5 on Colibri iMX6DL V1.0A It says:
– Word 0x00000005: 00005062

but when I use Toradex easy installer, It write fuse bit and set it to 00005072.
but it no longer boot.

when I recover with update -d and run setupdate and run update, It boot fine next time I use Toradex easy installer. There is something update -d do but I’m not sure what???

We are very confused of what you actually do.

  1. What version of the image do you use for your tests with:

    update -d
    run setupdate
    run update

  2. What version of the Linux image do you flash with the Toradex Easy Installer?

  3. What version of the Toradex Easy Installer are you using?


… but it no longer boot. when I recover with update -d and run setupdate and run update, It boot fine next time I use Toradex easy installer. …

Does this mean that you

  • used the Toradex Easy Installer, afterwards you do not have U-Boot output
  • used recovery mode and did a ‘update -d; run setupdate ; run update’
  • U-Boot and Linux boots the new image
  • used the recovery mode from Toradex Easy Installer to install a image
  • U-Boot and Linux boots the now the Image installed by Toradex Easy Installer.

So after you used the the older update method with ‘update -d; run setupdate ; run update’ you can use the Toradex Easy Installer successfully?

I am sorry if not explained the issue very well.
I explain it again

  1. I used u-boot version
    u-boot-toradex_2016.11. u-boot,
    spl and image build with yocto
    toradex-morty.
  2. I program the colibri imx6 with
    easy installer 1.3.
  3. in Colibri IMX6DL(V1.0A) u-boot
    does not boot anymore after
    installing with toradex easy
    installer.(device broke)
  4. I recover the board with update -d, run setupdate, run update.( with the Colibri-iMX6_LXDE-Image_2.7.4 version)
  5. I program my board again with
    toradex easy installer again and I
    boot successfully after reboot.

So after you used the the older update
method with ‘update -d; run setupdate
; run update’ you can use the Toradex
Easy Installer successfully?
Exactly.

I think update -d do something that fix the issue. because after I recover my board with update -d, the Toradex Easy Installer woks fine.

So you are saying you are not flashing one of our regular Toradex Easy Installer demo image packages?

Could it be that whatever you flash from within the Toradex Easy Installer does not flash the SPL but only the U-Boot binary? That would explain why it works on the new modules which come pre-programmed with SPL already flashed vs. the old modules which did not yet use SPL back then.

Here is the part of image.json that Toradex Easy installer use:

{
    "name": "mmcblk0boot0",
    "content": {
        "rawfiles": [
            {
                "filename": "SPL",
                "dd_options": "seek=2"
            },
            {
                "filename": "u-boot.imx",
                "dd_options": "seek=138"
            }
        ],

I also used the default wrapup that is contained in toradex easy installer
I think easy installer write SPL and u-boot.

It would be really interesting to know whether the same issue would be seen if you flash our latest stable stock demo image (e.g. 2.7 at the time of this writing). Another thing which might reveal what exactly is going on is the Toradex Easy Installer log file (e.g. doing cat /var/volatile/tezi.log after flashing from within the Toradex Easy Installer).

@marcel.tx This is the cat /var/volatile/tezi.log ouput :

Progress: "Toradex Easy Installer: Writing raw files"
Raw dd file "SPL"
Running Write Command: sh ("-o", "pipefail", "-c", "cat SPL | pv -b -n 2>/var/vo
Finished writing after 0.036 seconds, 118383677 bytes total so far.
Raw dd file "u-boot.imx"
Running Write Command: sh ("-o", "pipefail", "-c", "cat u-boot.imx | pv -b -n 2>
Finished writing after 0.054 seconds, 118751097 bytes total so far.
Executing: /bin/sh ("/run/media/src/wrapup.sh", "0015", "V1.0A", "05116045", "/r
Env: ("PATH=/bin:/usr/bin:/sbin:/usr/sbin")
Output: "Fuse BOOT_CFG updated to 0x5072.
H/W Reset permanently enabled on /dev/mmcblk0
Changing ext_csd[BOOT_BUS_CONDITIONS] from 0x00 to 0x0a
Boot configuration bytes [PARTITION_CONFIG: 0x48]
Boot bus Conditions [BOOT_BUS_CONDITIONS: 0x0a]
H/W reset function [RST_N_FUNCTION]: 0x01
Warning: Bad CRC, using default environment
Apalis/Colibri iMX6 in-field hardware update script ended successfully.
"
Finished with exit code: 0
Progress: "Finish writing (syncing)"

I have some fw_setenve In bottom of wrapup script and when I remove them the problem goes away.
I tested and found out that before fw_setenv the PARTITION_CONFIG = 0x48 and after fw_setenve the PARTITION_CONFIG = 0x00. So I placed fw_setenve in start of the wrapup script

Yes, I believe after changing the PARTITION_CONFIG one needs to restart as any other eMMC access will corrupt the same.