In fact there is a model called TL-WR941N v6 which sells in China.It uses AR9344 SoC and AR9381 for 450M wireless.It's just a mistake made by the patch submitter to call it wr941nd-v6.I think you should rename the old profile and create a new one:D
2015-08-06 8:40 GMT+08:00 Matthias Schiffer <[email protected]>: > The images currently generated for the TL-WR941ND v6 try to treat it like > a TL-WDR3500, which doesn't make any sense and causes the kernel to panic > in early boot. I don't think this has ever worked (the TL-WR941ND v6 has > a different SoC, uses another MDIO bus, has only one WMAC and no USB...). > > Fix this by adding proper support for the device. > > Signed-off-by: Matthias Schiffer <[email protected]> > --- > target/linux/ar71xx/base-files/etc/diag.sh | 3 +- > .../ar71xx/base-files/etc/uci-defaults/01_leds | 9 ++ > .../ar71xx/base-files/etc/uci-defaults/02_network | 1 + > target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 + > .../ar71xx/base-files/lib/upgrade/platform.sh | 1 + > target/linux/ar71xx/config-4.1 | 1 + > .../files/arch/mips/ath79/mach-tl-wr941nd-v6.c | 151 > +++++++++++++++++++++ > target/linux/ar71xx/image/Makefile | 2 +- > .../700-MIPS-ath79-openwrt-machines.patch | 23 +++- > 9 files changed, 186 insertions(+), 8 deletions(-) > create mode 100644 > target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd-v6.c > > diff --git a/target/linux/ar71xx/base-files/etc/diag.sh > b/target/linux/ar71xx/base-files/etc/diag.sh > index 561c5da..46b83fc 100644 > --- a/target/linux/ar71xx/base-files/etc/diag.sh > +++ b/target/linux/ar71xx/base-files/etc/diag.sh > @@ -277,7 +277,8 @@ get_status_led() { > tl-wdr4300 | \ > tl-wr703n | \ > tl-wr710n | \ > - tl-wr720n-v3) > + tl-wr720n-v3 | \ > + tl-wr941nd-v6) > status_led="tp-link:blue:system" > ;; > tl-wr841n-v9) > diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds > b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds > index 2aced37..3344d97 100644 > --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds > +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds > @@ -474,6 +474,15 @@ tl-wr941nd-v5) > ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt" > ;; > > +tl-wr941nd-v6) > + ucidef_set_led_netdev "wan" "WAN" "tp-link:blue:wan" "eth0" > + ucidef_set_led_switch "lan1" "LAN1" "tp-link:blue:lan1" "switch0" > "0x10" > + ucidef_set_led_switch "lan2" "LAN2" "tp-link:blue:lan2" "switch0" > "0x08" > + ucidef_set_led_switch "lan3" "LAN3" "tp-link:blue:lan3" "switch0" > "0x04" > + ucidef_set_led_switch "lan4" "LAN4" "tp-link:blue:lan4" "switch0" > "0x02" > + ucidef_set_led_wlan "wlan" "WLAN" "tp-link:blue:wlan" "phy0tpt" > + ;; > + > tl-wa830re-v2) > ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan" "eth0" > ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt" > diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network > b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network > index 2893e62..a6507db 100755 > --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network > +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network > @@ -227,6 +227,7 @@ tl-mr3420-v2 |\ > tl-wr841n-v8 |\ > tl-wr842n-v2 |\ > tl-wr941nd-v5 |\ > +tl-wr941nd-v6 |\ > wnr2000-v3 |\ > wnr2000-v4 |\ > wnr2200 |\ > diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh > b/target/linux/ar71xx/base-files/lib/ar71xx.sh > index 256bd10..5d27538 100755 > --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh > +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh > @@ -793,6 +793,9 @@ ar71xx_board_detect() { > *"TL-WR941N/ND v5") > name="tl-wr941nd-v5" > ;; > + *"TL-WR941N/ND v6") > + name="tl-wr941nd-v6" > + ;; > *"TL-WR703N v1") > name="tl-wr703n" > ;; > diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > index 76d8c5b..55ff568 100755 > --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > @@ -353,6 +353,7 @@ platform_check_image() { > tl-wr842n-v2 | \ > tl-wr941nd | \ > tl-wr941nd-v5 | \ > + tl-wr941nd-v6 | \ > tl-wr1041n-v2 | \ > tl-wr1043nd | \ > tl-wr1043nd-v2 | \ > diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1 > index 1e31a01..ecaf454 100644 > --- a/target/linux/ar71xx/config-4.1 > +++ b/target/linux/ar71xx/config-4.1 > @@ -134,6 +134,7 @@ CONFIG_ATH79_MACH_TL_WR841N_V1=y > CONFIG_ATH79_MACH_TL_WR841N_V8=y > CONFIG_ATH79_MACH_TL_WR841N_V9=y > CONFIG_ATH79_MACH_TL_WR941ND=y > +CONFIG_ATH79_MACH_TL_WR941ND_V6=y > CONFIG_ATH79_MACH_TUBE2H=y > CONFIG_ATH79_MACH_UBNT=y > CONFIG_ATH79_MACH_UBNT_XM=y > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd-v6.c > b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd-v6.c > new file mode 100644 > index 0000000..c5fc9fc > --- /dev/null > +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr941nd-v6.c > @@ -0,0 +1,151 @@ > +/* > + * TP-LINK TL-WR941N/ND v6 board support > + * > + * Copyright (C) 2015 Matthias Schiffer <[email protected]> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published > + * by the Free Software Foundation. > + */ > + > +#include <linux/gpio.h> > +#include <linux/platform_device.h> > + > +#include <asm/mach-ath79/ath79.h> > +#include <asm/mach-ath79/ar71xx_regs.h> > + > +#include "common.h" > +#include "dev-eth.h" > +#include "dev-gpio-buttons.h" > +#include "dev-leds-gpio.h" > +#include "dev-m25p80.h" > +#include "dev-wmac.h" > +#include "machtypes.h" > + > + > +#define TL_WR941ND_V6_GPIO_LED_QSS 3 > +#define TL_WR941ND_V6_GPIO_LED_WAN 14 > +#define TL_WR941ND_V6_GPIO_LED_WAN_RED 15 > +#define TL_WR941ND_V6_GPIO_LED_LAN1 7 > +#define TL_WR941ND_V6_GPIO_LED_LAN2 6 > +#define TL_WR941ND_V6_GPIO_LED_LAN3 5 > +#define TL_WR941ND_V6_GPIO_LED_LAN4 4 > +#define TL_WR941ND_V6_GPIO_LED_WLAN 8 > +#define TL_WR941ND_V6_GPIO_LED_SYSTEM 18 > + > +#define TL_WR941ND_V6_GPIO_BTN_RESET 1 > +#define TL_WR941ND_V6_GPIO_BTN_RFKILL 2 > + > +#define TL_WR941ND_V6_KEYS_POLL_INTERVAL 20 > +#define TL_WR941ND_V6_KEYS_DEBOUNCE_INTERVAL (3 * > TL_WR941ND_V6_KEYS_POLL_INTERVAL) > + > + > +static struct gpio_led tl_wr941nd_v6_leds_gpio[] __initdata = { > + { > + .name = "tp-link:blue:qss", > + .gpio = TL_WR941ND_V6_GPIO_LED_QSS, > + .active_low = 1, > + }, > + { > + .name = "tp-link:blue:wan", > + .gpio = TL_WR941ND_V6_GPIO_LED_WAN, > + .active_low = 1, > + }, > + { > + .name = "tp-link:red:wan", > + .gpio = TL_WR941ND_V6_GPIO_LED_WAN_RED, > + .active_low = 0, > + }, > + { > + .name = "tp-link:blue:lan1", > + .gpio = TL_WR941ND_V6_GPIO_LED_LAN1, > + .active_low = 1, > + }, > + { > + .name = "tp-link:blue:lan2", > + .gpio = TL_WR941ND_V6_GPIO_LED_LAN2, > + .active_low = 1, > + }, > + { > + .name = "tp-link:blue:lan3", > + .gpio = TL_WR941ND_V6_GPIO_LED_LAN3, > + .active_low = 1, > + }, > + { > + .name = "tp-link:blue:lan4", > + .gpio = TL_WR941ND_V6_GPIO_LED_LAN4, > + .active_low = 1, > + }, > + { > + .name = "tp-link:blue:wlan", > + .gpio = TL_WR941ND_V6_GPIO_LED_WLAN, > + .active_low = 1, > + }, > + { > + .name = "tp-link:blue:system", > + .gpio = TL_WR941ND_V6_GPIO_LED_SYSTEM, > + .active_low = 1, > + }, > +}; > + > +static struct gpio_keys_button tl_wr941nd_v6_gpio_keys[] __initdata = { > + { > + .desc = "Reset button", > + .type = EV_KEY, > + .code = KEY_RESTART, > + .debounce_interval = TL_WR941ND_V6_KEYS_DEBOUNCE_INTERVAL, > + .gpio = TL_WR941ND_V6_GPIO_BTN_RESET, > + .active_low = 1, > + }, { > + .desc = "RFKILL button", > + .type = EV_KEY, > + .code = KEY_RFKILL, > + .debounce_interval = TL_WR941ND_V6_KEYS_DEBOUNCE_INTERVAL, > + .gpio = TL_WR941ND_V6_GPIO_BTN_RFKILL, > + .active_low = 1, > + } > +}; > + > + > +static const char *tl_wr941n_v6_part_probes[] = { > + "tp-link", > + NULL, > +}; > + > +static struct flash_platform_data tl_wr941n_v6_flash_data = { > + .part_probes = tl_wr941n_v6_part_probes, > +}; > + > + > +static void __init tl_wr941nd_v6_setup(void) > +{ > + u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); > + u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); > + > + ath79_register_m25p80(&tl_wr941n_v6_flash_data); > + > + ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr941nd_v6_leds_gpio), > + tl_wr941nd_v6_leds_gpio); > + > + ath79_register_gpio_keys_polled(-1, TL_WR941ND_V6_KEYS_POLL_INTERVAL, > + ARRAY_SIZE(tl_wr941nd_v6_gpio_keys), > + tl_wr941nd_v6_gpio_keys); > + > + ath79_register_mdio(0, 0x0); > + > + ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1); > + ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0); > + > + ath79_switch_data.phy4_mii_en = 1; > + ath79_switch_data.phy_poll_mask = BIT(0); > + ath79_eth0_data.phy_mask = BIT(0); > + > + ath79_register_eth(0); > + ath79_register_eth(1); > + > + ath79_register_wmac(ee, mac); > + > +} > + > +MIPS_MACHINE(ATH79_MACH_TL_WR941ND_V6, "TL-WR941ND-v6", "TP-LINK > TL-WR941N/ND v6", > + tl_wr941nd_v6_setup); > diff --git a/target/linux/ar71xx/image/Makefile > b/target/linux/ar71xx/image/Makefile > index e894d78..f9e0087 100644 > --- a/target/linux/ar71xx/image/Makefile > +++ b/target/linux/ar71xx/image/Makefile > @@ -620,7 +620,7 @@ endef > > define Device/tl-wr941nd-v6 > $(Device/tplink-4mlzma) > - BOARDNAME := TL-WDR3500 > + BOARDNAME := TL-WR941ND-v6 > DEVICE_PROFILE := TLWR941 > TPLINK_HWID := 0x09410006 > endef > diff --git > a/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch > b/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch > index 02ebd1b..558d43c 100644 > --- a/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch > +++ b/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch > @@ -1,6 +1,6 @@ > --- a/arch/mips/ath79/machtypes.h > +++ b/arch/mips/ath79/machtypes.h > -@@ -16,24 +16,207 @@ > +@@ -16,24 +16,208 @@ > > enum ath79_mach_type { > ATH79_MACH_GENERIC = 0, > @@ -157,6 +157,7 @@ > + ATH79_MACH_TL_WR842N_V2, /* TP-LINK TL-WR842N/ND v2 */ > + ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */ > + ATH79_MACH_TL_WR941ND_V5, /* TP-LINK TL-WR941ND v5 */ > ++ ATH79_MACH_TL_WR941ND_V6, /* TP-LINK TL-WR941ND v6 */ > + ATH79_MACH_TUBE2H, /* Alfa Network Tube2H */ > + ATH79_MACH_UBNT_AIRGW, /* Ubiquiti AirGateway */ > ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */ > @@ -301,7 +302,7 @@ > config ATH79_MACH_AP121 > bool "Atheros AP121 reference board" > select SOC_AR933X > -@@ -11,62 +95,1107 @@ config ATH79_MACH_AP121 > +@@ -11,62 +95,1116 @@ config ATH79_MACH_AP121 > select ATH79_DEV_M25P80 > select ATH79_DEV_USB > select ATH79_DEV_WMAC > @@ -1342,6 +1343,15 @@ > + select ATH79_DEV_M25P80 > + select ATH79_DEV_WMAC > + > ++config ATH79_MACH_TL_WR941ND_V6 > ++ bool "TP-LINK TL-WR941ND v6 support" > ++ select SOC_QCA956X > ++ select ATH79_DEV_ETH > ++ select ATH79_DEV_GPIO_BUTTONS > ++ select ATH79_DEV_LEDS_GPIO > ++ select ATH79_DEV_M25P80 > ++ select ATH79_DEV_WMAC > ++ > +config ATH79_MACH_TL_WR1041N_V2 > + bool "TP-LINK TL-WR1041N v2 support" > + select SOC_AR934X > @@ -1437,7 +1447,7 @@ > > config ATH79_MACH_UBNT_XM > bool "Ubiquiti Networks XM/UniFi boards" > -@@ -83,6 +1212,97 @@ config ATH79_MACH_UBNT_XM > +@@ -83,6 +1221,97 @@ config ATH79_MACH_UBNT_XM > Say 'Y' here if you want your kernel to support the > Ubiquiti Networks XM (rev 1.0) board. > > @@ -1535,7 +1545,7 @@ > endmenu > > config SOC_AR71XX > -@@ -134,7 +1354,10 @@ config ATH79_DEV_DSA > +@@ -134,7 +1363,10 @@ config ATH79_DEV_DSA > config ATH79_DEV_ETH > def_bool n > > @@ -1547,7 +1557,7 @@ > def_bool n > > config ATH79_DEV_GPIO_BUTTONS > -@@ -164,6 +1387,11 @@ config ATH79_PCI_ATH9K_FIXUP > +@@ -164,6 +1396,11 @@ config ATH79_PCI_ATH9K_FIXUP > def_bool n > > config ATH79_ROUTERBOOT > @@ -1561,7 +1571,7 @@ > endif > --- a/arch/mips/ath79/Makefile > +++ b/arch/mips/ath79/Makefile > -@@ -38,9 +38,133 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route > +@@ -38,9 +38,134 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route > # > # Machines > # > @@ -1661,6 +1671,7 @@ > +obj-$(CONFIG_ATH79_MACH_TL_WR841N_V8) += mach-tl-wr841n-v8.o > +obj-$(CONFIG_ATH79_MACH_TL_WR841N_V9) += mach-tl-wr841n-v9.o > +obj-$(CONFIG_ATH79_MACH_TL_WR941ND) += mach-tl-wr941nd.o > ++obj-$(CONFIG_ATH79_MACH_TL_WR941ND_V6) += mach-tl-wr941nd-v6.o > +obj-$(CONFIG_ATH79_MACH_TL_WR1041N_V2) += mach-tl-wr1041n-v2.o > +obj-$(CONFIG_ATH79_MACH_TL_WR1043ND) += mach-tl-wr1043nd.o > +obj-$(CONFIG_ATH79_MACH_TL_WR1043ND_V2) += mach-tl-wr1043nd-v2.o > -- > 2.5.0 > _______________________________________________ > openwrt-devel mailing list > [email protected] > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
