Belkin RT3200 BL2: Failed to load image id 5 (-2)

hey guys!

some months ago my router did OKD and I managed to recover by okd by following the steps and with the help of some people here.

now this OKD again hit my router and then I followed the same steps which followed before to recover my router but this time I'm getting another error

    ( ( ( OpenWrt ) ) )       U-Boot 2023.07.02-OpenWrt-r23497-6637af95aa (O
  1. Run default boot command.
  2. Boot system via TFTP.
  3. Boot production system from flash.
  4. Boot recovery system from flash.
  5. Load production system via TFTP then write to flash.
  6. Load recovery system via TFTP then write to flash.
  7. Load BL31+U-Boot FIP via TFTP then write to flash.
  8. Load BL2 preloader via TFTP then write to flash.
  9. Reboot.
  a. Reset all settings to factory defaults.
  0. U-Boot console

Press UP/DOWN to move, ENTER to select, ESC to quit
MT7622> mtd read fip $loadaddr 0x0 0x140000 && mtd write fip $loadaddr 0x0 0x140000
Reading 1310720 byte(s) (640 page(s)) at offset 0x00000000
Writing 1310720 byte(s) (640 page(s)) at offset 0x00000000
MT7622>
F0: 102B 0000
F6: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 0400 0041 [0000]
G0: 1190 0000
T0: 0000 02D4 [000F]
Jump to BL

NOTICE: BL2: v2.9(release):OpenWrt v2023-07-24-00ac6db3-2 (mt7622-snand-1ddr)
NOTICE: BL2: Built : 21:45:35, Oct 9 2023
NOTICE: CPU: MT7622
NOTICE: WDT: Cold boot
NOTICE: WDT: disabled
NOTICE: SPI-NAND: FM35Q1GA (128MB)
ERROR: BL2: Failed to load image id 5 (-2)

I also searched on Internet about this error but the only thing i found is to do JTAG recovery is there any other thing i can do for recovery

This is likely a result of the very same issue (OKD) as it continues to progress. The good news: The cause of OKD has been found and resolved! The bad news: The fip might actually have bad data at this point, so it's time to properly replace it.

Since you already have a USB to UART adapter and have used mtk_uartboot already, you have some experience in what to do. You're going to need to follow some of the instructions from the below post:

Based on your above post, it looks like you're on the release version of OpenWRT and not the snapshot. If you're on snapshot, please say so. The post and instructions are not compatible with the snapshot and would cause loss of critical data. Again, please proceed only if you are running the stable, release version 23.05.4 or older.

From the linked post, you're going to need to follow the steps for replacing the preloader (BL2) and the fip. You will not need to replace or restore any other components as long as you are running the stable firmware. However, once the router is properly booted up, please make sure you've taken a backup of your factory partition.

2 Likes

Hey Bro i remember You were the one Who rescued me before and you also know how Noob im to these things :joy:

I had read the whole post you mentioned and i have to follow recovery without factory partition as I don't have backup.

What i understand is I have to first download the emergency.bin file and place inder tftp folder of putty.

Then there is

Tftpboot 0x48000000 factory.bin
Where i will run above command?

Then i know how to go to uboot console i will follow the steps for setting all the addresses.
But where i will add the mac address in the mw.b

whoa, whoa, no, you don't have to go through everything again. As I said in my previous post, the only steps out of that whole set that you will need to follow here are the steps for replacing the preloader (bl2) and the steps for replacing the fip. This makes the process much, much easier. This basically means that you need a couple of files that the instructions list, but you're going to want to pick the BL2 (preloader.bin) file from OpenWRT release 22.03.7 and the fip (BL31+UBOOT) from OpenWRT 23.05.4. You need the TFTP server, the same as you had done before. You'll need to use mtk_uartboot to get the router to boot, just as you did before, and then this gets much easier.

Even better than that, the answers this time are right there in your post. You provided the output including the U-Boot boot menu. That's good, because that's the easiest place to solve the problems here. Since the rest of your device is still in good shape, you'll only need to use boot menu options 8 and then 7 to load the parts you need from the TFTP server. After that, you should be able to use option 9 (reboot) and the router will run properly again. :slight_smile:

1 Like

Thanks bro for helping me again.
I was lil busy on the weekend that's why I'm replying you late.

one thing in my mind when i get to boot tftp and select 8 and after flashing complete it will show all the menus again so then i can select the option 7 and then reboot?

because when i did this command
mtd read fip $loadaddr 0x0 0x140000 && mtd write fip $loadaddr 0x0 0x140000
i did not get these menu again

  1. Run default boot command.
  2. Boot system via TFTP.
  3. Boot production system from flash.
  4. Boot recovery system from flash.
  5. Load production system via TFTP then write to flash.
  6. Load recovery system via TFTP then write to flash.
  7. Load BL31+U-Boot FIP via TFTP then write to flash.
  8. Load BL2 preloader via TFTP then write to flash.
  9. Reboot.
    a. Reset all settings to factory defaults.
  10. U-Boot console

so i have to manual reboot by on off button.

and

you're going to want to pick the BL2 (preloader.bin) file from OpenWRT release 22.03.7 and the fip (BL31+UBOOT) from OpenWRT 23.05.4

do i Have to rename the files as you mentioned or tftp windows auto pickup the designated file from tftp server?

edited
i just read the post again it is saying clearly

Download the "preloader.bin" and place it in the TFTP folder with name openwrt-mediatek-mt7622-linksys_e8450-ubi-preloader.bin .

  • Download the "BL31-UBOOT.FIP" and place it in the TFTP folder with name openwrt-mediatek-mt7622-linksys_e8450-ubi-bl31-uboot.fip.

i need to have only these 2 files no need of kernel?

now i have downloaded al the files if i follow the command mention the post is it good?
example
after entering the uboot console i will give this command
run boot_tftp_write_bl2
or
run boot_tftp_write_openwrt-22.03.7-mediatek-mt7622-linksys_e8450-ubi-preloader

run boot_tftp_write_fip
or
run boot_tftp_write_openwrt-23.05.4-mediatek-mt7622-linksys_e8450-ubi-bl31-uboot

The files do need to be given the names the router expects to see. The names I previously provided are exactly what you need to use. All you will need this time is the preloader and bl31-uboot file, but there is nothing wrong with having the others in case we find something else that needs fixing, too.

The boot menu runs before you get to the command line. The command line is simply an option from that menu. When you run anything from the boot menu that isn't a 'boot x ...' option, it will return to the menu after completing and showing you whether or not it succeeded. The command line commands you listed (run boot_tftp_write_bl2 and run boot_tftp_write_fip) are the names of scripts that are already registered on your router. Those same scripts are the ones that will run if you select the options from the boot menu. If you change the text, the router will not understand what you want it to do because it will not match a script known to the router.

'run' tells U-Boot to run a registered script, and the text after 'run' is the registered name of the script that it will run.

You can either use the boot menu -or- the command line commands. It is your choice which one you prefer to do, because both will do the same thing.

1 Like

thank You so much bro.

I'm in office will fix my router once i reached home.

hey bro i got this when i tried option 8 from menus

please check did I paste the files in correct folder

This error indicates that the router is unable to connect to the TFTP server.

  • Is the computer's IP address 192.168.1.254?
  • Is the cable connected between the router and the computer?
  • Is there another device trying to use address 192.168.1.1?
  • Is the TFTP server software running?
  • Is there a firewall on your computer blocking the connection?
  • Is there a second network connection with the same subnet (192.168.1.x mask 255.255.255.0) running? WiFi connections can be a problem here.
1 Like


Bro is this Good should i proceed to next command?

That looks good. You can continue on to writing the fip.

1 Like

Now all Good ?

Can You please tell me the reboot command or should i do the hard reboot?

Yes. Everything looks good. You can either power off and power on again, or you can send the command reset and that will make the router reboot.

1 Like

Router now booted Led lights are on now :star_struck::star_struck:

Now should i do the sysupgrade from luci?

You only need to do a sysupgrade right now if there's a compatible newer version that you want to install (such as 23.05.4).

All we did was replace two steps in the boot process. The data and firmware you were running before is still there and it should still be good. If you open up luci and it doesn't warn you about running in 'initramfs' mode or in 'recovery' mode, you should be good as it is right now.

1 Like

Thank You so much bro for helping me Again :heart_eyes::heart_eyes:
This community is awsome

And I don't get any notification that I'm in recovery.

One thing more do i have to take the backup of partition for the safe side in future?

I'm glad I was able to help! It also seems that you've learned a lot from the experience of having gone through it already, too. You picked this up very quickly this time around.

Excellent. If there's no warning about being in recovery, you're good to go.

I always recommend having a good copy of the factory partition, just in case. After all, it's the only data on the router that can't easily be replaced.

1 Like

Yes this time it was very easy for me :grin:

See this save mtdblock for factory is good enough for factory partition?