aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Geier <freifunk@geierb.de>2019-11-03 13:58:12 +0100
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2019-11-03 13:59:18 +0100
commit3930aab2cb067d04f5c9ebbf1af57744e19355eb (patch)
tree4f3363da89309e2e11676ef64ecc00336b06b8dc
parent66ebca7103052ba851be2261a4452787959de9c2 (diff)
downloadupstream-3930aab2cb067d04f5c9ebbf1af57744e19355eb.tar.gz
upstream-3930aab2cb067d04f5c9ebbf1af57744e19355eb.tar.bz2
upstream-3930aab2cb067d04f5c9ebbf1af57744e19355eb.zip
ath79: add support for TP-Link WBS210 v2
TP-Link WBS210 v2 is an outdoor wireless CPE for 2.4 GHz with two Ethernet ports based on Atheros AR9344 The device is the same as TP-Link CPE220 v2, but with higher TX power (27 dBm instead of 12 dBm) and two antenna connectors instead of built-in antennas. Specifications: - SoC: Atheros AR9344 - RAM: 64MB - Storage: 8 MB SPI NOR - Wireless: 2.4GHz 300 Mbps, 2x RP-SMA connector, 27 dBm TX power - Ethernet: 1x 10/100 Mbps with 24V POE IN, 1x 10/100 Mbps 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 The TP-Link WBS devices use the same GPIOs as the CPE devices, except for the link4 LED. For this one, WBS devices use "2", while CPE devices use "16". (Tested on WBS210 v2) Signed-off-by: Bernhard Geier <freifunk@geierb.de> [added comment about GPIO] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
-rw-r--r--target/linux/ath79/dts/ar9344_tplink_cpe210-v1.dts4
-rw-r--r--target/linux/ath79/dts/ar9344_tplink_cpe220-v2.dts4
-rw-r--r--target/linux/ath79/dts/ar9344_tplink_cpe510-v1.dts4
-rw-r--r--target/linux/ath79/dts/ar9344_tplink_cpexxx-v1.dtsi11
-rw-r--r--target/linux/ath79/dts/ar9344_tplink_wbs210-v2.dts13
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/01_leds3
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/02_network1
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches3
-rw-r--r--target/linux/ath79/image/generic-tp-link.mk11
-rw-r--r--tools/firmware-utils/src/tplink-safeloader.c32
10 files changed, 78 insertions, 8 deletions
diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe210-v1.dts b/target/linux/ath79/dts/ar9344_tplink_cpe210-v1.dts
index 1a107c23ef..e82fd4a32f 100644
--- a/target/linux/ath79/dts/ar9344_tplink_cpe210-v1.dts
+++ b/target/linux/ath79/dts/ar9344_tplink_cpe210-v1.dts
@@ -7,3 +7,7 @@
compatible = "tplink,cpe210-v1", "qca,ar9344";
model = "TP-Link CPE210 v1";
};
+
+&led_link4 {
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+};
diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe220-v2.dts b/target/linux/ath79/dts/ar9344_tplink_cpe220-v2.dts
index 0981b4af07..7e8822710f 100644
--- a/target/linux/ath79/dts/ar9344_tplink_cpe220-v2.dts
+++ b/target/linux/ath79/dts/ar9344_tplink_cpe220-v2.dts
@@ -7,3 +7,7 @@
compatible = "tplink,cpe220-v2", "qca,ar9344";
model = "TP-Link CPE220 v2";
};
+
+&led_link4 {
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+};
diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe510-v1.dts b/target/linux/ath79/dts/ar9344_tplink_cpe510-v1.dts
index 225d16e2e7..34b83c944e 100644
--- a/target/linux/ath79/dts/ar9344_tplink_cpe510-v1.dts
+++ b/target/linux/ath79/dts/ar9344_tplink_cpe510-v1.dts
@@ -7,3 +7,7 @@
compatible = "tplink,cpe510-v1", "qca,ar9344";
model = "TP-Link CPE510 v1";
};
+
+&led_link4 {
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+};
diff --git a/target/linux/ath79/dts/ar9344_tplink_cpexxx-v1.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpexxx-v1.dtsi
index 81802f3b5b..3ba964edde 100644
--- a/target/linux/ath79/dts/ar9344_tplink_cpexxx-v1.dtsi
+++ b/target/linux/ath79/dts/ar9344_tplink_cpexxx-v1.dtsi
@@ -5,10 +5,10 @@
/ {
aliases {
- led-boot = &system;
- led-failsafe = &system;
- led-running = &system;
- led-upgrade = &system;
+ led-boot = &led_link4;
+ led-failsafe = &led_link4;
+ led-running = &led_link4;
+ led-upgrade = &led_link4;
};
leds {
@@ -39,9 +39,8 @@
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
- system: link4 {
+ led_link4: link4 {
label = "tp-link:green:link4";
- gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
};
};
diff --git a/target/linux/ath79/dts/ar9344_tplink_wbs210-v2.dts b/target/linux/ath79/dts/ar9344_tplink_wbs210-v2.dts
new file mode 100644
index 0000000000..dddf4aebda
--- /dev/null
+++ b/target/linux/ath79/dts/ar9344_tplink_wbs210-v2.dts
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "ar9344_tplink_cpexxx-v1.dtsi"
+
+/ {
+ compatible = "tplink,wbs210-v2", "qca,ar9344";
+ model = "TP-Link WBS210 v2";
+};
+
+&led_link4 {
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+};
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
index 441091de32..fbb0d0ea03 100755
--- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
@@ -173,7 +173,8 @@ tplink,archer-d50-v1)
;;
tplink,cpe210-v1|\
tplink,cpe220-v2|\
-tplink,cpe510-v1)
+tplink,cpe510-v1|\
+tplink,wbs210-v2)
ucidef_set_led_netdev "lan0" "LAN0" "tp-link:green:lan0" "eth1"
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
ucidef_set_rssimon "wlan0" "200000" "1"
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network
index e4179b4d38..10ca213e70 100755
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -90,6 +90,7 @@ ath79_setup_interfaces()
tplink,cpe210-v1|\
tplink,cpe220-v2|\
tplink,cpe510-v1|\
+ tplink,wbs210-v2|\
ubnt,nanostation-m|\
ubnt,routerstation)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches b/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches
index d84d6cfe85..4d6277c223 100755
--- a/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches
+++ b/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches
@@ -44,7 +44,8 @@ tplink,archer-c25-v1)
;;
tplink,cpe210-v1|\
tplink,cpe220-v2|\
-tplink,cpe510-v1)
+tplink,cpe510-v1|\
+tplink,wbs210-v2)
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "20"
;;
ubnt,nanostation-ac)
diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk
index b272276b9f..69cb1719e6 100644
--- a/target/linux/ath79/image/generic-tp-link.mk
+++ b/target/linux/ath79/image/generic-tp-link.mk
@@ -525,3 +525,14 @@ define Device/tplink_tl-wr842n-v3
SUPPORTED_DEVICES += tl-wr842n-v3
endef
TARGET_DEVICES += tplink_tl-wr842n-v3
+
+define Device/tplink_wbs210-v2
+ $(Device/tplink-loader-okli)
+ ATH_SOC := ar9344
+ IMAGE_SIZE := 7680k
+ DEVICE_MODEL := WBS210
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := rssileds
+ TPLINK_BOARD_ID := WBS210V2
+endef
+TARGET_DEVICES += tplink_wbs210-v2
diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c
index ce3a039e7e..ee0d20ae9f 100644
--- a/tools/firmware-utils/src/tplink-safeloader.c
+++ b/tools/firmware-utils/src/tplink-safeloader.c
@@ -466,6 +466,38 @@ static struct device_info boards[] = {
},
{
+ .id = "WBS210V2",
+ .vendor = "CPE510(TP-LINK|UN|N300-5):1.0\r\n",
+ .support_list =
+ "SupportList:\r\n"
+ "WBS210(TP-LINK|UN|N300-2|00000000):2.00\r\n"
+ "WBS210(TP-LINK|US|N300-2|55530000):2.00\r\n"
+ "WBS210(TP-LINK|EU|N300-2|45550000):2.00\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},
+ {"signature", 0x32000, 0x00400},
+ {"os-image", 0x40000, 0x200000},
+ {"file-system", 0x240000, 0x570000},
+ {"soft-version", 0x7b0000, 0x00100},
+ {"support-list", 0x7b1000, 0x00400},
+ {"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 = "support-list",
+ },
+
+ {
.id = "WBS510",
.vendor = "CPE510(TP-LINK|UN|N300-5):1.0\r\n",
.support_list =