[LEDE-DEV] WRT1900ACS - Kernel 4.4.12 boot failure
Dheeran Senthilvel
dheeranmech at gmail.com
Sun Jun 5 11:09:18 PDT 2016
Hi,
Compiled build r504 followed by clean build. Still not clear what is causing the boot error mentioned previously in mailing list - May 2016.
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Dheeran Senthilvel
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Syrone Wong
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Felix Fietkau
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Dheeran Senthilvel
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Dheeran Senthilvel
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Felix Fietkau
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Dheeran Senthilvel
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Dheeran Senthilvel
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Dheeran Senthilvel
• [LEDE-DEV] WRT1900ACS - Kernel 4.4.11 boot failure Dheeran Senthilvel
Found some info that might help diagnose the problem.
=============== Initial Boot_Official Firm ==================
__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__|
** LOADER **
U-Boot 2013.01 (Mar 27 2015 - 16:50:46) Marvell version: 2014_T3.0p6
Boot version : v1.0.13
Board: RD-NAS-88F6820-DDR3
SoC: MV88F6820 Rev A0
running 2 CPUs
CPU: ARM Cortex A9 MPCore (Rev 1) LE
CPU 0
CPU @ 1600 [MHz]
L2 @ 800 [MHz]
TClock @ 200 [MHz]
DDR @ 800 [MHz]
DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM: 512 MiB
Map: Code: 0x1fea9000:0x1ff7632c
BSS: 0x1ffef6b4
Stack: 0x1f9a8f20
Heap: 0x1f9a9000:0x1fea9000
raise: Signal # 8 caught
U-ENV offset == 0x200000
raise: Signal # 8 caught
U-ENV offset == 0x200000
U-Boot Environment: 0x00200000:0x00220000 (NAND)
NAND: 128 MiB
MMC: mv_sdh: 0
DEVINFO offset == 0x900000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
*** Warning - bad CRC, using default environment
S-ENV offset == 0x240000
#### auto_recovery ####
[u_env] get auto_recovery == yes
[u_env] get auto_recovery == yes
[u_env] get boot_part == 1
[u_env] get boot_part_ready == 3
auto_recovery enabled:1, boot_part:1, boot_part_ready:3
S-ENV offset == 0x240000
[boot_count_read] block:0x240000, size:128KB, records:64
[boot_count_read_record] boot_count:0, next_record:47
[boot_count_write] erase:0, auto_recovery->block_offset:0x240000 offset=0x257800
Updating boot_count ...
[boot_count_write] offset:0x257800 , length:2048
done
PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
USB2.0 0: Host Mode
USB3.0 1: Host Mode
USB3.0 0: Host Mode
Board configuration detected:
mvEthE6171SwitchBasicInit init
Net:
| port | Interface | PHY address |
|--------|-----------|--------------|
| egiga0 | RGMII | 0x01 |
| egiga1 | SGMII | 0x00 |
egiga0 [PRIME], egiga1
auto_recovery_check changes bootcmd: run nandboot
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0xa00000, size 0x600000
6291456 bytes read: OK
## Booting kernel from Legacy Image at 02000000 ...
Image Name: Linksys WRT1900ACS Router
Created: 2015-10
———x———x———x———x———
=============== Initial Boot_LEDE(r504) ==================
__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__|
** LOADER **
U-Boot 2013.01 (Mar 27 2015 - 16:50:46) Marvell version: 2014_T3.0p6
Boot version : v1.0.13
Board: RD-NAS-88F6820-DDR3
SoC: MV88F6820 Rev A0
running 2 CPUs
CPU: ARM Cortex A9 MPCore (Rev 1) LE
CPU 0
CPU @ 1600 [MHz]
L2 @ 800 [MHz]
TClock @ 200 [MHz]
DDR @ 800 [MHz]
DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM: 512 MiB
Map: Code: 0x1fea9000:0x1ff7632c
BSS: 0x1ffef6b4
Stack: 0x1f9a8f20
Heap: 0x1f9a9000:0x1fea9000
raise: Signal # 8 caught
U-ENV offset == 0x200000
raise: Signal # 8 caught
U-ENV offset == 0x200000
U-Boot Environment: 0x00200000:0x00220000 (NAND)
NAND: 128 MiB
MMC: mv_sdh: 0
DEVINFO offset == 0x900000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
S-ENV offset == 0x240000
#### auto_recovery ####
[u_env] get auto_recovery == yes
[u_env] get auto_recovery == yes
[u_env] get boot_part == <NULL>
set boot_part=1 as default value at u_env
[u_env] get boot_part_ready == <NULL>
set boot_part_ready=3 as default value at u_env
auto_recovery enabled:1, boot_part:1, boot_part_ready:3
S-ENV offset == 0x240000
[boot_count_read] block:0x240000, size:128KB, records:64
[boot_count_read_record] boot_count:0, next_record:60
[boot_count_write] erase:0, auto_recovery->block_offset:0x240000 offset=0x25E000
Updating boot_count ...
[boot_count_write] offset:0x25E000 , length:2048
done
PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
USB2.0 0: Host Mode
USB3.0 1: Host Mode
USB3.0 0: Host Mode
Board configuration detected:
mvEthE6171SwitchBasicInit init
Net:
| port | Interface | PHY address |
|--------|-----------|--------------|
| egiga0 | RGMII | 0x01 |
| egiga1 | SGMII | 0x00 |
egiga0 [PRIME], egiga1
auto_recovery_check changes bootcmd: run nandboot
Hit any key to stop autoboot: 0
## Error: "nandboot" not defined
== 1st try ==
__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__|
** LOADER **
U-Boot 2013.01 (Mar 27 2015 - 16:50:46) Marvell version: 2014_T3.0p6
Boot version : v1.0.13
Board: RD-NAS-88F6820-DDR3
SoC: MV88F6820 Rev A0
running 2 CPUs
CPU: ARM Cortex A9 MPCore (Rev 1) LE
CPU 0
CPU @ 1600 [MHz]
L2 @ 800 [MHz]
TClock @ 200 [MHz]
DDR @ 800 [MHz]
DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM: 512 MiB
Map: Code: 0x1fea9000:0x1ff7632c
BSS: 0x1ffef6b4
Stack: 0x1f9a8f20
Heap: 0x1f9a9000:0x1fea9000
raise: Signal # 8 caught
U-ENV offset == 0x200000
raise: Signal # 8 caught
U-ENV offset == 0x200000
U-Boot Environment: 0x00200000:0x00220000 (NAND)
NAND: 128 MiB
MMC: mv_sdh: 0
DEVINFO offset == 0x900000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
S-ENV offset == 0x240000
#### auto_recovery ####
[u_env] get auto_recovery == yes
[u_env] get auto_recovery == yes
[u_env] get boot_part == <NULL>
set boot_part=1 as default value at u_env
[u_env] get boot_part_ready == <NULL>
set boot_part_ready=3 as default value at u_env
auto_recovery enabled:1, boot_part:1, boot_part_ready:3
S-ENV offset == 0x240000
[boot_count_read] block:0x240000, size:128KB, records:64
[boot_count_read_record] boot_count:1, next_record:61
[boot_count_write] erase:0, auto_recovery->block_offset:0x240000 offset=0x25E800
Updating boot_count ...
[boot_count_write] offset:0x25E800 , length:2048
done
PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
USB2.0 0: Host Mode
USB3.0 1: Host Mode
USB3.0 0: Host Mode
Board configuration detected:
mvEthE6171SwitchBasicInit init
Net:
| port | Interface | PHY address |
|--------|-----------|--------------|
| egiga0 | RGMII | 0x01 |
| egiga1 | SGMII | 0x00 |
egiga0 [PRIME], egiga1
auto_recovery_check changes bootcmd: run nandboot
Hit any key to stop autoboot: 0
## Error: "nandboot" not defined
Marvell>> reset
resetting ...
== 2nd Try ==
__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__|
** LOADER **
U-Boot 2013.01 (Mar 27 2015 - 16:50:46) Marvell version: 2014_T3.0p6
Boot version : v1.0.13
Board: RD-NAS-88F6820-DDR3
SoC: MV88F6820 Rev A0
running 2 CPUs
CPU: ARM Cortex A9 MPCore (Rev 1) LE
CPU 0
CPU @ 1600 [MHz]
L2 @ 800 [MHz]
TClock @ 200 [MHz]
DDR @ 800 [MHz]
DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM: 512 MiB
Map: Code: 0x1fea9000:0x1ff7632c
BSS: 0x1ffef6b4
Stack: 0x1f9a8f20
Heap: 0x1f9a9000:0x1fea9000
raise: Signal # 8 caught
U-ENV offset == 0x200000
raise: Signal # 8 caught
U-ENV offset == 0x200000
U-Boot Environment: 0x00200000:0x00220000 (NAND)
NAND: 128 MiB
MMC: mv_sdh: 0
DEVINFO offset == 0x900000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
S-ENV offset == 0x240000
#### auto_recovery ####
[u_env] get auto_recovery == yes
[u_env] get auto_recovery == yes
[u_env] get boot_part == <NULL>
set boot_part=1 as default value at u_env
[u_env] get boot_part_ready == <NULL>
set boot_part_ready=3 as default value at u_env
auto_recovery enabled:1, boot_part:1, boot_part_ready:3
S-ENV offset == 0x240000
[boot_count_read] block:0x240000, size:128KB, records:64
[boot_count_read_record] boot_count:2, next_record:62
[boot_count_write] erase:0, auto_recovery->block_offset:0x240000 offset=0x25F000
Updating boot_count ...
[boot_count_write] offset:0x25F000 , length:2048
done
PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
USB2.0 0: Host Mode
USB3.0 1: Host Mode
USB3.0 0: Host Mode
Board configuration detected:
mvEthE6171SwitchBasicInit init
Net:
| port | Interface | PHY address |
|--------|-----------|--------------|
| egiga0 | RGMII | 0x01 |
| egiga1 | SGMII | 0x00 |
egiga0 [PRIME], egiga1
auto_recovery_check changes bootcmd: run nandboot
Hit any key to stop autoboot: 0
## Error: "nandboot" not defined
Marvell>> reset
resetting …
== 3rd Try == <Triggers Recovery>==
__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__|
** LOADER **
U-Boot 2013.01 (Mar 27 2015 - 16:50:46) Marvell version: 2014_T3.0p6
Boot version : v1.0.13
Board: RD-NAS-88F6820-DDR3
SoC: MV88F6820 Rev A0
running 2 CPUs
CPU: ARM Cortex A9 MPCore (Rev 1) LE
CPU 0
CPU @ 1600 [MHz]
L2 @ 800 [MHz]
TClock @ 200 [MHz]
DDR @ 800 [MHz]
DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM: 512 MiB
Map: Code: 0x1fea9000:0x1ff7632c
BSS: 0x1ffef6b4
Stack: 0x1f9a8f20
Heap: 0x1f9a9000:0x1fea9000
raise: Signal # 8 caught
U-ENV offset == 0x200000
raise: Signal # 8 caught
U-ENV offset == 0x200000
U-Boot Environment: 0x00200000:0x00220000 (NAND)
NAND: 128 MiB
MMC: mv_sdh: 0
DEVINFO offset == 0x900000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
S-ENV offset == 0x240000
#### auto_recovery ####
[u_env] get auto_recovery == yes
[u_env] get auto_recovery == yes
[u_env] get boot_part == <NULL>
set boot_part=1 as default value at u_env
[u_env] get boot_part_ready == <NULL>
set boot_part_ready=3 as default value at u_env
auto_recovery enabled:1, boot_part:1, boot_part_ready:3
S-ENV offset == 0x240000
[boot_count_read] block:0x240000, size:128KB, records:64
[boot_count_read_record] boot_count:3, next_record:63
[auto_recovery_init] BOOT_COUNT_TO_RECOVERY
[boot_count_write] erase:1, auto_recovery->block_offset:0x240000 offset=0x240000
Updating boot_count ...
[boot_count_write] offset:0x240000 , length:2048
done
PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
USB2.0 0: Host Mode
USB3.0 1: Host Mode
USB3.0 0: Host Mode
Board configuration detected:
mvEthE6171SwitchBasicInit init
Net:
| port | Interface | PHY address |
|--------|-----------|--------------|
| egiga0 | RGMII | 0x01 |
| egiga1 | SGMII | 0x00 |
egiga0 [PRIME], egiga1
Saving Environment to NAND...
U-ENV offset == 0x200000
Erasing Nand...
Writing to Nand... U-ENV offset == 0x200000
U-ENV offset == 0x200000
done
#### auto_recovery:2 ####
auto_recovery_check changes bootcmd: run altnandboot
Hit any key to stop autoboot: 0
## Error: "altnandboot" not defined
———x———x———x———x———
=============== Partition Table_Linux 3.18_Official Firm ==================
armada-nand f10d0000.nand: Initialize HAL based NFC in 8bit mode with DMA Disabled using BCH 4bit ECC
NAND device: Manufacturer ID: 0x01, Chip ID: 0xf1 (AMD/Spansion NAND 128MiB 3,3V 8-bit), 128MiB, page size: 2048, OOB size: 64
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
10 cmdlinepart partitions found on MTD device armada-nand
Creating 10 MTD partitions on "armada-nand":
0x000000000000-0x000000200000 : "uboot"
0x000000200000-0x000000240000 : "u_env"
0x000000240000-0x000000280000 : "s_env"
0x000000900000-0x000000a00000 : "devinfo"
0x000000a00000-0x000003200000 : "kernel"
0x000001000000-0x000003200000 : "rootfs"
0x000003200000-0x000005a00000 : "alt_kernel"
0x000003800000-0x000005a00000 : "alt_rootfs"
0x000000a00000-0x000005a00000 : "ubifs"
0x000005a00000-0x000008000000 : "syscfg"
=============== Partition Table_LEDE(r504) ==================
[ 0.917192] pxa3xx-nand f10d0000.flash: This platform can't do DMA on this device
[ 0.925008] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xf1
[ 0.931387] nand: AMD/Spansion S34ML01G2
[ 0.935334] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[ 0.942942] pxa3xx-nand f10d0000.flash: ECC strength 16, ECC step size 2048
[ 0.950120] Bad block table found at page 65472, version 0x01
[ 0.956233] Bad block table found at page 65408, version 0x01
[ 0.962275] 10 ofpart partitions found on MTD device pxa3xx_nand-0
[ 0.968479] Creating 10 MTD partitions on "pxa3xx_nand-0":
[ 0.973995] 0x000000000000-0x000000200000 : "u-boot"
[ 0.979273] 0x000000200000-0x000000240000 : "u_env"
[ 0.984435] 0x000000240000-0x000000280000 : "s_env"
[ 0.989586] 0x000000900000-0x000000a00000 : "devinfo"
[ 0.994927] 0x000000a00000-0x000003200000 : "kernel1"
[ 1.000279] 0x000001000000-0x000003200000 : "ubi"
[ 1.005307] 0x000003200000-0x000005a00000 : "kernel2"
[ 1.010650] 0x000003800000-0x000005a00000 : "rootfs2"
[ 1.015993] 0x000005a00000-0x000008000000 : "syscfg"
[ 1.021256] 0x000000280000-0x000000900000 : “unused_area”
———x———x———x———x———
Now running LEDE environment and collecting some more info:
=============== LEDE (r504) ================================
root at WRT1900ACS:/# cat /proc/mtd
dev: size erasesize name
mtd0: 00200000 00020000 "u-boot"
mtd1: 00040000 00020000 "u_env"
mtd2: 00040000 00020000 "s_env"
mtd3: 00100000 00020000 "devinfo"
mtd4: 02800000 00020000 "kernel1"
mtd5: 02200000 00020000 "ubi"
mtd6: 02800000 00020000 "kernel2"
mtd7: 02200000 00020000 "rootfs2"
mtd8: 02600000 00020000 "syscfg"
mtd9: 00680000 00020000 “unused_area”
root at WRT1900ACS:/# cat /etc/config/ubootenv
config ubootenv
option dev '/dev/mtd1'
option offset '0x0'
option envsize '0x20000'
option secsize '0x40000'
root at WRT1900ACS:/# cat /etc/fw_env.config
/dev/mtd1 0x0 0x20000 0x40000
root at WRT1900ACS:/# cat /etc/init.d/linksys_recovery
#!/bin/sh /etc/rc.common
# Copyright (C) 2015 OpenWrt.org
START=97
boot() {
. /lib/functions.sh
. /lib/mvebu.sh
case $(mvebu_board_name) in
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-xp-linksys-mamba)
# make sure auto_recovery in uboot is always on
AUTO_RECOVERY_ENA="`fw_printenv -n auto_recovery`"
if [ "$AUTO_RECOVERY_ENA" != "yes" ] ; then
fw_setenv auto_recovery yes
fi
# reset the boot counter
mtd resetbc s_env
root at WRT1900ACS:/# fw_printenv
bootcmd=bootp; setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; bootm
bootdelay=5
baudrate=115200
auto_recovery=yes
==>> see that fw_printenv doesn’t return a expected result, this shows problem with boot variables. (May be MTD partition layout is to be blamed)
Moreover from the moment LEDE switched over to 4.4.11 the firmwares built manually and those obtained from the repo are not flash-able from official firmware, boots to official firmware after trying to flash LEDE. They need to be done serially through tftp.
More information about the Lede-dev
mailing list