diff --git a/files/etc/uci-defaults/99_setup_aredn_include b/files/etc/uci-defaults/99_setup_aredn_include index bf7308f8..645341ef 100755 --- a/files/etc/uci-defaults/99_setup_aredn_include +++ b/files/etc/uci-defaults/99_setup_aredn_include @@ -119,15 +119,6 @@ generate_led() { rssi) local iface minq maxq offset factor json_get_vars iface minq maxq offset factor - echo "config led 'led_$1'" >> /etc/aredn_include/system_netled - echo " option sysfs '$sysfs'" >> /etc/aredn_include/system_netled - echo " option trigger 'rssi'" >> /etc/aredn_include/system_netled - echo " option iface 'rssid_$iface'" >> /etc/aredn_include/system_netled - echo " option minq '$minq'" >> /etc/aredn_include/system_netled - echo " option maxq '$maxq'" >> /etc/aredn_include/system_netled - echo " option offset '$offset'" >> /etc/aredn_include/system_netled - echo " option factor '$factor'" >> /etc/aredn_include/system_netled - echo "" >> /etc/aredn_include/system_netled ;; switch) diff --git a/files/www/cgi-bin/perlfunc.pm b/files/www/cgi-bin/perlfunc.pm index 4c51ace1..7fc0ca55 100644 --- a/files/www/cgi-bin/perlfunc.pm +++ b/files/www/cgi-bin/perlfunc.pm @@ -1011,6 +1011,16 @@ sub hardware_info 'usechains' => 1, 'rfband' => '5800ubntus', 'chanpower' => { 140 => '17', 184 => '26' }, + }, + 'TP-Link CPE510 v2.0' => { + 'name' => 'TP-Link CPE510 v2.0', + 'comment' => 'Testing support for CPE510 v2.0', + 'supported' => '-1', + 'maxpower' => '26', + 'pwroffset' => '0', + 'usechains' => 1, + 'rfband' => '5800ubntus', + 'chanpower' => { 140 => '17', 184 => '26' }, }, 'Mikrotik RouterBOARD 912UAG-2HPnD' => { 'name' => 'Mikrotik RouterBOARD 912UAG-2HPnD', diff --git a/patches/001-add_support_for_TP-Link_CPE210_v2.patch b/patches/001-add_support_for_TP-Link_CPE210_v2.patch deleted file mode 100644 index ed82d271..00000000 --- a/patches/001-add_support_for_TP-Link_CPE210_v2.patch +++ /dev/null @@ -1,435 +0,0 @@ - -commit 251906597f5aa3d06b96ae7368d11a4959e64c96 -Author: Robert Marko -Date: Fri Jan 19 12:58:40 2018 +0100 - - ar71xx: Add TP-Link Pharos v2 board detection - - Add support for detecting TP-Link Pharos v2 boards. - They use different format in product-info partition than v1 boards. - - Code for this patch was written by Alexander Couzens - - Signed-off-by: Robert Marko - -diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh -index b6642495de..c40c83f5dd 100755 ---- a/target/linux/ar71xx/base-files/lib/ar71xx.sh -+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh -@@ -361,6 +361,25 @@ tplink_pharos_board_detect() { - AR71XX_MODEL="TP-Link $model v$2" - } - -+tplink_pharos_v2_get_model_string() { -+ local part -+ part=$(find_mtd_part 'product-info') -+ [ -z "$part" ] && return 1 -+ -+ # The returned string will end with \r\n, but we don't remove it here -+ # to simplify matching against it in the sysupgrade image check -+ dd if=$part bs=1 skip=4360 count=64 2>/dev/null | tr -d '\r\0' | head -n 1 -+} -+ -+tplink_pharos_v2_board_detect() { -+ local model_string="$(tplink_pharos_v2_get_model_string)" -+ local oIFS="$IFS"; IFS=":"; set -- $model_string; IFS="$oIFS" -+ -+ local model="${1%%\(*}" -+ -+ AR71XX_MODEL="TP-Link $model v$2" -+} -+ - ar71xx_board_detect() { - local machine - local name -@@ -532,6 +551,10 @@ ar71xx_board_detect() { - name="cpe210" - tplink_pharos_board_detect - ;; -+ *"CPE210 v2") -+ name="cpe210-v2" -+ tplink_pharos_v2_board_detect -+ ;; - *"CPE505N") - name="cpe505n" - ;; -diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh -index 3d7b1593e1..1ed6882741 100755 ---- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh -+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh -@@ -120,6 +120,34 @@ tplink_pharos_check_image() { - return 0 - } - -+tplink_pharos_v2_check_image() { -+ local image_magic="$(get_magic_long "$1")" -+ local board_magic="$2" -+ [ "$image_magic" != "$board_magic" ] && { -+ echo "Invalid image magic '$image_magic'. Expected '$board_magic'." -+ return 1 -+ } -+ -+ local model_string="$(tplink_pharos_v2_get_model_string)" -+ local line -+ -+ # Here $1 is given to dd directly instead of get_image as otherwise the skip -+ # will take almost a second (as dd can't seek then) -+ # -+ # This will fail if the image isn't local, but that's fine: as the -+ # read loop won't be executed at all, it will return true, so the image -+ # is accepted (loading the first 1.5M of a remote image for this check seems -+ # a bit extreme) -+ dd if="$1" bs=1 skip=1511432 count=1024 2>/dev/null | tr -d '\0\xff\r' | while read line; do -+ [ "$line" = "$model_string" ] && break -+ done || { -+ echo "Unsupported image (model not in support-list)" -+ return 1 -+ } -+ -+ return 0 -+} -+ - seama_get_type_magic() { - get_image "$@" | dd bs=1 count=4 skip=53 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"' - } -@@ -550,6 +578,10 @@ platform_check_image() { - tplink_pharos_check_image "$1" && return 0 - return 1 - ;; -+ cpe210-v2) -+ tplink_pharos_v2_check_image "$1" "01000000" && return 0 -+ return 1 -+ ;; - a40|\ - a60|\ - mr1750|\ - - -commit 7b711ff801d4c0f4740056481b156f96b5a0fbc8 -Author: Robert Marko -Date: Fri Jan 19 14:45:42 2018 +0100 - - ar71xx: add support for TP-Link CPE210 v2 - - This PR adds support for a popular low-cost 2.4GHz N based AP - - Specifications: - - SoC: Qualcomm Atheros QCA9533 (650MHz) - - RAM: 64MB - - Storage: 8 MB SPI NOR - - Wireless: 2.4GHz N based built into SoC 2x2 - - Ethernet: 1x 100/10 Mbps, integrated into SoC, 24V POE IN - - Installation: - Flash factory image through stock firmware WEB UI - or through TFTP - To get to TFTP recovery just hold reset button while powering on for - around 4-5 seconds and release. - Rename factory image to recovery.bin - Stock TFTP server IP:192.168.0.100 - Stock device TFTP adress:192.168.0.254 - - Notes: - TP-Link does not use bootstrap registers so without this patch reference - clock detects as 40MHz while it is actually 25MHz. - This is due to messed up bootstrap resistor configuration on the PCB. - Provided GPL code just forces 25MHz reference clock. - That causes booting with completely wrong clocks, for example, CPU tries - to boot at 1040MHz while the stock is 650MHz. - So this PR depends on PR #672 to remove 40MHz reference clock. - Thanks to Sven Eckelmann for properly patching that. - - Signed-off-by: Robert Marko - -diff --git a/target/linux/ar71xx/base-files/etc/board.d/01_leds b/target/linux/ar71xx/base-files/etc/board.d/01_leds -index fb1f29dcfa..5ea9c3ee73 100755 ---- a/target/linux/ar71xx/base-files/etc/board.d/01_leds -+++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds -@@ -213,16 +213,25 @@ cf-e530n) - ucidef_set_led_netdev "wan" "WAN" "$board:blue:wan" "eth1" - ;; - cpe210|\ -+cpe210-v2|\ - cpe510|\ - wbs210|\ - wbs510) -- ucidef_set_led_switch "lan0" "LAN0" "tp-link:green:lan0" "switch0" "0x20" -- ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10" - ucidef_set_rssimon "wlan0" "200000" "1" - ucidef_set_led_rssi "rssilow" "RSSILOW" "tp-link:green:link1" "wlan0" "1" "100" "0" "13" - ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "tp-link:green:link2" "wlan0" "26" "100" "-25" "13" - ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "tp-link:green:link3" "wlan0" "51" "100" "-50" "13" - ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "tp-link:green:link4" "wlan0" "76" "100" "-75" "13" -+ -+ case "$board" in -+ cpe210-v2) -+ ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan0" "eth0" -+ ;; -+ *) -+ ucidef_set_led_switch "lan0" "LAN0" "tp-link:green:lan0" "switch0" "0x20" -+ ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10" -+ ;; -+ esac - ;; - cr3000) - ucidef_set_led_netdev "wan" "WAN" "pcs:blue:wan" "eth1" -diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network -index 5a10a9f486..bab99bb852 100755 ---- a/target/linux/ar71xx/base-files/etc/board.d/02_network -+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network -@@ -71,6 +71,7 @@ ar71xx_setup_interfaces() - cap4200ag|\ - cf-e380ac-v1|\ - cf-e380ac-v2|\ -+ cpe210-v2|\ - dr342|\ - eap120|\ - eap300v2|\ -diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt -index 3ca77550bc..ed19fa8ba4 100644 ---- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt -+++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt -@@ -1467,6 +1467,7 @@ config ATH79_MACH_CPE505N - config ATH79_MACH_CPE510 - bool "TP-LINK CPE510 support" - select SOC_AR934X -+ select SOC_QCA953X - select ATH79_DEV_ETH - select ATH79_DEV_GPIO_BUTTONS - select ATH79_DEV_LEDS_GPIO -diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c -index d2dbed1fe2..64805938c4 100644 ---- a/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c -+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-cpe510.c -@@ -1,7 +1,8 @@ - /* -- * TP-LINK CPE210/220/510/520 board support -+ * TP-LINK CPE210/210 v2/220/510/520 board support - * - * Copyright (C) 2014 Matthias Schiffer -+ * Copyright (C) 2017 Robert Marko - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published -@@ -41,6 +42,8 @@ - #define CPE510_KEYS_POLL_INTERVAL 20 /* msecs */ - #define CPE510_KEYS_DEBOUNCE_INTERVAL (3 * CPE510_KEYS_POLL_INTERVAL) - -+/* CPE210 v2 reset GPIO */ -+#define CPE210_V2_GPIO_BTN_RESET 17 - - static struct gpio_led cpe510_leds_gpio[] __initdata = { - { -@@ -98,6 +101,30 @@ static struct gpio_led wbs510_leds_gpio[] __initdata = { - }, - }; - -+static struct gpio_led cpe210_v2_leds_gpio[] __initdata = { -+ { -+ .name = "tp-link:green:lan0", -+ .gpio = CPE510_GPIO_LED_LAN0, -+ .active_low = 1, -+ }, { -+ .name = "tp-link:green:link1", -+ .gpio = CPE510_GPIO_LED_L1, -+ .active_low = 1, -+ }, { -+ .name = "tp-link:green:link2", -+ .gpio = CPE510_GPIO_LED_L2, -+ .active_low = 1, -+ }, { -+ .name = "tp-link:green:link3", -+ .gpio = CPE510_GPIO_LED_L3, -+ .active_low = 1, -+ }, { -+ .name = "tp-link:green:link4", -+ .gpio = CPE510_GPIO_LED_L4, -+ .active_low = 1, -+ }, -+}; -+ - static struct gpio_keys_button cpe510_gpio_keys[] __initdata = { - { - .desc = "Reset button", -@@ -109,6 +136,17 @@ static struct gpio_keys_button cpe510_gpio_keys[] __initdata = { - } - }; - -+static struct gpio_keys_button cpe210_v2_gpio_keys[] __initdata = { -+ { -+ .desc = "Reset button", -+ .type = EV_KEY, -+ .code = KEY_RESTART, -+ .debounce_interval = CPE510_KEYS_DEBOUNCE_INTERVAL, -+ .gpio = CPE210_V2_GPIO_BTN_RESET, -+ .active_low = 1, -+ } -+}; -+ - static void __init cpe_setup(u8 *mac) - { - /* Disable JTAG, enabling GPIOs 0-3 */ -@@ -171,9 +209,33 @@ static void __init wbs_setup(void) - ath79_register_wmac(ee, mac); - } - -+static void __init cpe210_v2_setup(void) -+{ -+ u8 *mac = (u8 *) KSEG1ADDR(0x1f830008); -+ u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); -+ -+ ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe210_v2_leds_gpio), -+ cpe210_v2_leds_gpio); -+ ath79_register_gpio_keys_polled(-1, CPE510_KEYS_POLL_INTERVAL, -+ ARRAY_SIZE(cpe210_v2_gpio_keys), -+ cpe210_v2_gpio_keys); -+ ath79_register_m25p80(NULL); -+ ath79_register_mdio(0, 0x0); -+ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0); -+ ath79_eth0_data.duplex = DUPLEX_FULL; -+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; -+ ath79_eth0_data.speed = SPEED_100; -+ ath79_eth0_data.phy_mask = BIT(4); -+ ath79_register_eth(0); -+ ath79_register_wmac(ee, mac); -+} -+ - MIPS_MACHINE(ATH79_MACH_CPE210, "CPE210", "TP-LINK CPE210/220", - cpe210_setup); - -+MIPS_MACHINE(ATH79_MACH_CPE210_V2, "CPE210V2", "TP-LINK CPE210 v2", -+ cpe210_v2_setup); -+ - MIPS_MACHINE(ATH79_MACH_CPE510, "CPE510", "TP-LINK CPE510/520", - cpe510_setup); - -diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h -index a621fe2c90..9b1d83beb9 100644 ---- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h -+++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h -@@ -68,7 +68,8 @@ enum ath79_mach_type { - ATH79_MACH_CF_E380AC_V2, /* COMFAST CF-E380AC v2 */ - ATH79_MACH_CF_E520N, /* COMFAST CF-E520N */ - ATH79_MACH_CF_E530N, /* COMFAST CF-E530N */ -- ATH79_MACH_CPE210, /* TP-LINK CPE210 */ -+ ATH79_MACH_CPE210, /* TP-LINK CPE210 v1 */ -+ ATH79_MACH_CPE210_V2, /* TP-LINK CPE210 v2 */ - ATH79_MACH_CPE505N, /* P&W CPE505N */ - ATH79_MACH_CPE510, /* TP-LINK CPE510 */ - ATH79_MACH_CPE830, /* YunCore CPE830 */ -diff --git a/target/linux/ar71xx/image/generic-tp-link.mk b/target/linux/ar71xx/image/generic-tp-link.mk -index b0d99e2599..efa8718417 100644 ---- a/target/linux/ar71xx/image/generic-tp-link.mk -+++ b/target/linux/ar71xx/image/generic-tp-link.mk -@@ -153,6 +153,18 @@ define Device/cpe210-220-v1 - endef - TARGET_DEVICES += cpe210-220-v1 - -+define Device/cpe210-v2 -+ $(Device/cpe510-520-v1) -+ DEVICE_TITLE := TP-LINK CPE210 v2 -+ BOARDNAME := CPE210V2 -+ TPLINK_BOARD_ID := CPE210V2 -+ KERNEL := kernel-bin | patch-cmdline | lzma | tplink-v1-header -+ TPLINK_HWID := 0x0 -+ TPLINK_HWREV := 0 -+ TPLINK_HEADER_VERSION := 1 -+endef -+TARGET_DEVICES += cpe210-v2 -+ - define Device/wbs210-v1 - $(Device/cpe510-520-v1) - DEVICE_TITLE := TP-LINK WBS210 v1 -diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c -index 88e2e88bdf..05009a3800 100644 ---- a/tools/firmware-utils/src/tplink-safeloader.c -+++ b/tools/firmware-utils/src/tplink-safeloader.c -@@ -153,6 +153,48 @@ static struct device_info boards[] = { - .first_sysupgrade_partition = "os-image", - .last_sysupgrade_partition = "file-system", - }, -+ -+ /** Firmware layout for the CPE210 V2 */ -+ { -+ .id = "CPE210V2", -+ .vendor = "CPE210(TP-LINK|UN|N300-2|00000000):2.0\r\n", -+ .support_list = -+ "SupportList:\r\n" -+ "CPE210(TP-LINK|EU|N300-2|00000000):2.0\r\n" -+ "CPE210(TP-LINK|EU|N300-2|45550000):2.0\r\n" -+ "CPE210(TP-LINK|EU|N300-2|55530000):2.0\r\n" -+ "CPE210(TP-LINK|UN|N300-2|00000000):2.0\r\n" -+ "CPE210(TP-LINK|UN|N300-2|45550000):2.0\r\n" -+ "CPE210(TP-LINK|UN|N300-2|55530000):2.0\r\n" -+ "CPE210(TP-LINK|US|N300-2|55530000):2.0\r\n" -+ "CPE210(TP-LINK|UN|N300-2):2.0\r\n" -+ "CPE210(TP-LINK|EU|N300-2):2.0\r\n" -+ "CPE210(TP-LINK|US|N300-2):2.0\r\n", -+ .support_trail = '\xff', -+ .soft_ver = NULL, -+ -+ .partitions = { -+ {"fs-uboot", 0x00000, 0x20000}, -+ {"partition-table", 0x20000, 0x02000}, -+ {"default-mac", 0x30000, 0x00020}, -+ {"product-info", 0x31100, 0x00100}, -+ {"device-info", 0x31400, 0x00400}, -+ {"signature", 0x32000, 0x00400}, -+ {"device-id", 0x33000, 0x00100}, -+ {"os-image", 0x40000, 0x170000}, -+ {"soft-version", 0x1b0000, 0x00100}, -+ {"support-list", 0x1b1000, 0x01000}, -+ {"file-system", 0x1c0000, 0x600000}, -+ {"user-config", 0x7c0000, 0x10000}, -+ {"default-config", 0x7d0000, 0x10000}, -+ {"log", 0x7e0000, 0x10000}, -+ {"radio", 0x7f0000, 0x10000}, -+ {NULL, 0, 0} -+ }, -+ -+ .first_sysupgrade_partition = "os-image", -+ .last_sysupgrade_partition = "file-system", -+ }, - - /** Firmware layout for the CPE510/520 */ - { - - -From 9a70c537d768e767a682cb4c4fa4607d9236560b Mon Sep 17 00:00:00 2001 -From: Adrian Schmutzler -Date: Wed, 2 May 2018 23:10:06 +0200 -Subject: [PATCH] ar71xx: Fix kernel partition size for CPE210 v2 - -The changed partition for the CPE210/510 v1 is linked in -generic-tp-link.mk, but has not been changed in -tplink-safeloader.c so far. - -Signed-off-by: Adrian Schmutzler - -Tested-by: Adrian Schmutzler ---- - tools/firmware-utils/src/tplink-safeloader.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c -index 5e88653ac2..a7667a7a16 100644 ---- a/tools/firmware-utils/src/tplink-safeloader.c -+++ b/tools/firmware-utils/src/tplink-safeloader.c -@@ -182,10 +182,10 @@ static struct device_info boards[] = { - {"device-info", 0x31400, 0x00400}, - {"signature", 0x32000, 0x00400}, - {"device-id", 0x33000, 0x00100}, -- {"os-image", 0x40000, 0x170000}, -- {"soft-version", 0x1b0000, 0x00100}, -- {"support-list", 0x1b1000, 0x01000}, -- {"file-system", 0x1c0000, 0x600000}, -+ {"os-image", 0x40000, 0x1c0000}, -+ {"file-system", 0x200000, 0x5b0000}, -+ {"soft-version", 0x7b0000, 0x00100}, -+ {"support-list", 0x7b1000, 0x01000}, - {"user-config", 0x7c0000, 0x10000}, - {"default-config", 0x7d0000, 0x10000}, - {"log", 0x7e0000, 0x10000}, --- -2.11.0 - diff --git a/patches/001-add_support_for_TP-Link_CPE510_v2.patch b/patches/001-add_support_for_TP-Link_CPE510_v2.patch new file mode 100644 index 00000000..f84471ce --- /dev/null +++ b/patches/001-add_support_for_TP-Link_CPE510_v2.patch @@ -0,0 +1,94 @@ +From 37d1a65951068a5de4a9cbbc45eebb6be7ae6730 Mon Sep 17 00:00:00 2001 +From: Andrew Cameron +Date: Tue, 26 Jun 2018 22:09:03 -0500 +Subject: [PATCH] ar71xx: add support for TP-LINK CPE510 V2.0 + +Adds Support for the TP-LINK CPE510 V2.0 by TP-Link. +The hardware is almost the same as the CPE510 V1.0 +Follow the same processes as for the CPE510 V1.0 + +Signed-off-by: Andrew Cameron +--- + target/linux/ar71xx/base-files/lib/ar71xx.sh | 9 ++++++++- + target/linux/ar71xx/base-files/lib/upgrade/platform.sh | 15 ++++++++++++++- + tools/firmware-utils/src/tplink-safeloader.c | 12 +++++++++++- + 3 files changed, 33 insertions(+), 3 deletions(-) + +diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh +index 63b7a4f1081..b517b599353 100755 +--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh ++++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh +@@ -582,7 +582,14 @@ ar71xx_board_detect() { + ;; + *"CPE510/520") + name="cpe510" +- tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" ++ tplink_pharos_board_detect "$(tplink_pharos_v2_get_model_string)" ++ case $AR71XX_MODEL in ++ 'TP-Link CPE510 v2.0') ++ ;; ++ *) ++ tplink_pharos_board_detect "$(tplink_pharos_get_model_string | tr -d '\r')" ++ ;; ++ esac + ;; + *"CPE830") + name="cpe830" +diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +index 41e60d7f012..352c7997b38 100755 +--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh ++++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +@@ -578,7 +578,6 @@ platform_check_image() { + return $? + ;; + cpe210|\ +- cpe510|\ + eap120|\ + wbs210|\ + wbs510) +@@ -589,6 +588,20 @@ platform_check_image() { + tplink_pharos_check_image "$1" "01000000" "$(tplink_pharos_v2_get_model_string)" '\0\xff\r' && return 0 + return 1 + ;; ++ cpe510) ++ local modelstr="$(tplink_pharos_v2_get_model_string)" ++ tplink_pharos_board_detect $modelstr ++ case $AR71XX_MODEL in ++ 'TP-Link CPE510 v2.0') ++ tplink_pharos_check_image "$1" "7f454c46" "$modelstr" '\0\xff\r' && return 0 ++ return 1 ++ ;; ++ *) ++ tplink_pharos_check_image "$1" "7f454c46" "$(tplink_pharos_get_model_string)" '' && return 0 ++ return 1 ++ ;; ++ esac ++ ;; + a40|\ + a60|\ + mr1750|\ +diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c +index c7942d1ef62..e102d34f0e0 100644 +--- a/tools/firmware-utils/src/tplink-safeloader.c ++++ b/tools/firmware-utils/src/tplink-safeloader.c +@@ -210,7 +210,17 @@ static struct device_info boards[] = { + "CPE510(TP-LINK|EU|N300-5):1.1\r\n" + "CPE520(TP-LINK|UN|N300-5):1.1\r\n" + "CPE520(TP-LINK|US|N300-5):1.1\r\n" +- "CPE520(TP-LINK|EU|N300-5):1.1\r\n", ++ "CPE520(TP-LINK|EU|N300-5):1.1\r\n" ++ "CPE510(TP-LINK|EU|N300-5|00000000):2.0\r\n" ++ "CPE510(TP-LINK|EU|N300-5|45550000):2.0\r\n" ++ "CPE510(TP-LINK|EU|N300-5|55530000):2.0\r\n" ++ "CPE510(TP-LINK|UN|N300-5|00000000):2.0\r\n" ++ "CPE510(TP-LINK|UN|N300-5|45550000):2.0\r\n" ++ "CPE510(TP-LINK|UN|N300-5|55530000):2.0\r\n" ++ "CPE510(TP-LINK|US|N300-5|55530000):2.0\r\n" ++ "CPE510(TP-LINK|UN|N300-5):2.0\r\n" ++ "CPE510(TP-LINK|EU|N300-5):2.0\r\n" ++ "CPE510(TP-LINK|US|N300-5):2.0\r\n", + .support_trail = '\xff', + .soft_ver = NULL, + + + diff --git a/patches/series b/patches/series index 94cc82e0..a4152681 100644 --- a/patches/series +++ b/patches/series @@ -1,4 +1,4 @@ -001-add_support_for_TP-Link_CPE210_v2.patch +001-add_support_for_TP-Link_CPE510_v2.patch 700-cpe210.patch 002-firmware-check-fix.patch 701-extended-spectrum.patch