IPQ4019: Adding support for TP-Link Deco M5

before you build it select luci using make menuconfig. you can check the openwrt guides they have all the commands for building and customising your build. I add WireGuard, DDNS amongst other stuff I use to my build :slight_smile:

Ok I think I got it but something strange, Luci is up and running but I'm missing the devices tab beside interface. I also don't have the switches menu option. I must be missing a few things.


firstly, if your using freanveltmans's build, its from 19.07 there will be no DSA. The others here shared that DSA is not supported anyway. So, there will be no "Devices" tab.

secondly, as shared on this thread, you need to define the switch in network config before it appears in Luci. This is how I do it, but I'm not sure it's entirely correct as I can only define vlans for 1 of the 2 ports like this, but here goes:

config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'

config switch_vlan
option device 'switch0'
option ports '0t 5t'
option vlan '10'

all the best!

Ohhhh ok! Thanks for your help, I'm still very new to Openwrt as well as networking in general. I didn't realize the devices tab was part of DSA but now that makes sense!

1 Like

Glad to see it's been working great for everyone, just a screenshot for my case, 26 days uptime, both wifi radios smoothly functioning with 802.11k/v/r and 3 APs, as well the router with WireGuard

Just another update... WireGuard pushes about touching 10MB /s with loads of just under 1.90 .... yet to confirm if the CPU or the remote broadband is the limiting factor

@jprafael Did you get your problem sorted?

I am asking because I had the blinking blue light as well and I wasnt able to to connect to the device, turns out my ethernet cable was hooked up to the wrong port (it has to be connected to the port which is closes to the power cable), the thing it that the tftp works fine if its on the other port but once openwrt is running it configures that port as wan and thus is not reachable in the ip

1 Like

Hi, can anybody share build binary? I tried to port https://github.com/openwrt/openwrt/pull/4309/files to branch openwrt-21.02 but no luck so far :confused:

Sent you a message with a link to compiled binary

1 Like

Thank you @Tomer

I've managed to port changes from PR to branch 21.02 and build the image.

I have one problem though, with performance of the lan over the cable.

In one direction I have almost 1Gbit, but in oposite direction barely 100Mbit.

Connecting to host, port 5201
[  5] local port 35404 connected to port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   108 MBytes   902 Mbits/sec    0    342 KBytes       
[  5]   1.00-2.00   sec   112 MBytes   944 Mbits/sec    0    342 KBytes       
[  5]   2.00-3.00   sec   112 MBytes   943 Mbits/sec    0    441 KBytes       
[  5]   3.00-4.00   sec   111 MBytes   934 Mbits/sec    0    345 KBytes       
[  5]   4.00-5.00   sec   112 MBytes   944 Mbits/sec    0    351 KBytes       
[  5]   5.00-6.00   sec   111 MBytes   933 Mbits/sec    0    342 KBytes       
[  5]   6.00-7.00   sec   110 MBytes   923 Mbits/sec    0    348 KBytes       
[  5]   7.00-8.00   sec   112 MBytes   944 Mbits/sec    0    354 KBytes       
[  5]   8.00-9.00   sec   112 MBytes   944 Mbits/sec    0    351 KBytes       
[  5]   9.00-10.00  sec   111 MBytes   933 Mbits/sec    0    348 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.09 GBytes   934 Mbits/sec    0             sender
[  5]   0.00-10.01  sec  1.08 GBytes   927 Mbits/sec                  receiver

iperf Done.
➜  rpi4-arch iperf3 -s              
Server listening on 5201 (test #1)
Accepted connection from, port 33442
[  5] local port 5201 connected to port 33444
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  19.8 MBytes   166 Mbits/sec                  
[  5]   1.00-2.00   sec  4.17 MBytes  35.0 Mbits/sec                  
[  5]   2.00-3.00   sec  9.64 MBytes  80.9 Mbits/sec                  
[  5]   3.00-4.00   sec  9.30 MBytes  78.0 Mbits/sec                  
[  5]   4.00-5.00   sec  8.31 MBytes  69.7 Mbits/sec                  
[  5]   5.00-6.00   sec  2.67 MBytes  22.4 Mbits/sec                  
[  5]   6.00-7.00   sec  3.77 MBytes  31.6 Mbits/sec                  
[  5]   7.00-8.00   sec  6.29 MBytes  52.7 Mbits/sec                  
[  5]   8.00-9.00   sec  6.21 MBytes  52.1 Mbits/sec                  
[  5]   9.00-10.00  sec  5.22 MBytes  43.8 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  75.3 MBytes  63.2 Mbits/sec                  receiver
Server listening on 5201 (test #2)

My openwrt config:

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr ''
	option netmask ''

config globals 'globals'
	option ula_prefix 'fd2d:ef7e:c838::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0'
	list ports 'eth1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option netmask ''
	option ipaddr ''
	option delegate '0'

config device
	option name 'eth0'

config device
	option name 'eth1'

config interface 'lan1'
	option type 'bridge'
	option proto 'static'
	option ipaddr ''
	option netmask ''
	option device 'br-lan'
1 Like

Hi, can anybody share build binary? I can't compile a file in github. Please😅.

Sent you a link with my compiled version

1 Like

Does anyone have a working VLAN config they can share? Currently have a basic swconfig - but it's not working as I would expect.
I'm trying to set up a single port with 2 Wifi VLANs, but no matter what I try, all I achieve is dropping all access to the router :frowning_face: - even when I try and set up just a basic wired vlan.

That isn't really specific to this device. If you still want untagged traffic to be able to reach the device via a port then you have to keep the interface for it around. So even if you have eth1.123 and eth1.456 as two different VLANs interfaces you still need an interface with eth1 as its physical interface. And it needs to have an IP and shouldn't be unmanaged.

Hello good, I would like to try openwrt in my deco m5, sorry for my English but I am using google translator.
My decos are the following:
EU / 1.0
EU / 1.1

I do not know how to compile a firm I have no idea but if there was a manual of the steps I could follow it, or a binary which could update it as it is in the case of another netgear device that I have.

thanks greetings

Unfortunately it seems to be more device specific than you might think.
For example - it shows as a 5-port device, even tho it only has 2 physical ports, and setting any sort of vlan configuration for eth0, completely blocks all access to eth1 - even though it shouldn't. Also, there seems to be a default VLAN 2 bound to one of the ports that simply breaks if you configure VLAN 2 in the network config.
Also - the port mapping for 21.02 & 19.07 seems to be different!

Having someone's working configuration to base mine on would help immensely, as debugging and trying every combination until I hit success is incredibly time-consuming. I can then get back to attempting to get this device officially supported.

Has anyone tried to tftp this onto a P9, I saw earlier in the thread discussion, but not if it worked.

What version of the P9? V1 and V2 are essential Deco M4R V1 and V2 just with a Powerline chip connected to the internal switch chip.

I know that the chips and even the layout of the Deco M4R V3 are exactly the same as those of the Deco M5. But that would only work for you if you had a P9 V3, I've never heard of.

So what version do you have?

I have V1 of the P9. Looks like there is a debug FW from TP link available, that included Telnet access on Port 23, currently looking at the config now, trying to work out why the PLC backhaul is disabled when there is a non P9 master node.

Then have a look at the M4R post. You can in theory flash the existing firmware from my release but that only exposes the external ethernet ports. You would have to compile your own firmware and add back all the possible ports of the switch to find out which one the Powerline chip is connected to.

If you have any questions then send me a private message since this doesn't exactly fit this post or the M4R post.

1 Like