OpenWrt support for Deco X20

Did you do anything different to get it installed and working?

Yeah, I intend to raise a PR, though don't want the installation process flakey like it seems to be.

In terms of testing, I suppose using it as a router or access point in your network, and see whether it performs all the tasks as you would expect.

I will try to install it on the other two devices now that I have the first device up and running.
It's just a basic AP setup as luci was not available in your build on onedrive and I keep struggling with a local (snapshot) build of your branch but that's probably caused by a wrong build environment.

I will make sure that I create a detailed log when flashing the other devices and will report back to you.

Let me add LuCi in a build to make it a bit easier...
Updated the images on OneDrive and they should have LuCi now

Great! I just did applied the updated sysupgrade file and now it runs LuCi.
After that I successfully installed OpenWrt on the other 2 Deco's, using the following steps:

telnet 192.168.1.13 4444
Trying 192.168.1.13...
Connected to 192.168.1.13.
Escape character is '^]'.
fw_printenv tp_boot_idx;                                   
tp_boot_idx=1
: not found
tftp -l /tmp/jffs -r openwrt-ramips-mt7621-tplink_deco-x20-v3-squashfs-jffs2.bin -g 192.168.1.76
/usr/sbin/fw_setenv tp_boot_idx 0;
mtd -e /dev/mtd3 write /tmp/jffs /dev/mtd3;
mtd -e /dev/mtd4 -r write /tmp/jffs /dev/mtd4;
 : not found
Unlocking /dev/mtd3 ...
Erasing /dev/mtd3 ...

Writing from /tmp/jffs to /dev/mtd3 ...     
: not found
Unlocking /dev/mtd4 ...
Erasing /dev/mtd4 ...

Writing from /tmp/jffs to /dev/mtd4 ...     
Rebooting ...
/bin/sh: /sbin/reboot: Input/output error

Installation worked!
Device came up at 192.168.1.1
Connected locally using UTP cable directly hooked into PC with static IP.

So the upgrade for the second and third deco was flawless.

I guess the problems that I had with the first Deco were caused by a mistake, mistype or other stupidity.

Thanks! I will let you know if I find something, but right now everything runs smooth.

I'm not entirely sure whether it's a config issue I don't understand or something that's not working in your build, but I'm unable to get the ethernet backhaul working, when all deco's are connected like a chain.

Router->Deco1-port1
Deco1-port2 -> Deco2-port1
Deco2-port2 -> Deco3-port1

Only deco1 is network connected, so I guess the second port isn't working as expected.
.

The default config splits WAN and LAN, so I assume you first put both ports into LAN, and disabled all the firewalls?

What problems are you facing exactly? Does DHCP work between each unit?

Thanks. It's working now. I was struggling a bit as this is the first non-router setup. No problems so far.

1 Like

Hi, I was not able to locate a Openwrt firmware file from the download page (nor @dmascord ’s link above https://1drv.ms/f/s!AsfW32P1XQXagaRzSVeC_ovaFXKqvw?e=DiwIBP ) for X20 V3. Would appreciate if there would be a file that could be downloaded and flashed via the web interface https://192.168.68.1/webpages/index.html#firmwareDeco.

Also, the stock firmware has some interesting behavior, once you login to the router’s webUI and manually type this in the address bar http://192.168.68.1/cgi-bin/luci/ you will see something like this:
“ JClNywu2p9RnH780ZPJrPzER5PzTNY4/SBR014I811CUM7

GKMQ5uL+JHAKhHb578rwzP6fOn74WJ81z2xc64M6WNO4z2 AX+Z1XLpPQTuLYlystubeSYe6JfdgBEWiAmsTUEgNT6AGx XguCBcMQJhFi2AaxVJ+UtCjgjKbx6wRn66DnUX0g91d5Xz M3cQO1TXB+T76eDJdCzYxGV51KE5NpR3BJsKbLZemPhGYH wyme0OEFi4nyF66moAs9gKbjqtlgpcfwXojyc/wwniqxAi

+g==“
Guessing there is a way to access the Openwrt on it, would anyone have more ideas what could be done to interact with the Openwrt on stock firmware?

Thanks!

unfortunately it is not possible to make a simple "flash via the stock web interface" solution due to the fact that tplink has implemented their* software to require the uploaded firmware image be digitally signed by tplink.

* as you note, "their" software is "just" modifications on top of an old openwrt base. ill leave you to judge if this tivoization (https://en.wikipedia.org/wiki/Tivoization) feels fair to either openwrt's developers or tplink device users

only because tplink's modifications contain exploitable bugs is there any possibility that the user-provided openwrt firmware can be installed without hardware intervention (attaching to uart pins on board to get a serial console) at all, but obviously the steps (https://github.com/openwrt/openwrt/pull/16581) are more convoluted than just "hit the install button on webgui". but the file referenced in those instructions "openwrt-ramips-mt7621-tplink_deco-x20-v3-squashfs-jffs2.bin" is indeed located at the link that @dmascord provided above in OpenWrt support for Deco X20 - #45 by dmascord to save you from having to build it manually while the PR they submitted slowly makes it way into openwrt mainline (the build will at some point be available for download as a snapshot, and eventually as a proper openwrt release, if all goes well with the PR submittal process)

we already have a reliable exploit (https://github.com/naf419/tplink_deco_exploits/tree/main/userspace_fw_upgrade) that provides a root shell on the device, not sure what any further interaction you would need.

1 Like

Thank you for the inputs, I highly appreciate the strong community here.

I’m unfortunately not able to see any download file at the link above from @dmascord . This is all I see even after signing with my Microsoft account:

Meanwhile I will try to get my hands on some tools to be able to bring up the JTAG interface on my X20.

Potentially, I would be happy to have some more features on Deco X20, atleast a WireGuard Server and optionally ZeroTier.

Hi, feel free to pm me directly on and I will send a private link to you. Not sure why the public link doesn't work.

—-

Admin edit - removed email from public view for safety. Please pm instead.