Adding OpenWrt support for TP-Link TL-ER5120 v1

Is there a way to install OpenWRT on the TP-Link TL-ER5120 Router?
It has a OCTEON™ CN30XX Single Core MIPS64 Based Processor.
Running a RISC 64-bit Processor at 500MHz:

16KB Instruction Cache
8KB Data Cache
2KB Write Cache
128KB L2 Cache

The device is EOL and i would like to revive it.
I found the octeon relasese here:

Can i use them, if yes, how should i flash them?
Thanks in Advance!

Fire up Wireshark and press the reset button (for a while), see if there's any traffic coming from it (like TFTP requests).

If not, open it up, see if there's a serial console.

It has a "console" port which is serial console.
A TFTP/PXE Request has the router not done.

Have tried to get more information about open port with nmap

Nmap scan report for
Host is up (0.0031s latency).
Not shown: 996 closed ports
23/tcp open telnet
80/tcp open http
1723/tcp open pptp
1900/tcp open upnp

There is a open telnet service, which i can access.
Login works with admin/admin.

I have forgotten to mention that my device is a V1

your serial console probably only works once the device have booted, we want to catch
what's happening before it actually starts the boot process.


  • uname -a
  • mtd
  • cat /proc/cpuinfo
  • cat /proc/mtd
  • lsmod
  • dmesg

use the preformatted text icon when pasting the output (ctrl-shift-c)
or pastebin, if there's to much data.

Thank you very much so far.

None of the commands work.
Which does me not suprise, the telnet is just a castrated what ever interface.

Sadly i have currently no serial/usb adapter to test the "console" port.
Tried with a Arduino Nano as USB/Serial converter, which does not work.

Pissed from that, I have opened the case and found something that could be a USB B Socket (Red marked):
Goes to the CPU and when you look close enough the pinout should match, D+/D- to CPU, the other two 5+/GND.

Do you have any other thoughts before i order a USB/Serial Converter & USB B Socket?
EDIT: Or i can just solder a USB Cable to it...

Don't know of that USB B socket will give anything, USB port perhaps, but it'll probably
not be of any use to us at the moment.

The white rectangular marking on the PCB, in the lower right corner might be something.
Three round holes/pads, plus one square.

I'd check the back of the PCB too, sometimes the solder points are just pads, and not holes.

The lower right square is labeled with "SW" (Switch i guess) and goes not in any way to the cpu.
On the back side there is nothing interesting.


Didn't realize the 1st picture could be zoomed twice, couldn't read out the text in first zoom.

In that case, I'm out of (obvious) ideas ... :confused:

Ok, i will order some parts and play with the hardware to see if i can get some more information about the boot process, etc.

Is there no way to use the web interface or any other flash process (telnet console?) to (temporarily) boot OpenWRT?

I found this old archived thread: where i copied the cpu specs.

But that procedure looks fishy and the flash tool isnt hosted anywhere on github or a reputable source

Well, you can try to simply flash the openwrt image using the web interface, but it should do some sanity checks, and fail.

It it'd work, you'd still want to have a serial console, if the unit doesn't come back up.

The last post from the old forum says 5120 and 5210 are "the same feature", what ever that means.
But if we'd assume there are similar/same this might be interesting:

The TP-Link WA5210G is a WiFi Access Point, not a multi WAN/LAN/DMZ Router. :grimacing:
Thats to different devices.

Would it help to reverse engineer a original firmware to build a custom openwrt image based on that? (To bypass the checks)
But that is far beyond my knowledge :confused:

Beside that, what image should i use to flash/boot?

  • er-initramfs-kernel.bin
  • erlite-initramfs-kernel.bin
  • generic-initramfs-kernel.bin

What about the tar files?

then I guess feature means something else :wink:

The problem is the image might be signed, and you don't have the signing keys.

Then it's better to try to bypass the checks during flash, or try to flash from the boot loader (if accessible), since it usually don't do any checks.

I'd go with the generic initramfs.
The tars are for if you want to start building images yourself.

I downloaded code from tp link that is under the GPL license public accessible. (Business > Business Router > Load Balance Routers, TL-ER5120)

While i browsed trough the code i found some hints in it that it is already OpenWRT...
In the makefile as comment:

# Makefile for OpenWrt
# Copyright (C) 2007

Playing with binwalk & original firmware from the download page:

1617384       0x18ADE8        Certificate in DER format (x509 v3), header length: 4, sequence length: 16
5316426       0x511F4A        Copyright string: "Copyright Wind River Systems, Inc., 1984-2007"
5328296       0x514DA8        VxWorks WIND kernel version "2.11"
5335536       0x5169F0        ELF, 32-bit N32 MSB MIPS32 rel2 executable, MIPS, version 1 (SYSV)

It would be rely a pleasure for me to help.

A vendor SDK partially 'based on' OpenWrt won't help you that much…

not that promising…


So I've looked at the GPL code in the TP-Link website (there's only V4 though), and it does look like an OpenWrt derivative. However the source code didn't include the device tree for this device, hmm. If the hardware is (almost) the same as EdgeRouter 8 or already ported Octeon router, it would be easy to port this device!

Btw, which firmware did you do the binwalk on? (like, which download link?)