ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry

Ivan Riabtsov ivriabtsov at gmail.com
Tue Jul 27 09:45:18 CEST 2021


Hi everyone. I have a boot problem on the imx28 board, the problem
repeats with kernels 4.14.67 and 5.10.50, so I decided to ask on the
u-boot mailing list as I think the problem is not kernel related, but
related to u-boot variables.
i have the following u-boot variables in boot.scr:

setenv mtdparts
"mtdparts="gpmi-nand:3m(bootloader)ro,512k(environment),512k(redundant-environment),8m(kernel),512k(fdt),8m(ramdisk),120m(filesystem),-(data)"";
setenv nandargs "setenv bootargs
console=${console_mainline},${baudrate} rootfstype=ubifs ubi.mtd=6
root=ubi0_0 ${mtdparts}";
setenv mmcroot "/dev/mmcblk0p3";
setenv nandboot "mtdparts default; run nandargs; nand read ${loadaddr}
kernel 0x00600000; if test ${boot_fdt} = yes; then nand read
${fdt_addr} fdt 0x00080000; bootz ${loadaddr} - ${fdt_addr}; else if
test ${boot_fdt} = no; then bootz; else echo \"ERROR: Set boot_fdt to
yes or no.\"; fi; fi";
setenv nandinstall "nand device 0; nand erase.part environment; nand
erase.part redundant-environment; run update_nand_firmware_full; run
update_nand_fdt; run update_nand_kernel; run update_nand_filesystem;
setenv -f bootcmd run nandboot; saveenv";
run nandinstall; run nandboot

i have the following message from kernel:

[    0.844421] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
[    0.850905] nand: Micron MT29F2G08ABAGAWP
[    0.855105] nand: 256 MiB, SLC, erase size: 128 KiB, page size:
2048, OOB size: 128
[    0.864171] Scanning device for bad blocks
[    0.869121] Bad eraseblock 1 at 0x000000020000
[    0.874013] Bad eraseblock 2 at 0x000000040000
[    0.878902] Bad eraseblock 3 at 0x000000060000
[    1.467707] 8 cmdlinepart partitions found on MTD device gpmi-nand
[    1.474039] Creating 8 MTD partitions on "gpmi-nand":
[    1.479226] 0x000000000000-0x000000300000 : "bootloader"
[    1.487702] 0x000000300000-0x000000380000 : "environment"
[    1.496007] 0x000000380000-0x000000400000 : "redundant-environment"
[    1.505268] 0x000000400000-0x000000c00000 : "kernel"
[    1.513550] 0x000000c00000-0x000000c80000 : "fdt"
[    1.521245] 0x000000c80000-0x000001480000 : "ramdisk"
[    1.529673] 0x000001480000-0x000008c80000 : "filesystem"
[    1.544252] 0x000008c80000-0x000010000000 : "data"
[    1.558113] gpmi-nand 8000c000.gpmi-nand: driver registered.

On the basis of which, I conclude that the parameters are passed to
the kernel correctly.

Bad blocks are not a problem, they are declared by the manufacturer.

and i have the following error from kernel:

[    2.059793] ubi0: attaching mtd6
[    2.102255] ubi0 error: ubi_io_read: error -74 (ECC error) while
reading 64 bytes from PEB 0:0, read 64 bytes
[    2.112325] CPU: 0 PID: 1 Comm: swapper Not tainted 5.10.50 #1
[    2.118272] Hardware name: Freescale MXS (Device Tree)
[    2.123582] [<c0010084>] (unwind_backtrace) from [<c000dea4>]
(show_stack+0x10/0x14)
[    2.131485] [<c000dea4>] (show_stack) from [<c03ce4fc>]
(ubi_io_read+0x110/0x2f0)
[    2.139122] [<c03ce4fc>] (ubi_io_read) from [<c03ce900>]
(ubi_io_read_ec_hdr+0x44/0x244)

Please, tell me in which direction to look for the causes of the
error, thank you very much.


More information about the U-Boot mailing list