Belkin RT3200 (Linksys E8450) stuck in recovery mode

Hello All, This is my first ever attempt at flashing OpenWrt and I somehow messed it up.

I followed the guide by dangowrt and I'm currently stuck in recovery mode.

I used the Pre-release recovery-installer.itb from tag v1.1.0. I also tried to flash an older ubi sysupdate as well, but that wasn't successful either.

Here is my cat /sys/fs/pstore/* output. Can anybody please help?

Panic#1 Part1
<6>[    2.364883] pci 0000:01:00.0: supports D1 D2
<6>[    2.369148] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
<7>[    2.375787] pci 0000:01:00.0: PME# disabled
<6>[    2.380318] pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
<7>[    2.420407] pci_bus 0000:01: fixups for bus
<7>[    2.424609] pci_bus 0000:01: bus scan returning with max=01
<6>[    2.430210] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
<7>[    2.436838] pci_bus 0000:00: bus scan returning with max=01
<6>[    2.442445] pci 0000:00:00.0: BAR 0: no space for [mem size 0x200000000 64bit pref]
<6>[    2.450106] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x200000000 64bit pref]
<6>[    2.458126] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x201fffff]
<6>[    2.464934] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff 64bit pref]
<6>[    2.472782] pci 0000:01:00.0: BAR 2: assigned [mem 0x20100000-0x20103fff 64bit pref]
<6>[    2.480636] pci 0000:01:00.0: BAR 4: assigned [mem 0x20104000-0x20104fff 64bit pref]
<6>[    2.488472] pci 0000:00:00.0: PCI bridge to [bus 01]
<6>[    2.493455] pci 0000:00:00.0:   bridge window [mem 0x20000000-0x201fffff]
<7>[    2.500449] pcieport 0000:00:00.0: assign IRQ: got 130
<6>[    2.505601] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
<7>[    2.511733] pcieport 0000:00:00.0: enabling bus mastering
<7>[    2.517224] mtk-pcie 1a143000.pcie: msi#0 address_hi 0x0 address_lo 0x44efe0c0
<6>[    2.524758] pcieport 0000:00:00.0: PME: Signaling with IRQ 130
<7>[    2.530776] pcieport 0000:00:00.0: saving config space at offset 0x0 (reading 0x325814c3)
<7>[    2.538967] pcieport 0000:00:00.0: saving config space at offset 0x4 (reading 0x100006)
<7>[    2.547003] pcieport 0000:00:00.0: saving config space at offset 0x8 (reading 0x6040000)
<7>[    2.555110] pcieport 0000:00:00.0: saving config space at offset 0xc (reading 0x10000)
<7>[    2.563040] pcieport 0000:00:00.0: saving config space at offset 0x10 (reading 0xc)
<7>[    2.570709] pcieport 0000:00:00.0: saving config space at offset 0x14 (reading 0x0)
<7>[    2.578367] pcieport 0000:00:00.0: saving config space at offset 0x18 (reading 0x40010100)
<7>[    2.586641] pcieport 0000:00:00.0: saving config space at offset 0x1c (reading 0x4200000)
<7>[    2.594830] pcieport 0000:00:00.0: saving config space at offset 0x20 (reading 0x20102000)
<7>[    2.603112] pcieport 0000:00:00.0: saving config space at offset 0x24 (reading 0x0)
<7>[    2.610781] pcieport 0000:00:00.0: saving config space at offset 0x28 (reading 0x0)
<7>[    2.618439] pcieport 0000:00:00.0: saving config space at offset 0x2c (reading 0x0)
<7>[    2.626106] pcieport 0000:00:00.0: saving config space at offset 0x30 (reading 0x0)
<7>[    2.633774] pcieport 0000:00:00.0: saving config space at offset 0x34 (reading 0x50)
<7>[    2.641527] pcieport 0000:00:00.0: saving config space at offset 0x38 (reading 0x0)
<7>[    2.649185] pcieport 0000:00:00.0: saving config space at offset 0x3c (reading 0x20182)
<6>[    2.658077] mtk-pcie 1a145000.pcie: host bridge /pcie@1a145000 ranges:
<7>[    2.664686] mtk-pcie 1a145000.pcie: Parsing ranges property...
<6>[    2.670547] mtk-pcie 1a145000.pcie:      MEM 0x0028000000..0x002fffffff -> 0x0028000000
<6>[    3.010198] mtk-pcie 1a145000.pcie: Port1 link down
<6>[    3.015289] mtk-pcie 1a145000.pcie: PCI host bridge to bus 0001:00
<6>[    3.021497] pci_bus 0001:00: root bus resource [bus 00-ff]
<6>[    3.026986] pci_bus 0001:00: root bus resource [mem 0x28000000-0x2fffffff]
<7>[    3.033867] pci_bus 0001:00: scanning bus
<7>[    3.039696] pci_bus 0001:00: fixups for bus
<7>[    3.043886] pci_bus 0001:00: bus scan returning with max=00
<6>[    3.050172] mtk_hsdma 1b007000.dma-controller: MediaTek HSDMA driver registered
<6>[    3.058408] FIT: Detected U-Boot 2024.01-OpenWrt-r25239-a3a33f02ce
<6>[    3.064614] FIT: Selected configuration: "config-1" (OpenWrt linksys_e8450-ubi)
<6>[    3.071933] FIT:           kernel sub-image 0x00001000..0x0057b0a8 "kernel-1" (ARM64 OpenWrt Linux-6.1.78)
<6>[    3.081686] FIT:          flat_dt sub-image 0x0057c000..0x00583ab3 "fdt-1" (ARM64 OpenWrt linksys_e8450-ubi device tree blob)
<6>[    3.093083] FIT:       filesystem sub-image 0x00584000..0x009b2fff "rootfs-1" (ARM64 OpenWrt linksys_e8450-ubi rootfs)
<6>[    3.104329] block ubiblock0_5: mapped 1 uImage.FIT filesystem sub-image as /dev/fit0
<6>[    3.180925] mt7530-mdio mdio-bus:00: configuring for fixed/2500base-x link mode
<6>[    3.190194] mt7530-mdio mdio-bus:00: Link is Up - 2.5Gbps/Full - flow control rx/tx
<6>[    3.199153] mt7530-mdio mdio-bus:00 lan1 (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7531 PHY] (irq=133)
<6>[    3.220246] mt7530-mdio mdio-bus:00 lan2 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7531 PHY] (irq=134)
<6>[    3.240645] mt7530-mdio mdio-bus:00 lan3 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7531 PHY] (irq=135)
<6>[    3.261035] mt7530-mdio mdio-bus:00 lan4 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7531 PHY] (irq=136)
<6>[    3.281663] mt7530-mdio mdio-bus:00 wan (uninitialized): PHY [mt7530-0:04] driver [MediaTek MT7531 PHY] (irq=137)
<6>[    3.293066] device eth0 entered promiscuous mode
<6>[    3.297746] DSA: tree 0 setup
<5>[    3.301307] UBI: auto-attach mtd1
<3>[    3.304633] ubi: mtd1 is already attached to ubi0
<3>[    3.309328] UBI error: cannot attach mtd1
<6>[    3.314103] Freeing unused kernel memory: 448K
<6>[    3.350286] Run /init as init process
<7>[    3.353952]   with arguments:
<7>[    3.356912]     /init
<7>[    3.359179]   with environment:
<7>[    3.362333]     HOME=/
<7>[    3.364686]     TERM=linux
<14>[    3.543441] init: Console is alive
<14>[    3.546989] init: - watchdog -
<14>[    3.554065] kmodloader: loading kernel modules from /etc/modules-boot.d/*
<14>[    3.564852] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
<14>[    3.582413] init: - preinit -
<6>[    3.651831] mtk_soc_eth 1b100000.ethernet eth0: configuring for fixed/2500base-x link mode
<6>[    3.660315] mtk_soc_eth 1b100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
<6>[    3.668219] mt7530-mdio mdio-bus:00 lan1: configuring for phy/gmii link mode
<6>[    3.676705] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
<14>[    5.812132] procd: - early -
<14>[    5.815126] procd: - watchdog -
<14>[    6.355078] procd: - watchdog -
<14>[    6.358615] procd: - ubus -
<14>[    6.513558] procd: - init -
<14>[    6.719703] kmodloader: loading kernel modules from /etc/modules.d/*
<6>[    6.760583] PPP generic driver version 2.4.2
<6>[    6.766314] NET: Registered PF_PPPOX protocol family
<14>[    6.775009] kmodloader: done loading kernel modules from /etc/modules.d/*
<14>[    6.927820] urngd: v1.0.2 started.
<6>[   11.959581] mtk_soc_eth 1b100000.ethernet eth0: Link is Down
<6>[   11.973073] mtk_soc_eth 1b100000.ethernet eth0: configuring for fixed/2500base-x link mode
<6>[   11.985349] mtk_soc_eth 1b100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
<6>[   12.000198] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
<6>[   12.012737] mt7530-mdio mdio-bus:00 lan1: configuring for phy/gmii link mode
<6>[   12.027551] br-lan: port 1(lan1) entered blocking state
<6>[   12.032870] br-lan: port 1(lan1) entered disabled state
<6>[   12.042468] device lan1 entered promiscuous mode
<6>[   12.064843] mt7530-mdio mdio-bus:00 lan2: configuring for phy/gmii link mode
<6>[   12.076361] br-lan: port 2(lan2) entered blocking state
<6>[   12.081678] br-lan: port 2(lan2) entered disabled state
<6>[   12.092267] device lan2 entered promiscuous mode
<6>[   12.107098] mt7530-mdio mdio-bus:00 lan3: configuring for phy/gmii link mode
<6>[   12.117924] br-lan: port 3(lan3) entered blocking state
<6>[   12.123274] br-lan: port 3(lan3) entered disabled state
<6>[   12.130625] device lan3 entered promiscuous mode
<6>[   12.143417] mt7530-mdio mdio-bus:00 lan4: configuring for phy/gmii link mode
<6>[   12.154386] br-lan: port 4(lan4) entered blocking state
<6>[   12.159634] br-lan: port 4(lan4) entered disabled state
<6>[   12.167397] device lan4 entered promiscuous mode
<6>[   12.182968] mt7530-mdio mdio-bus:00 wan: configuring for phy/gmii link mode
<6>[   14.809337] mt7530-mdio mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[   14.817380] br-lan: port 1(lan1) entered blocking state
<6>[   14.822659] br-lan: port 1(lan1) entered forwarding state
<6>[   14.828724] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
<6>[  642.130734] sysrq: Trigger a crash
<0>[  642.134166] Kernel panic - not syncing: sysrq triggered crash
<2>[  642.139912] SMP: stopping secondary CPUs
<0>[  642.143845] Kernel Offset: disabled
<0>[  642.147329] CPU features: 0x00000,00400000,0000400b
<0>[  642.152210] Memory Limit: none

Adding a little more info here.. I saw these logs at reboot after the failed flash

root@OpenWrt:~# logread | grep err
Thu Jan  1 00:00:08 1970 kern.info kernel: [    0.000000] CPU features: detected: ARM erratum 843419
Thu Jan  1 00:00:08 1970 kern.err kernel: [    0.423410] mt7622-pinctrl 10211000.pinctrl: invalid group "pwm_ch7_2" for function "pwm"
Thu Jan  1 00:00:08 1970 kern.err kernel: [    0.436169] mt-pmic-pwrap 10001000.pwrap: unexpected interrupt int=0x1
Thu Jan  1 00:00:08 1970 kern.err kernel: [    1.189486] OF: Bad cell count for /spi@1100d000/flash@0/partitions
Thu Jan  1 00:00:08 1970 kern.err kernel: [    1.195774] OF: Bad cell count for /spi@1100d000/flash@0/partitions
Thu Jan  1 00:00:08 1970 kern.err kernel: [    1.706382] OF: Bad cell count for /spi@1100d000/flash@0/partitions
Thu Jan  1 00:00:08 1970 kern.err kernel: [    1.718613] OF: Bad cell count for /spi@1100d000/flash@0/partitions
Thu Jan  1 00:00:08 1970 kern.err kernel: [    3.303927] ubi: mtd1 is already attached to ubi0
Thu Jan  1 00:00:08 1970 kern.err kernel: [    3.308622] UBI error: cannot attach mtd1
Thu Jan  1 00:00:15 1970 daemon.err procd: Got unexpected signal 1

You need to use latest snapshot. You can build it yourself and add luci - https://firmware-selector.openwrt.org/
Be sure to use UBI version and to add luci, click on customise....

1 Like

Thanks for responding @Underworld

I tried flashing snapshot after building by following your link and I still got exactly the same error as before. I also tried to force flash 23.05.2 with exactly the same result.

Could my recovery be completely broken that it can't flash anything? Would my next step be trying to flash recovery installer via serial may be?

Unfortunatly, I will not be able to help you further. I still haven't moved mines RT3200 to kernel 6.1. I belive that @hnyman and @daniel can help you further - sorry guys to pin you.
Also please follow the RT3200 topic under the development section of the forum https://forum.openwrt.org/t/belkin-rt3200-linksys-e8450-wifi-ax-discussion/94302.
Good luck!
Kr
K

This looks like you did

echo c > /proc/sysrq-tigger

As a result, the crashlog now stored in pstore needs to be cleared to make the system go back to boot the regular production firmware. You can either delete the files in /sys/fs/pstore/ or simply disconnect the device from power and leaving it disconnected for more than 15 seconds should also reliable clear all RAM content (incl. pstore).

5 Likes

Your single comment clarified everything for me and I managed to get this sorted out. I didn't realize pstore is non-volatile and this is what keeping it in recovery mode(absolute noob here). For anybody reading this in future, here is how I fixed this;
As mentioned by @daniel, when pstore is cleared, it attempts to boot to prod firmware, but in my case, it doesn't load anything, because it seems due to a non existent/corrupted firmware(?).
So what I did was, built the latest snapshot UBI from the link from @Underworld, and scp it over to /tmp
Then ran sysupgrade -v /tmp/openwrt-a7a4510c0616-mediatek-mt7622-linksys_e8450-ubi-squashfs-sysupgrade.itb
It'll eventually reboot to the prod firmware from there. Big thank you to @daniel and @Underworld for your help!

2 Likes

It kind of is and kind of isn't. pstore does (and is meant to-) survive a reboot (including several reboots in a row, until the state is cleared explicitly), it can't survive a full power down though.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.