[email protected] schrieb:
> Hello,
>
> I didn't get ANY response on my previous version... here it is again.
> Please apply this patch to add support for the GL-iNet devices.
>
> I've updated a patch, available at
> https://github.com/alzhao/Openwrt-patches-for-GL.iNet/blob/master/001-gl-38300.patch
>  
>
> The patch (also at https://dev.openwrt.org/ticket/15632 ) includes
> support for the GL-Inet V1 devices. Which are mostly compatible with the
> TP-Link WR-703N boards.
>
> The devices have 64M ram, 16M flash and 2 ethernet interfaces.
>
> The original patch was written by alzhao <[email protected]> although as
> far as I can see he never bothered to get this patch included in the
> mainline.
>
> I currently have 20+ of these routers, so I would appreciate it if this
> patch was included into the mainline, as that would make life easier
> here.
>
> The patch adds the following files:
> target/linux/ar71xx/files/arch/mips/ath79/mach-gl-inet.c
> target/linux/ar71xx/generic/profiles/gl-connect.mk
> target/linux/ar71xx/patches-3.10/911-MIPS-ath79-gl-machine.patch
>
> And adds a few lines to the following:
> tools/firmware-utils/src/mktplinkfw.c
> target/linux/ar71xx/config-3.10
> target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> target/linux/ar71xx/base-files/lib/ar71xx.sh
> target/linux/ar71xx/base-files/etc/uci-defaults/02_network
>
On second thought, why don't you completely rewrite the patches? The biggest 
bunch seems to be the mach-gl-inet.c, which I think may be the wrong attempt. 
Since it is almost the same as the mach-tl-wr703n.c (only different 
LED-definition), just add the pieces for your board.
>
> I myself do not claim any copyright on this, as I only rebased the
> patch. The original copyright statement included is/was:
>
> /*
> *  GL-CONNECT iNet board support
> *
> *  Copyright (C) 2011 dongyuqi <[email protected]>
> *  Copyright (C) 2011-2012 Gabor Juhos <[email protected]>
> *  Copyright (C) 2013 alzhao <[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.
> */
>
> Signed-off-by: Mark Janssen <[email protected]>
> Signed-off-by: alzhao <[email protected]>
>
>
> -------------------------- patch ------------------------------
>
> 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 62373e4..ff6d4d7 100755
> --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> @@ -268,6 +268,10 @@ dir-505-a1)
>       ucidef_set_interface_lan "eth1"
>       ;;
>  
> +gl-inet)
> +     ucidef_set_interfaces_lan_wan "eth1" "eth0"
> +     ;;
> +
Wrong attempt. The section below does the same, so just merge your board name 
in, at the right alphabetic position.
>  alfa-ap96 |\
>  alfa-nx |\
>  ap83 |\
> diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh 
> b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> index 02c46f9..9099f45 100755
> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> @@ -214,6 +214,9 @@ ar71xx_board_detect() {
>       *"Oolite V1.0")
>               name="oolite"
>               ;;
> +     *"GL-CONNECT INET v1")
> +             name="gl-inet"
> +             ;;
>       *"AirRouter")
>               name="airrouter"
>               ;;
> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 
> b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> index 37ceea6..4760cd8 100755
> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> @@ -242,6 +242,7 @@ platform_check_image() {
>       tl-wdr4300 | \
>       tl-wdr4900-v2 | \
>       tl-wr703n | \
> +     gl-inet | \
>       tl-wr710n | \
>       tl-wr720n-v3 | \
>       tl-wr741nd | \
> diff --git a/target/linux/ar71xx/config-3.10 b/target/linux/ar71xx/config-3.10
> index 4eb4b9f..f448f9d 100644
> --- a/target/linux/ar71xx/config-3.10
> +++ b/target/linux/ar71xx/config-3.10
> @@ -88,6 +88,7 @@ CONFIG_ATH79_MACH_TL_WR1043ND=y
>  CONFIG_ATH79_MACH_TL_WR1043ND_V2=y
>  CONFIG_ATH79_MACH_TL_WR2543N=y
>  CONFIG_ATH79_MACH_TL_WR703N=y
> +CONFIG_ATH79_MACH_GL_INET=y
>  CONFIG_ATH79_MACH_TL_WR720N_V3=y
>  CONFIG_ATH79_MACH_TL_WR741ND=y
>  CONFIG_ATH79_MACH_TL_WR741ND_V4=y
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-inet.c 
> b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-inet.c
> new file mode 100644
> index 0000000..0908918
> --- /dev/null
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-inet.c
> @@ -0,0 +1,106 @@
> +/*
> + *  GL-CONNECT iNet board support
> + *
> + *  Copyright (C) 2011 dongyuqi <[email protected]>
> + *  Copyright (C) 2011-2012 Gabor Juhos <[email protected]>
> + *  Copyright (C) 2013 alzhao <[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 <asm/mach-ath79/ath79.h>
> +
> +#include "dev-eth.h"
> +#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"
> +
> +#define GL_INET_GPIO_LED_WLAN        0
> +#define GL_INET_GPIO_LED_LAN 13
> +#define GL_INET_GPIO_BTN_RESET       11
> +
> +#define GL_INET_KEYS_POLL_INTERVAL   20      /* msecs */
> +#define GL_INET_KEYS_DEBOUNCE_INTERVAL       (3 * GL_INET_KEYS_POLL_INTERVAL)
> +
> +static const char *gl_inet_part_probes[] = {
> +             "tp-link", //dont change, this will use tplink parser
> +             NULL ,
> +};
> +
> +static struct flash_platform_data gl_inet_flash_data = {
> +             .part_probes = gl_inet_part_probes,
> +};
> +
> +static struct gpio_led gl_inet_leds_gpio[] __initdata = {
> +             {
> +                             .name = "gl-connect:red:wireless",
> +                             .gpio = GL_INET_GPIO_LED_WLAN,
> +                             .active_low = 0,
> +             },
> +             {
> +                             .name = "gl-connect:green:lan",
> +                             .gpio = GL_INET_GPIO_LED_LAN,
> +                             .active_low = 0,
> +                             .default_state = 1,
> +             },
> +};
> +
> +static struct gpio_keys_button gl_inet_gpio_keys[] __initdata = {
> +             {
> +                             .desc = "reset",
> +                             .type = EV_KEY,
> +                             .code = KEY_RESTART,
> +                             .debounce_interval = 
> GL_INET_KEYS_DEBOUNCE_INTERVAL,
> +                             .gpio = GL_INET_GPIO_BTN_RESET,
> +                             .active_low = 0,
> +             }
> +};
> +
> +static void __init gl_inet_setup(void) {
> +
> +     /* get the mac address which is stored in the 1st 64k uboot MTD */
> +     u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
> +     /* get the art address, which is the last 64k. by usng 0x1fff1000, it 
> doesn't matter it is 4M, 8M or 16M flash */
> +     u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
> +
> +     //Todo: what is this
> +     /* disable PHY_SWAP and PHY_ADDR_SWAP bits */
> +     ath79_setup_ar933x_phy4_switch(false, false);
> +
> +     /* register flash. MTD will use tp-link parser to parser MTD*/
> +     ath79_register_m25p80(&gl_inet_flash_data);
> +
> +     /* register gpio LED and Key */
> +     ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_inet_leds_gpio), 
> gl_inet_leds_gpio);
> +
> +     ath79_register_gpio_keys_polled(-1, GL_INET_KEYS_POLL_INTERVAL, 
> ARRAY_SIZE(gl_inet_gpio_keys),
> +                     gl_inet_gpio_keys);
> +
> +     /* enable usb */
> +     ath79_register_usb();
> +
> +     /* register eth0 as WAN, eth1 as LAN */
> +     ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
> +
> +     ath79_register_mdio(0, 0x0);
> +     ath79_register_eth(0);
> +     ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
> +     ath79_register_eth(1);
> +
> +     /* register wireless mac with cal data*/
> +     ath79_register_wmac(ee, mac);
> +
> +}
> +/* Important:
> + * $1: machtype, is used to identify profiles
> + * $2: machine id
> + * The init scripts will use the "Name" to detect which board, be sure to 
> modify the scripts
> + */
> +MIPS_MACHINE(ATH79_MACH_GL_INET, "GL-INET", "GL-CONNECT INET v1", 
> gl_inet_setup);
> diff --git a/target/linux/ar71xx/generic/profiles/gl-connect.mk 
> b/target/linux/ar71xx/generic/profiles/gl-connect.mk
> new file mode 100644
> index 0000000..0a09ff2
> --- /dev/null
> +++ b/target/linux/ar71xx/generic/profiles/gl-connect.mk
> @@ -0,0 +1,16 @@
> +#
> +# Copyright (C) 2009 OpenWrt.org
> +#
> +# This is free software, licensed under the GNU General Public License v2.
> +# See /LICENSE for more information.
> +#
> +
> +define Profile/GLINET
> +     NAME:=GL INET
> +     PACKAGES:=kmod-usb-core kmod-usb2
> +endef
> +
> +define Profile/GLINET/Description
> +     Package set optimized for the GL INET LITE 001.
> +endef
> +$(eval $(call Profile,GLINET))
> diff --git a/target/linux/ar71xx/image/Makefile 
> b/target/linux/ar71xx/image/Makefile
> index 8234f88..9aa47ce 100644
> --- a/target/linux/ar71xx/image/Makefile
> +++ b/target/linux/ar71xx/image/Makefile
> @@ -1122,6 +1122,7 @@ $(eval $(call 
> SingleProfile,TPLINK-LZMA,64kraw,TLMR3040V2,tl-mr3040-v2,TL-MR3040
>  $(eval $(call 
> SingleProfile,TPLINK-LZMA,64kraw,TLMR3220V2,tl-mr3220-v2,TL-MR3220-v2,ttyATH0,115200,0x32200002,1,4Mlzma))
>  $(eval $(call 
> SingleProfile,TPLINK-LZMA,64kraw,TLMR3420V2,tl-mr3420-v2,TL-MR3420-v2,ttyS0,115200,0x34200002,1,4Mlzma))
>  $(eval $(call 
> SingleProfile,TPLINK-LZMA,64kraw,TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,4Mlzma))
> +$(eval $(call 
> SingleProfile,TPLINK-LZMA,64kraw,GLINET,gl-inet-v1,GL-INET,ttyATH0,115200,0x08000001,1,8Mlzma))
>  $(eval $(call 
> SingleProfile,TPLINK-LZMA,64kraw,TLWR710,tl-wr710n-v1,TL-WR710N,ttyATH0,115200,0x07100001,1,8Mlzma))
>  $(eval $(call 
> SingleProfile,TPLINK-LZMA,64kraw,TLWR720NV3,tl-wr720n-v3,TL-WR720N-v3,ttyATH0,115200,0x07200103,1,4Mlzma))
>  $(eval $(call 
> SingleProfile,TPLINK-LZMA,64kraw,TLWR740NV4,tl-wr740n-v4,TL-WR741ND-v4,ttyATH0,115200,0x07400004,1,4Mlzma))
> diff --git a/target/linux/ar71xx/patches-3.10/911-MIPS-ath79-gl-machine.patch 
> b/target/linux/ar71xx/patches-3.10/911-MIPS-ath79-gl-machine.patch
> new file mode 100644
> index 0000000..201104c
> --- /dev/null
> +++ b/target/linux/ar71xx/patches-3.10/911-MIPS-ath79-gl-machine.patch
Don't put a new patch in there, add your board infos to the existing 
610-MIPS-ath79-openwrt-machines.patch.
> @@ -0,0 +1,40 @@
> +--- a/arch/mips/ath79/Kconfig
> ++++ b/arch/mips/ath79/Kconfig
> +@@ -586,6 +586,17 @@ config ATH79_MACH_TL_WR703N
> +     select ATH79_DEV_USB
> +     select ATH79_DEV_WMAC
> + 
> ++config ATH79_MACH_GL_INET
> ++        bool "GL-INET support"
> ++        select SOC_AR933X
> ++        select ATH79_DEV_ETH
> ++        select ATH79_DEV_GPIO_BUTTONS
> ++        select ATH79_DEV_LEDS_GPIO
> ++        select ATH79_DEV_M25P80
> ++        select ATH79_DEV_USB
> ++        select ATH79_DEV_WMAC
> ++
> ++
> + config ATH79_MACH_TL_WR720N_V3
> +     bool "TP-LINK TL-WR720N v3 support"
> +     select SOC_AR933X
> +--- a/arch/mips/ath79/machtypes.h
> ++++ b/arch/mips/ath79/machtypes.h
> +@@ -98,6 +98,7 @@ enum ath79_mach_type {
> +     ATH79_MACH_TL_WR1043ND,         /* TP-LINK TL-WR1043ND */
> +     ATH79_MACH_TL_WR2543N,          /* TP-LINK TL-WR2543N/ND */
> +     ATH79_MACH_TL_WR703N,           /* TP-LINK TL-WR703N */
> ++    ATH79_MACH_GL_INET,             /* GL-CONNECT GL-INET */
> +     ATH79_MACH_TL_WR710N,           /* TP-LINK TL-WR710N */
> +     ATH79_MACH_TL_WR720N_V3,        /* TP-LINK TL-WR720N v3 */
> +     ATH79_MACH_TL_WR741ND,          /* TP-LINK TL-WR741ND */
> +--- a/arch/mips/ath79/Makefile
> ++++ b/arch/mips/ath79/Makefile
> +@@ -94,6 +94,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR1041N_V2)     +
> + obj-$(CONFIG_ATH79_MACH_TL_WR1043ND)        += mach-tl-wr1043nd.o
> + obj-$(CONFIG_ATH79_MACH_TL_WR2543N) += mach-tl-wr2543n.o
> + obj-$(CONFIG_ATH79_MACH_TL_WR703N)  += mach-tl-wr703n.o
> ++obj-$(CONFIG_ATH79_MACH_GL_INET)    += mach-gl-inet.o
> + obj-$(CONFIG_ATH79_MACH_TL_WR720N_V3)       += mach-tl-wr720n-v3.o
> + obj-$(CONFIG_ATH79_MACH_UBNT)               += mach-ubnt.o
> + obj-$(CONFIG_ATH79_MACH_UBNT_XM)    += mach-ubnt-xm.o
> diff --git a/tools/firmware-utils/src/mktplinkfw.c 
> b/tools/firmware-utils/src/mktplinkfw.c
> index f0b33a0..1bed464 100644
> --- a/tools/firmware-utils/src/mktplinkfw.c
> +++ b/tools/firmware-utils/src/mktplinkfw.c
> @@ -66,6 +66,7 @@
>  #define HWID_TL_WR1043ND_V2  0x10430002
>  #define HWID_TL_WR1041N_V2   0x10410002
>  #define HWID_TL_WR2543N_V1   0x25430001
> +#define HWID_GL_INET_V1      0x08000001
>  
>  #define MD5SUM_LEN   16
>  
> @@ -393,6 +394,11 @@ static struct board_info boards[] = {
>               .hw_rev         = 1,
>               .layout_id      = "16Mlzma",
>       }, {
> +             .id             = "GL-INETv1",
> +             .hw_id          = HWID_GL_INET_V1,
> +             .hw_rev         = 1,
> +             .layout_id      = "8Mlzma",
> +     }, {
>               /* terminating entry */
>       }
>  };
> _______________________________________________
> 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

Reply via email to