From 8b76c6695b9274e3c12fdf80bcad7dc0c7202585 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 --- .../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 | 12 +++++++++ 6 files changed, 49 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 407c991d21..03e28e322a 100755 --- a/target/linux/ath79/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/base-files/etc/board.d/01_leds @@ -137,6 +137,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 49e599f343..9e44981022 100755 --- a/target/linux/ath79/base-files/etc/board.d/02_network +++ b/target/linux/ath79/base-files/etc/board.d/02_network @@ -85,6 +85,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 73c6999669..7e89abaed2 100644 --- a/target/linux/ath79/image/tiny-tp-link.mk +++ b/target/linux/ath79/image/tiny-tp-link.mk @@ -189,6 +189,18 @@ 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_MODEL := TL-WR841N/ND + DEVICE_VARIANT := 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