From bccfc0419e4c12acde4cb0391460b5660223a241 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sun, 21 Jun 2015 23:01:58 +0200
Subject: [PATCH] Add support for TP-LINK TL-WR740N/TL-WR741ND

The TL-WR741ND will identify itself as a TL-WR740N/ND as well. This is fine as
the images are identical anyways.
---
 ...d-support-for-tp-link-wr740n-v5.0-EU.patch | 39 +++++++++++++++++++
 ...ar71xx-add-support-for-TL-WR741ND-v5.patch | 35 +++++++++++++++++
 targets/ar71xx-generic/profiles.mk            |  6 ++-
 3 files changed, 78 insertions(+), 2 deletions(-)
 create mode 100644 patches/openwrt/0014-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch
 create mode 100644 patches/openwrt/0015-ar71xx-add-support-for-TL-WR741ND-v5.patch

diff --git a/patches/openwrt/0014-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch b/patches/openwrt/0014-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch
new file mode 100644
index 000000000..a2a770833
--- /dev/null
+++ b/patches/openwrt/0014-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch
@@ -0,0 +1,39 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Sun, 21 Jun 2015 22:50:48 +0200
+Subject: ar71xx: add support for tp-link wr740n v5.0 (EU)
+
+TP-Link ships wr740n v5.0 to Romania (so probably everywhere except
+China) with 4 MB flash and 32 MB memory (confirmed by their local
+support). This patch adds support for the v5.0 clone of v4, i just
+tested it on my own v5.0 router and it works.
+
+Signed-off-by: Daniel Petre <daniel.petre@posteo.net>
+
+diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
+index c8ed2ec..a233349 100644
+--- a/target/linux/ar71xx/image/Makefile
++++ b/target/linux/ar71xx/image/Makefile
+@@ -459,6 +459,14 @@ define Device/tl-wr740n-v4
+     CONSOLE := ttyATH0,115200
+ endef
+ 
++define Device/tl-wr740n-v5
++    $(Device/tplink-4mlzma)
++    BOARDNAME := TL-WR741ND-v4
++    DEVICE_PROFILE := TLWR740
++    TPLINK_HWID := 0x07400005
++    CONSOLE := ttyATH0,115200
++endef
++
+ define Device/tl-wr741nd-v1
+     $(Device/tplink-4m)
+     BOARDNAME := TL-WR741ND
+@@ -488,7 +496,7 @@ define Device/tl-wr743nd-v2
+     TPLINK_HWID := 0x07430002
+     CONSOLE := ttyATH0,115200
+ endef
+-TARGET_DEVICES += tl-wr740n-v4 tl-wr741nd-v1 tl-wr741nd-v2 tl-wr741nd-v4 tl-wr743nd-v2
++TARGET_DEVICES += tl-wr740n-v4 tl-wr740n-v5 tl-wr741nd-v1 tl-wr741nd-v2 tl-wr741nd-v4 tl-wr743nd-v2
+ 
+ define Device/tl-wr841n-v8
+     $(Device/tplink-4mlzma)
diff --git a/patches/openwrt/0015-ar71xx-add-support-for-TL-WR741ND-v5.patch b/patches/openwrt/0015-ar71xx-add-support-for-TL-WR741ND-v5.patch
new file mode 100644
index 000000000..d4c0f9d51
--- /dev/null
+++ b/patches/openwrt/0015-ar71xx-add-support-for-TL-WR741ND-v5.patch
@@ -0,0 +1,35 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Sun, 21 Jun 2015 22:48:04 +0200
+Subject: ar71xx: add support for TL-WR741ND v5
+
+This device is identical to the TL-WR740N v5, it even uses the same HWID (which
+wasn't the case for older TL-WR741ND revisions).
+
+diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
+index a233349..2615244 100644
+--- a/target/linux/ar71xx/image/Makefile
++++ b/target/linux/ar71xx/image/Makefile
+@@ -489,6 +489,14 @@ define Device/tl-wr741nd-v4
+     CONSOLE := ttyATH0,115200
+ endef
+ 
++define Device/tl-wr741nd-v5
++    $(Device/tplink-4mlzma)
++    BOARDNAME := TL-WR741ND-v4
++    DEVICE_PROFILE := TLWR741
++    TPLINK_HWID := 0x07400005
++    CONSOLE := ttyATH0,115200
++endef
++
+ define Device/tl-wr743nd-v2
+     $(Device/tplink-4mlzma)
+     BOARDNAME := TL-WR741ND-v4
+@@ -496,7 +504,7 @@ define Device/tl-wr743nd-v2
+     TPLINK_HWID := 0x07430002
+     CONSOLE := ttyATH0,115200
+ endef
+-TARGET_DEVICES += tl-wr740n-v4 tl-wr740n-v5 tl-wr741nd-v1 tl-wr741nd-v2 tl-wr741nd-v4 tl-wr743nd-v2
++TARGET_DEVICES += tl-wr740n-v4 tl-wr740n-v5 tl-wr741nd-v1 tl-wr741nd-v2 tl-wr741nd-v4 tl-wr741nd-v5 tl-wr743nd-v2
+ 
+ define Device/tl-wr841n-v8
+     $(Device/tplink-4mlzma)
diff --git a/targets/ar71xx-generic/profiles.mk b/targets/ar71xx-generic/profiles.mk
index 7be12d571..5634c662d 100644
--- a/targets/ar71xx-generic/profiles.mk
+++ b/targets/ar71xx-generic/profiles.mk
@@ -24,17 +24,19 @@ $(eval $(call GluonModel,TLWR703,tl-wr703n-v1,tp-link-tl-wr703n-v1))
 $(eval $(call GluonProfile,TLWR710))
 $(eval $(call GluonModel,TLWR710,tl-wr710n-v1,tp-link-tl-wr710n-v1))
 
-# TL-WR740N v1, v3, v4
+# TL-WR740N v1, v3, v4, v5
 $(eval $(call GluonProfile,TLWR740))
 $(eval $(call GluonModel,TLWR740,tl-wr740n-v1,tp-link-tl-wr740n-nd-v1))
 $(eval $(call GluonModel,TLWR740,tl-wr740n-v3,tp-link-tl-wr740n-nd-v3))
 $(eval $(call GluonModel,TLWR740,tl-wr740n-v4,tp-link-tl-wr740n-nd-v4))
+$(eval $(call GluonModel,TLWR740,tl-wr740n-v5,tp-link-tl-wr740n-nd-v5))
 
-# TL-WR741N/ND v1, v2, v4
+# TL-WR741N/ND v1, v2, v4, v5
 $(eval $(call GluonProfile,TLWR741))
 $(eval $(call GluonModel,TLWR741,tl-wr741nd-v1,tp-link-tl-wr741n-nd-v1))
 $(eval $(call GluonModel,TLWR741,tl-wr741nd-v2,tp-link-tl-wr741n-nd-v2))
 $(eval $(call GluonModel,TLWR741,tl-wr741nd-v4,tp-link-tl-wr741n-nd-v4))
+$(eval $(call GluonModel,TLWR741,tl-wr741nd-v5,tp-link-tl-wr741n-nd-v5))
 
 # TL-WR743N/ND v1, v1.1, v2
 $(eval $(call GluonProfile,TLWR743))
-- 
GitLab