OpenWrt Forum Archive

Topic: TP-Link TL-WDR4300 boot loop after flashing wrong firmware

The content of this topic has been archived on 4 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hello,

yesterday I destroyed my working TL-WDR4300 from TP-Link.
By mistake, I flashed the ar71xx-nand-wndr4300-ubi-factory.img file which is for the almost same-named Netgear router.
I simply confused the TP-Link model with the Netgear one.

Now my router doesn‘t want to boot any more.
Hence I tried to flash the right firmware (ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin) via TFTP (server at 192.168.0.66, router at 192.168.0.86, filename: wdr4300v1_tp_recovery.bin) but nothing has changed.

The actual TFTP transmission works without any problems, I captured the traffic with Wireshark. Directly after all bytes are transmitted to the router, it reboots and is still in the boot loop.


What can I do?

Thanks in advance!

This probably means that the recovery program in the bootloader did not like the version header in the file and refused to flash it, so it went on to try to boot the netgear firmware again.

Serial console would let you manually tftp and flash the OpenWrt "sysupgrade" without the version check.

Thanks for your quick reply.

Unfortunately I don't have experience with serial console, hardware modding etc., I'm only an advanced user. Thus, using the serial console is not the method of choice to me. I think the risk I damage some hardware components is too high.

If the bootloader really doesn't accept the version header in the file, what about using an official firmware file from TP-Link?

Official firmware should certainly load, but it may try to lock you out from flashing OpenWrt.  I know this was a problem on the Archer C7 you could search about the WDR4300.  If you try official firmware use the oldest version you can find.

(Last edited by mk24 on 19 Mar 2017, 16:38)

I tried flashing TL-WDR4300_V1_141113 (the oldest) but the process failed as well.

I read something about removing some bytes out of the file:
dd if=orig.bin of=tplink.bin skip=257 bs=512
Could that help?

Is the reason for your suggestion to use the oldest one which is available that TP-Link is not accepting flashing custom firmware any more?

I'm definitely a friend of telling my way after solving a problem hence I'm going to explain what I did to restore my router. I hope other people having this problem will find my solution here.

You were absolutely right with saying that the wrong product id has caused the problem of non-flashing. After I have installed the serial console I got "auto update firmware: product id verify fail!". Thus I replaced  43 00 00 01 00 00 00 01  by  FF FF FF FF FF FF FF FF (hex)  in ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin.

Then it worked properly! Very nice indeed!


By the way: The bootloader told me about the FF FF FF FF FF FF FF FF:

original_product_id = ffffffff
original_product_ver = ffffffff
recovery_product_id = 43000001
recovery_product_ver = 01 (-> 00000001)

(Last edited by tplink2921 on 21 Mar 2017, 22:28)

The discussion might have continued from here.