TP-Link MR3020 v3 build problems

Great,so false alarm

I have done a Github fork on this with my own TL-MR3020 port, see here:

@meyergru, you should not include TL-WR84XN.dtsi in your dts file. You must include generic platform mt7628an.dtsi skeleton.


Hi there,
I was build firmware for MR3020 v3, and when I trying install it via web - I have got message: "Error code: 4503 The uploaded file was not accepted." That do I do wrong?

I think, you can't upgrade it via web. You should start tftp server - and name the file as: tp_recovery.bin - it should be factory file. Then:

  • disconnect power supply
  • press and hold wps/reset button
  • connect power supply and wait until one of diode start blinking
  • release wps/reset button
  • wait until update is installed.

Before doing this, you should have backup of working router soft.

Correct. The newer TP-Link models are upgradeable only via TFTP. But getting a backup of the OEM firmware is easier said than done, since TP-Link themselves do not offer a firmware that is suitable for TFTP recovery. The original firmwares provided by TP-Link can only be used via web interface - which obviously is not present when the router is mis-flashed. You have to strip 512 bytes off the begin of the original file in order to use it as TFTP recovery image.

I have prepared a stripped OEM TFTP recovery firmware image here for the TL-MR3020v3.

Thanks all for replies.

Hello, all.
I am a user of MR3020 v3, I am new in this case, can you tell me where I can get the firmware MR3020 v3 in order to switch to openwrt.


Hi, I'm encountering some problems.
I've cloned your repo and checked out TL-MR3020-V3 branch.
If I run 'make menuconfig' and select Target "Mediatek Ralink MIPS", Subtarget "MT76x8 based boards" I can't find the Target Device for Tp-Link MR3020...

Am i missing some step?


Sure sign that you checked out the wrong branch, probably by using something like:

git clone TL-MR3020-V3

instead of:

git clone --branch TL-MR3020-V3

Careful: The source will be in lede-source subdirectory afterwards, not TL-MR3020-V3!

I have cloned "git clone --branch TL-MR3020-V3" and build image successful. I renamed openwrt-ramips-mt76x8-tplink_tl-mr3020-v3-squashfs-tftp-recovery.bin to tp_recovery.bin for tftp recovery image, but after upgraded mr3020v3. the Internet LED always blinking. I tried to upgrade oem/openwrt images many times but no success.
Please advise me. thank you.

I got my's mr3020 back, I have striped 512 bytes form "" by using "dd if=oem_tplink-tl-mr3020-v3-tftp-recovery.bin of=tp_recovery.bin bs=1 skip=512" then update via tftp.
but when I tried with openwrt image from git, it is not running. Is it still work in progress?

  1. You absolutely need to use for your TFTP server for the recovery process.

  2. The internet LED will indeed blink after successful flash (see here), so no problem there. You should try to access the web interface of the box just as usual for LEDE (in case you have configured your image with LuCI).

  3. You do not need to strip anything from our recovery image - it is already stripped.

1 Like

Now everything works as expected, just compiled and installed LEDE on MR3020 V3 using meyergru's repo :smile:
I really don't know why it was not working, i've double checked I'm in the same branch, same commit in both directories. The former has only a different directory name..

Well, nevermind, thank you :slight_smile:

I also confirm that the builded image from meyergru github didn't work. My PC didn't get ip address from the router. I set my PC ip address to automatic. I'm building using default config with mediatek Railink mips as target, mt76x8 as subtarget, and TP-LINK MR3020 V3 as target device. @meyergru can you show me the right step to build working image?


I don't know your network setup, so I can only guess: AFAIK, LEDE has a default address of I don't know if a DHCP server is even active at first boot, i.e. before the initial config has been done. Also, I think that in the LEDE default setup, LuCI is not contained. So you may have to tweak your LEDE configuration.

I can assure you that my modifications do in fact work. I assume that you'd have the same problems if you would try to setup another hardware type with LEDE. I use the very same modifications for my own product HomeTunnel, albeit with a given network setup and additional software.

As you can see, Giuglio did manage to get it going after initial problems as well, so I doubt that there is a specific problem with my modifications.

Remember: your PC keeps the assigned DHCP address for as long as it was obtained, so I would rule of the DHCP part altogether by assigning an IP of, say to your PC and trying to access That is, if you did not forget to reconfigure your PC from the address you had to use to initially flash the device.

Thank you for your reply. I will try your advice. I'm not at my PC right now.

And also, do i have to "git pull" command after clone your repo in my buildroot directory? Thanks.


No, the cloning of the branch should be sufficient.

After I change my PC ip address to I'm still not having response from the router. Pinging got Destination host unreacheable.