Support for TP-Link EAP225 Outdoor v3

I have the exact same problem, the exact error message is "Upgrade failed because the firmware is incompatible. Please check the firmware file." And yes, I run 'cliclientd stopcs' before.

Did you also try to shorten the filename (e.g "openwrt.bin")? If that doesn't help either, you'll have to get serial console access to be able to provide more useful output from the firmware.

i am experiencing the same behavior on stock 5.0.6 and 5.0.7.

Before I only shortened enough to pass the <63char limit, but even shorted to openwrt.bin it doesn't work. I'll try to grab the serial output.

workaround: flash the factory image @Winux kindly has posted and do a sysupgrade -n to the current snapshot :slight_smile:

That older image still has the EAP225-Outdoor(TP-Link|UN|AC1200-D):3.0 value in its SupportList. The snapshot image has the regionalized EAP225-Outdoor(TP-Link|UN|AC1200-D):3.0 CA,JP. The latter is identical to what is in the EU firmware images from TP-Link:

EAP225-Outdoor(TP-Link|UN|AC1200-D):1.0
EAP225(TP-Link|UN|AC1350-D):3.0
EAP225(TP-Link|UN|AC1350-D):3.20
EAP225-Outdoor(TP-Link|UN|AC1200-D):3.0 CA,JP
EAP225(TP-Link|UN|AC1350-D):4.0 CA

The US images have the same devices/firmwares, but without the region identifiers:

EAP225-Outdoor(TP-Link|UN|AC1200-D):1.0
EAP225(TP-Link|UN|AC1350-D):3.0
EAP225(TP-Link|UN|AC1350-D):3.20
EAP225-Outdoor(TP-Link|UN|AC1200-D):3.0
EAP225(TP-Link|UN|AC1350-D):4.0

Once you have OpenWrt installed, can you report which value your device has? Easy way to check is by running strings /dev/mtd2ro.

Thanks for your efforts. HTH:

SupportList:

EAP225-Outdoor(TP-Link|UN|AC1200-D):3.0
EAP225(TP-Link|UN|AC1350-D):3.0
EAP225(TP-Link|UN|AC1350-D):3.20
EAP225-Outdoor(TP-Link|UN|AC1200-D):3.0
EAP225(TP-Link|UN|AC1350-D):4.0
EAP225-Outdoor(TP-Link|UN|AC1200-D):3.0

I'll add the non-region-specific IDs to the SupportList, looks like that will fix it. Compatible snapshot builds should be available soon then.

Edit: Oh wait, I just noticed the AC1200/AC1350 mismatch :man_facepalming:

1 Like

@svanheule Thanks for the quick fix. :slight_smile: Another quick question: Is there a chance that device support will be backported to 22.03?

That would require backporting a large number of changes, since the devicetree sources and scripts were overhauled to add EAP225-Outdoor v3/EAP225 v4 support. If it was just one config file, I might have considered it, but this would affect too many other devices. If you would like packages like LuCI to be included in your images, you could use the imagebuilder to modify the snapshot images.

Oh, ok. I thought the required changes were just minimal, but obliviously I was wrong.

Anyway: The latest snapshot works well, apart from the fact that the AP is unreachable after a reboot. But this is a known issue, isn't it?

Is it completely unreachable, or does it come online eventually? I know there's at least an issue with ethernet not working from the bootloader after a reboot, but I wasn't aware of any issues once Linux is fully (re)booted.

There is a hacky fix, which uses GPIO4 to trigger a hardware watchdog timeout and reset.

It's completely unreachable (no ping, no ssh etc.) and stays this way (I waited 15 minutes, a normal cold boot needs less than 30 secs). The device seems to boot normal though, at least the LED works: I configured some custom LED settings, which work after a reboot, so I'm pretty sure the device boots correctly.
I also noticed that my switch only detects a 100mbit connection when the AP is unreachable.

Thanks for the details. Looks like we'll have to apply the same workaround as for the EAP225v4.

I watched the snapshot build closely until it finished just 20min ago. But the factory images for eap225-v3 and eap225-outdoor-v3 both came out to only 128 null bytes. Is that a temporary fluke or did something go wrong?

Thanks for noticing this. I'll check later today what went wrong.

1 Like

Apparently the support-list partition is limited to 256 bytes, and with the latest updates to firmware-utils this has been exceeded. Strangely enough, this doesn't make the build fail...

I could make the data fit again by dropping the IDs without region qualifiers, but then we need to make sure this will work on your device.

Do you have a device flashed with the EU firmware from TP-Link? If so, could you SSH into your device and provide the contents of /proc/mtd?

This should list a number of MTDs, corresponding to the different partitions:

            {"fs-uboot", 0x00000, 0x20000},
            {"partition-table", 0x20000, 0x02000},
            {"default-mac", 0x30000, 0x01000},
            {"support-list", 0x31000, 0x00100},
            {"product-info", 0x31100, 0x00400},
            {"soft-version", 0x32000, 0x00100},
            {"firmware", 0x40000, 0xd80000},
            {"user-config", 0xdc0000, 0x30000},
            {"mutil-log", 0xf30000, 0x80000},
            {"oops", 0xfb0000, 0x40000},
            {"radio", 0xff0000, 0x10000},

I would need the contents of the /dev/mtdX, corresponding to support-list and product-info. These should be /dev/mtd3 and /dev/mtd4. Running strings on them (if available) should be sufficient:

strings /dev/mtd3
strings /dev/mtd4

My devices are the EU variant:

/bin $ cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00020000 00010000 "u-boot"
mtd1: 00010000 00010000 "pation-table"
mtd2: 00010000 00010000 "product-info"
mtd3: 00180000 00010000 "kernel"
mtd4: 00d40000 00010000 "rootfs"
mtd5: 00030000 00010000 "config"
mtd6: 00080000 00010000 "mutil-log"
mtd7: 00040000 00010000 "oops"
mtd8: 00010000 00010000 "ART"
/bin $ 

Sadly the stock firmware has no strings available. I'll try to pull images to my machine.

/dev/mtd2 should contain the required info.

That's how it looks on my device:

kandre@kaylee(pts/3) ~/mtds % strings mtdblock2
80159A700F51CCF20910AA85F864A9E81FE62C88
`]Yz
EU276
signed
SupportList:
EAP225-Outdoor(TP-Link|UN|AC1200-D):1.0
EAP225(TP-Link|UN|AC1350-D):3.0
EAP225(TP-Link|UN|AC1350-D):3.20
EAP225-Outdoor(TP-Link|UN|AC1200-D):3.0
EAP225(TP-Link|UN|AC1350-D):4.0
:4.0 CA
EAP225-Outdoor(TP-Link|UN|AC1200-D):3.0
key=BgIAAAAkAABSU0ExAAQAAAEAAQDZtUNzD6KsxO4Tfx/Sp8S7w8TwPWwoppXy77wSPNs5WoV+Wr4kh09nu70vHVmSPji5KFUG+hmRjapsJsIJj+M0Zmd4EycKY8r0Ea3D4XO/uvloX4VHVPsDZkm8Krian5iNy6BgApVleb
x0zQxto0GkgvPBq1nhoZxJNapLghGO7w==                                                                                                                                        rsaKey=BgIAAACkAABSU0ExAAQAAAEAAQDZaGCNzHjzrgNoCjyHKa0TIkgmqE5kheNhZHs23TmAbHXN0dFwdNOqqDOTmTdoN1+zW6KY3YkkwNypoZbDTR3sKdSdIDTNnftfHhRAlR9l4lNnnvfbUWRDqaGD2nAkdasXXfD5c23
COMvAEjLJXzwqZjNmj27ZgrrTlH9SoDPerg==                                                                                                                                     HWID=96455746BD4C5113D5E35DAF2CC3CA9B
kandre@kaylee(pts/3) ~/mtds %