IPQ4019: Adding support for TP-Link Deco M5

Hi @Tomer no I do not, but you can always mount the partition in chroot I believe to extra the hash or set a new hash from a working flash. Sometime in the updates they introduced a "locked" root account. Don't know which one.

Havent checked in in a while, but how Is the build from master going? Im still running 22_03 on my test deco, can't create a working master yet, but time is sparse from my side on this topic.

Your device seems to have more partitions.. so you need to add them to the dts file (target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-deco-m5-eu-v3.0.dts) and that might fix your problem.

@Rikbruggink I actually managed to create an image that boots simply by removing certain packages from the kernel instead of changing the partition sizes, but something with the networking is messed up
and the device is not accessible, unfortunately uart isnt working for me either (I can see the boot log but can not send commands).
Regarding the root password, my device is locked, and when booting into recovery the partition is ro and does not allow to make any changes to it so I can't change the password.

[    1.061915] spi-nor spi0.0: en25qh256 (32768 Kbytes)
[    1.066726] 16 fixed-partitions partitions found on MTD device spi0.0
[    1.071634] Creating 16 MTD partitions on "spi0.0":
[    1.077935] 0x000000000000-0x000000030000 : "0:SBL1"
[    1.083234] 0x000000030000-0x000000040000 : "0:BOOTCONFIG"
[    1.088300] 0x000000040000-0x000000050000 : "0:MIBIB"
[    1.093670] 0x000000050000-0x000000060000 : "0:BOOTCONFIG1"
[    1.098709] 0x000000060000-0x0000000c0000 : "0:QSEE"
[    1.104295] 0x0000000c0000-0x0000000d0000 : "0:CDT"
[    1.109570] 0x0000000d0000-0x0000000e0000 : "0:DDRPARAMS"
[    1.113962] 0x0000000e0000-0x0000000f0000 : "0:APPSBLENV"
[    1.119546] 0x0000000f0000-0x000000170000 : "0:APPSBL"
[    1.124860] 0x000000170000-0x000000180000 : "0:ART"
[    1.129917] 0x000000180000-0x000000240000 : "OPAQUE"
[    1.134683] 0x000000240000-0x000000540000 : "0:HLOS"
[    1.139920] 0x000000540000-0x000000d10000 : "0:rootfs"
[    1.144826] 0x000000d10000-0x000000d90000 : "0:APPSBL_1"
[    1.149926] 0x000000d90000-0x000001190000 : "1:HLOS"
[    1.155347] 0x000001190000-0x000002000000 : "1:rootfs"
[    1.199209] ESS reset ok!
[    1.273509] ESS reset ok!
[    1.595234] PHY 0 single test PSGMII issue happen!
[    1.660947] PHY 1 single test PSGMII issue happen!
[    1.924401] PHY0 test see issue!
[    1.928922] PHY1 test see issue!
[    2.016730] ESS reset ok!
[    2.687627] EDMA using MAC@ - using
[    2.687644] e2:64:0f:e8:56:47
[    2.690849] EDMA using MAC@ - using
[    2.690862] a6:3e:2c:60:ba:34
[    2.862948] i2c /dev entries driver
[    2.863211] i2c_qup 78b7000.i2c: using default clock-frequency 100000
[    2.867747] sdhci: Secure Digital Host Controller Interface driver
[    2.871950] sdhci: Copyright(c) Pierre Ossman
[    2.877922] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.885791] NET: Registered protocol family 10
[    2.889731] Segment Routing with IPv6
[    2.892414] NET: Registered protocol family 17
[    2.896118] 8021q: 802.1Q VLAN Support v1.8
[    2.900555] Registering SWP/SWPB emulation handler
[    2.916905] Waiting for root device /dev/mtdblock16...

Partition Table looks the same now, but still, no cigar.
I tried this line: compatible = "denx,fit";
on the HLOS partition, ass well as the 1:rootfs, but this message:

no rootfs found after FIT image in "firmware"

comes after the partition with that line. This last log is with that line commented out...
[edit]
I changed this to 15:
bootargs-append = " root=/dev/mtdblock15";
and got this:

[    2.887853] List of all partitions:
[    2.887903] 1f00             192 mtdblock0 
[    2.887908]  (driver?)
[    2.894323] 1f01              64 mtdblock1 
[    2.894327]  (driver?)
[    2.900914] 1f02              64 mtdblock2 
[    2.900919]  (driver?)
[    2.907341] 1f03              64 mtdblock3 
[    2.907345]  (driver?)
[    2.913854] 1f04             384 mtdblock4 
[    2.913858]  (driver?)
[    2.920383] 1f05              64 mtdblock5 
[    2.920394]  (driver?)
[    2.926874] 1f06              64 mtdblock6 
[    2.926878]  (driver?)
[    2.933383] 1f07              64 mtdblock7 
[    2.933387]  (driver?)
[    2.939910] 1f08             512 mtdblock8 
[    2.939914]  (driver?)
[    2.946404] 1f09              64 mtdblock9 
[    2.946408]  (driver?)
[    2.952932] 1f0a             768 mtdblock10 
[    2.952936]  (driver?)
[    2.959789] 1f0b            3072 mtdblock11 
[    2.959794]  (driver?)
[    2.966370] 1f0c            8000 mtdblock12 
[    2.966374]  (driver?)
[    2.972985] 1f0d             512 mtdblock13 
[    2.972989]  (driver?)
[    2.979582] 1f0e            4096 mtdblock14 
[    2.979586]  (driver?)
[    2.986160] 1f0f           14784 mtdblock15 
[    2.986163]  (driver?)
[    2.992770] No filesystem could mount root, tried: 
[    2.992775]  squashfs
[    2.994926] 
[    3.002131] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,15)

Looking at your logs the from the original firmware boot arguments are :

root=mtd:1:rootfs rootfstype=squashfs rootwait clk_ignore_unused

It doesnt specify the root block at all

I am playing around with this...

	chosen {
		#bootargs-append = " root=/dev/mtdblock16";
		#bootargs = "root=mtd:1:rootfs rootfstype=squashfs rootwait clk_ignore_unused";
		bootargs = "root=/dev/mtdblock15 rootfstype=squashfs rootwait clk_ignore_unused";
		bootargs-append = " rootfstype=squashfs rootwait clk_ignore_unused";
	};

It does do the append part, but won't overwrite the bootargs.

Kernel command line: root=mtd:1:rootfs rootfstype=squashfs rootwait rootfstype=squashfs rootwait clk_ignore_unused

It still is fun to play around with, but I don't get any further...

Hello Everyone, is there a guide for DECO M5 V3.0 US? i want o install openwrt on this

When i try to compile with the Deco-M5 3.0 EU it gives me an error
Im using Debian Buster as OS to compile

make[2]: Entering directory '/home/cbcalica05/openwrt/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/cbcalica05/openwrt/scripts/config'
 make[1] world
 make[2] tools/compile
 make[3] -C tools/flock compile
 make[3] -C tools/xz compile
 make[3] -C tools/sed compile
 make[3] -C tools/tar compile
    ERROR: tools/tar failed to build.
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on

make: *** [/home/cbcalica05/openwrt/include/toplevel.mk:230: world] Error 1

also i use this git clone https://github.com/TomerCo/openwrt

Like the message says.. run make V=s and check out which part fails (if you don't see anything try with V=sc).

First of all, thanks to everyone involved in making this possible. I'm currently running OpenWRT 22.03 (built from TomerCo's repo) in 4 different Deco M5 units and I'm pretty happy with the results.

There are two things that slightly bother me, though, and since I have never used OpenWRT before I thought I might ask:

  1. I can only get ~250Mbps/200Mbps via 5GHz even though speedtest-netperf.sh acknowledges speeds of 500Mbps/200Mbps. I tried fiddling with some of the wireless options but to no avail. Can it be the case that the units are just not powerful enough to deliver the full speed to wireless clients? When running the stock firmware they did deliver the 500Mbps/200Mbps just fine, but I'm guessing OpenWRT may add some extra overhead or just not have same-quality drivers?

  2. I tried enabling 802.11r but it doesn't work super-well, as sometimes the client won't migrate between APs until it completely loses signal—but I essentially just ticked the box and set a value for "Mobility Domain", nothing else. Wondering what everyone else's experience with this is.

Thanks in advance!