Learning by developing

...because practice teaches you

Main links:


Main site(Openwrt-Router)  http://wiki.openwrt.org/toh/tp-link/tl-mr3420


Firmware(Openwrt) to be used(check the web site and download “factory.bin”, this is normally the link to the last trunk version):



Original router’s firmware: http://www.tp-link.com/en/support/download/



Hardware specifications: TL-MR3420


CPU: Atheros AR7241 – 400Mhz

root@OpenWrt:~# cat /proc/cpuinfosystem type                : Atheros AR7241 rev 1machine                                  : TP-LINK TL-MR3420processor                    : 0cpu model                   : MIPS 24Kc V7.4BogoMIPS                 : 265.42

wait instruction          : yes

microsecond timers    : yes

tlb_entries                   : 16

extra interrupt vector  : yes

hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x0bf8, 0x0410, 0x0f78]

ASEs implemented    : mips16

shadow register sets   : 1

kscratch registers        : 0

core                             : 0

VCED exceptions                  : not available

VCEI exceptions                   : not available



RAM: 32 MB


Network connections(Switch): 4x100MB

1 WAN connection.

1 x USB 2.0 connectivity

Serial port available(inside the router).


Network Interfaces in Openwrt:

VLAN: Used to separate part of the networks.


Flashing Openwrt in TL-MR3420/3220:

Note: This procedure has been mainly tested in the TL-MR3420. I tried this also in TL-MR3220 and it should run. It might be problems with some backfire versions of the firmware while carrying the same procedure out. If you find any problem I suggest to flash the latest trunk.


During this section I will try to explain, step by step, how to flash Openwrt in a TP Link TL-MR3420/TL-MR3220. I will, in the next post, explain how to switch it back to the normal firmware in an easy way.


1st. Switch on your router and connect the Ethernet cable to one of the 4 network connections.

2nd. Access through your web browser by accessing . The default login is “admin” and password “admin”.

3rd. Go to “System tools” – “Firmware Upgrade”

4th Choose browse and choose the Openwrt’s version you want to flash(e.g.: the trunk version given in above links).

5th. Click “Upgrade”.

6th. Accept the “Are you sure you want to flash the firmware” and wait until the router reboots by itself.


Changing the default password and setting SSH up:


Once you installed Openwrt you need to set a new password for SSH. Here is the sequence of steps:


1st. Access the device through telnet: $telnet

2nd. Change the password: $passwd

Note: Sometimes with some versions it happened that Openwrt gave me some “read-only” error when trying to execute $passwd. In order to solve this I executed “$ /sbin/firstboot”  and, after that, I executed “$ passwd” in order to change the password for ssh.


ubuntu@ubuntu-desktop:~$ telnet…Connected to character is ‘^]’.=== IMPORTANT ============================Use ‘passwd’ to set your login password

this will disable telnet and enable SSH




BusyBox v1.19.3 (2012-01-28 15:40:34 MST) built-in shell (ash)

Enter ‘help’ for a list of built-in commands.


_______                     ________        __

|       |.—–.—–.—–.|  |  |  |.—-.|  |_

|   –   ||  _  |  -__|     ||  |  |  ||   _||   _|

|_______||   __|_____|__|__||________||__|  |____|

|__| W I R E L E S S   F R E E D O M

ATTITUDE ADJUSTMENT (bleeding edge, r29936) ———-

* 1/4 oz Vodka      Pour all ingredients into mixing

* 1/4 oz Gin        tin with ice, strain into glass.

* 1/4 oz Amaretto

* 1/4 oz Triple sec

* 1/4 oz Peach schnapps

* 1/4 oz Sour mix

* 1 splash Cranberry juice


root@OpenWrt:/# passwd

Changing password for root

New password:

Retype password:

Password for root changed by root

root@OpenWrt:/# exit

Connection closed by foreign host.


3rd. Now to access the router just use SSH: $ssh root@


See you next week and I hope you find this first tutorial useful!



Leave a Reply