summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShymon Samsel2025-03-24 17:24:02 +0000
committerRobert Marko2025-03-27 16:42:04 +0000
commit8a15a75e9414bbb839ac457701b041454e89bbc4 (patch)
treeb945494d7c1eb68e77e9e2ca05aea66a5be984aa
parent2b5fea0e16b6f63e2355aff06d3a3381c03edcf6 (diff)
downloadopenwrt-8a15a75e9414bbb839ac457701b041454e89bbc4.tar.gz
qualcommax: ipq807x: Create working factory images for EAP620 HD v1 and EAP660 HD v1
Create factory tar for EAP620 HD v1 and EAP660 HD v1 which is accepted by the stock UI. Fix bug in ipq807x and ipq60xx makefiles so TPLINK_SUPPORT_STRING is handled properly. Modify tplink-mkimage-2022 script and relevant makefiles to allow spaces in support strings (required for EAP620 HD v1 and EAP660 HD v1). Installation steps are identical to EAP610-Outdoor: 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. Signed-off-by: Shymon Samsel <ssamsel@umass.edu> Link: https://github.com/openwrt/openwrt/pull/18340 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rwxr-xr-xscripts/tplink-mkimage-2022.py4
-rw-r--r--target/linux/qualcommax/image/ipq60xx.mk8
-rw-r--r--target/linux/qualcommax/image/ipq807x.mk6
3 files changed, 13 insertions, 5 deletions
diff --git a/scripts/tplink-mkimage-2022.py b/scripts/tplink-mkimage-2022.py
index 4db69409c9..07ab5a0cb4 100755
--- a/scripts/tplink-mkimage-2022.py
+++ b/scripts/tplink-mkimage-2022.py
@@ -19,8 +19,10 @@ import argparse
import hashlib
import os
import pprint
+import re
import struct
+
def decode_header(datafile):
'''Read the tplink2022 image header anbd decode it into a dictionary'''
header = {}
@@ -151,7 +153,7 @@ def create_image(output_image, root, support):
support_list = {}
support_list['name'] = 'support-list'
- support_list['data'] = support.replace(" ", "\r\n").encode('utf-8')
+ support_list['data'] = re.sub("\\\\r\\\\n ?", "\r\n", support).encode("utf-8")
support_list['offset'] = header['rootfs_size']
support_list['size'] = len(support_list['data'])
header['items'].append(support_list)
diff --git a/target/linux/qualcommax/image/ipq60xx.mk b/target/linux/qualcommax/image/ipq60xx.mk
index e85204d796..4e88a7c920 100644
--- a/target/linux/qualcommax/image/ipq60xx.mk
+++ b/target/linux/qualcommax/image/ipq60xx.mk
@@ -1,3 +1,5 @@
+DEVICE_VARS += TPLINK_SUPPORT_STRING
+
define Device/8devices_mango-dvk
$(call Device/FitImageLzma)
DEVICE_VENDOR := 8devices
@@ -107,9 +109,9 @@ define Device/tplink_eap610-outdoor
DEVICE_PACKAGES := ipq-wifi-tplink_eap610-outdoor
IMAGES += web-ui-factory.bin
IMAGE/web-ui-factory.bin := append-ubi | tplink-image-2022
- TPLINK_SUPPORT_STRING := SupportList: \
- EAP610-Outdoor(TP-Link|UN|AX1800-D):1.0 \
- EAP610-Outdoor(TP-Link|JP|AX1800-D):1.0 \
+ TPLINK_SUPPORT_STRING := SupportList:\r\n \
+ EAP610-Outdoor(TP-Link|UN|AX1800-D):1.0\r\n \
+ EAP610-Outdoor(TP-Link|JP|AX1800-D):1.0\r\n \
EAP610-Outdoor(TP-Link|CA|AX1800-D):1.0
endef
TARGET_DEVICES += tplink_eap610-outdoor
diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk
index 378f37501b..9a615eb0b4 100644
--- a/target/linux/qualcommax/image/ipq807x.mk
+++ b/target/linux/qualcommax/image/ipq807x.mk
@@ -1,4 +1,4 @@
-DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
+DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID TPLINK_SUPPORT_STRING
define Build/asus-fake-ramdisk
rm -rf $(KDIR)/tmp/fakerd
@@ -402,6 +402,8 @@ define Device/tplink_eap620hd-v1
PAGESIZE := 2048
SOC := ipq8072
DEVICE_PACKAGES := ipq-wifi-tplink_eap620hd-v1
+ IMAGES += web-ui-factory.bin
+ IMAGE/web-ui-factory.bin := append-ubi | tplink-image-2022
TPLINK_SUPPORT_STRING := SupportList:\r\nEAP620 HD(TP-Link|UN|AX1800-D):1.0\r\n
endef
TARGET_DEVICES += tplink_eap620hd-v1
@@ -416,6 +418,8 @@ define Device/tplink_eap660hd-v1
PAGESIZE := 2048
SOC := ipq8072
DEVICE_PACKAGES := ipq-wifi-tplink_eap660hd-v1
+ IMAGES += web-ui-factory.bin
+ IMAGE/web-ui-factory.bin := append-ubi | tplink-image-2022
TPLINK_SUPPORT_STRING := SupportList:\r\nEAP660 HD(TP-Link|UN|AX3600-D):1.0\r\n
endef
TARGET_DEVICES += tplink_eap660hd-v1