Belkin RT3200/Linksys E8450 WiFi AX discussion

If you have yet to experience OKD, but are running release (22.x or 23.x) and you used v1.0.3 of the UBI Installer, then here is how you can downgrade BL2 to a version not affected by OKD.

  • SSH into your router and verify that your BL2 has the OKD bug:
# grep "(release)" /dev/mtd0ro
v2.9(release):OpenWrt v2023-07-24-00ac6db3-2 (mt7622-snand-1ddr)
v2.9(release):OpenWrt v2023-07-24-00ac6db3-2 (mt7622-snand-1ddr)
v2.9(release):OpenWrt v2023-07-24-00ac6db3-2 (mt7622-snand-1ddr)
v2.9(release):OpenWrt v2023-07-24-00ac6db3-2 (mt7622-snand-1ddr)

If you see "v2.9", then you should proceed. If you have "v2.4", then you are fine and don't need to proceed.

  • Update the package list and download a kernel module that lets you modify BL2 within OpenWRT:
# opkg update && opkg install kmod-mtd-rw
  • Load the kernel module:
# insmod mtd-rw i_want_a_brick=1
  • Next, we download the replacement BL2 image:
# cd /tmp
wget https://archive.openwrt.org/releases/22.03.0/targets/mediatek/mt7622/openwrt-22.03.0-mediatek-mt7622-linksys_e8450-ubi-preloader.bin
  • Now we install the image into BL2 at 4 locations (double check everything because this is where things can go sideways):
# mtd -p 0x0 write openwrt-22.03.0-mediatek-mt7622-linksys_e8450-ubi-preloader.bin /dev/mtd0
Unlocking /dev/mtd0 ...

Writing from openwrt-22.03.0-mediatek-mt7622-linksys_e8450-ubi-preloader.bin to /dev/mtd0 ...
# mtd -p 0x20000 write openwrt-22.03.0-mediatek-mt7622-linksys_e8450-ubi-preloader.bin  /dev/mtd0
Unlocking /dev/mtd0 ...
Seeking on mtd device '/dev/mtd0' to: 131072

Writing from openwrt-22.03.0-mediatek-mt7622-linksys_e8450-ubi-preloader.bin to /dev/mtd0 ...
# mtd -p 0x40000 write openwrt-22.03.0-mediatek-mt7622-linksys_e8450-ubi-preloader.bin  /dev/mtd0
Unlocking /dev/mtd0 ...
Seeking on mtd device '/dev/mtd0' to: 262144

Writing from openwrt-22.03.0-mediatek-mt7622-linksys_e8450-ubi-preloader.bin to /dev/mtd0 ...
# mtd -p 0x60000 write openwrt-22.03.0-mediatek-mt7622-linksys_e8450-ubi-preloader.bin  /dev/mtd0
Unlocking /dev/mtd0 ...
Seeking on mtd device '/dev/mtd0' to: 393216

Writing from openwrt-22.03.0-mediatek-mt7622-linksys_e8450-ubi-preloader.bin to /dev/mtd0 ...
# sync
  • Lastly, we check that we have indeed loaded the proper image:
# grep "(release)" /dev/mtd0ro
v2.4(release):OpenWrt v2021-05-08-d2c75b21-3 (mt7622-snand-1ddr)
v2.4(release):OpenWrt v2021-05-08-d2c75b21-3 (mt7622-snand-1ddr)
v2.4(release):OpenWrt v2021-05-08-d2c75b21-3 (mt7622-snand-1ddr)
v2.4(release):OpenWrt v2021-05-08-d2c75b21-3 (mt7622-snand-1ddr)

All that's left to do is cross your fingers and reboot.

! WARNING ! ATTENTION ! NOTE ! ThisMeansYou ! - If something doesn't go properly and the router doesn't reboot, you will most likely need to connect via a TTL UART for recovery.

4 Likes