From 7a0d9b2eea157c02938b6d33383feec7761f9f05 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Mon, 22 Jul 2019 17:36:48 +0200 Subject: [PATCH] ath79: add support for TP-Link TL-WR841N/ND v12 This router has the same hardware as TP-LINK TL-WR841N/ND v11 (same FCC ID, same TFTP image name...). Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed ip address 192.168.0.66 2. Download *-factory.bin image and rename it to wr841nv11_tp_recovery.bin (it's really v11, not v12) 3. Start a tftp server with the image file in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Signed-off-by: Adrian Schmutzler (cherry picked from commit 8b76c6695b9274e3c12fdf80bcad7dc0c7202585) --- .../ath79/base-files/etc/board.d/01_leds | 1 + .../ath79/base-files/etc/board.d/02_network | 1 + .../ath79/dts/qca9533_tplink_tl-wr841-v11.dts | 24 +----------------- .../dts/qca9533_tplink_tl-wr841-v11.dtsi | 25 +++++++++++++++++++ .../ath79/dts/qca9533_tplink_tl-wr841-v12.dts | 9 +++++++ target/linux/ath79/image/tiny-tp-link.mk | 11 ++++++++ 6 files changed, 48 insertions(+), 23 deletions(-) create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr841-v12.dts diff --git a/target/linux/ath79/base-files/etc/board.d/01_leds b/target/linux/ath79/base-files/etc/board.d/01_leds index 78d48daf73..da092a5afb 100755 --- a/target/linux/ath79/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/base-files/etc/board.d/01_leds @@ -130,6 +130,7 @@ tplink,archer-c25-v1|\ tplink,tl-wr841-v9|\ tplink,tl-wr841-v10|\ tplink,tl-wr841-v11|\ +tplink,tl-wr841-v12|\ tplink,tl-wr842n-v3) ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1" ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10" diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network index b511aa0acd..2e77286540 100755 --- a/target/linux/ath79/base-files/etc/board.d/02_network +++ b/target/linux/ath79/base-files/etc/board.d/02_network @@ -77,6 +77,7 @@ ath79_setup_interfaces() tplink,tl-wr841-v9|\ tplink,tl-wr841-v10|\ tplink,tl-wr841-v11|\ + tplink,tl-wr841-v12|\ tplink,tl-wr842n-v1|\ tplink,tl-wr842n-v3|\ ubnt,airrouter) diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dts b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dts index 29fca8b3a9..6c91757ceb 100644 --- a/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dts +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dts @@ -1,31 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include -#include - -#include "qca9533_tplink_tl-wr841.dtsi" +#include "qca9533_tplink_tl-wr841-v11.dtsi" / { compatible = "tplink,tl-wr841-v11", "qca,qca9533"; model = "TP-Link TL-WR841N/ND v11"; - - aliases { - led-boot = &system_led; - led-failsafe = &system_led; - led-running = &system_led; - led-upgrade = &system_led; - }; -}; - -&gpio_leds { - system_led: system { - label = "tp-link:green:system"; - gpios = <&gpio 1 GPIO_ACTIVE_LOW>; - }; - - wan_orange { - label = "tp-link:orange:wan"; - gpios = <&gpio 2 GPIO_ACTIVE_LOW>; - }; }; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi new file mode 100644 index 0000000000..8ee7d149b9 --- /dev/null +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "qca9533_tplink_tl-wr841.dtsi" + +/ { + aliases { + led-boot = &system_led; + led-failsafe = &system_led; + led-running = &system_led; + led-upgrade = &system_led; + }; +}; + +&gpio_leds { + system_led: system { + label = "tp-link:green:system"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + + wan_orange { + label = "tp-link:orange:wan"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; +}; diff --git a/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v12.dts b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v12.dts new file mode 100644 index 0000000000..1b7db6199e --- /dev/null +++ b/target/linux/ath79/dts/qca9533_tplink_tl-wr841-v12.dts @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "qca9533_tplink_tl-wr841-v11.dtsi" + +/ { + compatible = "tplink,tl-wr841-v12", "qca,qca9533"; + model = "TP-Link TL-WR841N/ND v12"; +}; diff --git a/target/linux/ath79/image/tiny-tp-link.mk b/target/linux/ath79/image/tiny-tp-link.mk index d8ada5407c..ece38f8046 100644 --- a/target/linux/ath79/image/tiny-tp-link.mk +++ b/target/linux/ath79/image/tiny-tp-link.mk @@ -172,6 +172,17 @@ define Device/tplink_tl-wr841-v11 endef TARGET_DEVICES += tplink_tl-wr841-v11 +define Device/tplink_tl-wr841-v12 + $(Device/tplink-4mlzma) + ATH_SOC := qca9533 + DEVICE_TITLE := TP-Link TL-WR841N/ND v12 + TPLINK_HWID := 0x08410012 + IMAGES += factory-us.bin factory-eu.bin + IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US + IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU +endef +TARGET_DEVICES += tplink_tl-wr841-v12 + define Device/tplink_tl-wr941-v2 $(Device/tplink-4m) ATH_SOC := ar9132 -- 2.30.2