[openwrt/openwrt] qualcommax: ipq60xx: add TP-Link EAP625-Outdoor HD v1 support

LEDE Commits lede-commits at lists.infradead.org
Wed May 14 10:38:30 PDT 2025


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/51c1ea08d05af29dc8cc773e307d1fa9b0a8e9e6

commit 51c1ea08d05af29dc8cc773e307d1fa9b0a8e9e6
Author: Alexandru Gagniuc <mr.nuke.me at gmail.com>
AuthorDate: Wed Apr 23 19:37:01 2025 -0500

    qualcommax: ipq60xx: add TP-Link EAP625-Outdoor HD v1 support
    
    TP-Link EAP625-Outdoor HD is a 802.11ax AP claiming AX1800 support.
    It is wall or pole mountable, and rated for outdoor use. It can only
    be powered via PoE.
    
    Hardware-wise, it is very similar to the older EAP610-Outdoor model.
    Software-wise, I couldn't find a difference other than the board
    data files, and device name. For this reason, the majority of the
    devicetree from the EAP610-Outdoor is reused.
    
    This device currently comes in a "v1", and "v1.6" version. The
    "support-list" of the vendor firmware does not have a distinction
    between these versions. This commit was tested on a 'V1.6" device.
    
    Specifications:
    ---------------
    * CPU: Qualcomm IPQ6018 Quad core Cortex-A53
    * RAM: 512 MB
    * Storage: 128MB NAND
    * Ethernet:
      * Gigabit RJ45 port with PoE input
    * WLAN:
      * 2.4GHz/5GHz
    * LEDs:
      * Multi-color System LED (Green/Amber)
    * Buttons:
      * 1x Reset
    * UART: 4-pin unpopulated header
      * 1.8 V level, Pinout 1 - TX, 2 - RX, 3 - GND, 4 - 1.8V
    
    Installation:
    =============
    
    Web UI method
    -------------
    
    Set up the device using the vendor's web UI. After that go to
    Management->SSH and enable the "SSH Login" checkbox. Select "Save".
    The connect to the machine via SSH:
    
    ssh -o hostkeyalgorithms=ssh-rsa <ip_of_device>
    
    Disable signature verification:
    
    cliclientd stopcs
    
    Rename the "-web-ui-factory" image to something less than 63
    characters, maintaining the ".bin" suffix.
     * Go to System -> Firmware Update.
     * Under "New Firmware File", click "Browse" and select the image
     * Select "Update" and confirm by clicking "OK".
    
    If the update fails, the web UI should show an error message.
    Otherwise, the device should reboot into OpenWRT.
    
    NOTE: If ssh continues to complain that "no matching host key type
    found. Their offer: ssh-rsa,ssh-dss" it likely means that yor distro
    has completely disabled deprecated siphers in ssh. In that case, run
    the ssh command from a docker container of an older distro.
    
    TFTP method
    -----------
    
    To flash via tftp, first place the initramfs image on the TFTP server.
    
    setenv serverip <ip of tftp server>
    setenv ipaddr <ip in same subnet as tftp server>
    tftpboot tplink_eap625-outdoor-hd-v1-initramfs-uImage.itb
    bootm
    
    This should boot OpenWRT. Once booted, flash the sysupgrade.bin image
    using either luci or the commandline.
    
    Signed-off-by: Alexandru Gagniuc <mr.nuke.me at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/18584
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 .../uboot-envtools/files/qualcommax_ipq60xx          |  3 ++-
 package/firmware/ipq-wifi/Makefile                   |  8 +++++---
 .../boot/dts/qcom/ipq6018-eap625-outdoor-hd-v1.dts   | 14 ++++++++++++++
 target/linux/qualcommax/image/ipq60xx.mk             | 20 ++++++++++++++++++++
 .../ipq60xx/base-files/etc/board.d/02_network        |  6 ++++--
 .../etc/hotplug.d/firmware/11-ath11k-caldata         |  3 ++-
 .../base-files/lib/preinit/09_mount_factory_data     |  3 ++-
 .../ipq60xx/base-files/lib/upgrade/platform.sh       |  3 ++-
 8 files changed, 51 insertions(+), 9 deletions(-)

diff --git a/package/boot/uboot-tools/uboot-envtools/files/qualcommax_ipq60xx b/package/boot/uboot-tools/uboot-envtools/files/qualcommax_ipq60xx
index 7a89f78e79..0bfc7e7cf8 100644
--- a/package/boot/uboot-tools/uboot-envtools/files/qualcommax_ipq60xx
+++ b/package/boot/uboot-tools/uboot-envtools/files/qualcommax_ipq60xx
@@ -29,7 +29,8 @@ netgear,wax214|\
 netgear,wax610|\
 netgear,wax610y|\
 tplink,eap610-outdoor|\
-tplink,eap623od-hd-v1)
+tplink,eap623od-hd-v1|\
+tplink,eap625-outdoor-hd-v1)
 	ubootenv_add_mtd "0:appsblenv" "0x0" "0x40000" "0x20000"
 	;;
 yuncore,fap650)
diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile
index b33e261ef2..8b55b5faba 100644
--- a/package/firmware/ipq-wifi/Makefile
+++ b/package/firmware/ipq-wifi/Makefile
@@ -6,9 +6,9 @@ PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git
-PKG_SOURCE_DATE:=2025-04-22
-PKG_SOURCE_VERSION:=acf37292d2c1c27930b4d9ba58276b599706910d
-PKG_MIRROR_HASH:=1068b8ea938bfb0cd72bd48ef329e885a283e91f2ae864bfba9171c729e3d308
+PKG_SOURCE_DATE:=2025-05-13
+PKG_SOURCE_VERSION:=dae5a57ea2c28eea409c51cdcb1b57ecbb366a26
+PKG_MIRROR_HASH:=9a9a63cc41a8d992658149bf6a6dd2287d022cd8829a4c4a62a4a4449c88f31a
 PKG_FLAGS:=nonshared
 
 include $(INCLUDE_DIR)/package.mk
@@ -72,6 +72,7 @@ ALLWIFIBOARDS:= \
 	tplink_eap610-outdoor \
 	tplink_eap620hd-v1 \
 	tplink_eap623od-hd-v1 \
+	tplink_eap625-outdoor-hd-v1 \
 	tplink_eap660hd-v1 \
 	wallys_dr40x9 \
 	xiaomi_ax3600 \
@@ -224,6 +225,7 @@ $(eval $(call generate-ipq-wifi-package,tplink_deco-x80-5g,TP-Link Deco X80-5G))
 $(eval $(call generate-ipq-wifi-package,tplink_eap610-outdoor,TPLink EAP610-Outdoor))
 $(eval $(call generate-ipq-wifi-package,tplink_eap620hd-v1,TP-Link EAP620 HD v1))
 $(eval $(call generate-ipq-wifi-package,tplink_eap623od-hd-v1,TP-Link EAP623-Outdoor HD v1))
+$(eval $(call generate-ipq-wifi-package,tplink_eap625-outdoor-hd-v1,TP-Link EAP625-Outdoor HD v1))
 $(eval $(call generate-ipq-wifi-package,tplink_eap660hd-v1,TP-Link EAP660 HD v1))
 $(eval $(call generate-ipq-wifi-package,wallys_dr40x9,Wallys DR40X9))
 $(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600))
diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-eap625-outdoor-hd-v1.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-eap625-outdoor-hd-v1.dts
new file mode 100644
index 0000000000..bb39aaef0c
--- /dev/null
+++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-eap625-outdoor-hd-v1.dts
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+#include "ipq6018-tplink-eap6xx-outdoor.dtsi"
+
+/ {
+	model = "TP-Link EAP625-Outdoor HD v1";
+	compatible = "tplink,eap625-outdoor-hd-v1", "qcom,ipq6018";
+};
+
+&wifi {
+	qcom,ath11k-calibration-variant = "TP-Link-EAP625-Outdoor-HD-v1";
+};
diff --git a/target/linux/qualcommax/image/ipq60xx.mk b/target/linux/qualcommax/image/ipq60xx.mk
index 5c630df3a6..996a33d8ef 100644
--- a/target/linux/qualcommax/image/ipq60xx.mk
+++ b/target/linux/qualcommax/image/ipq60xx.mk
@@ -183,6 +183,26 @@ define Device/tplink_eap623od-hd-v1
 endef
 TARGET_DEVICES += tplink_eap623od-hd-v1
 
+define Device/tplink_eap625-outdoor-hd-v1
+	$(call Device/FitImage)
+	$(call Device/UbiFit)
+	DEVICE_VENDOR := TP-Link
+	DEVICE_MODEL := EAP625-Outdoor HD v1 and v1.6
+	BLOCKSIZE := 128k
+	PAGESIZE := 2048
+	SOC := ipq6018
+	DEVICE_PACKAGES := ipq-wifi-tplink_eap625-outdoor
+	IMAGES += web-ui-factory.bin
+	IMAGE/web-ui-factory.bin := append-ubi | tplink-image-2022
+	TPLINK_SUPPORT_STRING := SupportList:\r\n \
+		EAP625-Outdoor HD(TP-Link|UN|AX1800-D):1.0\r\n \
+		EAP625-Outdoor HD(TP-Link|CA|AX1800-D):1.0\r\n \
+		EAP625-Outdoor HD(TP-Link|AU|AX1800-D):1.0\r\n \
+		EAP625-Outdoor HD(TP-Link|KR|AX1800-D):1.0
+
+endef
+TARGET_DEVICES += tplink_eap625-outdoor-hd-v1
+
 define Device/yuncore_fap650
 	$(call Device/FitImage)
 	$(call Device/UbiFit)
diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
index a3a86490de..11ed74bda5 100644
--- a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
+++ b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network
@@ -33,7 +33,8 @@ ipq60xx_setup_interfaces()
 	netgear,wax610|\
 	netgear,wax610y|\
 	tplink,eap610-outdoor|\
-	tplink,eap623od-hd-v1)
+	tplink,eap623od-hd-v1|\
+	tplink,eap625-outdoor-hd-v1)
 		ucidef_set_interface_lan "lan" "dhcp"
 		;;
 	*)
@@ -56,7 +57,8 @@ ipq60xx_setup_macs()
 		label_mac=$lan_mac
 		;;
 	tplink,eap610-outdoor|\
-	tplink,eap623od-hd-v1)
+	tplink,eap623od-hd-v1|\
+	tplink,eap625-outdoor-hd-v1)
 		label_mac=$(get_mac_binary /tmp/factory_data/default-mac 0)
 		lan_mac=$label_mac
 		;;
diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
index 8102524e30..b78a846372 100644
--- a/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
+++ b/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
@@ -51,7 +51,8 @@ case "$FIRMWARE" in
 		ath11k_set_macflag
 		;;
 	tplink,eap610-outdoor|\
-	tplink,eap623od-hd-v1)
+	tplink,eap623od-hd-v1|\
+	tplink,eap625-outdoor-hd-v1)
 		caldata_from_file "/tmp/factory_data/radio" 0 0x10000
 		label_mac=$(get_mac_binary /tmp/factory_data/default-mac 0)
 		ath11k_patch_mac $label_mac 1
diff --git a/target/linux/qualcommax/ipq60xx/base-files/lib/preinit/09_mount_factory_data b/target/linux/qualcommax/ipq60xx/base-files/lib/preinit/09_mount_factory_data
index 488267a01b..a37050f407 100644
--- a/target/linux/qualcommax/ipq60xx/base-files/lib/preinit/09_mount_factory_data
+++ b/target/linux/qualcommax/ipq60xx/base-files/lib/preinit/09_mount_factory_data
@@ -8,7 +8,8 @@ preinit_mount_factory_data() {
 
 	case $(board_name) in
 	tplink,eap610-outdoor|\
-	tplink,eap623od-hd-v1)
+	tplink,eap623od-hd-v1|\
+	tplink,eap625-outdoor-hd-v1)
 		mtd_path=$(find_mtd_chardev "factory_data")
 		ubiattach --dev-path="$mtd_path" --devn=1
 		mkdir /tmp/factory_data
diff --git a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
index 4588688405..58bd08deb1 100644
--- a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh
@@ -134,7 +134,8 @@ platform_do_upgrade() {
 		nand_do_upgrade "$1"
 		;;
 	tplink,eap610-outdoor|\
-	tplink,eap623od-hd-v1)
+	tplink,eap623od-hd-v1|\
+	tplink,eap625-outdoor-hd-v1)
 		tplink_do_upgrade "$1"
 		;;
 	yuncore,fap650)




More information about the lede-commits mailing list