In other word, i screwed up my MR3020 and bricked it. All the LED is keep on blinking, some is on and not blinking, and the network is getting connected and disconnected randomly. Guess that’s a sign you’ve mess up with the device. XD
But I’m lucky because you still can recover the device via serial console and tftpd32 method. (yeay!)
Bear in mind that this method will VOID your warranty. So, don’t do this unless you willing to sacrifice for the sake of knowledge. 🙂
Things that you need:
- Tftpd32: A free tftp and dhcp server for windows, freeware tftp server. Very efficient for booting over LAN.
- PuTTY: SSH and telnet client, free and open-source terminal emulator, serial console and network file transfer application.
- USB to UART converter (3.3V). I’m using this converter that I bought at Cytron Technologies.
- A 10K resistor
- Female to Female OR Female to Male Jumper Wires
So, as you can see, my USB-UART converter come with 6 ways header pin for interfacing. The voltage selector must set to 3.3V since the TL-MR3020 router have its I/O pins working at 3.3V.
* Do not connect the router VCC to USB-UART VCC, it may break your adapter or your router
For the picture of the connection diagram, refer to first picture above.
So, in my case, my MR3020 is version 1.9. As you can see picture above, mine doesn’t have any serial port to connect to using female jump wire. So I use female (attach to USB-UART) to male (attach to MR3020) as picture below:
After you have all things in place, you can start installing the UC00B (USB-UART) driver to your computer. After finished, restart your computer, and check your Device Manager. You should see something like this:
which indicated that the driver and the converter is detected by computer and the driver is properly installed.
Setting up network IP address
Assign a static IP address to the computer, using IP address 192.168.1.2 since the router IP address is 192.168.1.1. No need for Internet connection in this process.
REMEMBER! Ensure that you have disable you windows firewall. Or else, the next step will might not work.
Install OpenWRT from the U-Boot console
Download the latest OpenWRT firmware and save it to C:\Program Files\Tftpd32 (Tftpd32 default installation folder) as shown in figure below:
You also can click the “Show Dir” button and check if the file is there or not.
Run Putty, select Serial option, on Serial Line, I’m using COM3 since my USB-UART driver detected as COM3, for Speed option, I use 115200. Then click Open. Example like picture below:
After that, power up your MR3020. On Putty console, you should see something like this:
The moment after you see “Autobooting in 1 seconds“, type in word “tpl” immediately.
If everything is correct, you should see “hornet>” in your console. if you missed it, close and open back your Putty, follow the instruction above until you see the word “hornet>”
Now you are in U-Boot-console, as it shows “hornet>” on your console. Now enter the following commands:
setenv ipaddr is the MR3020 IP address,
setenv serverip is the computer IP address,
Then enter this command to download openwrt .bin file:
you should see something like this:
Then enter this command to erase old firmware:
The output must be like this:
Then enter this command to start flashing:
And the output is:
After that, lets try to boot to the new firmware:
And the result is:
And.. Thats it. You’ve recover you almost-dead MR3020 to life! 🙂
The device new IP is at 192.168.1.1. Happy hacking!
- Credit to this blog for this tutorial.