When upgrading a router such as TP-Link´s MR3420, if one does not take adequate measures, one risks to brick it. That is exactly what I did with my TL-MR3420 v1 router. The only way to debrick this router is through a serial TTL cable. I will show here how to do it.
You need to know a bit about soldering, and have a bit of cabling skills and adequate tools such as a crimping tool.
Preparation of the serial TTL cable
You will need a serial TTL cable. This is not the same as ordinary RS232 cable used in PCs such as USB->RS232 cable .
If you dont own a serial TTL cable, it is easy to make one. You need to buy a cheap Data cable DKU-5 or CA-42 (I bought a DKU-5 cable from a local Indian shop for 6,00€)
DKU-5 cable is used for data connection in old Nokia phones. Cut the cable at extreme end next to Nokia connector as shown, and expose the wires:
In my case the DKU-5 cable has 3 wires. You need to know which wire corresponds to what i.e. Tx, Rx and Ground required for TTL connections on the router.
It is quite easy! You just need to use a multimeter, and check continuity on the NOKIA connector, that is which wire corresponds to what for Tx, Rx and Ground:
In my case white wire corresponds to Tx, yellow corresponds to Rx and green corresponds to Ground. I crimped the wires at cable end with Molex crimps as shown (we are going to use Molex connectors):
If you want to learn to crimp, there are nice Youtube videos showing how to do it.
Before finishing touches with the serial TTL cable, we need to go forward and prepare the router for programming with this cable.
Opening and preparing the router
On the bottom side of the router, there are four round rubber pads that you will need to remove , and below these you will find four screws that you have to unscrew in order to open the router:
Avoid static electricity as it can cause real damage to your router! The easiest way to dissipate static electricity is to use an antistatic wrist strap, which connects to your local AC ground.
Open carefully the router taking out also the front end with reflectors of the LEDs, in order to be able to remove the router´s PCB. All of following images refer to TL-MR3420 v1 router. Identify where you will connect the cable you just prepared (on the PCB from left to right: Tx, Rx, Ground, Vcc):
The following image shows the pinout exactly as on the router’s PCB:
Remove the solder covering the holes with desoldering pump in order to mount the male Molex connector. You will need to add a bit of extra solder and flux to remove the solder in these holes. For learning to solder, and to remove the solder with desoldering pump there are some nice Youtube videos on the Web showing how to do it.
Connect the male Molex connector (I have used a 4 pin connector to facilitate next connections, you can read about below in this tutorial). So here is an image of the connector already soldered on the router´s PCB:
To get the serial connection work reliably, you have to connect a 10k ohms pullup resistor between the Tx and the Vcc on the PCB. This is because the Tx pin is connected to a voltage divider (2×5.6k) and a capacitor is put between the real pin and the Tx connector. So turn over the router´s PCB, and solder a 10K ohms resistor as shown using as support the terminations of the Molex male connector we have soldered before:
Now we are ready to finish up the cable we have crimped before as shown:
Note: A special thank you is due to Filipe Avelar, external salesperson in ALIATRON (my company) that soldered for me the resistor, and crimped the TTL cable terminations.
We are now ready to debrick the router!
Debricking the router
Make sure the router is not powered. Connect the TTL cable to the router as shown:
We will now follow the procedure advised by the polish language site eko.one.pl. It is a good idea to create a folder in your PC to. where you will download some of the files you will require. My folder is called “modem”. My PC’s OS is Windows XP.
1) firmware openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin from Openwrt site to your newly created folder where you will have the whole project.
2) tftp for Windows from http://tftpd32.jounin.net/ to your folder in a subdirectory called tftp.
Paste into tftp subdirectory the firmware you downloaded, and rename it code.bin for sake of easy identification.
Connect the serial TTL cable to your PC (you will have already connected to your router as shown above in this tutorial). The serial TTL cable will be recognised by your PC. If not, you will need to install adequate drivers from Web. My DKU-5 cable came with a CD containing drivers.
If the cable is recognised, check in your PCs Control Pannel -> System -> Hardware -> Device Managemnt -> Ports (COM and LPT) .
You will see thereProlific USB-to-Serial Comm Port (COMx). x will be the port number (in my case it is COM5).
Now start your PC´s Hyper Terminal (or use Putty). For Hyper Terminal give a name to your connection say “test”:
Configure Properties to 115200 8N1.
In Hyper Terminal the configuration is found in File -> Properties -> Configure…-> Connect Using (my case COM5):
After this selection, press Configure button and now select 115200 baud rate:
And now press the Apply button and next OK button.
And next on first screen press OK button. Leave the Hyper Terminal as it is, as it is now duly configured (do not close it!).
Change your PCs IP to 192.168.1.27. Connect the CAT5 network cable between your PC and port 1 of your router. Make sure you disable your other network connections in your PC, except for your Local Area Network that you have just connected to the router. Also remove temporarily your PC´s firewall. Your network is now shown without firewall’s lock sign:
We will now start tftp we downloaded before. Tftp will show your PC’s IP you have just configured:
We need to tell tftp where the code.bin firmware is. We do this by pressing Settings button and pointing the Base Directory to the folder containing code.bin:
Your Hyper Terminal screen will show “Autoboot in 1…“, when quickly type tpl with your keyboard. You will hopefully see the following prompt, or similar:
We are now ready to type: erase 0x9f020000 +0x3c0000
And press ENTER key. It wll result in erasing an area of the memory of the router:
We will next type the following: tftpboot 0x81000000 code.bin
And press ENTER key. The firmware will be uploaded:
tftp will show the code.bin being uploaded:
We will next type: cp.b 0x81000000 0x9f020000 0x3c0000
And press ENTER key. And at next prompt type: bootm 0x9f020000
The router wil now reboot and it is no more bricked!
You can now check if your router is debricked by writing in your browser the URL http://192.168.1.1. your login screen to the router´s interface will show:
If one has bricked his TL-MR3420 router, the solution lies in debricking with a serial TTL cable. I have shown here that with little bit of soldering, and mechanical (crimping) skills and necessary software one can debrick TL-MR3420 router. The approach of debricking a router may be similar with other brands of routers.