TP-Link TL-WR902AC bad flash recovery


I've installed OpenWrt on my TL-WR902AC router and it was working fine but I was having trouble configuring it as a relay so I decided to revert it back to stock.

I flashed the latest US version but my router was EU so it didn't work and now I've tried several times to flash the EU version and OpenWrt but nothing boots it stays stuck on all lights blinking.

I've found out that what happens is that the stock firmware doesn't come with the boot image because it assumes that it's already there.

How should I proceed to fix it, is there an image with the boot that I could use?

Have you asked your question in the TP-Link forums?

I'm not sure how accidentally flashing the wrong stock firmware is related to OpenWrt.

All TP-Link stock firmware files start with a 512 byte TP-Link proprietary header that must be removed to successfully flash it as an OpenWrt sysupgrade. Some TP-Link firmware also has a 128 kbyte bootloader image that also must be removed.

At this point, since your flashed image is unbootable, TFTP recovery with a stock firmware is the next thing to try. That process is documented at TP-Link.

1 Like

That's what I've been doing the file does get downloaded by the router but then it boots in fault

I've also tried the 30-30-30 reset.

How would you remove the header?

After several dozen of times that I tried flashing many different bin for it it finally worked with OpenWrt so I'm going to forget trying to get back to stock and will keep using OpenWrt

Thanks for the help/suggestions.

[edit] Also because it wasn't working properly with OpenWRT (might have to do with the 5Ghz not being supported on my router) I've found how to cut the official firmware to install it just do dd if=file_you_downloaded.bin of=tp_recovery.bin skip=257 bs=512 and flash the tp_recovery.bin

1 Like

I have the same problem. Tried to go from OpenWrt to stock firmware but it failed. Lights blinking, no boot. I used tftp recovery, after cutting out 257 bits head of firmware as suggested.
Did you flash the stock firmware using tftp or did you go through OpenWrt ?

Ok. Was able to flash stock firmware using the 'netcat' method from
(and removing firmware head as mentioned above)

1 Like

I confirm I could "unbrick" wr902ac v3 by loading openwrt firmware again via tftp and then I could restore original tplink firmware in following steps:

  1. downloaded TL-WR902AC(EU) ftom tplink site
  2. from zip file extracted file TL-WR902ACv3_EU_0.9.1_0.1_up_boot[170828-rel57433].bin
  3. in mobaxterm, in bash shell removed prefix with dd command:
    dd if="TL-WR902ACv3_EU_0.9.1_0.1_up_boot[170828-rel57433].bin" of=tp_recovery.bin skip=257 bs=512
  4. started router in safe boot mode by pressing the only button on it just after first light appeared when powered on (of course LAN cable was attached to the PC and that network interfeace IP was set to
  5. in mobaxterm the file produced in step 3) I copied via scp to the router /tmp by command:
    scp tp_recovery.bin root@
  6. ssh to the router
    ssh root@
  7. flashing original firmware to the router with command:
    mtd -r write /tmp/ tp_recovery.bin firmware

Router did boot automatically after successful flashing.


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