From ef66c9efed0d7399ebbd65c3203b238a132681c6 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 1 May 2014 02:47:57 +0200 Subject: [PATCH] Add support for TL-WR842N/ND v2 and TL-MR3420 v2 Only compile tested, might not work. --- include/profiles.mk | 6 +- ...rt-for-TL-WR842N-v2-and-TL-MR3420-v2.patch | 449 ++++++++++++++++++ 2 files changed, 453 insertions(+), 2 deletions(-) create mode 100644 patches/openwrt/0020-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch diff --git a/include/profiles.mk b/include/profiles.mk index 2ac43342..dd73ada4 100644 --- a/include/profiles.mk +++ b/include/profiles.mk @@ -22,9 +22,10 @@ $(eval $(call GluonModel,TLWR841,tl-wr841nd-v7-squashfs,tp-link-tl-wr841n-nd-v7) $(eval $(call GluonModel,TLWR841,tl-wr841n-v8-squashfs,tp-link-tl-wr841n-nd-v8)) $(eval $(call GluonModel,TLWR841,tl-wr841n-v9-squashfs,tp-link-tl-wr841n-nd-v9)) -# TL-WR842N/ND v1 +# TL-WR842N/ND v1, v2 $(eval $(call GluonProfile,TLWR842)) $(eval $(call GluonModel,TLWR842,tl-wr842n-v1-squashfs,tp-link-tl-wr842n-nd-v1)) +$(eval $(call GluonModel,TLWR842,tl-wr842n-v2-squashfs,tp-link-tl-wr842n-nd-v2)) # TL-WR941N/ND v2, v3, v4 $(eval $(call GluonProfile,TLWR941)) @@ -58,9 +59,10 @@ $(eval $(call GluonModel,TLMR3040,tl-mr3040-v1-squashfs,tp-link-tl-mr3040-v1)) $(eval $(call GluonProfile,TLMR3220)) $(eval $(call GluonModel,TLMR3220,tl-mr3220-v1-squashfs,tp-link-tl-mr3220-v1)) -# TL-MR3420 v1 +# TL-MR3420 v1, v2 $(eval $(call GluonProfile,TLMR3420)) $(eval $(call GluonModel,TLMR3420,tl-mr3420-v1-squashfs,tp-link-tl-mr3420-v1)) +$(eval $(call GluonModel,TLMR3420,tl-mr3420-v2-squashfs,tp-link-tl-mr3420-v2)) ## Ubiquiti (everything) $(eval $(call GluonProfile,UBNT)) diff --git a/patches/openwrt/0020-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch b/patches/openwrt/0020-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch new file mode 100644 index 00000000..b0955be6 --- /dev/null +++ b/patches/openwrt/0020-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch @@ -0,0 +1,449 @@ +From: Matthias Schiffer +Date: Thu, 1 May 2014 02:26:02 +0200 +Subject: Backport support for TL-WR842N v2 and TL-MR3420 v2 + +diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh +index 0bf2dd1..0d01119 100755 +--- a/target/linux/ar71xx/base-files/etc/diag.sh ++++ b/target/linux/ar71xx/base-files/etc/diag.sh +@@ -127,6 +127,7 @@ get_status_led() { + ;; + tl-mr3220 | \ + tl-mr3420 | \ ++ tl-mr3420-v2 | \ + tl-wa901nd | \ + tl-wa901nd-v2 | \ + tl-wdr3500 | \ +@@ -137,6 +138,7 @@ get_status_led() { + tl-wr841n-v1 | \ + tl-wr841n-v7 | \ + tl-wr841n-v8 | \ ++ tl-wr842n-v2 | \ + tl-wr941nd) + status_led="tp-link:green:system" + ;; +diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/leds b/target/linux/ar71xx/base-files/etc/uci-defaults/leds +index 43bc24d..f1ac9ec 100755 +--- a/target/linux/ar71xx/base-files/etc/uci-defaults/leds ++++ b/target/linux/ar71xx/base-files/etc/uci-defaults/leds +@@ -118,6 +118,16 @@ tl-mr3420 ) + ucidef_set_led_usbdev "usb" "USB" "tp-link:green:3g" "1-1" + ;; + ++tl-mr3420-v2) ++ ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth0" ++ ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x04" ++ ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08" ++ ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x10" ++ ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02" ++ ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt" ++ ucidef_set_led_usbdev "usb" "USB" "tp-link:green:3g" "1-1" ++ ;; ++ + tl-wa901nd) + ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan" "eth0" + ;; +@@ -172,6 +182,16 @@ tl-wr841n-v9) + ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt" + ;; + ++tl-wr842n-v2) ++ ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth0" ++ ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x04" ++ ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08" ++ ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x10" ++ ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02" ++ ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt" ++ ucidef_set_led_usbdev "usb" "USB" "tp-link:green:3g" "1-1" ++ ;; ++ + tl-wr941nd | \ + tl-wr1041n-v2) + ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt" +diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/network b/target/linux/ar71xx/base-files/etc/uci-defaults/network +index a1dfda0..e38a9b8 100755 +--- a/target/linux/ar71xx/base-files/etc/uci-defaults/network ++++ b/target/linux/ar71xx/base-files/etc/uci-defaults/network +@@ -128,7 +128,9 @@ tl-wr941nd) + ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" + ;; + +-tl-wr841n-v8) ++tl-mr3420-v2 |\ ++tl-wr841n-v8 |\ ++tl-wr842n-v2) + ucidef_set_interfaces_lan_wan "eth1" "eth0" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4" +diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh +index ca174da..11aa31b 100755 +--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh ++++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh +@@ -351,6 +351,9 @@ ar71xx_board_detect() { + *TL-MR3420) + name="tl-mr3420" + ;; ++ *"TL-MR3420 v2") ++ name="tl-mr3420-v2" ++ ;; + *TL-WA7510N) + name="tl-wa7510n" + ;; +@@ -384,6 +387,9 @@ ar71xx_board_detect() { + *"TL-WR841N/ND v9") + name="tl-wr841n-v9" + ;; ++ *"TL-WR842N/ND v2") ++ name="tl-wr842n-v2" ++ ;; + *TL-WR941ND) + name="tl-wr941nd" + ;; +diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +index 7168b4e..b25df6c 100755 +--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh ++++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +@@ -152,6 +152,7 @@ platform_check_image() { + tl-mr3040 | \ + tl-mr3220 | \ + tl-mr3420 | \ ++ tl-mr3420-v2 | \ + tl-wa7510n | \ + tl-wa901nd | \ + tl-wa901nd-v2 | \ +@@ -164,6 +165,7 @@ platform_check_image() { + tl-wr841n-v7 | \ + tl-wr841n-v8 | \ + tl-wr841n-v9 | \ ++ tl-wr842n-v2 | \ + tl-wr941nd | \ + tl-wr1041n-v2 | \ + tl-wr1043nd | \ +diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c +index ffaf8d1..0099b15 100644 +--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c ++++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c +@@ -1,5 +1,5 @@ + /* +- * TP-LINK TL-WR841N/ND v8 board support ++ * TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 board support + * + * Copyright (C) 2012 Gabor Juhos + * +@@ -8,6 +8,7 @@ + * by the Free Software Foundation. + */ + ++#include + #include + + #include +@@ -18,6 +19,7 @@ + #include "dev-gpio-buttons.h" + #include "dev-leds-gpio.h" + #include "dev-m25p80.h" ++#include "dev-usb.h" + #include "dev-wmac.h" + #include "machtypes.h" + +@@ -31,7 +33,10 @@ + #define TL_WR841NV8_GPIO_LED_SYSTEM 14 + + #define TL_WR841NV8_GPIO_BTN_RESET 17 +-#define TL_WR841NV8_GPIO_SW_RFKILL 16 ++#define TL_WR841NV8_GPIO_SW_RFKILL 16 /* WPS for MR3420 v2 */ ++ ++#define TL_MR3420V2_GPIO_LED_3G 11 ++#define TL_MR3420V2_GPIO_USB_POWER 4 + + #define TL_WR841NV8_KEYS_POLL_INTERVAL 20 /* msecs */ + #define TL_WR841NV8_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR841NV8_KEYS_POLL_INTERVAL) +@@ -78,6 +83,11 @@ static struct gpio_led tl_wr841n_v8_leds_gpio[] __initdata = { + .name = "tp-link:green:wlan", + .gpio = TL_WR841NV8_GPIO_LED_WLAN, + .active_low = 1, ++ }, { ++ /* the 3G LED is only present on the MR3420 v2 */ ++ .name = "tp-link:green:3g", ++ .gpio = TL_MR3420V2_GPIO_LED_3G, ++ .active_low = 1, + }, + }; + +@@ -99,17 +109,37 @@ static struct gpio_keys_button tl_wr841n_v8_gpio_keys[] __initdata = { + } + }; + +-static void __init tl_wr841n_v8_setup(void) ++static struct gpio_keys_button tl_mr3420v2_gpio_keys[] __initdata = { ++ { ++ .desc = "Reset button", ++ .type = EV_KEY, ++ .code = KEY_RESTART, ++ .debounce_interval = TL_WR841NV8_KEYS_DEBOUNCE_INTERVAL, ++ .gpio = TL_WR841NV8_GPIO_BTN_RESET, ++ .active_low = 1, ++ }, { ++ .desc = "WPS", ++ .type = EV_KEY, ++ .code = KEY_WPS_BUTTON, ++ .debounce_interval = TL_WR841NV8_KEYS_DEBOUNCE_INTERVAL, ++ .gpio = TL_WR841NV8_GPIO_SW_RFKILL, ++ .active_low = 0, ++ } ++}; ++ ++static void __init tl_ap123_setup(void) + { + u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); + u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); + +- ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio), +- tl_wr841n_v8_leds_gpio); ++ /* Disable JTAG, enabling GPIOs 0-3 */ ++ /* Configure OBS4 line, for GPIO 4*/ ++ ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE, ++ AR934X_GPIO_FUNC_CLK_OBS4_EN); + +- ath79_register_gpio_keys_polled(1, TL_WR841NV8_KEYS_POLL_INTERVAL, +- ARRAY_SIZE(tl_wr841n_v8_gpio_keys), +- tl_wr841n_v8_gpio_keys); ++ /* config gpio4 as normal gpio function */ ++ ath79_gpio_output_select(TL_MR3420V2_GPIO_USB_POWER, ++ AR934X_GPIO_OUT_GPIO); + + ath79_register_m25p80(&tl_wr841n_v8_flash_data); + +@@ -135,5 +165,61 @@ static void __init tl_wr841n_v8_setup(void) + ath79_register_wmac(ee, mac); + } + ++static void __init tl_wr841n_v8_setup(void) ++{ ++ tl_ap123_setup(); ++ ++ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio) - 1, ++ tl_wr841n_v8_leds_gpio); ++ ++ ath79_register_gpio_keys_polled(1, TL_WR841NV8_KEYS_POLL_INTERVAL, ++ ARRAY_SIZE(tl_wr841n_v8_gpio_keys), ++ tl_wr841n_v8_gpio_keys); ++} ++ + MIPS_MACHINE(ATH79_MACH_TL_WR841N_V8, "TL-WR841N-v8", "TP-LINK TL-WR841N/ND v8", + tl_wr841n_v8_setup); ++ ++ ++static void __init tl_wr842n_v2_setup(void) ++{ ++ tl_ap123_setup(); ++ ++ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio), ++ tl_wr841n_v8_leds_gpio); ++ ++ ath79_register_gpio_keys_polled(1, TL_WR841NV8_KEYS_POLL_INTERVAL, ++ ARRAY_SIZE(tl_wr841n_v8_gpio_keys), ++ tl_wr841n_v8_gpio_keys); ++ ++ gpio_request_one(TL_MR3420V2_GPIO_USB_POWER, ++ GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, ++ "USB power"); ++ ++ ath79_register_usb(); ++} ++ ++MIPS_MACHINE(ATH79_MACH_TL_WR842N_V2, "TL-WR842N-v2", "TP-LINK TL-WR842N/ND v2", ++ tl_wr842n_v2_setup); ++ ++static void __init tl_mr3420v2_setup(void) ++{ ++ tl_ap123_setup(); ++ ++ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio), ++ tl_wr841n_v8_leds_gpio); ++ ++ ath79_register_gpio_keys_polled(1, TL_WR841NV8_KEYS_POLL_INTERVAL, ++ ARRAY_SIZE(tl_mr3420v2_gpio_keys), ++ tl_mr3420v2_gpio_keys); ++ ++ /* enable power for the USB port */ ++ gpio_request_one(TL_MR3420V2_GPIO_USB_POWER, ++ GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, ++ "USB power"); ++ ++ ath79_register_usb(); ++} ++ ++MIPS_MACHINE(ATH79_MACH_TL_MR3420_V2, "TL-MR3420-v2", "TP-LINK TL-MR3420 v2", ++ tl_mr3420v2_setup); +diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile +index c270f73..a055521 100644 +--- a/target/linux/ar71xx/image/Makefile ++++ b/target/linux/ar71xx/image/Makefile +@@ -853,7 +853,7 @@ $(eval $(call SingleProfile,Planex,$(fs_64k),MZKW300NH,mzk-w300nh,MZK-W300NH,tty + $(eval $(call SingleProfile,TPLINKOLD,$(fs_squash),TLWR841NV15,tl-wr841nd-v1.5,TL-WR841N-v1.5,ttyS0,115200,0x08410002,2,4M)) + + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLMR3220,tl-mr3220-v1,TL-MR3220,ttyS0,115200,0x32200001,1,4M)) +-$(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLMR3420,tl-mr3420-v1,TL-MR3420,ttyS0,115200,0x34200001,1,4M)) ++$(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLMR3420V1,tl-mr3420-v1,TL-MR3420,ttyS0,115200,0x34200001,1,4M)) + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWA701,tl-wa701n-v1,TL-WA901ND,ttyS0,115200,0x07010001,1,4M)) + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWA7510NV1,tl-wa7510n,TL-WA7510N,ttyS0,115200,0x75100001,1,4M)) + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWA901NV1,tl-wa901nd-v1,TL-WA901ND,ttyS0,115200,0x09010001,1,4M)) +@@ -866,7 +866,7 @@ $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR743,tl-wr743nd-v1,TL-WR741ND + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR841NV3,tl-wr841nd-v3,TL-WR941ND,ttyS0,115200,0x08410003,3,4M)) + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR841NV5,tl-wr841nd-v5,TL-WR741ND,ttyS0,115200,0x08410005,1,4M)) + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR841NV7,tl-wr841nd-v7,TL-WR841N-v7,ttyS0,115200,0x08410007,1,4M)) +-$(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR842,tl-wr842n-v1,TL-MR3420,ttyS0,115200,0x08420001,1,8M)) ++$(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR842V1,tl-wr842n-v1,TL-MR3420,ttyS0,115200,0x08420001,1,8M)) + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV2,tl-wr941nd-v2,TL-WR941ND,ttyS0,115200,0x09410002,2,4M)) + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV3,tl-wr941nd-v3,TL-WR941ND,ttyS0,115200,0x09410002,2,4M)) + $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV4,tl-wr941nd-v4,TL-WR741ND,ttyS0,115200,0x09410004,1,4M)) +@@ -875,11 +875,13 @@ $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR1043,tl-wr1043nd-v1,TL-WR104 + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLMR11U,tl-mr11u-v1,TL-MR11U,ttyATH0,115200,0x00110101,1,4Mlzma)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLMR3020,tl-mr3020-v1,TL-MR3020,ttyATH0,115200,0x30200001,1,4Mlzma)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLMR3040,tl-mr3040-v1,TL-MR3040,ttyATH0,115200,0x30400001,1,4Mlzma)) ++$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLMR3420V2,tl-mr3420-v2,TL-MR3420-v2,ttyS0,115200,0x34200002,1,4Mlzma)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,4Mlzma)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR740NV4,tl-wr740n-v4,TL-WR741ND-v4,ttyATH0,115200,0x07400004,1,4Mlzma)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR741NV4,tl-wr741nd-v4,TL-WR741ND-v4,ttyATH0,115200,0x07410004,1,4Mlzma)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR841NV8,tl-wr841n-v8,TL-WR841N-v8,ttyS0,115200,0x08410008,1,4Mlzma)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR841NV9,tl-wr841n-v9,TL-WR841N-v9,ttyS0,115200,0x08410009,1,4Mlzma)) ++$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR842V2,tl-wr842n-v2,TL-WR842N-v2,ttyS0,115200,0x8420002,1,8Mlzma)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR1041,tl-wr1041n-v2,TL-WR1041N-v2,ttyS0,115200,0x10410002,1,4Mlzma)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR2543,tl-wr2543-v1,TL-WR2543N,ttyS0,115200,0x25430001,1,8Mlzma,-v 3.13.99)) + $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWDR3500V1,tl-wdr3500-v1,TL-WDR3500,ttyS0,115200,0x35000001,1,8Mlzma)) +@@ -921,11 +923,13 @@ $(eval $(call SingleProfile,ZyXEL,$(fs_64k),NBG_460N_550N_550NH,nbg460n_550n_550 + $(eval $(call MultiProfile,AP121,AP121_2M AP121_4M)) + $(eval $(call MultiProfile,EWDORIN, EWDORINAP EWDORINRT)) + $(eval $(call MultiProfile,TEW652BRP,TEW652BRP_FW TEW652BRP_RECOVERY)) ++$(eval $(call MultiProfile,TLMR3420,TLMR3420V1 TLMR3420V2)) + $(eval $(call MultiProfile,TLWA901,TLWA901NV1 TLWA901NV2)) + $(eval $(call MultiProfile,TLWA7510,TLWA7510NV1)) + $(eval $(call MultiProfile,TLWR740,TLWR740NV1 TLWR740NV3 TLWR740NV4)) + $(eval $(call MultiProfile,TLWR741,TLWR741NV1 TLWR741NV2 TLWR741NV4)) + $(eval $(call MultiProfile,TLWR841,TLWR841NV15 TLWR841NV3 TLWR841NV5 TLWR841NV7 TLWR841NV8 TLWR841NV9)) ++$(eval $(call MultiProfile,TLWR842,TLWR842V1 TLWR842V2)) + $(eval $(call MultiProfile,TLWR941,TLWR941NV2 TLWR941NV3 TLWR941NV4)) + $(eval $(call MultiProfile,TLWDR4300,TLWDR3500V1 TLWDR3600V1 TLWDR4300V1 TLWDR4310V1)) + $(eval $(call MultiProfile,UBNT,UBNTAIRROUTER UBNTRS UBNTRSPRO UBNTLSSR71 UBNTBULLETM UBNTROCKETM UBNTNANOM UBNTUNIFI UBNTUNIFIOUTDOOR)) +diff --git a/target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch b/target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch +index 0230908..6d67f5f 100644 +--- a/target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch ++++ b/target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch +@@ -1,6 +1,6 @@ + --- a/arch/mips/ath79/machtypes.h + +++ b/arch/mips/ath79/machtypes.h +-@@ -16,18 +16,102 @@ ++@@ -16,18 +16,104 @@ + + enum ath79_mach_type { + ATH79_MACH_GENERIC = 0, +@@ -61,6 +61,7 @@ + + ATH79_MACH_TL_MR3040, /* TP-LINK TL-MR3040 */ + + ATH79_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */ + + ATH79_MACH_TL_MR3420, /* TP-LINK TL-MR3420 */ +++ ATH79_MACH_TL_MR3420_V2, /* TP-LINK TL-MR3420 v2 */ + + ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */ + + ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */ + + ATH79_MACH_TL_WDR4300, /* TP-LINK TL-WDR4300 */ +@@ -73,6 +74,7 @@ + + ATH79_MACH_TL_WR841N_V1, /* TP-LINK TL-WR841N v1 */ + + ATH79_MACH_TL_WR841N_V7, /* TP-LINK TL-WR841N/ND v7 */ + + ATH79_MACH_TL_WR841N_V8, /* TP-LINK TL-WR841N/ND v8 */ +++ ATH79_MACH_TL_WR842N_V2, /* TP-LINK TL-WR842N/ND v2 */ + + ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */ + ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */ + ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */ +diff --git a/target/linux/ar71xx/patches-3.3/612-MIPS-ath79-TL-WA7510N-v1-support.patch b/target/linux/ar71xx/patches-3.3/612-MIPS-ath79-TL-WA7510N-v1-support.patch +index 6bd58b0..dba879e 100644 +--- a/target/linux/ar71xx/patches-3.3/612-MIPS-ath79-TL-WA7510N-v1-support.patch ++++ b/target/linux/ar71xx/patches-3.3/612-MIPS-ath79-TL-WA7510N-v1-support.patch +@@ -1,9 +1,9 @@ + --- a/arch/mips/ath79/machtypes.h + +++ b/arch/mips/ath79/machtypes.h +-@@ -74,6 +74,7 @@ enum ath79_mach_type { +- ATH79_MACH_TL_MR3040, /* TP-LINK TL-MR3040 */ ++@@ -75,6 +75,7 @@ enum ath79_mach_type { + ATH79_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */ + ATH79_MACH_TL_MR3420, /* TP-LINK TL-MR3420 */ ++ ATH79_MACH_TL_MR3420_V2, /* TP-LINK TL-MR3420 v2 */ + + ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1*/ + ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */ + ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */ +diff --git a/target/linux/ar71xx/patches-3.3/613-MIPS-ath79-add-TL-WDR3500-support.patch b/target/linux/ar71xx/patches-3.3/613-MIPS-ath79-add-TL-WDR3500-support.patch +index 0a2c3bd..059089b 100644 +--- a/target/linux/ar71xx/patches-3.3/613-MIPS-ath79-add-TL-WDR3500-support.patch ++++ b/target/linux/ar71xx/patches-3.3/613-MIPS-ath79-add-TL-WDR3500-support.patch +@@ -1,6 +1,6 @@ + --- a/arch/mips/ath79/machtypes.h + +++ b/arch/mips/ath79/machtypes.h +-@@ -84,6 +84,7 @@ enum ath79_mach_type { ++@@ -78,6 +78,7 @@ enum ath79_mach_type { + ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1*/ + ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */ + ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */ +@@ -10,7 +10,7 @@ + ATH79_MACH_TL_WR1043ND, /* TP-LINK TL-WR1043ND */ + --- a/arch/mips/ath79/Kconfig + +++ b/arch/mips/ath79/Kconfig +-@@ -514,6 +514,17 @@ config ATH79_MACH_TL_WA901ND_V2 ++@@ -469,6 +469,17 @@ config ATH79_MACH_TL_WA901ND_V2 + select ATH79_DEV_M25P80 + select ATH79_DEV_WMAC + +@@ -30,7 +30,7 @@ + select SOC_AR934X + --- a/arch/mips/ath79/Makefile + +++ b/arch/mips/ath79/Makefile +-@@ -81,6 +81,7 @@ obj-$(CONFIG_ATH79_MACH_TL_MR3020) += ma ++@@ -78,6 +78,7 @@ obj-$(CONFIG_ATH79_MACH_TL_MR3020) += ma + obj-$(CONFIG_ATH79_MACH_TL_MR3X20) += mach-tl-mr3x20.o + obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o + obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o +diff --git a/target/linux/ar71xx/patches-3.3/613-MIPS-ath79-ubnt-xm-add-unifi-outdoor.patch b/target/linux/ar71xx/patches-3.3/613-MIPS-ath79-ubnt-xm-add-unifi-outdoor.patch +index 8a1c770..9766afe 100644 +--- a/target/linux/ar71xx/patches-3.3/613-MIPS-ath79-ubnt-xm-add-unifi-outdoor.patch ++++ b/target/linux/ar71xx/patches-3.3/613-MIPS-ath79-ubnt-xm-add-unifi-outdoor.patch +@@ -56,7 +56,7 @@ + + ubnt_unifi_outdoor_setup); + --- a/arch/mips/ath79/machtypes.h + +++ b/arch/mips/ath79/machtypes.h +-@@ -97,6 +97,7 @@ enum ath79_mach_type { ++@@ -100,6 +100,7 @@ enum ath79_mach_type { + ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */ + ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */ + ATH79_MACH_UBNT_UNIFI, /* Ubiquiti Unifi */ +diff --git a/target/linux/ar71xx/patches-3.3/705-MIPS-ath79-add-support-for-QCA953x-SoC.patch b/target/linux/ar71xx/patches-3.3/705-MIPS-ath79-add-support-for-QCA953x-SoC.patch +index bd08685..d111353 100644 +--- a/target/linux/ar71xx/patches-3.3/705-MIPS-ath79-add-support-for-QCA953x-SoC.patch ++++ b/target/linux/ar71xx/patches-3.3/705-MIPS-ath79-add-support-for-QCA953x-SoC.patch +@@ -22,7 +22,7 @@ some bits' meanings are slightly different. + + --- a/arch/mips/ath79/Kconfig + +++ b/arch/mips/ath79/Kconfig +-@@ -698,6 +698,10 @@ config SOC_AR934X ++@@ -688,6 +688,10 @@ config SOC_AR934X + select PCI_AR724X if PCI + def_bool n + +@@ -33,7 +33,7 @@ some bits' meanings are slightly different. + config SOC_QCA955X + select USB_ARCH_HAS_EHCI + select HW_HAS_PCI +-@@ -741,7 +745,7 @@ config ATH79_DEV_USB ++@@ -731,7 +735,7 @@ config ATH79_DEV_USB + def_bool n + + config ATH79_DEV_WMAC +diff --git a/target/linux/ar71xx/patches-3.3/706-MIPS-ath79-TL-WR841v9-support.patch b/target/linux/ar71xx/patches-3.3/706-MIPS-ath79-TL-WR841v9-support.patch +index ebc82c6..dcbb112 100644 +--- a/target/linux/ar71xx/patches-3.3/706-MIPS-ath79-TL-WR841v9-support.patch ++++ b/target/linux/ar71xx/patches-3.3/706-MIPS-ath79-TL-WR841v9-support.patch +@@ -33,6 +33,6 @@ + ATH79_MACH_TL_WR841N_V7, /* TP-LINK TL-WR841N/ND v7 */ + ATH79_MACH_TL_WR841N_V8, /* TP-LINK TL-WR841N/ND v8 */ + + ATH79_MACH_TL_WR841N_V9, /* TP-LINK TL-WR841N/ND v9 */ ++ ATH79_MACH_TL_WR842N_V2, /* TP-LINK TL-WR842N/ND v2 */ + ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */ + ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */ +- ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */