Belkin RT3200/Linksys E8450 WiFi AX discussion

No, this is not deliberately caused by Belkin or Linksys. The firmware on devices bought today is still from October 2020 (version 1.01 afaik), there was no OpenWrt port back then...
The problem is that the (previously hacky/messy) SPI-NAND driver was replaced/updated with a rewrite by MediaTek which is a shared implementation used in TF-A, U-Boot and Linux (which makes maintainance much easier in the long run).
(Un)fortunately the new driver gives error correction/detection feedback and apparently the OOB data is different depending on which driver is being used. So while everything written before the switch is still readable the driver reports fixing bit-flips which results in mt76 and other not using data in flash which was written in factory.
When using the UBI variant the installer itself takes care of that and re-writes the relevant parts of the factory partition (and anyway removes/replaces everything else). To use the non-UBI build you will have to manually re-write factory partition (ie. attach serial port, interrupt the bootloader and load initramfs via TFTP, then read and write back factory MTD partition) as there is no other way to do that right now.

1 Like

So it's go full UBI or nothing. :disappointed: Since the non-ubi builds no longer work, the powers that be may want to remove them and update the wiki to reflect this since this is now a one way street. Still strongly considering taking the ubi plunge though I have always preferred a road back to stock just in case.

1 Like

Well this gives me mixed feelings. On one hand I'm happy we have a uniformed and correct driver implementation, on the other hand I don't want to install snapshot permanently and was totally gonna do extroot. I'm planning to run docker so 128M is not enough anyway.

Also once you update factory can original firmware still boot? If it doesn't then non ubi is dead as a rock. I'm still betting on a non ubi for next release though.

I noticed this issue also, but only having HE160 alone (even if it switches to 2x2 streams) was such strong point for me to make the switch to the new OpenWrt. Anyway, it looks strange that the "official" documentation does not mention this capability for MT7915 chipsets but I suspect it's just a certification issue, meaning the chip is capable but the wi-fi certification would have increased the price and the product would have not been interesting for implementers/customers. I think this is a common practice to "update" an existing certification for an old product with new revisions instead of submiting new ones. Maybe we'll see in the near future the same chipset with 6 GHz capabilities, without mentioning it.

I hope non-ubi is fixed soon as well. I am still on the fence about going UBI and NEVER being able to revert back to stock but it may be the only way to get openwrt on this thing.

If you follow the guide for the UBI conversion, there will be a step for backing up the stock partitions, which you can later on restore. There's no guide for restoring, though, so you'll have to get through that process by yourself.

I found the snapshots to be quite stable. There are a few kinks (like the "reboot to recovery mode" in case of certain errors, where you have to manually reboot to get back to normal), however with the recent mt76 driver update, these errors seem to be gone. With attended sysupgrade, you can update it easily, and include packages you need right in the image. Hopefully the next release cut happens soon, and we get stable builds.

Re: docker, I found it far from usable. The USB2 port is a very limiting factor (at best you'll get speeds around 30-40MBps, slower than an "application" rated microSD), and I've seen some erratic behaviour when using extroot (containers randomly crashing, not starting up on boot). You might be better off running your containers on a separate host, like a Pi4.

@daniel do you think that a temporary fix could be added to the non-UBI builds? I'm thinking something along the lines of adding the part of the UBI conversion script that fixes these NAND issues, to be run on first boot (or maybe even during the update, if possible?). I'm not sure if it would cause issues with the stock firmware, though. As a stopgap measure, the non-UBI builds should be disabled for the time being, and a warning should be added to the wiki. Not sure if there's anything else to do, since this issue does not render the units unusable (as it boots back into the stock one), but the builds since the NAND driver change will not work on non-UBI installs, which is a serious issue.

@daniel I have got another crash and reboot into recovery, this time i recovered the pstore in full:

Oops#1 Part1
<7>[    9.327792] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
<7>[    9.338519] mt7915e 0000:01:00.0: assign IRQ: got 143
<7>[    9.343665] pci 0000:00:00.0: enabling bus mastering
<6>[    9.348715] mt7915e 0000:01:00.0: enabling device (0000 -> 0002)
<7>[    9.354812] mt7915e 0000:01:00.0: enabling bus mastering
<6>[    9.382265] mt7622-wmac 18000000.wmac: HW/SW Version: 0x8a108a10, Build Time: 20190801210006a
<6>[    9.382265] 
<6>[    9.425138] mt7915e 0000:01:00.0: HW/SW Version: 0x8a108a10, Build Time: 20201105222230a
<6>[    9.425138] 
<6>[    9.466652] mt7622-wmac 18000000.wmac: N9 Firmware Version: 2.0, Build Time: 20200131180931
<6>[    9.563126] mt7915e 0000:01:00.0: WM Firmware Version: ____000000, Build Time: 20201105222304
<6>[    9.585525] mt7915e 0000:01:00.0: WA Firmware Version: DEV_000000, Build Time: 20201105222323
<4>[    9.736858] mt7915e: probe of 0000:01:00.0 failed with error -22
<6>[    9.750549] PPP generic driver version 2.4.2
<6>[    9.756135] NET: Registered protocol family 24
<14>[    9.768838] kmodloader: done loading kernel modules from /etc/modules.d/*
<6>[   10.648086] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: 
<6>[   13.304500] mtk_soc_eth 1b100000.ethernet eth0: Link is Down
<6>[   13.313775] mtk_soc_eth 1b100000.ethernet eth0: configuring for fixed/2500base-x link mode
<6>[   13.322426] mtk_soc_eth 1b100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
<6>[   13.324479] mt7530 mdio-bus:00 lan1: configuring for phy/gmii link mode
<6>[   13.340892] 8021q: adding VLAN 0 to HW filter on device lan1
<6>[   13.350432] br-lan: port 1(lan1) entered blocking state
<6>[   13.355816] br-lan: port 1(lan1) entered disabled state
<6>[   13.363316] device lan1 entered promiscuous mode
<6>[   13.368074] device eth0 entered promiscuous mode
<6>[   13.379533] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
<6>[   13.393851] mt7530 mdio-bus:00 lan2: configuring for phy/gmii link mode
<6>[   13.408056] 8021q: adding VLAN 0 to HW filter on device lan2
<6>[   13.417691] br-lan: port 2(lan2) entered blocking state
<6>[   13.422972] br-lan: port 2(lan2) entered disabled state
<6>[   13.429370] device lan2 entered promiscuous mode
<6>[   13.440567] mt7530 mdio-bus:00 lan3: configuring for phy/gmii link mode
<6>[   13.447958] 8021q: adding VLAN 0 to HW filter on device lan3
<6>[   13.456065] br-lan: port 3(lan3) entered blocking state
<6>[   13.461295] br-lan: port 3(lan3) entered disabled state
<6>[   13.470128] device lan3 entered promiscuous mode
<6>[   13.481232] mt7530 mdio-bus:00 lan4: configuring for phy/gmii link mode
<6>[   13.489208] 8021q: adding VLAN 0 to HW filter on device lan4
<6>[   13.498444] br-lan: port 4(lan4) entered blocking state
<6>[   13.503736] br-lan: port 4(lan4) entered disabled state
<6>[   13.510972] device lan4 entered promiscuous mode
<6>[   13.522384] mt7530 mdio-bus:00 wan: configuring for phy/gmii link mode
<6>[   13.529721] 8021q: adding VLAN 0 to HW filter on device wan
<6>[   13.541206] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[   13.552029] IPv6: ADDRCONF(NETDEV_CHANGE): wan: link becomes ready
<4>[   14.029937] netlink: 'iw': attribute type 302 has an invalid length.
<6>[   14.288564] br-lan: port 5(wlan0) entered blocking state
<6>[   14.293885] br-lan: port 5(wlan0) entered disabled state
<6>[   14.299508] device wlan0 entered promiscuous mode
<6>[   14.304393] br-lan: port 5(wlan0) entered blocking state
<6>[   14.309758] br-lan: port 5(wlan0) entered forwarding state
<6>[   14.315886] br-lan: port 5(wlan0) entered disabled state
<6>[   20.999663] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
<6>[   21.006149] br-lan: port 5(wlan0) entered blocking state
<6>[   21.011490] br-lan: port 5(wlan0) entered forwarding state
<6>[   21.017336] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
<14>[  120.481289] kmodloader: loading kernel modules from /etc/modules.d/*
<14>[  120.495297] kmodloader: done loading kernel modules from /etc/modules.d/*
<14>[  120.570463] kmodloader: loading kernel modules from /etc/modules.d/*
<14>[  120.578891] kmodloader: done loading kernel modules from /etc/modules.d/*
<6>[89572.733018] mt7530 mdio-bus:00 wan: Link is Down
<6>[89582.094175] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[93173.195478] mt7530 mdio-bus:00 wan: Link is Down
<6>[93181.516565] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[264157.695665] mt7530 mdio-bus:00 wan: Link is Down
<6>[264162.896203] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[267761.278154] mt7530 mdio-bus:00 wan: Link is Down
<6>[267767.518134] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[271356.537920] mt7530 mdio-bus:00 wan: Link is Down
<6>[271362.780049] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[442349.352076] mt7530 mdio-bus:00 wan: Link is Down
<6>[442359.752596] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[445953.974310] mt7530 mdio-bus:00 wan: Link is Down
<6>[445962.294582] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[449554.435180] mt7530 mdio-bus:00 wan: Link is Down
<6>[449563.796664] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[453150.736417] mt7530 mdio-bus:00 wan: Link is Down
<6>[453158.017730] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[456757.437511] mt7530 mdio-bus:00 wan: Link is Down
<6>[456763.678974] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<1>[473297.412693] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
<1>[473297.421572] Mem abort info:
<1>[473297.424444]   ESR = 0x96000005
<1>[473297.427575]   EC = 0x25: DABT (current EL), IL = 32 bits
<1>[473297.432979]   SET = 0, FnV = 0
<1>[473297.436133]   EA = 0, S1PTW = 0
<1>[473297.439353] Data abort info:
<1>[473297.442332]   ISV = 0, ISS = 0x00000005
<1>[473297.446294]   CM = 0, WnR = 0
<1>[473297.449341] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000042b54000
<1>[473297.455868] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
<0>[473297.464741] Internal error: Oops: 96000005 [#1] SMP
<7>[473297.469695] Modules linked in: nf_conntrack_netlink nfnetlink pppoe ppp_async iptable_nat xt_state xt_nat xt_conntrack xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD xt_CT pppox ppp_generic nf_nat nf_flow_table nf_conntrack mt7915e mt7615e mt7615_common mt76_connac_lib mt76 mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG slhc nf_reject_ipv4 nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_filter ip_tables hwmon crc_ccitt compat nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 seqiv uas usb_storage leds_gpio xhci_plat_hcd fsl_mph_dr_of ehci_platform ehci_fsl ehci_hcd gpio_button_hotplug
<7>[473297.533016] CPU: 0 PID: 1178 Comm: napi/phy0-6 Tainted: G S                5.10.72 #0
<7>[473297.540920] Hardware name: Linksys E8450 (UBI) (DT)
<7>[473297.545876] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO BTYPE=--)
<7>[473297.551971] pc : mt76_tx_status_skb_get+0xd8/0xf0 [mt76]
<7>[473297.557365] lr : mt7615_tx_token_put+0x250/0x3a4 [mt7615_common]
<7>[473297.563448] sp : ffffffc0122bbb90
<7>[473297.566839] x29: ffffffc0122bbb90 x28: 0000000000000040 
<7>[473297.572230] x27: 0000000040000000 x26: ffffff80020fa800 
<7>[473297.577621] x25: 000000000000007f x24: 0000000000000000 
<7>[473297.583012] x23: 0000000000000082 x22: ffffff8002b82004 
<7>[473297.588403] x21: ffffff80020fd960 x20: ffffff80028bf918 
<7>[473297.593794] x19: ffffff80020fa800 x18: ffffffc010ca1c90 
<7>[473297.599185] x17: 00000000ffffffff x16: 0000000000000000 
<7>[473297.604576] x15: 00000000436c3000 x14: 0000000000001920 
<7>[473297.609967] x13: 0000000000000338 x12: 0000000000000c90 
<7>[473297.615358] x11: ffffff80020fc800 x10: ffffffc010a96000 
<7>[473297.620749] x9 : 0000000000000064 x8 : ffffff80020fa800 
<7>[473297.626139] x7 : ffffff80020fc950 x6 : 0000000000000000 
<7>[473297.631529] x5 : 000000000000007f x4 : 0000000000000000 
<7>[473297.636920] x3 : ffffffc0122bbbe8 x2 : 0000000000000082 
<7>[473297.642310] x1 : ffffff80028bf918 x0 : 0000000000000000 
<7>[473297.647700] Call trace:
<7>[473297.650229]  mt76_tx_status_skb_get+0xd8/0xf0 [mt76]
<7>[473297.655273]  mt7615_queue_rx_skb+0x64c/0xa8c [mt7615_common]
<7>[473297.661011]  mt76_dma_rx_poll+0x284/0x764 [mt76]
<7>[473297.665708]  mt7615_unregister_device+0x3fc/0x550 [mt7615e]
<7>[473297.671361]  __napi_poll+0x34/0x140
<7>[473297.674929]  napi_threaded_poll+0x84/0xf0
<7>[473297.679019]  kthread+0x120/0x124
<7>[473297.682326]  ret_from_fork+0x10/0x18
<0>[473297.685983] Code: b9401065 110004a5 b9001065 aa0403e0 (f9400084) 
<4>[473297.692154] ---[ end trace 81f11d7ae2fa8932 ]---

and a second one

Panic#2 Part1
<7>[    9.354812] mt7915e 0000:01:00.0: enabling bus mastering
<6>[    9.382265] mt7622-wmac 18000000.wmac: HW/SW Version: 0x8a108a10, Build Time: 20190801210006a
<6>[    9.382265] 
<6>[    9.425138] mt7915e 0000:01:00.0: HW/SW Version: 0x8a108a10, Build Time: 20201105222230a
<6>[    9.425138] 
<6>[    9.466652] mt7622-wmac 18000000.wmac: N9 Firmware Version: 2.0, Build Time: 20200131180931
<6>[    9.563126] mt7915e 0000:01:00.0: WM Firmware Version: ____000000, Build Time: 20201105222304
<6>[    9.585525] mt7915e 0000:01:00.0: WA Firmware Version: DEV_000000, Build Time: 20201105222323
<4>[    9.736858] mt7915e: probe of 0000:01:00.0 failed with error -22
<6>[    9.750549] PPP generic driver version 2.4.2
<6>[    9.756135] NET: Registered protocol family 24
<14>[    9.768838] kmodloader: done loading kernel modules from /etc/modules.d/*
<6>[   10.648086] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: 
<6>[   13.304500] mtk_soc_eth 1b100000.ethernet eth0: Link is Down
<6>[   13.313775] mtk_soc_eth 1b100000.ethernet eth0: configuring for fixed/2500base-x link mode
<6>[   13.322426] mtk_soc_eth 1b100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
<6>[   13.324479] mt7530 mdio-bus:00 lan1: configuring for phy/gmii link mode
<6>[   13.340892] 8021q: adding VLAN 0 to HW filter on device lan1
<6>[   13.350432] br-lan: port 1(lan1) entered blocking state
<6>[   13.355816] br-lan: port 1(lan1) entered disabled state
<6>[   13.363316] device lan1 entered promiscuous mode
<6>[   13.368074] device eth0 entered promiscuous mode
<6>[   13.379533] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
<6>[   13.393851] mt7530 mdio-bus:00 lan2: configuring for phy/gmii link mode
<6>[   13.408056] 8021q: adding VLAN 0 to HW filter on device lan2
<6>[   13.417691] br-lan: port 2(lan2) entered blocking state
<6>[   13.422972] br-lan: port 2(lan2) entered disabled state
<6>[   13.429370] device lan2 entered promiscuous mode
<6>[   13.440567] mt7530 mdio-bus:00 lan3: configuring for phy/gmii link mode
<6>[   13.447958] 8021q: adding VLAN 0 to HW filter on device lan3
<6>[   13.456065] br-lan: port 3(lan3) entered blocking state
<6>[   13.461295] br-lan: port 3(lan3) entered disabled state
<6>[   13.470128] device lan3 entered promiscuous mode
<6>[   13.481232] mt7530 mdio-bus:00 lan4: configuring for phy/gmii link mode
<6>[   13.489208] 8021q: adding VLAN 0 to HW filter on device lan4
<6>[   13.498444] br-lan: port 4(lan4) entered blocking state
<6>[   13.503736] br-lan: port 4(lan4) entered disabled state
<6>[   13.510972] device lan4 entered promiscuous mode
<6>[   13.522384] mt7530 mdio-bus:00 wan: configuring for phy/gmii link mode
<6>[   13.529721] 8021q: adding VLAN 0 to HW filter on device wan
<6>[   13.541206] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[   13.552029] IPv6: ADDRCONF(NETDEV_CHANGE): wan: link becomes ready
<4>[   14.029937] netlink: 'iw': attribute type 302 has an invalid length.
<6>[   14.288564] br-lan: port 5(wlan0) entered blocking state
<6>[   14.293885] br-lan: port 5(wlan0) entered disabled state
<6>[   14.299508] device wlan0 entered promiscuous mode
<6>[   14.304393] br-lan: port 5(wlan0) entered blocking state
<6>[   14.309758] br-lan: port 5(wlan0) entered forwarding state
<6>[   14.315886] br-lan: port 5(wlan0) entered disabled state
<6>[   20.999663] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
<6>[   21.006149] br-lan: port 5(wlan0) entered blocking state
<6>[   21.011490] br-lan: port 5(wlan0) entered forwarding state
<6>[   21.017336] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
<14>[  120.481289] kmodloader: loading kernel modules from /etc/modules.d/*
<14>[  120.495297] kmodloader: done loading kernel modules from /etc/modules.d/*
<14>[  120.570463] kmodloader: loading kernel modules from /etc/modules.d/*
<14>[  120.578891] kmodloader: done loading kernel modules from /etc/modules.d/*
<6>[89572.733018] mt7530 mdio-bus:00 wan: Link is Down
<6>[89582.094175] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[93173.195478] mt7530 mdio-bus:00 wan: Link is Down
<6>[93181.516565] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[264157.695665] mt7530 mdio-bus:00 wan: Link is Down
<6>[264162.896203] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[267761.278154] mt7530 mdio-bus:00 wan: Link is Down
<6>[267767.518134] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[271356.537920] mt7530 mdio-bus:00 wan: Link is Down
<6>[271362.780049] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[442349.352076] mt7530 mdio-bus:00 wan: Link is Down
<6>[442359.752596] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[445953.974310] mt7530 mdio-bus:00 wan: Link is Down
<6>[445962.294582] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[449554.435180] mt7530 mdio-bus:00 wan: Link is Down
<6>[449563.796664] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[453150.736417] mt7530 mdio-bus:00 wan: Link is Down
<6>[453158.017730] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[456757.437511] mt7530 mdio-bus:00 wan: Link is Down
<6>[456763.678974] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
<1>[473297.412693] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
<1>[473297.421572] Mem abort info:
<1>[473297.424444]   ESR = 0x96000005
<1>[473297.427575]   EC = 0x25: DABT (current EL), IL = 32 bits
<1>[473297.432979]   SET = 0, FnV = 0
<1>[473297.436133]   EA = 0, S1PTW = 0
<1>[473297.439353] Data abort info:
<1>[473297.442332]   ISV = 0, ISS = 0x00000005
<1>[473297.446294]   CM = 0, WnR = 0
<1>[473297.449341] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000042b54000
<1>[473297.455868] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
<0>[473297.464741] Internal error: Oops: 96000005 [#1] SMP
<7>[473297.469695] Modules linked in: nf_conntrack_netlink nfnetlink pppoe ppp_async iptable_nat xt_state xt_nat xt_conntrack xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD xt_CT pppox ppp_generic nf_nat nf_flow_table nf_conntrack mt7915e mt7615e mt7615_common mt76_connac_lib mt76 mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG slhc nf_reject_ipv4 nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_filter ip_tables hwmon crc_ccitt compat nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 seqiv uas usb_storage leds_gpio xhci_plat_hcd fsl_mph_dr_of ehci_platform ehci_fsl ehci_hcd gpio_button_hotplug
<7>[473297.533016] CPU: 0 PID: 1178 Comm: napi/phy0-6 Tainted: G S                5.10.72 #0
<7>[473297.540920] Hardware name: Linksys E8450 (UBI) (DT)
<7>[473297.545876] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO BTYPE=--)
<7>[473297.551971] pc : mt76_tx_status_skb_get+0xd8/0xf0 [mt76]
<7>[473297.557365] lr : mt7615_tx_token_put+0x250/0x3a4 [mt7615_common]
<7>[473297.563448] sp : ffffffc0122bbb90
<7>[473297.566839] x29: ffffffc0122bbb90 x28: 0000000000000040 
<7>[473297.572230] x27: 0000000040000000 x26: ffffff80020fa800 
<7>[473297.577621] x25: 000000000000007f x24: 0000000000000000 
<7>[473297.583012] x23: 0000000000000082 x22: ffffff8002b82004 
<7>[473297.588403] x21: ffffff80020fd960 x20: ffffff80028bf918 
<7>[473297.593794] x19: ffffff80020fa800 x18: ffffffc010ca1c90 
<7>[473297.599185] x17: 00000000ffffffff x16: 0000000000000000 
<7>[473297.604576] x15: 00000000436c3000 x14: 0000000000001920 
<7>[473297.609967] x13: 0000000000000338 x12: 0000000000000c90 
<7>[473297.615358] x11: ffffff80020fc800 x10: ffffffc010a96000 
<7>[473297.620749] x9 : 0000000000000064 x8 : ffffff80020fa800 
<7>[473297.626139] x7 : ffffff80020fc950 x6 : 0000000000000000 
<7>[473297.631529] x5 : 000000000000007f x4 : 0000000000000000 
<7>[473297.636920] x3 : ffffffc0122bbbe8 x2 : 0000000000000082 
<7>[473297.642310] x1 : ffffff80028bf918 x0 : 0000000000000000 
<7>[473297.647700] Call trace:
<7>[473297.650229]  mt76_tx_status_skb_get+0xd8/0xf0 [mt76]
<7>[473297.655273]  mt7615_queue_rx_skb+0x64c/0xa8c [mt7615_common]
<7>[473297.661011]  mt76_dma_rx_poll+0x284/0x764 [mt76]
<7>[473297.665708]  mt7615_unregister_device+0x3fc/0x550 [mt7615e]
<7>[473297.671361]  __napi_poll+0x34/0x140
<7>[473297.674929]  napi_threaded_poll+0x84/0xf0
<7>[473297.679019]  kthread+0x120/0x124
<7>[473297.682326]  ret_from_fork+0x10/0x18
<0>[473297.685983] Code: b9401065 110004a5 b9001065 aa0403e0 (f9400084) 
<4>[473297.692154] ---[ end trace 81f11d7ae2fa8932 ]---
<0>[473297.704502] Kernel panic - not syncing: Oops: Fatal exception in interrupt
<2>[473297.711458] SMP: stopping secondary CPUs
<0>[473297.715462] Kernel Offset: disabled
<0>[473297.719029] CPU features: 0x0000002,04002004
<0>[473297.723375] Memory Limit: none

Please report to https://github.com/openwrt/mt76/issues
(as this is an issue caused by the mt76 wifi driver)

I am taking a pause for a while to get up to speed on the ubi installation process and also see if by chance a non-ubi install workaround becomes possible in the near future. I am not sure which recovery-installer tib file to use: release 0.5.3 which dates back to August or a more up to date one from the firmware selector (ubi version, of course)?

That would be wonderful it could be done. If you need one to test it out, let me know.

However, if UBI is becomes the only option, then it will have to do.

To convert the device to UBI layout you have to run the installer once. That can only be done with the installer (or manually, you can follow the installer script to find out how...).
Once that's done, you can update to more recent builds e.g. from firmware selector. The installer itself is not available through the firmware selector.

To make things a bit more convenient, I've updated the installer and tagged version v0.6.0 resulting in updated binaries being available on github.

5 Likes

I think this is an important change included in 0.6: https://github.com/openwrt/luci/commit/c8d9819c9a54eb4854157bd1eb0f9c540621b2b4 , maybe you could add it to changelog

To update my UBI formated device with installed custom image, is this the correct way?:

  • save settings
  • flash openwrt-mediatek-mt7622-linksys_e8450-ubi-initramfs-recovery-installer.itb by luci
  • flash my own image by luci in recovery
  • restore settings

It's great to have a new version. One question, please: will U-Boot be also updated just by using the sysupgrade file?

You can also just replace the recovery image (to have that nice new warning in LuCI) and keep the bootchain as-is. That's safer and there is currently no urge to update U-Boot imho.

1 Like

No, running sysupgrade will not update U-Boot (you don't need to, 2021.04 will also work just fine on this device, I wouldn't risk it unless I have to)

1 Like

Thanks for the info. I am not sure of the step of running the installer script you are talking about. The wiki is a bit vague on this. I know it's a unix shell script so I presume it's needs to be downloaded and run on a machine running a unix shell and I presume it downloads the files needed and generates the initial tib file I need to flash to the router??

Thank you!

Exactly, that's what it does. I also let it run as a runner on github with every tag, so there are ready-made binaries for the non-Linux users out there as well :wink:

On a Debian/Ubuntu machine you can (just example, it should work on any Linux x86/64 system)

apt install build-essential libfdt-dev cmake git gnupg
git clone https://github.com/dangowrt/linksys-e8450-openwrt-installer
cd linksys-e8450-openwrt-installer
./build_installer.sh

The script will download and use the OpenWrt ImageBuilder to generate production, recovery and installer .itb files.

1 Like

@daniel @981213

Any chance of a fix for the new nand flash driver itself?
The current situation, where the wifi calibration data as written to flash by the OEM, causes errors, sounds strange in the long run...

Sure, disabling the error correction/reporting is also dubious, but needing to read/rewrite the OEM calibration data due to an updated flash driver is a first in OpenWrt to my knowledge.

(@981213 hinted in August that he might write a fix, but not during "the upcoming 2 weeks": https://github.com/openwrt/openwrt/pull/4179#issuecomment-907723882 )

2 Likes

I installed v0.5.3 last week. If I want to upgrade using the already built binaries, can I just flash the v0.6.0 sysupgrade image through Luci? Or, do I have to flash the v0.6.0 installer first, then the v0.6.0 sysupgrade?

As there is no need to update the bootloader shipped with v0.5.3 you should just use the sysupgrade image.

1 Like