This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x NAND uncorrectable ECC error



Hi,


I encountered a NAND issue on an AM335x custom hardware. This issue came up after about 1000 units were successfully tested without any issues.

U-Boot reports lots of "omap-elm: uncorrectable ECC errors" when reading from NAND. Issue came up with U-Boot 2014.10. But I went through all GPMC/NAND related changes in mainline U-Boot and cherry-picked those changes. This did not help. Also Linux is very unhappy with the NAND. Linux kernel is TI's 3.12.15 from the ti Linux repository.

The NAND chip is from Micron: MT29F2G08ABAEA.

U-Boot is configured like this:

#define CONFIG_SYS_NAND_5_ADDR_CYCLE
#define CONFIG_SYS_NAND_PAGE_COUNT      (CONFIG_SYS_NAND_BLOCK_SIZE / \
                                         CONFIG_SYS_NAND_PAGE_SIZE)
#define CONFIG_SYS_NAND_PAGE_SIZE       2048
#define CONFIG_SYS_NAND_OOBSIZE         64
#define CONFIG_SYS_NAND_BLOCK_SIZE      (128*1024)
/* NAND: driver related configs */
#define CONFIG_NAND_OMAP_GPMC
#define CONFIG_NAND_OMAP_ELM
#define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
#define CONFIG_SYS_NAND_ECCPOS          { 2, 3, 4, 5, 6, 7, 8, 9, \
                                         10, 11, 12, 13, 14, 15, 16, 17, \
                                         18, 19, 20, 21, 22, 23, 24, 25, \
                                         26, 27, 28, 29, 30, 31, 32, 33, \
                                         34, 35, 36, 37, 38, 39, 40, 41, \
                                         42, 43, 44, 45, 46, 47, 48, 49, \
                                         50, 51, 52, 53, 54, 55, 56, 57, }

#define CONFIG_SYS_NAND_ECCSIZE         512
#define CONFIG_SYS_NAND_ECCBYTES        14
#define CONFIG_SYS_NAND_ONFI_DETECTION


This is the simple test from U-Boot:

U-Boot# nand erase.chip

NAND erase.chip: device 0 whole chip
Erasing at 0xffe0000 -- 100% complete.
OK
U-Boot# fatload mmc 0 82000000 MLO
reading MLO
76436 bytes read in 9 ms (8.1 MiB/s)
U-Boot# nand write 82000000 0 ${filesize}

NAND write: device 0 offset 0x0, size 0x12a94
 76436 bytes written: OK
U-Boot# nand read 82000000 0 ${filesize}

NAND read: device 0 offset 0x0, size 0x12a94
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
...
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
 76436 bytes read: OK
U-Boot#


Then I did some hacking and found out a strange behavior. Perhaps that might lead to an idea.

I wrote some pattern 0x12345678 to NAND and then did some read tests:

U-Boot# nand read 82100000 0 800

NAND read: device 0 offset 0x0, size 0x800
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
 2048 bytes read: OK
U-Boot# nand read 82100000 0 100

NAND read: device 0 offset 0x0, size 0x100                         (so reading 0x100 fails)
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
 256 bytes read: OK
U-Boot# nand read 82100000 0 1

NAND read: device 0 offset 0x0, size 0x1
 1 bytes read: OK
U-Boot# nand read 82100000 0 100

NAND read: device 0 offset 0x0, size 0x100                         (now reading 0x100 is fine)
 256 bytes read: OK
U-Boot# nand read 82100000 0 800

NAND read: device 0 offset 0x0, size 0x800
 2048 bytes read: OK
U-Boot# nand read 82100000 0 1000

NAND read: device 0 offset 0x0, size 0x1000
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
 4096 bytes read: OK
U-Boot# nand read 82100000 0 800

NAND read: device 0 offset 0x0, size 0x800
 2048 bytes read: OK
U-Boot# nand read 82100000 0 1000

NAND read: device 0 offset 0x0, size 0x1000
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
 4096 bytes read: OK
U-Boot# nand read 82100000 0 800

NAND read: device 0 offset 0x0, size 0x800
 2048 bytes read: OK
U-Boot# nand read 82100000 0 800

NAND read: device 0 offset 0x0, size 0x800
 2048 bytes read: OK
U-Boot# nand read 82100000 0 800

NAND read: device 0 offset 0x0, size 0x800
 2048 bytes read: OK
U-Boot# nand read 82100000 0 800

NAND read: device 0 offset 0x0, size 0x800
 2048 bytes read: OK
U-Boot# nand read 82100000 0 801

NAND read: device 0 offset 0x0, size 0x801
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
 2049 bytes read: OK
U-Boot# nand read 82100000 0 800

NAND read: device 0 offset 0x0, size 0x800
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
 2048 bytes read: OK
U-Boot#

Any idea? I went through lots of NAND related postings but did not catch a clue. Maybe a hardware issue, but the NAND
 is directly attached to the Sitara CPU with only pullups on CE, WP# and WAIT#. And lots of boards are fine!

Best regards,

Matthias

  • Hi Biser,

    I went through that page. My U-Boot config is identical to the BCH8_HW setup. So this does not help.

    Regards,
    Matthias
  • Is this a single board, or do you see the same behavior on multiple boards?
  • Let's say the initial 1000 boards were fine. But now several boards have this issue. I have no exact numbers yet. But yes, multiple boards.

    Regards,
    Matthias
  • Hi,

    I switched to an other affected unit. This one did not see my "nand erase.chip" command.
    U-Boot was bootet from SD card. During boot it tries to read its environment from NAND. That's where
    the NAND read access in the following dump comes from:

    U-Boot 2014.10 (Dec 02 2015 - 12:13:22)

    Watchdog enabled
    I2C: ready
    DRAM: 512 MiB
    NAND: 256 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    nand: bit-flip corrected @oob=3
    nand: bit-flip corrected @oob=3
    nand: bit-flip corrected @oob=3
    nand: bit-flip corrected @oob=2
    nand: bit-flip corrected @oob=2
    nand: bit-flip corrected @oob=1
    nand: bit-flip corrected @oob=1
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    nand: bit-flip corrected @oob=3
    nand: bit-flip corrected @oob=3
    nand: bit-flip corrected @oob=3
    nand: bit-flip corrected @oob=2
    nand: bit-flip corrected @oob=2
    nand: bit-flip corrected @oob=1
    nand: bit-flip corrected @oob=1

    Then I the the prompt.

    After a "nand erase.chip" and some nand writes I never get the bit-flips again.

    Matthias
  • I will ask the factory experts for suggestions on this issue. They will post directly here.
  • Hi,

    I faced same issue, did you solve the problem?

  • I get the "omap-elm: uncorrectable ECC errors" message at only spl stage. I can write uboot environment to the nand no problem.
    Below is my consol out:
    U-Boot SPL 2016.05-00230-g120a8a3-dirty (Aug 28 2016 - 18:19:02)
    Trying to boot from NAND
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    omap-elm: uncorrectable ECC errors
    The Expected Linux image was not found. Please check your NAND configuration.
    Trying to start u-boot now...
    am335x-finesbc
    ###burda 0Selecting config 'am335x-evm'

    U-Boot 2016.05-00230-g120a8a3-dirty (Aug 28 2016 - 18:19:02 +0300)

    Watchdog enabled
    I2C: ready
    DRAM: 256 MiB
    NAND: 512 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    *** Warning - bad CRC, using default environment

    <ethaddr> not set. Validating first E-fuse MAC
    Net: cpsw, usb_ether
    Press SPACE to abort autoboot in 2 seconds
    => setenv ipaddr 192.168.1.3
    => setenv serverip 192.168.1.2
    => saveenv
    Saving Environment to NAND...
    Erasing redundant NAND...
    Erasing at 0x1e0000 -- 100% complete.
    Writing to redundant NAND... OK
  • Hi,

    yes, the problem is solved. I hacked U-Boot to hex dump some of the NAND flash ID bytes. Even though all parts where labled correctly as a MT29F2G08ABAEAWP (READID: 2c da 90 95 06) the affected boards report 2c da 00 96 86. This is from a MT29F2G08ABAEAWP-E with internal ECC enabled. These do not work out-of-the-box with U-Boot. So the issue was caused by incorrect package markings. Hard to find.


    Don't ask how that could have happened.


    Matthias

  • Hi Matthias!

    Can you show, how you got NAND chipID by u-boot?

  • Hi Denis,

    this is not supported out-of-the-box. I added some debug output into our U-Boot sourcecode during

    analysis. I removed this later.


    I added this debug message in nand_base.c:nand_get_flash_type() after the READID command.

    Note: these are references to U-Boot 2014.10.

    Hope this helps.

    Matthias