diff --git a/build_patches/openwrt/0005-Revert-ar71xx-change-some-TP-link-modelnames-WR841-W.patch b/build_patches/openwrt/0005-Revert-ar71xx-change-some-TP-link-modelnames-WR841-W.patch
new file mode 100644
index 0000000..5076e2c
--- /dev/null
+++ b/build_patches/openwrt/0005-Revert-ar71xx-change-some-TP-link-modelnames-WR841-W.patch
@@ -0,0 +1,91 @@
+From b79445f2c72234e296b3c3f5242bd655eddbc1cb Mon Sep 17 00:00:00 2001
+From: Tim Niemeyer <tim@tn-x.org>
+Date: Sun, 24 Apr 2016 10:17:52 +0200
+Subject: [PATCH] Revert "ar71xx: change some TP-link modelnames (WR841, WA701,
+ WA730)"
+
+This reverts commit 0fd48fd7dab066db8a46e51775579c9ef507ca25.
+
+We are facing some problem on rolling out the current 15.05-branch to
+our devices because the image name changed.
+
+The changed image name breaks compatibility for derived projects and
+that's something which should only happen if there is a really good
+reason (e.g. security fix).
+
+Signed-off-by: Tim Niemeyer <tim@tn-x.org>
+---
+ target/linux/ar71xx/image/Makefile | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git target/linux/ar71xx/image/Makefile target/linux/ar71xx/image/Makefile
+index 1a399ab..9b41943 100644
+--- target/linux/ar71xx/image/Makefile
++++ target/linux/ar71xx/image/Makefile
+@@ -548,21 +548,21 @@ define Device/tl-wr743nd-v2
+ endef
+ 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-wr841-v8
++define Device/tl-wr841n-v8
+     $(Device/tplink-4mlzma)
+     BOARDNAME := TL-WR841N-v8
+     DEVICE_PROFILE := TLWR841
+     TPLINK_HWID := 0x08410008
+ endef
+ 
+-define Device/tl-wr841-v9
++define Device/tl-wr841n-v9
+     $(Device/tplink-4mlzma)
+     BOARDNAME := TL-WR841N-v9
+     DEVICE_PROFILE := TLWR841
+     TPLINK_HWID := 0x08410009
+ endef
+ 
+-define Device/tl-wr841-v10
++define Device/tl-wr841n-v10
+     $(Device/tplink-4mlzma)
+     BOARDNAME := TL-WR841N-v9
+     DEVICE_PROFILE := TLWR841
+@@ -589,7 +589,7 @@ define Device/tl-wr847n-v8
+     DEVICE_PROFILE := TLWR841
+     TPLINK_HWID := 0x08470008
+ endef
+-TARGET_DEVICES += tl-wr841-v8 tl-wr841-v9 tl-wr841-v10 tl-wr842n-v2 tl-wr843nd-v1 tl-wr847n-v8
++TARGET_DEVICES += tl-wr841n-v8 tl-wr841n-v9 tl-wr841n-v10 tl-wr842n-v2 tl-wr843nd-v1 tl-wr847n-v8
+ 
+ define Device/tl-wr941nd-v5
+     $(Device/tplink-4mlzma)
+@@ -2008,13 +2008,13 @@ $(eval $(call SingleProfile,Seama,64k,QIHOO360,qihoo-c301,QIHOO-C301,ttyS0,11520
+ 
+ $(eval $(call SingleProfile,Senao,squashfs-only,EAP300V2,eap300v2,EAP300V2,ttyS0,115200,$$(eap300v2_mtdlayout)))
+ 
+-$(eval $(call SingleProfile,TPLINKOLD,squashfs-only,TLWR841NV15,tl-wr841-v1.5,TL-WR841N-v1.5,ttyS0,115200,0x08410002,2,4M))
++$(eval $(call SingleProfile,TPLINKOLD,squashfs-only,TLWR841NV15,tl-wr841nd-v1.5,TL-WR841N-v1.5,ttyS0,115200,0x08410002,2,4M))
+ 
+ $(eval $(call SingleProfile,TPLINK,64kraw,RNXN360RT,rnx-n360rt,TL-WR941ND,ttyS0,115200,0x09410002,0x00420001,4M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLMR3220V1,tl-mr3220-v1,TL-MR3220,ttyS0,115200,0x32200001,1,4M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLMR3420V1,tl-mr3420-v1,TL-MR3420,ttyS0,115200,0x34200001,1,4M))
+-$(eval $(call SingleProfile,TPLINK,64kraw,TLWA701NV1,tl-wa701nd-v1,TL-WA901ND,ttyS0,115200,0x07010001,1,4M))
+-$(eval $(call SingleProfile,TPLINK,64kraw,TLWA730REV1,tl-wa730re-v1,TL-WA901ND,ttyS0,115200,0x07300001,1,4M))
++$(eval $(call SingleProfile,TPLINK,64kraw,TLWA701NV1,tl-wa701n-v1,TL-WA901ND,ttyS0,115200,0x07010001,1,4M))
++$(eval $(call SingleProfile,TPLINK,64kraw,TLWA730REV1,tl-wa730rev1,TL-WA901ND,ttyS0,115200,0x07300001,1,4M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLWA7510NV1,tl-wa7510n,TL-WA7510N,ttyS0,115200,0x75100001,1,4M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLWA801NV1,tl-wa801nd-v1,TL-WA901ND,ttyS0,115200,0x08010001,1,4M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLWA830RV1,tl-wa830re-v1,TL-WA901ND,ttyS0,115200,0x08300010,1,4M))
+@@ -2023,9 +2023,9 @@ $(eval $(call SingleProfile,TPLINK,64kraw,TLWA901NV2,tl-wa901nd-v2,TL-WA901ND-v2
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLWR740NV1,tl-wr740n-v1,TL-WR741ND,ttyS0,115200,0x07400001,1,4M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLWR740NV3,tl-wr740n-v3,TL-WR741ND,ttyS0,115200,0x07400003,1,4M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLWR743NV1,tl-wr743nd-v1,TL-WR741ND,ttyS0,115200,0x07430001,1,4M))
+-$(eval $(call SingleProfile,TPLINK,64kraw,TLWR841NV3,tl-wr841-v3,TL-WR941ND,ttyS0,115200,0x08410003,3,4M))
+-$(eval $(call SingleProfile,TPLINK,64kraw,TLWR841NV5,tl-wr841-v5,TL-WR741ND,ttyS0,115200,0x08410005,1,4M))
+-$(eval $(call SingleProfile,TPLINK,64kraw,TLWR841NV7,tl-wr841-v7,TL-WR841N-v7,ttyS0,115200,0x08410007,1,4M))
++$(eval $(call SingleProfile,TPLINK,64kraw,TLWR841NV3,tl-wr841nd-v3,TL-WR941ND,ttyS0,115200,0x08410003,3,4M))
++$(eval $(call SingleProfile,TPLINK,64kraw,TLWR841NV5,tl-wr841nd-v5,TL-WR741ND,ttyS0,115200,0x08410005,1,4M))
++$(eval $(call SingleProfile,TPLINK,64kraw,TLWR841NV7,tl-wr841nd-v7,TL-WR841N-v7,ttyS0,115200,0x08410007,1,4M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLWR842V1,tl-wr842n-v1,TL-MR3420,ttyS0,115200,0x08420001,1,8M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLWR941NV2,tl-wr941nd-v2,TL-WR941ND,ttyS0,115200,0x09410002,2,4M))
+ $(eval $(call SingleProfile,TPLINK,64kraw,TLWR941NV3,tl-wr941nd-v3,TL-WR941ND,ttyS0,115200,0x09410002,2,4M))
+-- 
+2.1.4
+
diff --git a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch b/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
deleted file mode 100644
index ada44bc..0000000
--- a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Thu, 24 Mar 2016 18:30:26 +0100
-Subject: ar71xx: make bootconsole wait for both THRE and TEMT
-
-Original commit message:
-
-    MIPS: ath79: make bootconsole wait for both THRE and TEMT
-
-    This makes the ath79 bootconsole behave the same way as the generic 8250
-    bootconsole.
-
-    Also waiting for TEMT (transmit buffer is empty) instead of just THRE
-    (transmit buffer is not full) ensures that all characters have been
-    transmitted before the real serial driver starts reconfiguring the serial
-    controller (which would sometimes result in garbage being transmitted.)
-    This change does not cause a visible performance loss.
-
-    In addition, this seems to fix a hang observed in certain configurations on
-    many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
-
-    A more complete follow-up patch will disable 8250 autoconfig for ath79
-    altogether (the serial controller is detected as a 16550A, which is not
-    fully compatible with the ath79 serial, and the autoconfig may lead to
-    undefined behavior on ath79.)
-
-diff --git a/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch
-new file mode 100644
-index 0000000..7be14ab
---- /dev/null
-+++ b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch
-@@ -0,0 +1,54 @@
-+From f1ba020af5076172c9d29006a747ccf40027fedc Mon Sep 17 00:00:00 2001
-+Message-Id: <f1ba020af5076172c9d29006a747ccf40027fedc.1458840219.git.mschiffer@universe-factory.net>
-+From: Matthias Schiffer <mschiffer@universe-factory.net>
-+Date: Thu, 24 Mar 2016 15:34:05 +0100
-+Subject: [PATCH] MIPS: ath79: make bootconsole wait for both THRE and TEMT
-+
-+This makes the ath79 bootconsole behave the same way as the generic 8250
-+bootconsole.
-+
-+Also waiting for TEMT (transmit buffer is empty) instead of just THRE
-+(transmit buffer is not full) ensures that all characters have been
-+transmitted before the real serial driver starts reconfiguring the serial
-+controller (which would sometimes result in garbage being transmitted.)
-+This change does not cause a visible performance loss.
-+
-+In addition, this seems to fix a hang observed in certain configurations on
-+many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
-+
-+A more complete follow-up patch will disable 8250 autoconfig for ath79
-+altogether (the serial controller is detected as a 16550A, which is not
-+fully compatible with the ath79 serial, and the autoconfig may lead to
-+undefined behavior on ath79.)
-+
-+Cc: <stable@vger.kernel.org>
-+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-+---
-+ arch/mips/ath79/early_printk.c | 6 ++++--
-+ 1 file changed, 4 insertions(+), 2 deletions(-)
-+
-+diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
-+index b955faf..d1adc59 100644
-+--- a/arch/mips/ath79/early_printk.c
-++++ b/arch/mips/ath79/early_printk.c
-+@@ -31,13 +31,15 @@ static inline void prom_putchar_wait(void __iomem *reg, u32 mask, u32 val)
-+ 	} while (1);
-+ }
-+ 
-++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
-++
-+ static void prom_putchar_ar71xx(unsigned char ch)
-+ {
-+ 	void __iomem *base = (void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE));
-+ 
-+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, UART_LSR_THRE);
-++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
-+ 	__raw_writel(ch, base + UART_TX * 4);
-+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, UART_LSR_THRE);
-++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
-+ }
-+ 
-+ static void prom_putchar_ar933x(unsigned char ch)
-+-- 
-+2.7.4
-+
-
diff --git a/buildscript b/buildscript
index 7d7d1e3..de09dbf 100755
--- a/buildscript
+++ b/buildscript
@@ -13,7 +13,7 @@
 
 builddir=./build
 
-OPENWRTREV="c75367d20240da182fcbdb68c8cce64eabd71ac5"
+OPENWRTREV="ba0cac08164150e74567787251e44b4d0d0dc140"
 OPENWRTURL="git://git.openwrt.org/15.05/openwrt.git"
 PACKAGEREV="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
 PACKAGEURL="https://github.com/openwrt/packages.git"
