Installation

For new installations of OpenWrt (if your router is currently running stock firmware) download the Install image from the table below.
To upgrade from an older version of OpenWrt, download the Upgrade image.
For more information see Obtain firmware.
It is also advisable to download the stock OEM firmware image or your router in case you need to revert to the original firmware.

Note for "MR3420 V2"
There is a possible bug in the Trunk version of OpenWrt for MR3420v2 and it is possible that after you set it up with a USB you may have occasional 'Stuck Boots' when only the power LED will be on and USB will have power but the router is not booting itself.
The workaround for this bug is a manual reboot of router with "turning it off and turning it back on again". But if you can solder a 5V 100uf capacitor to the USB on the board it will work better and manual reboot won't be required. (Tested and it's working)
If you are a new user to OpenWrt it is advised that you choose latest stable version of the software. Trunk version is for those who already know their way around OpenWrt.

Flash via Web Interface

Install the OpenWrt image using "Firmware Upgrade" from the original firmware.

Note: ensure that the length of the filename is less than 64 characters. For some reason is a check for this length in the Javascript of the firmware upgrade page that produces an unrelated "Please choose a file to upgrade" message if this length is exceeded, and the firmware image for 15.05.1 exceeds this limit if not renamed. This was discovered for official firmware version TL-MR3420_V2_150319.

Flash via tftp

Using a serial line

Download openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin

Connect your pc via serial interface.

Use a tftpd server name the the firmware code.bin and set the static IP address of the computer to 192.168.1.27 (for MR3420/MR3220 versions v1.x) or 192.168.1.100 (for MR3420/MR3220 versions v2.x).

Power on the router, and type tpl if "Autoboot in .." occurs (type fast!)

Using a tftpd server

The following procedure was tested with a TL-WR842ND.These instructions might need modifying for the TL-MR3420 and TL-MR3220.

Enter failsafe mode:

remove the power plug from the router

press and hold the RESET button

insert the power plug

release the RESET button

Some seconds later no LED besides the one for USB (and maybe for attached ethernet ports) should be lit.

The device now uses the IP 192.168.1.86. It repeatedly tries to download a file named wr842ndv1_tp_recovery.bin from a tftpd server with the IP 192.168.1.66. You can verify these continuous requests with a network sniffer (e.g. tcpdump or wireshark).

Some seconds later no LED besides the one for USB (and maybe for attached ethernet ports) should be lit.

The device now uses the IP 192.168.0.86. It repeatedly tries to download a file named mr3220v2_tp_recovery.bin from a tftpd server with the IP 192.168.0.66. You can verify these continuous requests even from logviewer of your TFTP server like Tftpd32 or with a network sniffer (e.g. tcpdump or wireshark).

Given below is log taken the logviewer of opensource TFTP server Tftpd32

MR3220 v2.x

MR3420 v2.3

Serial

Pinout

Pinout for MR3220 V2.2 (I have V2.3 as on photo with V2.2 on bottom) only

JP1

1

2

3

4

RX

TX

GND

VCC

Pin 1 is clearly marked on the board.

To be able to use the UART on MR3220v2, TP18 to TP38 and TP28 to TP48 should be connected.
This is how I did mine:

Another one:

To get the serial connection work reliably, you have to connect a 10k pullup resistor between the TX and the 3.3V pin. This is because the TX pin is connected to a voltage divider (2x5.6k) and a capacitor is put between the real pin and the TX connector. 1)

Now connect a serial hack adapter (DKU-5, CA-42 or similar containing the PL-2303 chip) and away you go!

This adapter can be also used provided a serial port is present on the PC.
Tested on MR3420 v2.2, but it requires a 4.7k pulldown resistor between Tx and GND.
When using it, router has to be powered on, and after that connect the pulldown, Tx and Rx pins.
(Tx from schematic goes to Tx pin of router, Rx from schematic to Rx of router).

Basic configuration

Note: (TP-Link MR3420 v1.2) In case the vlan switch configuration is not created automagically (⇐ 10.03.1) and there is eth0 and eth1 after bootup change /etc/config/network to reflect the vlan setup by adding the lines below. Also replace the 'option ifname "ethX"' accordingly (eth0.1, eth0.2). The proper ethernet port layout has still to be confimed.

Failsafe

Failsafe is a quite popular feature, of this router, thats lets you recover instantly from a misconfiguration above.

Use the QSS button instead of reset button, everything else is identical to generic failsafe document.

Failsafe may not work in Backfire before r29661, so it's confirmed to not work at Backfire 10.03.1 launch (r29592). Be extremely cautious on what you're doing or go directly to serial recovery.

Note for MR-3220 running on 12.09-rc1 (r34185): I did not get any UDP packets to port 4919 as promised either when connected to LAN or WAN, however repeatedly pushing the front button made the router to enter the failsafe mode, which allowed me to gain again access to the router. The problem almost bricking my router was in my network configuration, for some reason setting a fixed MAC address for a bridge caused the router to hang at /etc/init./network start.

FAILED SETTING SOLUTION (NOT THE FAILED FLASH!):

In case of failure or an installation package settings can sometimes cause the router cannot be accessed either administrator page (http://192.168.1.1) also through the console. This condition can be addressed in the following way;

1) turn off and turn on the Router
2) Shortly lights up press the SYS LED is that flashing LED SYS, will very quickly.
3) Now the Router has been accessible via TELNET
4 Router with TELNET) Login
5) type in the command: firstboot
6) type in the command:/etc/init.d/uhttpd start
7) went back to the Admin page in a browser with the address: http://192.168.1.1

Turn USB power off

Hardware Mods

Deep MMC Hack

Unlike standard modding mmc_over_gpio - where was necessary to find 4 unused GPIOs, in the deep modding we can use only one GPIO(or two GPIOs if whe want to use SD card as hotplug SPI device), because we will use a common SPI bus with NOR flash memory.
Due to the fact that on routers MR3420/MR3220 V1.x we have limit of available unused GPIOs, we forced to use the common SPI bus with NOR flash memory (spi0.0) where MMC/SD memory card will be - spi0.1
How to do this is described in this link.