Switch to Barrier Breaker
This commit is contained in:
parent
7a52f299e4
commit
e164bac87a
7
Makefile
7
Makefile
@ -153,8 +153,9 @@ include $(INCLUDE_DIR)/target.mk
|
||||
prereq: FORCE
|
||||
+$(NO_TRACE_MAKE) prereq
|
||||
|
||||
package/lua/host/install: tools/sed/install
|
||||
gluon-tools: package/lua/host/install
|
||||
gluon-tools: FORCE
|
||||
+$(GLUONMAKE_EARLY) tools/sed/install
|
||||
+$(GLUONMAKE_EARLY) package/lua/host/install
|
||||
|
||||
prepare-tmpinfo: FORCE
|
||||
mkdir -p tmp/info
|
||||
@ -187,7 +188,7 @@ prepare-target: FORCE
|
||||
for dir in build_dir dl staging_dir tmp; do \
|
||||
mkdir -p $(GLUON_ORIGOPENWRTDIR)/$$dir; \
|
||||
done
|
||||
for link in build_dir Config.in dl include Makefile package rules.mk scripts staging_dir target tmp toolchain tools; do \
|
||||
for link in build_dir config Config.in dl include Makefile package rules.mk scripts staging_dir target tmp toolchain tools; do \
|
||||
ln -sf $(GLUON_ORIGOPENWRTDIR)/$$link $(GLUON_OPENWRTDIR); \
|
||||
done
|
||||
+$(GLUONMAKE_EARLY) feeds
|
||||
|
@ -1,7 +1,7 @@
|
||||
override BuildImage :=
|
||||
override define BuildImage
|
||||
prepare: FORCE
|
||||
$(call Image/Prepare)
|
||||
endef
|
||||
|
||||
# The Makefile included here is $(TOPDIR)/target/linux/$(BOARD)/image/Makefile
|
||||
include Makefile
|
||||
|
||||
prepare: FORCE
|
||||
$(call Image/Prepare)
|
||||
|
@ -1,3 +1,4 @@
|
||||
CONFIG_BUSYBOX_CUSTOM=y
|
||||
CONFIG_BUSYBOX_CONFIG_SHA512SUM=y
|
||||
# CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
|
||||
CONFIG_BUSYBOX_CONFIG_IP=y
|
||||
@ -11,4 +12,4 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS=y
|
||||
CONFIG_ATH_USER_REGD=y
|
||||
CONFIG_PACKAGE_ATH_DEBUG=y
|
||||
|
||||
CONFIG_PACKAGE_luci-lib-core_srcdiet=y
|
||||
CONFIG_PACKAGE_luci-base_srcdiet=y
|
||||
|
@ -28,7 +28,7 @@ export GLUON_VERSION
|
||||
ifeq ($(OPENWRT_BUILD),1)
|
||||
ifeq ($(GLUON_TOOLS),1)
|
||||
|
||||
CONFIG_VERSION_REPO := $(shell $(GLUONDIR)/scripts/site.sh opkg_repo || echo http://downloads.openwrt.org/attitude_adjustment/12.09/%S/packages)
|
||||
CONFIG_VERSION_REPO := $(shell $(GLUONDIR)/scripts/site.sh opkg_repo || echo http://downloads.openwrt.org/barrier_breaker/14.07-rc2/%S/packages)
|
||||
export CONFIG_VERSION_REPO
|
||||
|
||||
GLUON_SITE_CODE := $(shell $(GLUONDIR)/scripts/site.sh site_code)
|
||||
|
@ -1,15 +1,17 @@
|
||||
# Makefile for OpenWrt
|
||||
#
|
||||
# Copyright (C) 2007-2011 OpenWrt.org
|
||||
# Copyright (C) 2013 Project Gluon
|
||||
# Copyright (C) 2007-2012 OpenWrt.org
|
||||
# Copyright (C) 2013-2014 Project Gluon
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
RELEASE:=Attitude Adjustment
|
||||
RELEASE:=Barrier Breaker
|
||||
PREP_MK= OPENWRT_BUILD= QUIET=0
|
||||
|
||||
export IS_TTY=$(shell tty -s && echo 1 || echo 0)
|
||||
|
||||
include $(GLUONDIR)/include/verbose.mk
|
||||
|
||||
REVISION:=$(shell [ -d $(TOPDIR) ] && cd $(TOPDIR) && ./scripts/getver.sh 2>/dev/null)
|
||||
@ -39,11 +41,24 @@ unexport LPATH
|
||||
# make sure that a predefined CFLAGS variable does not disturb packages
|
||||
export CFLAGS=
|
||||
|
||||
ifneq ($(shell $(HOSTCC) 2>&1 | grep clang),)
|
||||
export HOSTCC_REAL?=$(HOSTCC)
|
||||
export HOSTCC_WRAPPER:=$(TOPDIR)/scripts/clang-gcc-wrapper
|
||||
else
|
||||
export HOSTCC_WRAPPER:=$(HOSTCC)
|
||||
endif
|
||||
|
||||
ifeq ($(FORCE),)
|
||||
.config scripts/config/conf scripts/config/mconf: tmp/.prereq-build
|
||||
endif
|
||||
|
||||
SCAN_COOKIE?=$(shell echo $$$$)
|
||||
export SCAN_COOKIE
|
||||
|
||||
SUBMAKE:=umask 022; $(SUBMAKE)
|
||||
|
||||
ULIMIT_FIX=_limit=`ulimit -n`; [ "$$_limit" = "unlimited" -o "$$_limit" -ge 1024 ] || ulimit -n 1024;
|
||||
|
||||
FORCE: ;
|
||||
|
||||
.PHONY: FORCE
|
||||
|
@ -27,6 +27,7 @@ endif
|
||||
ifeq ($(IS_TTY),1)
|
||||
ifneq ($(strip $(NO_COLOR)),1)
|
||||
_Y:=\\033[33m
|
||||
_R:=\\033[31m
|
||||
_N:=\\033[m
|
||||
endif
|
||||
endif
|
||||
@ -36,6 +37,10 @@ ifeq ($(findstring s,$(OPENWRT_VERBOSE)),)
|
||||
printf "$(_Y)%s$(_N)\n" "$(1)" >&8
|
||||
endef
|
||||
|
||||
define ERROR_MESSAGE
|
||||
printf "$(_R)%s$(_N)\n" "$(1)" >&8
|
||||
endef
|
||||
|
||||
ifeq ($(QUIET),1)
|
||||
ifneq ($(CURDIR),$(TOPDIR))
|
||||
_DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR})
|
||||
@ -58,4 +63,5 @@ else
|
||||
define MESSAGE
|
||||
printf "%s\n" "$(1)"
|
||||
endef
|
||||
ERROR_MESSAGE=$(MESSAGE)
|
||||
endif
|
||||
|
6
modules
6
modules
@ -1,14 +1,14 @@
|
||||
GLUON_FEEDS='openwrt gluon routing luci'
|
||||
|
||||
OPENWRT_REPO=git://git.openwrt.org/12.09/openwrt.git
|
||||
OPENWRT_COMMIT=b0a05d4f7c194c7db43c3c5f1818449e4ecfe653
|
||||
OPENWRT_REPO=git://git.openwrt.org/14.07/openwrt.git
|
||||
OPENWRT_COMMIT=79465bfe7633bb92e7ea3468e9cec8bf5d4c0190
|
||||
|
||||
PACKAGES_OPENWRT_REPO=git://github.com/openwrt/packages.git
|
||||
PACKAGES_OPENWRT_COMMIT=a5944176bc761a3fd233c59bad1af96165e5b60f
|
||||
PACKAGES_OPENWRT_BRANCH=for-14.07
|
||||
|
||||
PACKAGES_GLUON_REPO=git://github.com/freifunk-gluon/packages.git
|
||||
PACKAGES_GLUON_COMMIT=1eff492575007ff8d7eb7d079a6cbd2c8979c6b7
|
||||
PACKAGES_GLUON_COMMIT=2d49f5770480d7bd612e0fa89065c52c8db7b957
|
||||
|
||||
PACKAGES_ROUTING_REPO=git://github.com/openwrt-routing/packages.git
|
||||
PACKAGES_ROUTING_COMMIT=9d3c311fdd7dc15fd5e333b55c259fc2cf661ea2
|
||||
|
@ -1,20 +1,12 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Wed, 7 May 2014 22:57:10 +0200
|
||||
Date: Sat, 26 Jul 2014 06:10:23 +0200
|
||||
Subject: tools/Makefile: fix host tools build dependencies
|
||||
|
||||
diff --git a/tools/Makefile b/tools/Makefile
|
||||
index 6658f8c..26a3fb1 100644
|
||||
index 75d2b0d..ff1d299 100644
|
||||
--- a/tools/Makefile
|
||||
+++ b/tools/Makefile
|
||||
@@ -75,6 +75,7 @@ endif
|
||||
$(curdir)/builddirs := $(tools-y) $(tools-dep) $(tools-)
|
||||
$(curdir)/builddirs-default := $(tools-y)
|
||||
|
||||
+
|
||||
ifndef DUMP_TARGET_DB
|
||||
define PrepareStaging
|
||||
@for dir in $(1); do ( \
|
||||
@@ -86,10 +87,16 @@ define PrepareStaging
|
||||
@@ -95,10 +95,16 @@ define PrepareStaging
|
||||
endef
|
||||
|
||||
# preparatory work
|
||||
@ -31,7 +23,7 @@ index 6658f8c..26a3fb1 100644
|
||||
|
||||
$(STAGING_DIR_HOST)/.prepared: $(TMP_DIR)/.build
|
||||
$(call PrepareStaging,$(STAGING_DIR_HOST))
|
||||
@@ -101,7 +108,7 @@ $(STAGING_DIR_HOST)/.prepared: $(TMP_DIR)/.build
|
||||
@@ -110,7 +116,7 @@ $(STAGING_DIR_HOST)/.prepared: $(TMP_DIR)/.build
|
||||
|
||||
|
||||
define PrepareCommand
|
||||
@ -40,7 +32,7 @@ index 6658f8c..26a3fb1 100644
|
||||
@mkdir -p "$$(dir $$@)"; rm -f "$$@"
|
||||
@export FILE="$$$$(which $(2) 2>/dev/null | grep -v 'not found' | head -n1)"; [ -n "$$$$FILE" ] || { \
|
||||
echo "Command $(1) not found."; false; \
|
||||
@@ -110,7 +117,7 @@ $(STAGING_DIR_HOST)/bin/$(1): $(STAGING_DIR)/.prepared
|
||||
@@ -119,7 +125,7 @@ $(STAGING_DIR_HOST)/bin/$(1): $(STAGING_DIR)/.prepared
|
||||
endef
|
||||
endif
|
||||
|
||||
@ -49,10 +41,10 @@ index 6658f8c..26a3fb1 100644
|
||||
@rm -f $@
|
||||
@if stat --version > /dev/null 2>&1; then \
|
||||
ln -s `which stat` $@; \
|
||||
@@ -128,8 +135,8 @@ $(eval $(call PrepareCommand,seq,gseq seq))
|
||||
$(eval $(call PrepareCommand,python,python2 python))
|
||||
@@ -143,8 +149,8 @@ $(eval $(call PrepareCommand,tar,gtar tar))
|
||||
$(eval $(call PrepareCommand,diff,gdiff diff))
|
||||
|
||||
$(curdir)/cmddeps = $(patsubst %,$(STAGING_DIR_HOST)/bin/%,find md5sum cp stat seq python)
|
||||
$(curdir)/cmddeps = $(patsubst %,$(STAGING_DIR_HOST)/bin/%,md5sum cp stat seq python awk getopt grep tar diff)
|
||||
-$(curdir)//prepare = $(STAGING_DIR)/.prepared $(STAGING_DIR_HOST)/.prepared $($(curdir)/cmddeps)
|
||||
-$(curdir)//compile = $(STAGING_DIR)/.prepared $(STAGING_DIR_HOST)/.prepared $($(curdir)/cmddeps)
|
||||
+$(curdir)//prepare = $(staging_prepared) $(STAGING_DIR_HOST)/.prepared $($(curdir)/cmddeps)
|
||||
|
@ -1,19 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Fri, 27 Dec 2013 18:48:19 +0100
|
||||
Subject: Make Unifi images flashable
|
||||
|
||||
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
|
||||
index 9ebe486..8e82f7f 100644
|
||||
--- a/target/linux/ar71xx/image/Makefile
|
||||
+++ b/target/linux/ar71xx/image/Makefile
|
||||
@@ -896,8 +896,8 @@ $(eval $(call SingleProfile,UBNTXM,$(fs_64k),UBNTAIRROUTER,ubnt-airrouter,UBNT-A
|
||||
$(eval $(call SingleProfile,UBNTXM,$(fs_64k),UBNTBULLETM,ubnt-bullet-m,UBNT-BM,ttyS0,115200,XM,XM,ar7240))
|
||||
$(eval $(call SingleProfile,UBNTXM,$(fs_64k),UBNTROCKETM,ubnt-rocket-m,UBNT-RM,ttyS0,115200,XM,XM,ar7240))
|
||||
$(eval $(call SingleProfile,UBNTXM,$(fs_64k),UBNTNANOM,ubnt-nano-m,UBNT-NM,ttyS0,115200,XM,XM,ar7240))
|
||||
-$(eval $(call SingleProfile,UBNTXM,$(fs_64k),UBNTUNIFI,ubnt-unifi,UBNT-UF,ttyS0,115200,XM,XM,ar7240))
|
||||
-$(eval $(call SingleProfile,UBNTXM,$(fs_64k),UBNTUNIFIOUTDOOR,ubnt-unifi-outdoor,UBNT-U20,ttyS0,115200,XM,XM,ar7240))
|
||||
+$(eval $(call SingleProfile,UBNTXM,$(fs_64k),UBNTUNIFI,ubnt-unifi,UBNT-UF,ttyS0,115200,XM,BZ,ar7240))
|
||||
+$(eval $(call SingleProfile,UBNTXM,$(fs_64k),UBNTUNIFIOUTDOOR,ubnt-unifi-outdoor,UBNT-U20,ttyS0,115200,XM,BZ,ar7240))
|
||||
|
||||
$(eval $(call SingleProfile,WHRHPG300N,$(fs_64k),WHRG301N,whr-g301n,WHR-G301N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-G301N))
|
||||
$(eval $(call SingleProfile,WHRHPG300N,$(fs_64k),WHRHPG300N,whr-hp-g300n,WHR-HP-G300N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-HP-G300N))
|
@ -0,0 +1,107 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Wed, 6 Aug 2014 19:12:00 +0200
|
||||
Subject: procd: add support for alternative rc.d directories
|
||||
|
||||
diff --git a/package/system/procd/patches/0001-Add-support-for-alternative-rc.d-directories.patch b/package/system/procd/patches/0001-Add-support-for-alternative-rc.d-directories.patch
|
||||
new file mode 100644
|
||||
index 0000000..bc24342
|
||||
--- /dev/null
|
||||
+++ b/package/system/procd/patches/0001-Add-support-for-alternative-rc.d-directories.patch
|
||||
@@ -0,0 +1,97 @@
|
||||
+From 03a2bc70e4260ec9f669391c47b9a7a9ecd0b75d Mon Sep 17 00:00:00 2001
|
||||
+Message-Id: <03a2bc70e4260ec9f669391c47b9a7a9ecd0b75d.1407329621.git.mschiffer@universe-factory.net>
|
||||
+From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
+Date: Wed, 6 Aug 2014 14:51:49 +0200
|
||||
+Subject: [PATCH] Add support for alternative rc.d directories
|
||||
+
|
||||
+---
|
||||
+ initd/preinit.c | 38 ++++++++++++++++++++++++++++++++++++++
|
||||
+ rcS.c | 2 +-
|
||||
+ 2 files changed, 39 insertions(+), 1 deletion(-)
|
||||
+
|
||||
+diff --git a/initd/preinit.c b/initd/preinit.c
|
||||
+index fb94527..8b832a7 100644
|
||||
+--- a/initd/preinit.c
|
||||
++++ b/initd/preinit.c
|
||||
+@@ -12,6 +12,8 @@
|
||||
+ * GNU General Public License for more details.
|
||||
+ */
|
||||
+
|
||||
++#define _GNU_SOURCE
|
||||
++
|
||||
+ #include <sys/stat.h>
|
||||
+ #include <sys/types.h>
|
||||
+ #include <sys/mount.h>
|
||||
+@@ -46,6 +48,35 @@ check_dbglvl(void)
|
||||
+ debug = lvl;
|
||||
+ }
|
||||
+
|
||||
++static char*
|
||||
++get_rc_d(void)
|
||||
++{
|
||||
++ size_t n = 0;
|
||||
++ ssize_t len;
|
||||
++ char *ret = NULL;
|
||||
++
|
||||
++ FILE *fp = fopen("/tmp/rc_d_path", "r");
|
||||
++
|
||||
++ if (!fp)
|
||||
++ return NULL;
|
||||
++
|
||||
++ len = getline(&ret, &n, fp);
|
||||
++
|
||||
++ fclose(fp);
|
||||
++
|
||||
++ unlink("/tmp/rc_d_path");
|
||||
++
|
||||
++ if (len <= 0) {
|
||||
++ free(ret);
|
||||
++ return NULL;
|
||||
++ }
|
||||
++
|
||||
++ if (ret[len-1] == '\n')
|
||||
++ ret[len-1] = 0;
|
||||
++
|
||||
++ return ret;
|
||||
++}
|
||||
++
|
||||
+ static void
|
||||
+ spawn_procd(struct uloop_process *proc, int ret)
|
||||
+ {
|
||||
+@@ -53,6 +84,7 @@ spawn_procd(struct uloop_process *proc, int ret)
|
||||
+ char *argv[] = { "/sbin/procd", NULL};
|
||||
+ struct stat s;
|
||||
+ char dbg[2];
|
||||
++ char *rc_d_path;
|
||||
+
|
||||
+ if (plugd_proc.pid > 0)
|
||||
+ kill(plugd_proc.pid, SIGKILL);
|
||||
+@@ -72,6 +104,12 @@ spawn_procd(struct uloop_process *proc, int ret)
|
||||
+ setenv("DBGLVL", dbg, 1);
|
||||
+ }
|
||||
+
|
||||
++ rc_d_path = get_rc_d();
|
||||
++ if (rc_d_path) {
|
||||
++ setenv("RC_D_PATH", rc_d_path, 1);
|
||||
++ free(rc_d_path);
|
||||
++ }
|
||||
++
|
||||
+ execvp(argv[0], argv);
|
||||
+ }
|
||||
+
|
||||
+diff --git a/rcS.c b/rcS.c
|
||||
+index 0e1b0ba..1b00831 100644
|
||||
+--- a/rcS.c
|
||||
++++ b/rcS.c
|
||||
+@@ -150,7 +150,7 @@ int rcS(char *pattern, char *param, void (*q_empty)(struct runqueue *))
|
||||
+ q.empty_cb = q_empty;
|
||||
+ q.max_running_tasks = 1;
|
||||
+
|
||||
+- return _rc(&q, "/etc/rc.d", pattern, "*", param);
|
||||
++ return _rc(&q, getenv("RC_D_PATH") ?: "/etc/rc.d", pattern, "*", param);
|
||||
+ }
|
||||
+
|
||||
+ int rc(const char *file, char *param)
|
||||
+--
|
||||
+2.0.4
|
||||
+
|
@ -1,379 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Sat, 11 Jan 2014 11:47:31 +0100
|
||||
Subject: Update netifd and its dependencies from Barrier Breaker (r41888)
|
||||
|
||||
diff --git a/package/libubox/Makefile b/package/libubox/Makefile
|
||||
index bcf4481..6cbfc08 100644
|
||||
--- a/package/libubox/Makefile
|
||||
+++ b/package/libubox/Makefile
|
||||
@@ -1,13 +1,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libubox
|
||||
-PKG_VERSION:=2013-10-19
|
||||
+PKG_VERSION:=2014-07-16
|
||||
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
-PKG_SOURCE_URL:=git://nbd.name/luci2/libubox.git
|
||||
+PKG_SOURCE_URL:=http://git.openwrt.org/project/libubox.git
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
-PKG_SOURCE_VERSION:=734d28eb1a46358743cf8837c91e5d46695c3b91
|
||||
+PKG_SOURCE_VERSION:=bd388d2b6c2c151bf513c1e449417d18ce02d10b
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_MIRROR_MD5SUM:=
|
||||
CMAKE_INSTALL:=1
|
||||
@@ -26,6 +26,7 @@ define Package/libubox
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=Basic utility library
|
||||
+ ABI_VERSION:=$(PKG_VERSION)
|
||||
DEPENDS:=
|
||||
endef
|
||||
|
||||
@@ -54,6 +55,13 @@ define Package/libjson-script
|
||||
TITLE:=Minimalistic JSON based scripting engine
|
||||
endef
|
||||
|
||||
+define Package/libubox-lua
|
||||
+ SECTION:=libs
|
||||
+ CATEGORY:=Libraries
|
||||
+ DEPENDS:=+libubox +liblua
|
||||
+ TITLE:=Lua binding for the OpenWrt Basic utility library
|
||||
+endef
|
||||
+
|
||||
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
|
||||
CMAKE_OPTIONS = \
|
||||
-DLUAPATH=/usr/lib/lua
|
||||
@@ -79,7 +87,13 @@ define Package/libjson-script/install
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libjson_script.so $(1)/lib/
|
||||
endef
|
||||
|
||||
+define Package/libubox-lua/install
|
||||
+ $(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
+ $(CP) $(PKG_BUILD_DIR)/lua/uloop.so $(1)/usr/lib/lua/
|
||||
+endef
|
||||
+
|
||||
$(eval $(call BuildPackage,libubox))
|
||||
$(eval $(call BuildPackage,libblobmsg-json))
|
||||
$(eval $(call BuildPackage,jshn))
|
||||
$(eval $(call BuildPackage,libjson-script))
|
||||
+$(eval $(call BuildPackage,libubox-lua))
|
||||
diff --git a/package/netifd/Makefile b/package/netifd/Makefile
|
||||
index 5f2ee03..faf3e09 100644
|
||||
--- a/package/netifd/Makefile
|
||||
+++ b/package/netifd/Makefile
|
||||
@@ -1,13 +1,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=netifd
|
||||
-PKG_VERSION:=2013-07-16
|
||||
+PKG_VERSION:=2014-07-29
|
||||
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
-PKG_SOURCE_URL:=git://nbd.name/luci2/netifd.git
|
||||
+PKG_SOURCE_URL:=http://git.openwrt.org/project/netifd.git
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
-PKG_SOURCE_VERSION:=2674941b06c1ec67f1aff1bff9212e1372106641
|
||||
+PKG_SOURCE_VERSION:=4bf89afc22b43d5bd155d32d3998348a77179c1a
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
|
||||
# PKG_MIRROR_MD5SUM:=
|
||||
@@ -24,7 +24,7 @@ include $(INCLUDE_DIR)/cmake.mk
|
||||
define Package/netifd
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
- DEPENDS:=+libuci +libnl-tiny +libubus +ubus +ubusd +jshn
|
||||
+ DEPENDS:=+libuci +libnl-tiny +libubus +ubus +ubusd +jshn +libubox
|
||||
TITLE:=OpenWrt Network Interface Configuration Daemon
|
||||
endef
|
||||
|
||||
@@ -40,7 +40,7 @@ define Package/netifd/install
|
||||
$(INSTALL_DIR) $(1)/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/netifd $(1)/sbin/
|
||||
$(CP) ./files/* $(1)/
|
||||
- $(CP) $(PKG_BUILD_DIR)/dummy/netifd-proto.sh $(1)/lib/netifd/
|
||||
+ $(CP) $(PKG_BUILD_DIR)/scripts/* $(1)/lib/netifd/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,netifd))
|
||||
diff --git a/package/netifd/files/etc/hotplug.d/iface/00-netstate b/package/netifd/files/etc/hotplug.d/iface/00-netstate
|
||||
index c50cda6..023025c 100644
|
||||
--- a/package/netifd/files/etc/hotplug.d/iface/00-netstate
|
||||
+++ b/package/netifd/files/etc/hotplug.d/iface/00-netstate
|
||||
@@ -1,6 +1,5 @@
|
||||
[ ifup = "$ACTION" ] && {
|
||||
uci_toggle_state network "$INTERFACE" up 1
|
||||
- uci_toggle_state network "$INTERFACE" connect_time $(sed -ne 's![^0-9].*$!!p' /proc/uptime)
|
||||
[ -n "$DEVICE" ] && {
|
||||
uci_toggle_state network "$INTERFACE" device "$(uci -q get network.$INTERFACE.ifname)"
|
||||
uci_toggle_state network "$INTERFACE" ifname "$DEVICE"
|
||||
diff --git a/package/netifd/files/lib/netifd/dhcp.script b/package/netifd/files/lib/netifd/dhcp.script
|
||||
index 50163da..db3fc01 100755
|
||||
--- a/package/netifd/files/lib/netifd/dhcp.script
|
||||
+++ b/package/netifd/files/lib/netifd/dhcp.script
|
||||
@@ -33,9 +33,15 @@ setup_interface () {
|
||||
for domain in $domain; do
|
||||
proto_add_dns_search "$domain"
|
||||
done
|
||||
+
|
||||
+ proto_add_data
|
||||
+ [ -n "$ZONE" ] && json_add_string zone "$ZONE"
|
||||
+ proto_close_data
|
||||
+
|
||||
proto_send_update "$INTERFACE"
|
||||
|
||||
- if [ -n "$IFACE6RD" -a -n "$ip6rd" ]; then
|
||||
+
|
||||
+ if [ "$IFACE6RD" != 0 -a -n "$ip6rd" ]; then
|
||||
local v4mask="${ip6rd%% *}"
|
||||
ip6rd="${ip6rd#* }"
|
||||
local ip6rdprefixlen="${ip6rd%% *}"
|
||||
@@ -44,19 +50,24 @@ setup_interface () {
|
||||
ip6rd="${ip6rd#* }"
|
||||
local ip6rdbr="${ip6rd%% *}"
|
||||
|
||||
-uci -q batch <<-EOF >/dev/null
|
||||
-set network.$IFACE6RD.proto=6rd
|
||||
-set network.$IFACE6RD.auto=0
|
||||
-set network.$IFACE6RD.peeraddr=$ip6rdbr
|
||||
-set network.$IFACE6RD.ip4prefixlen=$v4mask
|
||||
-set network.$IFACE6RD.ip6prefix=$ip6rdprefix
|
||||
-set network.$IFACE6RD.ip6prefixlen=$ip6rdprefixlen
|
||||
-commit network
|
||||
-EOF
|
||||
-
|
||||
- ifdown "$IFACE6RD"
|
||||
- /etc/init.d/network reload
|
||||
- ifup "$IFACE6RD"
|
||||
+ [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE)
|
||||
+ [ -z "$IFACE6RD" -o "$IFACE6RD" = 1 ] && IFACE6RD=${INTERFACE}_6rd
|
||||
+
|
||||
+ json_init
|
||||
+ json_add_string name "$IFACE6RD"
|
||||
+ json_add_string ifname "@$INTERFACE"
|
||||
+ json_add_string proto "6rd"
|
||||
+ json_add_string peeraddr "$ip6rdbr"
|
||||
+ json_add_int ip4prefixlen "$v4mask"
|
||||
+ json_add_string ip6prefix "$ip6rdprefix"
|
||||
+ json_add_int ip6prefixlen "$ip6rdprefixlen"
|
||||
+ json_add_string tunlink "$INTERFACE"
|
||||
+ [ -n "$IFACE6RD_DELEGATE" ] && json_add_boolean delegate "$IFACE6RD_DELEGATE"
|
||||
+ [ -n "$ZONE6RD" ] || ZONE6RD=$ZONE
|
||||
+ [ -n "$ZONE6RD" ] && json_add_string zone "$ZONE6RD"
|
||||
+ json_close_object
|
||||
+
|
||||
+ ubus call network add_dynamic "$(json_dump)"
|
||||
fi
|
||||
|
||||
# TODO
|
||||
diff --git a/package/netifd/files/lib/netifd/proto/dhcp.sh b/package/netifd/files/lib/netifd/proto/dhcp.sh
|
||||
index a270c68..b14f7be 100755
|
||||
--- a/package/netifd/files/lib/netifd/proto/dhcp.sh
|
||||
+++ b/package/netifd/files/lib/netifd/proto/dhcp.sh
|
||||
@@ -5,31 +5,44 @@
|
||||
init_proto "$@"
|
||||
|
||||
proto_dhcp_init_config() {
|
||||
- proto_config_add_string "ipaddr"
|
||||
- proto_config_add_string "netmask"
|
||||
- proto_config_add_string "hostname"
|
||||
- proto_config_add_string "clientid"
|
||||
- proto_config_add_string "vendorid"
|
||||
- proto_config_add_boolean "broadcast"
|
||||
- proto_config_add_string "reqopts"
|
||||
- proto_config_add_string "iface6rd"
|
||||
+ renew_handler=1
|
||||
+
|
||||
+ proto_config_add_string 'ipaddr:ipaddr'
|
||||
+ proto_config_add_string 'hostname:hostname'
|
||||
+ proto_config_add_string clientid
|
||||
+ proto_config_add_string vendorid
|
||||
+ proto_config_add_boolean 'broadcast:bool'
|
||||
+ proto_config_add_string 'reqopts:list(string)'
|
||||
+ proto_config_add_string iface6rd
|
||||
+ proto_config_add_string sendopts
|
||||
+ proto_config_add_boolean delegate
|
||||
+ proto_config_add_string zone6rd
|
||||
+ proto_config_add_string zone
|
||||
}
|
||||
|
||||
proto_dhcp_setup() {
|
||||
local config="$1"
|
||||
local iface="$2"
|
||||
|
||||
- local ipaddr hostname clientid vendorid broadcast reqopts iface6rd
|
||||
- json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd
|
||||
+ local ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone
|
||||
+ json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone
|
||||
|
||||
local opt dhcpopts
|
||||
for opt in $reqopts; do
|
||||
append dhcpopts "-O $opt"
|
||||
done
|
||||
|
||||
+ for opt in $sendopts; do
|
||||
+ append dhcpopts "-x $opt"
|
||||
+ done
|
||||
+
|
||||
[ "$broadcast" = 1 ] && broadcast="-B" || broadcast=
|
||||
[ -n "$clientid" ] && clientid="-x 0x3d:${clientid//:/}" || clientid="-C"
|
||||
[ -n "$iface6rd" ] && proto_export "IFACE6RD=$iface6rd"
|
||||
+ [ -n "$iface6rd" ] && append dhcpopts "-O 212"
|
||||
+ [ -n "$zone6rd" ] && proto_export "ZONE6RD=$zone6rd"
|
||||
+ [ -n "$zone" ] && proto_export "ZONE=$zone"
|
||||
+ [ "$delegate" = "0" ] && proto_export "IFACE6RD_DELEGATE=0"
|
||||
|
||||
proto_export "INTERFACE=$config"
|
||||
proto_run_command "$config" udhcpc \
|
||||
@@ -42,10 +55,16 @@ proto_dhcp_setup() {
|
||||
$clientid $broadcast $dhcpopts
|
||||
}
|
||||
|
||||
+proto_dhcp_renew() {
|
||||
+ local interface="$1"
|
||||
+ # SIGUSR1 forces udhcpc to renew its lease
|
||||
+ local sigusr1="$(kill -l SIGUSR1)"
|
||||
+ [ -n "$sigusr1" ] && proto_kill_command "$interface" $sigusr1
|
||||
+}
|
||||
+
|
||||
proto_dhcp_teardown() {
|
||||
local interface="$1"
|
||||
proto_kill_command "$interface"
|
||||
}
|
||||
|
||||
add_protocol dhcp
|
||||
-
|
||||
diff --git a/package/netifd/patches/001-musl_af_inet_include.patch b/package/netifd/patches/001-musl_af_inet_include.patch
|
||||
new file mode 100644
|
||||
index 0000000..510ee05
|
||||
--- /dev/null
|
||||
+++ b/package/netifd/patches/001-musl_af_inet_include.patch
|
||||
@@ -0,0 +1,11 @@
|
||||
+diff -urN netifd-2012-10-29/utils.c netifd-2012-10-29.new/utils.c
|
||||
+--- netifd-2012-10-29/utils.c 2012-11-23 17:15:39.000000000 +0100
|
||||
++++ netifd-2012-10-29.new/utils.c 2012-11-23 17:16:53.409244361 +0100
|
||||
+@@ -17,6 +17,7 @@
|
||||
+
|
||||
+ #include <arpa/inet.h>
|
||||
+ #include <netinet/in.h>
|
||||
++#include <sys/socket.h>
|
||||
+
|
||||
+ void
|
||||
+ __vlist_simple_init(struct vlist_simple_tree *tree, int offset)
|
||||
diff --git a/package/netifd/patches/002-fix_compile_with_old_includes.patch b/package/netifd/patches/002-fix_compile_with_old_includes.patch
|
||||
new file mode 100644
|
||||
index 0000000..361b2d1
|
||||
--- /dev/null
|
||||
+++ b/package/netifd/patches/002-fix_compile_with_old_includes.patch
|
||||
@@ -0,0 +1,34 @@
|
||||
+--- a/system-linux.c
|
||||
++++ b/system-linux.c
|
||||
+@@ -43,6 +43,31 @@
|
||||
+ #define RTN_FAILED_POLICY 12
|
||||
+ #endif
|
||||
+
|
||||
++
|
||||
++#ifndef IFLA_IPTUN_MAX
|
||||
++enum {
|
||||
++ IFLA_IPTUN_UNSPEC,
|
||||
++ IFLA_IPTUN_LINK,
|
||||
++ IFLA_IPTUN_LOCAL,
|
||||
++ IFLA_IPTUN_REMOTE,
|
||||
++ IFLA_IPTUN_TTL,
|
||||
++ IFLA_IPTUN_TOS,
|
||||
++ IFLA_IPTUN_ENCAP_LIMIT,
|
||||
++ IFLA_IPTUN_FLOWINFO,
|
||||
++ IFLA_IPTUN_FLAGS,
|
||||
++ IFLA_IPTUN_PROTO,
|
||||
++ IFLA_IPTUN_PMTUDISC,
|
||||
++ IFLA_IPTUN_6RD_PREFIX,
|
||||
++ IFLA_IPTUN_6RD_RELAY_PREFIX,
|
||||
++ IFLA_IPTUN_6RD_PREFIXLEN,
|
||||
++ IFLA_IPTUN_6RD_RELAY_PREFIXLEN,
|
||||
++ __IFLA_IPTUN_MAX,
|
||||
++};
|
||||
++#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
|
||||
++#endif
|
||||
++
|
||||
++
|
||||
++
|
||||
+ #include <string.h>
|
||||
+ #include <fcntl.h>
|
||||
+ #include <glob.h>
|
||||
diff --git a/package/ubus/Makefile b/package/ubus/Makefile
|
||||
index be18fb5..ba96b3b 100644
|
||||
--- a/package/ubus/Makefile
|
||||
+++ b/package/ubus/Makefile
|
||||
@@ -1,13 +1,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ubus
|
||||
-PKG_VERSION:=2013-08-08
|
||||
+PKG_VERSION:=2014-07-03
|
||||
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=git://nbd.name/luci2/ubus.git
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
-PKG_SOURCE_VERSION:=b20a8a01c7faea5bcc9d34d10dcf7736589021b8
|
||||
+PKG_SOURCE_VERSION:=f688c7ad0b2435a89bfd13f5496cabf596b54c8f
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_MIRROR_MD5SUM:=
|
||||
CMAKE_INSTALL:=1
|
||||
@@ -38,6 +38,7 @@ define Package/libubus
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
DEPENDS:=+libubox
|
||||
+ ABI_VERSION:=$(PKG_VERSION)
|
||||
TITLE:=OpenWrt RPC client library
|
||||
endef
|
||||
|
||||
@@ -66,7 +67,7 @@ endef
|
||||
|
||||
define Package/libubus/install
|
||||
$(INSTALL_DIR) $(1)/lib
|
||||
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/lib/
|
||||
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so $(1)/lib/
|
||||
endef
|
||||
|
||||
define Package/libubus-lua/install
|
||||
@@ -74,8 +75,7 @@ define Package/libubus-lua/install
|
||||
$(CP) $(PKG_BUILD_DIR)/lua/ubus.so $(1)/usr/lib/lua/
|
||||
endef
|
||||
|
||||
-$(eval $(call BuildPackage,ubus))
|
||||
-$(eval $(call BuildPackage,ubusd))
|
||||
$(eval $(call BuildPackage,libubus))
|
||||
$(eval $(call BuildPackage,libubus-lua))
|
||||
-
|
||||
+$(eval $(call BuildPackage,ubus))
|
||||
+$(eval $(call BuildPackage,ubusd))
|
||||
diff --git a/package/uci/Makefile b/package/uci/Makefile
|
||||
index 54ad80b..29f9ef3 100644
|
||||
--- a/package/uci/Makefile
|
||||
+++ b/package/uci/Makefile
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
-# Copyright (C) 2008-2013 OpenWrt.org
|
||||
+# Copyright (C) 2008-2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
-UCI_VERSION=2013-06-11
|
||||
+UCI_VERSION=2014-04-11
|
||||
UCI_RELEASE=1
|
||||
|
||||
PKG_NAME:=uci
|
||||
PKG_VERSION:=$(UCI_VERSION)$(if $(UCI_RELEASE),.$(UCI_RELEASE))
|
||||
PKG_RELEASE:=1
|
||||
-PKG_REV:=c9c9d5cb085acc58b6579ace83fb79c085a9db27
|
||||
+PKG_REV:=e339407372ffc70b1451e4eda218c01aa95a6a7f
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=git://nbd.name/uci.git
|
@ -1,283 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Sat, 11 Jan 2014 11:47:58 +0100
|
||||
Subject: Update odhcp6c from Barrier Breaker (r41830)
|
||||
|
||||
diff --git a/package/odhcp6c/Makefile b/package/odhcp6c/Makefile
|
||||
index e767064..3ec58e1 100644
|
||||
--- a/package/odhcp6c/Makefile
|
||||
+++ b/package/odhcp6c/Makefile
|
||||
@@ -8,26 +8,55 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=odhcp6c
|
||||
-PKG_VERSION:=2013-10-02
|
||||
-PKG_RELEASE=$(PKG_SOURCE_VERSION)-1
|
||||
+PKG_VERSION:=2014-07-21
|
||||
+PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=git://github.com/sbyx/odhcp6c.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
-PKG_SOURCE_VERSION:=357ecc1f5163bc7f74c64f4bca387e8d44a2eac5
|
||||
+PKG_SOURCE_VERSION:=67b311ab81736b35858664219d345844ab08fcc7
|
||||
PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
+ifneq ($(CONFIG_PACKAGE_odhcp6c_ext_prefix_class),0)
|
||||
+ CMAKE_OPTIONS += -DEXT_PREFIX_CLASS=$(CONFIG_PACKAGE_odhcp6c_ext_prefix_class)
|
||||
+endif
|
||||
+
|
||||
+ifneq ($(CONFIG_PACKAGE_odhcp6c_ext_cer_id),0)
|
||||
+ CMAKE_OPTIONS += -DEXT_CER_ID=$(CONFIG_PACKAGE_odhcp6c_ext_cer_id)
|
||||
+endif
|
||||
+
|
||||
+ifneq ($(CONFIG_PACKAGE_odhcp6c_ext_s46),0)
|
||||
+ CMAKE_OPTIONS += -DEXT_S46=$(CONFIG_PACKAGE_odhcp6c_ext_s46)
|
||||
+endif
|
||||
+
|
||||
define Package/odhcp6c
|
||||
- SECTION:=ipv6
|
||||
- CATEGORY:=IPv6
|
||||
+ SECTION:=net
|
||||
+ CATEGORY:=Network
|
||||
TITLE:=Embedded DHCPv6-client for OpenWrt
|
||||
DEPENDS:=+kmod-ipv6
|
||||
endef
|
||||
|
||||
+define Package/odhcp6c/config
|
||||
+ config PACKAGE_odhcp6c_ext_prefix_class
|
||||
+ int "Prefix Class Extension ID (0 = disabled)"
|
||||
+ depends on PACKAGE_odhcp6c
|
||||
+ default 0
|
||||
+
|
||||
+ config PACKAGE_odhcp6c_ext_cer_id
|
||||
+ int "CER-ID Extension ID (0 = disabled)"
|
||||
+ depends on PACKAGE_odhcp6c
|
||||
+ default 0
|
||||
+
|
||||
+ config PACKAGE_odhcp6c_ext_s46
|
||||
+ int "Softwire MAP Extension ID (0 = disabled)"
|
||||
+ depends on PACKAGE_odhcp6c
|
||||
+ default 0
|
||||
+endef
|
||||
+
|
||||
define Package/odhcp6c/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/odhcp6c $(1)/usr/sbin/
|
||||
diff --git a/package/odhcp6c/files/dhcpv6.script b/package/odhcp6c/files/dhcpv6.script
|
||||
index 324a823..8c1ba18 100755
|
||||
--- a/package/odhcp6c/files/dhcpv6.script
|
||||
+++ b/package/odhcp6c/files/dhcpv6.script
|
||||
@@ -64,23 +64,68 @@ setup_interface () {
|
||||
entry="${entry#*,}"
|
||||
local metric="${entry%%,*}"
|
||||
|
||||
- proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid"
|
||||
+ if [ -z "$SOURCE_ROUTING" -o -z "$gw" ]; then
|
||||
+ proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid"
|
||||
+ else
|
||||
+ proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "::/128"
|
||||
+ for prefix in $PREFIXES $ADDRESSES; do
|
||||
+ local paddr="${prefix%%,*}"
|
||||
+ proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "$paddr"
|
||||
+ done
|
||||
+ fi
|
||||
done
|
||||
|
||||
+ proto_add_data
|
||||
+ [ -n "$CER" ] && json_add_string cer "$CER"
|
||||
+ [ -n "$PASSTHRU" ] && json_add_string passthru "$PASSTHRU"
|
||||
+ [ -n "$ZONE" ] && json_add_string zone "$ZONE"
|
||||
+ proto_close_data
|
||||
+
|
||||
proto_send_update "$INTERFACE"
|
||||
|
||||
- if [ -n "$AFTR_IP " -a -n "$IFACE_DSLITE" ]; then
|
||||
-uci -q batch <<-EOF >/dev/null
|
||||
-set network.$IFACE_DSLITE.proto=dslite
|
||||
-set network.$IFACE_DSLITE.auto=0
|
||||
-set network.$IFACE_DSLITE.peeraddr=$AFTR_IP
|
||||
-set network.$IFACE_DSLITE.tunlink=$INTERFACE
|
||||
-commit network
|
||||
-EOF
|
||||
-
|
||||
- ifdown "$IFACE_DSLITE"
|
||||
- /etc/init.d/network reload
|
||||
- ifup "$IFACE_DSLITE"
|
||||
+ MAPTYPE=""
|
||||
+ MAPRULE=""
|
||||
+
|
||||
+ if [ -n "$MAPE" -a -f /lib/netifd/proto/map.sh ]; then
|
||||
+ MAPTYPE="map-e"
|
||||
+ MAPRULE="$MAPE"
|
||||
+ elif [ -n "$MAPT" -a -f /lib/netifd/proto/map.sh -a -f /proc/net/nat46/control ]; then
|
||||
+ MAPTYPE="map-t"
|
||||
+ MAPRULE="$MAPT"
|
||||
+ elif [ -n "$LW4O6" -a -f /lib/netifd/proto/map.sh ]; then
|
||||
+ MAPTYPE="lw4o6"
|
||||
+ MAPRULE="$LW4O6"
|
||||
+ fi
|
||||
+
|
||||
+ [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE)
|
||||
+
|
||||
+ if [ "$IFACE_MAP" != 0 -a -n "$MAPTYPE" -a -n "$MAPRULE" ]; then
|
||||
+ [ -z "$IFACE_MAP" -o "$IFACE_MAP" = 1 ] && IFACE_MAP=${INTERFACE}_map
|
||||
+ json_init
|
||||
+ json_add_string name "$IFACE_MAP"
|
||||
+ json_add_string ifname "@$INTERFACE"
|
||||
+ json_add_string proto map
|
||||
+ json_add_string type "$MAPTYPE"
|
||||
+ json_add_string rule "$MAPRULE"
|
||||
+ json_add_string tunlink "$INTERFACE"
|
||||
+ [ -n "$ZONE_MAP" ] || ZONE_MAP=$ZONE
|
||||
+ [ -n "$ZONE_MAP" ] && json_add_string zone "$ZONE_MAP"
|
||||
+ [ -n "$IFACE_MAP_DELEGATE" ] && json_add_boolean delegate "$IFACE_MAP_DELEGATE"
|
||||
+ json_close_object
|
||||
+ ubus call network add_dynamic "$(json_dump)"
|
||||
+ elif [ -n "$AFTR_IP " -a "$IFACE_DSLITE" != 0 -a -f /lib/netifd/proto/dslite.sh ]; then
|
||||
+ [ -z "$IFACE_DSLITE" -o "$IFACE_DSLITE" = 1 ] && IFACE_DSLITE=${INTERFACE}_dslite
|
||||
+ json_init
|
||||
+ json_add_string name "$IFACE_DSLITE"
|
||||
+ json_add_string ifname "@$INTERFACE"
|
||||
+ json_add_string proto "dslite"
|
||||
+ json_add_string peeraddr "$AFTR_IP"
|
||||
+ json_add_string tunlink "$INTERFACE"
|
||||
+ [ -n "$ZONE_DSLITE" ] || ZONE_DSLITE=$ZONE
|
||||
+ [ -n "$ZONE_DSLITE" ] && json_add_string zone "$ZONE_DSLITE"
|
||||
+ [ -n "$IFACE_DSLITE_DELEGATE" ] && json_add_boolean delegate "$IFACE_DSLITE_DELEGATE"
|
||||
+ json_close_object
|
||||
+ ubus call network add_dynamic "$(json_dump)"
|
||||
fi
|
||||
|
||||
# TODO: $SNTP_IP $SIP_IP $SNTP_FQDN $SIP_DOMAIN
|
||||
diff --git a/package/odhcp6c/files/dhcpv6.sh b/package/odhcp6c/files/dhcpv6.sh
|
||||
index bf6cd9a..0690bd1 100755
|
||||
--- a/package/odhcp6c/files/dhcpv6.sh
|
||||
+++ b/package/odhcp6c/files/dhcpv6.sh
|
||||
@@ -5,23 +5,35 @@
|
||||
init_proto "$@"
|
||||
|
||||
proto_dhcpv6_init_config() {
|
||||
- proto_config_add_string "reqaddress"
|
||||
- proto_config_add_string "reqprefix"
|
||||
- proto_config_add_string "clientid"
|
||||
- proto_config_add_string "reqopts"
|
||||
- proto_config_add_string "noslaaconly"
|
||||
- proto_config_add_string "norelease"
|
||||
- proto_config_add_string "ip6prefix"
|
||||
- proto_config_add_string "iface_dslite"
|
||||
- proto_config_add_string "ifaceid"
|
||||
+ renew_handler=1
|
||||
+
|
||||
+ proto_config_add_string 'reqaddress:or("try","force","none")'
|
||||
+ proto_config_add_string 'reqprefix:or("auto","no",range(0, 64))'
|
||||
+ proto_config_add_string clientid
|
||||
+ proto_config_add_string 'reqopts:list(uinteger)'
|
||||
+ proto_config_add_string 'noslaaconly:bool'
|
||||
+ proto_config_add_string 'forceprefix:bool'
|
||||
+ proto_config_add_string 'norelease:bool'
|
||||
+ proto_config_add_string 'ip6prefix:ip6addr'
|
||||
+ proto_config_add_string iface_dslite
|
||||
+ proto_config_add_string zone_dslite
|
||||
+ proto_config_add_string iface_map
|
||||
+ proto_config_add_string zone_map
|
||||
+ proto_config_add_string zone
|
||||
+ proto_config_add_string 'ifaceid:ip6addr'
|
||||
+ proto_config_add_string 'sourcerouting:bool'
|
||||
+ proto_config_add_string "userclass"
|
||||
+ proto_config_add_string "vendorclass"
|
||||
+ proto_config_add_boolean delegate
|
||||
+ proto_config_add_int "soltimeout"
|
||||
}
|
||||
|
||||
proto_dhcpv6_setup() {
|
||||
local config="$1"
|
||||
local iface="$2"
|
||||
|
||||
- local reqaddress reqprefix clientid reqopts noslaaconly norelease ip6prefix iface_dslite ifaceid
|
||||
- json_get_vars reqaddress reqprefix clientid reqopts noslaaconly norelease ip6prefix iface_dslite ifaceid
|
||||
+ local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map zone soltimeout
|
||||
+ json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map zone soltimeout
|
||||
|
||||
|
||||
# Configure
|
||||
@@ -35,16 +47,31 @@ proto_dhcpv6_setup() {
|
||||
|
||||
[ "$noslaaconly" = "1" ] && append opts "-S"
|
||||
|
||||
+ [ "$forceprefix" = "1" ] && append opts "-F"
|
||||
+
|
||||
[ "$norelease" = "1" ] && append opts "-k"
|
||||
|
||||
[ -n "$ifaceid" ] && append opts "-i$ifaceid"
|
||||
|
||||
+ [ -n "$vendorclass" ] && append opts "-V$vendorclass"
|
||||
+
|
||||
+ [ -n "$userclass" ] && append opts "-u$userclass"
|
||||
+
|
||||
for opt in $reqopts; do
|
||||
append opts "-r$opt"
|
||||
done
|
||||
|
||||
+ append opts "-t${soltimeout:-120}"
|
||||
+
|
||||
[ -n "$ip6prefix" ] && proto_export "USERPREFIX=$ip6prefix"
|
||||
[ -n "$iface_dslite" ] && proto_export "IFACE_DSLITE=$iface_dslite"
|
||||
+ [ -n "$iface_map" ] && proto_export "IFACE_MAP=$iface_map"
|
||||
+ [ "$sourcerouting" != "0" ] && proto_export "SOURCE_ROUTING=1"
|
||||
+ [ "$delegate" = "0" ] && proto_export "IFACE_DSLITE_DELEGATE=0"
|
||||
+ [ "$delegate" = "0" ] && proto_export "IFACE_MAP_DELEGATE=0"
|
||||
+ [ -n "$zone_dslite" ] && proto_export "ZONE_DSLITE=$zone_dslite"
|
||||
+ [ -n "$zone_map" ] && proto_export "ZONE_MAP=$zone_map"
|
||||
+ [ -n "$zone" ] && proto_export "ZONE=$zone"
|
||||
|
||||
proto_export "INTERFACE=$config"
|
||||
proto_run_command "$config" odhcp6c \
|
||||
@@ -52,6 +79,13 @@ proto_dhcpv6_setup() {
|
||||
$opts $iface
|
||||
}
|
||||
|
||||
+proto_dhcpv6_renew() {
|
||||
+ local interface="$1"
|
||||
+ # SIGUSR1 forces odhcp6c to renew its lease
|
||||
+ local sigusr1="$(kill -l SIGUSR1)"
|
||||
+ [ -n "$sigusr1" ] && proto_kill_command "$interface" $sigusr1
|
||||
+}
|
||||
+
|
||||
proto_dhcpv6_teardown() {
|
||||
local interface="$1"
|
||||
proto_kill_command "$interface"
|
||||
diff --git a/package/odhcp6c/patches/001-fix-integer-overflow-after-50-days.patch b/package/odhcp6c/patches/001-fix-integer-overflow-after-50-days.patch
|
||||
deleted file mode 100644
|
||||
index 292d023..0000000
|
||||
--- a/package/odhcp6c/patches/001-fix-integer-overflow-after-50-days.patch
|
||||
+++ /dev/null
|
||||
@@ -1,25 +0,0 @@
|
||||
-From 5b98f902f616bd9b96a2128587bc6995555a43c1 Mon Sep 17 00:00:00 2001
|
||||
-From: Steven Barth <steven@midlink.org>
|
||||
-Date: Fri, 7 Mar 2014 10:33:49 +0100
|
||||
-Subject: [PATCH] fix integer overflow after 50 days (thx Hauke Mehrtens)
|
||||
-
|
||||
----
|
||||
- src/odhcp6c.c | 2 +-
|
||||
- 1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
-
|
||||
-diff --git a/src/odhcp6c.c b/src/odhcp6c.c
|
||||
-index 3c6b3b0..ba11ced 100644
|
||||
---- a/src/odhcp6c.c
|
||||
-+++ b/src/odhcp6c.c
|
||||
-@@ -470,7 +470,7 @@ uint64_t odhcp6c_get_milli_time(void)
|
||||
- {
|
||||
- struct timespec t = {0, 0};
|
||||
- syscall(SYS_clock_gettime, CLOCK_MONOTONIC, &t);
|
||||
-- return t.tv_sec * 1000 + t.tv_nsec / 1000000;
|
||||
-+ return ((uint64_t)t.tv_sec) * 1000 + ((uint64_t)t.tv_nsec) / 1000000;
|
||||
- }
|
||||
-
|
||||
-
|
||||
---
|
||||
-1.7.10.4
|
||||
-
|
@ -1,22 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Sat, 11 Jan 2014 13:31:13 +0100
|
||||
Subject: package/base-files: change sysctl handling
|
||||
|
||||
Add hotplug script that applies interface specific sysctls for interfaces that
|
||||
only appear later - this allows to reliably configure per-interface parameters
|
||||
in sysctl.conf, e.g. to disable ipv6 autoconfig on a specific iface.
|
||||
|
||||
Cherry-picked from Barrier Breaker
|
||||
|
||||
diff --git a/package/base-files/files/etc/hotplug.d/net/00-sysctl b/package/base-files/files/etc/hotplug.d/net/00-sysctl
|
||||
new file mode 100644
|
||||
index 0000000..5d9da8a
|
||||
--- /dev/null
|
||||
+++ b/package/base-files/files/etc/hotplug.d/net/00-sysctl
|
||||
@@ -0,0 +1,6 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+if [ -f /etc/sysctl.conf ] && [ "$ACTION" = add ]; then
|
||||
+ sed -ne "/^[[:space:]]*net\..*\.$DEVICENAME\./p" /etc/sysctl.conf | \
|
||||
+ sysctl -e -p - | logger -t sysctl
|
||||
+fi
|
@ -1,39 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Sat, 11 Jan 2014 17:08:59 +0100
|
||||
Subject: Fix ping6 sender address
|
||||
|
||||
diff --git a/package/busybox/patches/960-ping6_sender_address.patch b/package/busybox/patches/960-ping6_sender_address.patch
|
||||
new file mode 100644
|
||||
index 0000000..7c56a6d
|
||||
--- /dev/null
|
||||
+++ b/package/busybox/patches/960-ping6_sender_address.patch
|
||||
@@ -0,0 +1,29 @@
|
||||
+--- a/networking/ping.c
|
||||
++++ b/networking/ping.c
|
||||
+@@ -638,7 +638,7 @@ static void unpack4(char *buf, int sz, s
|
||||
+ }
|
||||
+ }
|
||||
+ #if ENABLE_PING6
|
||||
+-static void unpack6(char *packet, int sz, /*struct sockaddr_in6 *from,*/ int hoplimit)
|
||||
++static void unpack6(char *packet, int sz, struct sockaddr_in6 *from, int hoplimit)
|
||||
+ {
|
||||
+ struct icmp6_hdr *icmppkt;
|
||||
+ char buf[INET6_ADDRSTRLEN];
|
||||
+@@ -658,7 +658,7 @@ static void unpack6(char *packet, int sz
|
||||
+ if (sz >= sizeof(struct icmp6_hdr) + sizeof(uint32_t))
|
||||
+ tp = (uint32_t *) &icmppkt->icmp6_data8[4];
|
||||
+ unpack_tail(sz, tp,
|
||||
+- inet_ntop(AF_INET6, &pingaddr.sin6.sin6_addr,
|
||||
++ inet_ntop(AF_INET6, &from->sin6_addr,
|
||||
+ buf, sizeof(buf)),
|
||||
+ recv_seq, hoplimit);
|
||||
+ } else if (icmppkt->icmp6_type != ICMP6_ECHO_REQUEST) {
|
||||
+@@ -808,7 +808,7 @@ static void ping6(len_and_sockaddr *lsa)
|
||||
+ move_from_unaligned_int(hoplimit, CMSG_DATA(mp));
|
||||
+ }
|
||||
+ }
|
||||
+- unpack6(G.rcv_packet, c, /*&from,*/ hoplimit);
|
||||
++ unpack6(G.rcv_packet, c, &from, hoplimit);
|
||||
+ if (pingcount && nreceived >= pingcount)
|
||||
+ break;
|
||||
+ }
|
@ -1,246 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Fri, 1 Feb 2013 15:50:29 +0000
|
||||
Subject: ar71xx: add kernel support for the TL-WDR3500 board
|
||||
|
||||
WDR3500 is similar to WDR3600 except it doesn't have gigabit ethernet,
|
||||
and has only 1 USB port.
|
||||
|
||||
Pending issues:
|
||||
|
||||
* Leds are not working at all (except power and wlan_5g)
|
||||
* LAN switch ethernet ports are reversed with respect to case label.
|
||||
|
||||
[Label] -> soft device
|
||||
[LAN1] -> eth0.4
|
||||
[LAN2] -> eth0.3
|
||||
[LAN3] -> eth0.2
|
||||
[LAN4] -> eth0.1
|
||||
|
||||
Based on http://patchwork.openwrt.org/patch/3208/
|
||||
|
||||
Thanks-to: Paul Fertser <fercerpav@gmail.com>
|
||||
Signed-off-by: Gui Iribarren <gui@altermundi.net>
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35423 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
Conflicts:
|
||||
target/linux/ar71xx/config-3.7
|
||||
|
||||
diff --git a/target/linux/ar71xx/config-3.3 b/target/linux/ar71xx/config-3.3
|
||||
index 446f202..dfc5bf2 100644
|
||||
--- a/target/linux/ar71xx/config-3.3
|
||||
+++ b/target/linux/ar71xx/config-3.3
|
||||
@@ -60,6 +60,7 @@ CONFIG_ATH79_MACH_TL_MR3020=y
|
||||
CONFIG_ATH79_MACH_TL_MR3X20=y
|
||||
CONFIG_ATH79_MACH_TL_WA901ND=y
|
||||
CONFIG_ATH79_MACH_TL_WA901ND_V2=y
|
||||
+CONFIG_ATH79_MACH_TL_WDR3500=y
|
||||
CONFIG_ATH79_MACH_TL_WDR4300=y
|
||||
CONFIG_ATH79_MACH_TL_WR1041N_V2=y
|
||||
CONFIG_ATH79_MACH_TL_WR1043ND=y
|
||||
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
new file mode 100644
|
||||
index 0000000..05fe83d
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
@@ -0,0 +1,153 @@
|
||||
+/*
|
||||
+ * TP-LINK TL-WDR3500 board support
|
||||
+ *
|
||||
+ * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
|
||||
+ * Copyright (C) 2013 Gui Iribarren <gui@altermundi.net>
|
||||
+ *
|
||||
+ * 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/pci.h>
|
||||
+#include <linux/phy.h>
|
||||
+#include <linux/gpio.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/ath9k_platform.h>
|
||||
+#include <linux/ar8216_platform.h>
|
||||
+
|
||||
+#include <asm/mach-ath79/ar71xx_regs.h>
|
||||
+
|
||||
+#include "common.h"
|
||||
+#include "dev-ap9x-pci.h"
|
||||
+#include "dev-eth.h"
|
||||
+#include "dev-gpio-buttons.h"
|
||||
+#include "dev-leds-gpio.h"
|
||||
+#include "dev-m25p80.h"
|
||||
+#include "dev-spi.h"
|
||||
+#include "dev-usb.h"
|
||||
+#include "dev-wmac.h"
|
||||
+#include "machtypes.h"
|
||||
+
|
||||
+#define WDR3500_GPIO_LED_USB1 11
|
||||
+#define WDR3500_GPIO_LED_WLAN2G 13
|
||||
+#define WDR3500_GPIO_LED_SYSTEM 14
|
||||
+#define WDR3500_GPIO_LED_QSS 15
|
||||
+
|
||||
+#define WDR3500_GPIO_BTN_WPS 16
|
||||
+#define WDR3500_GPIO_BTN_RFKILL 17
|
||||
+
|
||||
+#define WDR3500_GPIO_USB1_POWER 22
|
||||
+
|
||||
+#define WDR3500_KEYS_POLL_INTERVAL 20 /* msecs */
|
||||
+#define WDR3500_KEYS_DEBOUNCE_INTERVAL (3 * WDR3500_KEYS_POLL_INTERVAL)
|
||||
+
|
||||
+#define WDR3500_MAC0_OFFSET 0
|
||||
+#define WDR3500_MAC1_OFFSET 6
|
||||
+#define WDR3500_WMAC_CALDATA_OFFSET 0x1000
|
||||
+#define WDR3500_PCIE_CALDATA_OFFSET 0x5000
|
||||
+
|
||||
+static const char *wdr3500_part_probes[] = {
|
||||
+ "tp-link",
|
||||
+ NULL,
|
||||
+};
|
||||
+
|
||||
+static struct flash_platform_data wdr3500_flash_data = {
|
||||
+ .part_probes = wdr3500_part_probes,
|
||||
+};
|
||||
+
|
||||
+static struct gpio_led wdr3500_leds_gpio[] __initdata = {
|
||||
+ {
|
||||
+ .name = "tp-link:green:qss",
|
||||
+ .gpio = WDR3500_GPIO_LED_QSS,
|
||||
+ .active_low = 1,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "tp-link:green:system",
|
||||
+ .gpio = WDR3500_GPIO_LED_SYSTEM,
|
||||
+ .active_low = 1,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "tp-link:green:usb1",
|
||||
+ .gpio = WDR3500_GPIO_LED_USB1,
|
||||
+ .active_low = 1,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "tp-link:green:wlan2g",
|
||||
+ .gpio = WDR3500_GPIO_LED_WLAN2G,
|
||||
+ .active_low = 1,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static struct gpio_keys_button wdr3500_gpio_keys[] __initdata = {
|
||||
+ {
|
||||
+ .desc = "QSS button",
|
||||
+ .type = EV_KEY,
|
||||
+ .code = KEY_WPS_BUTTON,
|
||||
+ .debounce_interval = WDR3500_KEYS_DEBOUNCE_INTERVAL,
|
||||
+ .gpio = WDR3500_GPIO_BTN_WPS,
|
||||
+ .active_low = 1,
|
||||
+ },
|
||||
+ {
|
||||
+ .desc = "RFKILL switch",
|
||||
+ .type = EV_SW,
|
||||
+ .code = KEY_RFKILL,
|
||||
+ .debounce_interval = WDR3500_KEYS_DEBOUNCE_INTERVAL,
|
||||
+ .gpio = WDR3500_GPIO_BTN_RFKILL,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+
|
||||
+static void __init wdr3500_setup(void)
|
||||
+{
|
||||
+ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
|
||||
+ u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
|
||||
+ u8 tmpmac[ETH_ALEN];
|
||||
+
|
||||
+ ath79_register_m25p80(&wdr3500_flash_data);
|
||||
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(wdr3500_leds_gpio),
|
||||
+ wdr3500_leds_gpio);
|
||||
+ ath79_register_gpio_keys_polled(-1, WDR3500_KEYS_POLL_INTERVAL,
|
||||
+ ARRAY_SIZE(wdr3500_gpio_keys),
|
||||
+ wdr3500_gpio_keys);
|
||||
+
|
||||
+ ath79_init_mac(tmpmac, mac, 0);
|
||||
+ ath79_register_wmac(art + WDR3500_WMAC_CALDATA_OFFSET, tmpmac);
|
||||
+
|
||||
+ ath79_init_mac(tmpmac, mac, 1);
|
||||
+ ap9x_pci_setup_wmac_led_pin(0, 0);
|
||||
+ ap91_pci_init(art + WDR3500_PCIE_CALDATA_OFFSET, tmpmac);
|
||||
+
|
||||
+ ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
|
||||
+
|
||||
+ ath79_register_mdio(1, 0x0);
|
||||
+
|
||||
+ /* LAN */
|
||||
+ ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
|
||||
+
|
||||
+ /* GMAC1 is connected to the internal switch */
|
||||
+ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
|
||||
+
|
||||
+ ath79_register_eth(1);
|
||||
+
|
||||
+ /* WAN */
|
||||
+ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 2);
|
||||
+
|
||||
+ /* GMAC0 is connected to the PHY4 of the internal switch */
|
||||
+ ath79_switch_data.phy4_mii_en = 1;
|
||||
+ ath79_switch_data.phy_poll_mask = BIT(4);
|
||||
+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
|
||||
+ ath79_eth0_data.phy_mask = BIT(4);
|
||||
+ ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
|
||||
+
|
||||
+ ath79_register_eth(0);
|
||||
+
|
||||
+ gpio_request_one(WDR3500_GPIO_USB1_POWER,
|
||||
+ GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
|
||||
+ "USB1 power");
|
||||
+ ath79_register_usb();
|
||||
+}
|
||||
+
|
||||
+MIPS_MACHINE(ATH79_MACH_TL_WDR3500, "TL-WDR3500",
|
||||
+ "TP-LINK TL-WDR3500",
|
||||
+ wdr3500_setup);
|
||||
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
|
||||
new file mode 100644
|
||||
index 0000000..0a2c3bd
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ar71xx/patches-3.3/613-MIPS-ath79-add-TL-WDR3500-support.patch
|
||||
@@ -0,0 +1,40 @@
|
||||
+--- a/arch/mips/ath79/machtypes.h
|
||||
++++ b/arch/mips/ath79/machtypes.h
|
||||
+@@ -84,6 +84,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 */
|
||||
++ ATH79_MACH_TL_WDR3500, /* TP-LINK TL-WDR3500 */
|
||||
+ ATH79_MACH_TL_WDR4300, /* TP-LINK TL-WDR4300 */
|
||||
+ ATH79_MACH_TL_WR1041N_V2, /* TP-LINK TL-WR1041N v2 */
|
||||
+ 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
|
||||
+ select ATH79_DEV_M25P80
|
||||
+ select ATH79_DEV_WMAC
|
||||
+
|
||||
++config ATH79_MACH_TL_WDR3500
|
||||
++ bool "TP-LINK TL-WDR3500 board support"
|
||||
++ select SOC_AR934X
|
||||
++ select ATH79_DEV_AP9X_PCI if PCI
|
||||
++ 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_WDR4300
|
||||
+ bool "TP-LINK TL-WDR3600/4300/4310 board support"
|
||||
+ select SOC_AR934X
|
||||
+--- a/arch/mips/ath79/Makefile
|
||||
++++ b/arch/mips/ath79/Makefile
|
||||
+@@ -81,6 +81,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
|
||||
++obj-$(CONFIG_ATH79_MACH_TL_WDR3500) += mach-tl-wdr3500.o
|
||||
+ obj-$(CONFIG_ATH79_MACH_TL_WDR4300) += mach-tl-wdr4300.o
|
||||
+ obj-$(CONFIG_ATH79_MACH_TL_WR741ND) += mach-tl-wr741nd.o
|
||||
+ obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4) += mach-tl-wr741nd-v4.o
|
@ -1,48 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Fri, 1 Feb 2013 15:50:32 +0000
|
||||
Subject: ar71xx: add user-space support for TL-WDR3500 board
|
||||
|
||||
Based on http://patchwork.openwrt.org/patch/3208/
|
||||
|
||||
Thanks-to: Paul Fertser <fercerpav@gmail.com>
|
||||
Signed-off-by: Gui Iribarren <gui@altermundi.net>
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35424 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
|
||||
index fe7c910..8d71352 100755
|
||||
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
|
||||
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
|
||||
@@ -123,6 +123,9 @@ tplink_board_detect() {
|
||||
"342000"*)
|
||||
model="TP-Link TL-MR3420"
|
||||
;;
|
||||
+ "350000"*)
|
||||
+ model="TP-Link TL-WDR3500"
|
||||
+ ;;
|
||||
"360000"*)
|
||||
model="TP-Link TL-WDR3600"
|
||||
;;
|
||||
@@ -357,6 +360,9 @@ ar71xx_board_detect() {
|
||||
*"TL-WA901ND v2")
|
||||
name="tl-wa901nd-v2"
|
||||
;;
|
||||
+ *"TL-WDR3500")
|
||||
+ name="tl-wdr3500"
|
||||
+ ;;
|
||||
*"TL-WDR3600/4300/4310")
|
||||
name="tl-wdr4300"
|
||||
;;
|
||||
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
|
||||
index 49b1de9..e52ad9e 100755
|
||||
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
|
||||
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
|
||||
@@ -155,6 +155,7 @@ platform_check_image() {
|
||||
tl-wa7510n | \
|
||||
tl-wa901nd | \
|
||||
tl-wa901nd-v2 | \
|
||||
+ tl-wdr3500 | \
|
||||
tl-wdr4300 | \
|
||||
tl-wr703n | \
|
||||
tl-wr741nd | \
|
@ -1,55 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Fri, 1 Feb 2013 15:50:34 +0000
|
||||
Subject: ar71xx: build image for the TL-WDR3500 board
|
||||
|
||||
Based on http://patchwork.openwrt.org/patch/3208/
|
||||
|
||||
Thanks-to: Paul Fertser <fercerpav@gmail.com>
|
||||
Signed-off-by: Gui Iribarren <gui@altermundi.net>
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35425 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
Conflicts:
|
||||
target/linux/ar71xx/image/Makefile
|
||||
|
||||
diff --git a/target/linux/ar71xx/generic/profiles/tp-link.mk b/target/linux/ar71xx/generic/profiles/tp-link.mk
|
||||
index 07d7059..3d7859c 100644
|
||||
--- a/target/linux/ar71xx/generic/profiles/tp-link.mk
|
||||
+++ b/target/linux/ar71xx/generic/profiles/tp-link.mk
|
||||
@@ -105,12 +105,12 @@ $(eval $(call Profile,TLWA901))
|
||||
|
||||
|
||||
define Profile/TLWDR4300
|
||||
- NAME:=TP-LINK TL-WDR3600/4300/4310
|
||||
+ NAME:=TP-LINK TL-WDR3500/3600/4300/4310
|
||||
PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
|
||||
endef
|
||||
|
||||
define Profile/TLWDR4300/Description
|
||||
- Package set optimized for the TP-LINK TL-WDR3600/4300/4310.
|
||||
+ Package set optimized for the TP-LINK TL-WDR3500/3600/4300/4310.
|
||||
endef
|
||||
$(eval $(call Profile,TLWDR4300))
|
||||
|
||||
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
|
||||
index 8e82f7f..01d1e67 100644
|
||||
--- a/target/linux/ar71xx/image/Makefile
|
||||
+++ b/target/linux/ar71xx/image/Makefile
|
||||
@@ -881,6 +881,7 @@ $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR741NV4,tl-wr741nd-v4,TL
|
||||
$(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),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))
|
||||
$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWDR3600V1,tl-wdr3600-v1,TL-WDR4300,ttyS0,115200,0x36000001,1,8Mlzma))
|
||||
$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWDR4300V1,tl-wdr4300-v1,TL-WDR4300,ttyS0,115200,0x43000001,1,8Mlzma))
|
||||
$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWDR4310V1,tl-wdr4310-v1,TL-WDR4300,ttyS0,115200,0x43100001,1,8Mlzma))
|
||||
@@ -925,7 +926,7 @@ $(eval $(call MultiProfile,TLWR740,TLWR740NV1 TLWR740NV3 TLWR740NV4))
|
||||
$(eval $(call MultiProfile,TLWR741,TLWR741NV1 TLWR741NV2 TLWR741NV4))
|
||||
$(eval $(call MultiProfile,TLWR841,TLWR841NV15 TLWR841NV3 TLWR841NV5 TLWR841NV7 TLWR841NV8))
|
||||
$(eval $(call MultiProfile,TLWR941,TLWR941NV2 TLWR941NV3 TLWR941NV4))
|
||||
-$(eval $(call MultiProfile,TLWDR4300,TLWDR3600V1 TLWDR4300V1 TLWDR4310V1))
|
||||
+$(eval $(call MultiProfile,TLWDR4300,TLWDR3500V1 TLWDR3600V1 TLWDR4300V1 TLWDR4310V1))
|
||||
$(eval $(call MultiProfile,UBNT,UBNTAIRROUTER UBNTRS UBNTRSPRO UBNTLSSR71 UBNTBULLETM UBNTROCKETM UBNTNANOM UBNTUNIFI UBNTUNIFIOUTDOOR))
|
||||
$(eval $(call MultiProfile,WNDR3700,WNDR3700V1 WNDR3700V2 WNDR3800 WNDRMAC WNDRMACV2))
|
||||
$(eval $(call MultiProfile,WP543,WP543_2M WP543_4M WP543_8M WP543_16M))
|
@ -1,23 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Sun, 24 Mar 2013 19:23:36 +0000
|
||||
Subject: ar71xx: add default switch configuration for the TL-WDR3500
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36116 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
Conflicts:
|
||||
target/linux/ar71xx/base-files/etc/uci-defaults/02_network
|
||||
|
||||
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/network b/target/linux/ar71xx/base-files/etc/uci-defaults/network
|
||||
index 7fa219d..a36036f 100755
|
||||
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/network
|
||||
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/network
|
||||
@@ -188,6 +188,7 @@ tew-632brp |\
|
||||
tew-712br |\
|
||||
tl-mr3220 |\
|
||||
tl-mr3420 |\
|
||||
+tl-wdr3500 |\
|
||||
tl-wr741nd |\
|
||||
tl-wr741nd-v4 |\
|
||||
tl-wr841n-v7 |\
|
@ -1,20 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Sun, 24 Mar 2013 19:23:43 +0000
|
||||
Subject: ar71xx: add diag support for the TL-WDR3500
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36117 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
|
||||
index 416322d..b206438 100755
|
||||
--- a/target/linux/ar71xx/base-files/etc/diag.sh
|
||||
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
|
||||
@@ -129,6 +129,7 @@ get_status_led() {
|
||||
tl-mr3420 | \
|
||||
tl-wa901nd | \
|
||||
tl-wa901nd-v2 | \
|
||||
+ tl-wdr3500 | \
|
||||
tl-wr1041n-v2 | \
|
||||
tl-wr1043nd | \
|
||||
tl-wr741nd | \
|
@ -1,53 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Sun, 24 Mar 2013 19:23:45 +0000
|
||||
Subject: ar71xx: remove numeric suffix of the TL-WDR3500 USB LED
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36118 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
index 05fe83d..785b21f 100644
|
||||
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
@@ -29,7 +29,7 @@
|
||||
#include "dev-wmac.h"
|
||||
#include "machtypes.h"
|
||||
|
||||
-#define WDR3500_GPIO_LED_USB1 11
|
||||
+#define WDR3500_GPIO_LED_USB 11
|
||||
#define WDR3500_GPIO_LED_WLAN2G 13
|
||||
#define WDR3500_GPIO_LED_SYSTEM 14
|
||||
#define WDR3500_GPIO_LED_QSS 15
|
||||
@@ -37,7 +37,7 @@
|
||||
#define WDR3500_GPIO_BTN_WPS 16
|
||||
#define WDR3500_GPIO_BTN_RFKILL 17
|
||||
|
||||
-#define WDR3500_GPIO_USB1_POWER 22
|
||||
+#define WDR3500_GPIO_USB_POWER 22
|
||||
|
||||
#define WDR3500_KEYS_POLL_INTERVAL 20 /* msecs */
|
||||
#define WDR3500_KEYS_DEBOUNCE_INTERVAL (3 * WDR3500_KEYS_POLL_INTERVAL)
|
||||
@@ -68,8 +68,8 @@ static struct gpio_led wdr3500_leds_gpio[] __initdata = {
|
||||
.active_low = 1,
|
||||
},
|
||||
{
|
||||
- .name = "tp-link:green:usb1",
|
||||
- .gpio = WDR3500_GPIO_LED_USB1,
|
||||
+ .name = "tp-link:green:usb",
|
||||
+ .gpio = WDR3500_GPIO_LED_USB,
|
||||
.active_low = 1,
|
||||
},
|
||||
{
|
||||
@@ -142,9 +142,9 @@ static void __init wdr3500_setup(void)
|
||||
|
||||
ath79_register_eth(0);
|
||||
|
||||
- gpio_request_one(WDR3500_GPIO_USB1_POWER,
|
||||
+ gpio_request_one(WDR3500_GPIO_USB_POWER,
|
||||
GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
|
||||
- "USB1 power");
|
||||
+ "USB power");
|
||||
ath79_register_usb();
|
||||
}
|
||||
|
@ -1,21 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Sun, 24 Mar 2013 19:23:47 +0000
|
||||
Subject: ar71xx: fix USB power GPIO on the TL-WDR3500
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36119 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
index 785b21f..5020ba4 100644
|
||||
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
@@ -37,7 +37,7 @@
|
||||
#define WDR3500_GPIO_BTN_WPS 16
|
||||
#define WDR3500_GPIO_BTN_RFKILL 17
|
||||
|
||||
-#define WDR3500_GPIO_USB_POWER 22
|
||||
+#define WDR3500_GPIO_USB_POWER 12
|
||||
|
||||
#define WDR3500_KEYS_POLL_INTERVAL 20 /* msecs */
|
||||
#define WDR3500_KEYS_DEBOUNCE_INTERVAL (3 * WDR3500_KEYS_POLL_INTERVAL)
|
@ -1,27 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Sun, 24 Mar 2013 21:07:21 +0000
|
||||
Subject: ar71xx: add default LED configuration for the WL-WRD3500
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36120 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
Conflicts:
|
||||
target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
|
||||
|
||||
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/leds b/target/linux/ar71xx/base-files/etc/uci-defaults/leds
|
||||
index 7be4ce9..48b8154 100755
|
||||
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/leds
|
||||
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/leds
|
||||
@@ -126,6 +126,11 @@ tl-wa901nd-v2)
|
||||
ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
|
||||
;;
|
||||
|
||||
+tl-wdr3500)
|
||||
+ ucidef_set_led_usbdev "usb" "USB" "tp-link:green:usb" "1-1"
|
||||
+ ucidef_set_led_wlan "wlan2g" "WLAN2G" "tp-link:green:wlan2g" "phy0tpt"
|
||||
+ ;;
|
||||
+
|
||||
tl-wdr4300)
|
||||
ucidef_set_led_usbdev "usb1" "USB1" "tp-link:green:usb1" "1-1.1"
|
||||
ucidef_set_led_usbdev "usb2" "USB2" "tp-link:green:usb2" "1-1.2"
|
@ -1,42 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Mon, 25 Mar 2013 06:40:03 +0000
|
||||
Subject: ar71xx: fix ethernet LEDs on the TL-WDR3500
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36122 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
index 5020ba4..452c20b 100644
|
||||
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr3500.c
|
||||
@@ -33,6 +33,11 @@
|
||||
#define WDR3500_GPIO_LED_WLAN2G 13
|
||||
#define WDR3500_GPIO_LED_SYSTEM 14
|
||||
#define WDR3500_GPIO_LED_QSS 15
|
||||
+#define WDR3500_GPIO_LED_WAN 18
|
||||
+#define WDR3500_GPIO_LED_LAN1 19
|
||||
+#define WDR3500_GPIO_LED_LAN2 20
|
||||
+#define WDR3500_GPIO_LED_LAN3 21
|
||||
+#define WDR3500_GPIO_LED_LAN4 22
|
||||
|
||||
#define WDR3500_GPIO_BTN_WPS 16
|
||||
#define WDR3500_GPIO_BTN_RFKILL 17
|
||||
@@ -146,6 +151,17 @@ static void __init wdr3500_setup(void)
|
||||
GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
|
||||
"USB power");
|
||||
ath79_register_usb();
|
||||
+
|
||||
+ ath79_gpio_output_select(WDR3500_GPIO_LED_LAN1,
|
||||
+ AR934X_GPIO_OUT_LED_LINK3);
|
||||
+ ath79_gpio_output_select(WDR3500_GPIO_LED_LAN2,
|
||||
+ AR934X_GPIO_OUT_LED_LINK2);
|
||||
+ ath79_gpio_output_select(WDR3500_GPIO_LED_LAN3,
|
||||
+ AR934X_GPIO_OUT_LED_LINK1);
|
||||
+ ath79_gpio_output_select(WDR3500_GPIO_LED_LAN4,
|
||||
+ AR934X_GPIO_OUT_LED_LINK0);
|
||||
+ ath79_gpio_output_select(WDR3500_GPIO_LED_WAN,
|
||||
+ AR934X_GPIO_OUT_LED_LINK4);
|
||||
}
|
||||
|
||||
MIPS_MACHINE(ATH79_MACH_TL_WDR3500, "TL-WDR3500",
|
@ -1,38 +0,0 @@
|
||||
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Mon, 25 Mar 2013 06:40:00 +0000
|
||||
Subject: ar71xx: add GPIO output select values for AR934x
|
||||
|
||||
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36121 3c298f89-4303-0410-b956-a3cf2f4a3e73
|
||||
|
||||
Conflicts:
|
||||
target/linux/ar71xx/patches-3.8/601-MIPS-ath79-add-more-register-defines.patch
|
||||
|
||||
diff --git a/target/linux/ar71xx/patches-3.3/601-MIPS-ath79-add-more-register-defines.patch b/target/linux/ar71xx/patches-3.3/601-MIPS-ath79-add-more-register-defines.patch
|
||||
index 8411d58..12522c1 100644
|
||||
--- a/target/linux/ar71xx/patches-3.3/601-MIPS-ath79-add-more-register-defines.patch
|
||||
+++ b/target/linux/ar71xx/patches-3.3/601-MIPS-ath79-add-more-register-defines.patch
|
||||
@@ -166,7 +166,7 @@
|
||||
#define AR934X_GPIO_REG_FUNC 0x6c
|
||||
|
||||
#define AR71XX_GPIO_COUNT 16
|
||||
-@@ -550,4 +618,139 @@
|
||||
+@@ -550,4 +618,144 @@
|
||||
#define AR934X_SRIF_DPLL2_OUTDIV_SHIFT 13
|
||||
#define AR934X_SRIF_DPLL2_OUTDIV_MASK 0x7
|
||||
|
||||
@@ -237,7 +237,12 @@
|
||||
+#define AR934X_GPIO_FUNC_CLK_OBS0_EN BIT(2)
|
||||
+#define AR934X_GPIO_FUNC_JTAG_DISABLE BIT(1)
|
||||
+
|
||||
-+#define AR934X_GPIO_OUT_GPIO 0x00
|
||||
++#define AR934X_GPIO_OUT_GPIO 0
|
||||
++#define AR934X_GPIO_OUT_LED_LINK0 41
|
||||
++#define AR934X_GPIO_OUT_LED_LINK1 42
|
||||
++#define AR934X_GPIO_OUT_LED_LINK2 43
|
||||
++#define AR934X_GPIO_OUT_LED_LINK3 44
|
||||
++#define AR934X_GPIO_OUT_LED_LINK4 45
|
||||
+
|
||||
+/*
|
||||
+ * MII_CTRL block
|
File diff suppressed because it is too large
Load Diff
@ -1,546 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Sat, 29 Mar 2014 21:55:41 +0100
|
||||
Subject: ar71xx: add support for QCA953x SoC
|
||||
|
||||
diff --git a/target/linux/ar71xx/config-3.3 b/target/linux/ar71xx/config-3.3
|
||||
index dfc5bf2..1c3ba3c 100644
|
||||
--- a/target/linux/ar71xx/config-3.3
|
||||
+++ b/target/linux/ar71xx/config-3.3
|
||||
@@ -40,11 +40,11 @@ CONFIG_ATH79_MACH_EW_DORIN=y
|
||||
CONFIG_ATH79_MACH_HORNET_UB=y
|
||||
CONFIG_ATH79_MACH_JA76PF=y
|
||||
CONFIG_ATH79_MACH_JWAP003=y
|
||||
+CONFIG_ATH79_MACH_MR600=y
|
||||
CONFIG_ATH79_MACH_MZK_W04NU=y
|
||||
CONFIG_ATH79_MACH_MZK_W300NH=y
|
||||
CONFIG_ATH79_MACH_NBG460N=y
|
||||
CONFIG_ATH79_MACH_OM2P=y
|
||||
-CONFIG_ATH79_MACH_MR600=y
|
||||
CONFIG_ATH79_MACH_PB42=y
|
||||
CONFIG_ATH79_MACH_PB44=y
|
||||
CONFIG_ATH79_MACH_PB92=y
|
||||
@@ -214,6 +214,7 @@ CONFIG_SOC_AR724X=y
|
||||
CONFIG_SOC_AR913X=y
|
||||
CONFIG_SOC_AR933X=y
|
||||
CONFIG_SOC_AR934X=y
|
||||
+CONFIG_SOC_QCA953X=y
|
||||
CONFIG_SOC_QCA955X=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_AP83=y
|
||||
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
|
||||
index 5a0b950..1a9b0df 100644
|
||||
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
|
||||
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
|
||||
@@ -195,6 +195,7 @@ void __init ath79_register_mdio(unsigned int id, u32 phy_mask)
|
||||
case ATH79_SOC_AR7241:
|
||||
case ATH79_SOC_AR9330:
|
||||
case ATH79_SOC_AR9331:
|
||||
+ case ATH79_SOC_QCA9533:
|
||||
mdio_dev = &ath79_mdio1_device;
|
||||
mdio_data = &ath79_mdio1_data;
|
||||
break;
|
||||
@@ -250,6 +251,11 @@ void __init ath79_register_mdio(unsigned int id, u32 phy_mask)
|
||||
}
|
||||
mdio_data->is_ar934x = 1;
|
||||
break;
|
||||
+
|
||||
+ case ATH79_SOC_QCA9533:
|
||||
+ mdio_data->builtin_switch = 1;
|
||||
+ break;
|
||||
+
|
||||
case ATH79_SOC_QCA9558:
|
||||
if (id == 1)
|
||||
mdio_data->builtin_switch = 1;
|
||||
@@ -540,6 +546,7 @@ static void __init ath79_init_eth_pll_data(unsigned int id)
|
||||
case ATH79_SOC_AR9341:
|
||||
case ATH79_SOC_AR9342:
|
||||
case ATH79_SOC_AR9344:
|
||||
+ case ATH79_SOC_QCA9533:
|
||||
case ATH79_SOC_QCA9558:
|
||||
pll_10 = AR934X_PLL_VAL_10;
|
||||
pll_100 = AR934X_PLL_VAL_100;
|
||||
@@ -596,6 +603,7 @@ static int __init ath79_setup_phy_if_mode(unsigned int id,
|
||||
case ATH79_SOC_AR7241:
|
||||
case ATH79_SOC_AR9330:
|
||||
case ATH79_SOC_AR9331:
|
||||
+ case ATH79_SOC_QCA9533:
|
||||
pdata->phy_if_mode = PHY_INTERFACE_MODE_MII;
|
||||
break;
|
||||
|
||||
@@ -645,6 +653,7 @@ static int __init ath79_setup_phy_if_mode(unsigned int id,
|
||||
case ATH79_SOC_AR7241:
|
||||
case ATH79_SOC_AR9330:
|
||||
case ATH79_SOC_AR9331:
|
||||
+ case ATH79_SOC_QCA9533:
|
||||
pdata->phy_if_mode = PHY_INTERFACE_MODE_GMII;
|
||||
break;
|
||||
|
||||
@@ -882,6 +891,37 @@ void __init ath79_register_eth(unsigned int id)
|
||||
pdata->fifo_cfg3 = 0x01f00140;
|
||||
break;
|
||||
|
||||
+ case ATH79_SOC_QCA9533:
|
||||
+ if (id == 0) {
|
||||
+ pdata->reset_bit = AR933X_RESET_GE0_MAC |
|
||||
+ AR933X_RESET_GE0_MDIO;
|
||||
+ pdata->set_speed = ath79_set_speed_dummy;
|
||||
+
|
||||
+ pdata->phy_mask = BIT(4);
|
||||
+ } else {
|
||||
+ pdata->reset_bit = AR933X_RESET_GE1_MAC |
|
||||
+ AR933X_RESET_GE1_MDIO;
|
||||
+ pdata->set_speed = ath79_set_speed_dummy;
|
||||
+
|
||||
+ pdata->speed = SPEED_1000;
|
||||
+ pdata->duplex = DUPLEX_FULL;
|
||||
+ pdata->switch_data = &ath79_switch_data;
|
||||
+
|
||||
+ ath79_switch_data.phy_poll_mask |= BIT(4);
|
||||
+ }
|
||||
+
|
||||
+ pdata->ddr_flush = ath79_ddr_no_flush;
|
||||
+ pdata->has_gbit = 1;
|
||||
+ pdata->is_ar724x = 1;
|
||||
+
|
||||
+ if (!pdata->fifo_cfg1)
|
||||
+ pdata->fifo_cfg1 = 0x0010ffff;
|
||||
+ if (!pdata->fifo_cfg2)
|
||||
+ pdata->fifo_cfg2 = 0x015500aa;
|
||||
+ if (!pdata->fifo_cfg3)
|
||||
+ pdata->fifo_cfg3 = 0x01f00140;
|
||||
+ break;
|
||||
+
|
||||
case ATH79_SOC_AR9341:
|
||||
case ATH79_SOC_AR9342:
|
||||
case ATH79_SOC_AR9344:
|
||||
@@ -953,6 +993,7 @@ void __init ath79_register_eth(unsigned int id)
|
||||
case ATH79_SOC_AR7241:
|
||||
case ATH79_SOC_AR9330:
|
||||
case ATH79_SOC_AR9331:
|
||||
+ case ATH79_SOC_QCA9533:
|
||||
pdata->mii_bus_dev = &ath79_mdio1_device.dev;
|
||||
break;
|
||||
|
||||
diff --git a/target/linux/ar71xx/patches-3.3/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch b/target/linux/ar71xx/patches-3.3/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch
|
||||
new file mode 100644
|
||||
index 0000000..4c9e761
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ar71xx/patches-3.3/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch
|
||||
@@ -0,0 +1,417 @@
|
||||
+From 5300a7cd7ed2f88488ddba62947b9c6bb9663777 Mon Sep 17 00:00:00 2001
|
||||
+Message-Id: <5300a7cd7ed2f88488ddba62947b9c6bb9663777.1396122227.git.mschiffer@universe-factory.net>
|
||||
+From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
+Date: Sat, 29 Mar 2014 20:26:08 +0100
|
||||
+Subject: [PATCH 1/2] MIPS: ath79: add support for QCA953x SoC
|
||||
+
|
||||
+Note that the clock calculation looks very similar to the QCA955x, but actually
|
||||
+some bits' meanings are slightly different.
|
||||
+---
|
||||
+ arch/mips/ath79/Kconfig | 6 +-
|
||||
+ arch/mips/ath79/clock.c | 78 ++++++++++++++++++++++++++
|
||||
+ arch/mips/ath79/common.c | 4 ++
|
||||
+ arch/mips/ath79/dev-common.c | 1 +
|
||||
+ arch/mips/ath79/dev-wmac.c | 20 +++++++
|
||||
+ arch/mips/ath79/early_printk.c | 1 +
|
||||
+ arch/mips/ath79/gpio.c | 4 +-
|
||||
+ arch/mips/ath79/irq.c | 4 ++
|
||||
+ arch/mips/ath79/setup.c | 8 ++-
|
||||
+ arch/mips/include/asm/mach-ath79/ar71xx_regs.h | 48 ++++++++++++++++
|
||||
+ arch/mips/include/asm/mach-ath79/ath79.h | 11 ++++
|
||||
+ 11 files changed, 182 insertions(+), 3 deletions(-)
|
||||
+
|
||||
+--- a/arch/mips/ath79/Kconfig
|
||||
++++ b/arch/mips/ath79/Kconfig
|
||||
+@@ -688,6 +688,10 @@ config SOC_AR934X
|
||||
+ select PCI_AR724X if PCI
|
||||
+ def_bool n
|
||||
+
|
||||
++config SOC_QCA953X
|
||||
++ select USB_ARCH_HAS_EHCI
|
||||
++ def_bool n
|
||||
++
|
||||
+ config SOC_QCA955X
|
||||
+ select USB_ARCH_HAS_EHCI
|
||||
+ select HW_HAS_PCI
|
||||
+@@ -731,7 +735,7 @@ config ATH79_DEV_USB
|
||||
+ def_bool n
|
||||
+
|
||||
+ config ATH79_DEV_WMAC
|
||||
+- depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X || SOC_QCA955X)
|
||||
++ depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X || SOC_QCA953X || SOC_QCA955X)
|
||||
+ def_bool n
|
||||
+
|
||||
+ config ATH79_NVRAM
|
||||
+--- a/arch/mips/ath79/clock.c
|
||||
++++ b/arch/mips/ath79/clock.c
|
||||
+@@ -295,6 +295,82 @@ static void __init ar934x_clocks_init(vo
|
||||
+ iounmap(dpll_base);
|
||||
+ }
|
||||
+
|
||||
++static void __init qca953x_clocks_init(void)
|
||||
++{
|
||||
++ u32 pll, out_div, ref_div, nint, frac, clk_ctrl, postdiv;
|
||||
++ u32 cpu_pll, ddr_pll;
|
||||
++ u32 bootstrap;
|
||||
++
|
||||
++ bootstrap = ath79_reset_rr(QCA953X_RESET_REG_BOOTSTRAP);
|
||||
++ if (bootstrap & QCA953X_BOOTSTRAP_REF_CLK_40)
|
||||
++ ath79_ref_clk.rate = 40 * 1000 * 1000;
|
||||
++ else
|
||||
++ ath79_ref_clk.rate = 25 * 1000 * 1000;
|
||||
++
|
||||
++ pll = ath79_pll_rr(QCA953X_PLL_CPU_CONFIG_REG);
|
||||
++ out_div = (pll >> QCA953X_PLL_CPU_CONFIG_OUTDIV_SHIFT) &
|
||||
++ QCA953X_PLL_CPU_CONFIG_OUTDIV_MASK;
|
||||
++ ref_div = (pll >> QCA953X_PLL_CPU_CONFIG_REFDIV_SHIFT) &
|
||||
++ QCA953X_PLL_CPU_CONFIG_REFDIV_MASK;
|
||||
++ nint = (pll >> QCA953X_PLL_CPU_CONFIG_NINT_SHIFT) &
|
||||
++ QCA953X_PLL_CPU_CONFIG_NINT_MASK;
|
||||
++ frac = (pll >> QCA953X_PLL_CPU_CONFIG_NFRAC_SHIFT) &
|
||||
++ QCA953X_PLL_CPU_CONFIG_NFRAC_MASK;
|
||||
++
|
||||
++ cpu_pll = nint * ath79_ref_clk.rate / ref_div;
|
||||
++ cpu_pll += frac * (ath79_ref_clk.rate >> 6) / ref_div;
|
||||
++ cpu_pll /= (1 << out_div);
|
||||
++
|
||||
++ pll = ath79_pll_rr(QCA953X_PLL_DDR_CONFIG_REG);
|
||||
++ out_div = (pll >> QCA953X_PLL_DDR_CONFIG_OUTDIV_SHIFT) &
|
||||
++ QCA953X_PLL_DDR_CONFIG_OUTDIV_MASK;
|
||||
++ ref_div = (pll >> QCA953X_PLL_DDR_CONFIG_REFDIV_SHIFT) &
|
||||
++ QCA953X_PLL_DDR_CONFIG_REFDIV_MASK;
|
||||
++ nint = (pll >> QCA953X_PLL_DDR_CONFIG_NINT_SHIFT) &
|
||||
++ QCA953X_PLL_DDR_CONFIG_NINT_MASK;
|
||||
++ frac = (pll >> QCA953X_PLL_DDR_CONFIG_NFRAC_SHIFT) &
|
||||
++ QCA953X_PLL_DDR_CONFIG_NFRAC_MASK;
|
||||
++
|
||||
++ ddr_pll = nint * ath79_ref_clk.rate / ref_div;
|
||||
++ ddr_pll += frac * (ath79_ref_clk.rate >> 6) / (ref_div << 4);
|
||||
++ ddr_pll /= (1 << out_div);
|
||||
++
|
||||
++ clk_ctrl = ath79_pll_rr(QCA953X_PLL_CLK_CTRL_REG);
|
||||
++
|
||||
++ postdiv = (clk_ctrl >> QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT) &
|
||||
++ QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_MASK;
|
||||
++
|
||||
++ if (clk_ctrl & QCA953X_PLL_CLK_CTRL_CPU_PLL_BYPASS)
|
||||
++ ath79_cpu_clk.rate = ath79_ref_clk.rate;
|
||||
++ else if (clk_ctrl & QCA953X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL)
|
||||
++ ath79_cpu_clk.rate = cpu_pll / (postdiv + 1);
|
||||
++ else
|
||||
++ ath79_cpu_clk.rate = ddr_pll / (postdiv + 1);
|
||||
++
|
||||
++ postdiv = (clk_ctrl >> QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT) &
|
||||
++ QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_MASK;
|
||||
++
|
||||
++ if (clk_ctrl & QCA953X_PLL_CLK_CTRL_DDR_PLL_BYPASS)
|
||||
++ ath79_ddr_clk.rate = ath79_ref_clk.rate;
|
||||
++ else if (clk_ctrl & QCA953X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL)
|
||||
++ ath79_ddr_clk.rate = ddr_pll / (postdiv + 1);
|
||||
++ else
|
||||
++ ath79_ddr_clk.rate = cpu_pll / (postdiv + 1);
|
||||
++
|
||||
++ postdiv = (clk_ctrl >> QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT) &
|
||||
++ QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_MASK;
|
||||
++
|
||||
++ if (clk_ctrl & QCA953X_PLL_CLK_CTRL_AHB_PLL_BYPASS)
|
||||
++ ath79_ahb_clk.rate = ath79_ref_clk.rate;
|
||||
++ else if (clk_ctrl & QCA953X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL)
|
||||
++ ath79_ahb_clk.rate = ddr_pll / (postdiv + 1);
|
||||
++ else
|
||||
++ ath79_ahb_clk.rate = cpu_pll / (postdiv + 1);
|
||||
++
|
||||
++ ath79_wdt_clk.rate = ath79_ref_clk.rate;
|
||||
++ ath79_uart_clk.rate = ath79_ref_clk.rate;
|
||||
++}
|
||||
++
|
||||
+ static void __init qca955x_clocks_init(void)
|
||||
+ {
|
||||
+ u32 pll, out_div, ref_div, nint, frac, clk_ctrl, postdiv;
|
||||
+@@ -383,6 +459,8 @@ void __init ath79_clocks_init(void)
|
||||
+ ar933x_clocks_init();
|
||||
+ else if (soc_is_ar934x())
|
||||
+ ar934x_clocks_init();
|
||||
++ else if (soc_is_qca953x())
|
||||
++ qca953x_clocks_init();
|
||||
+ else if (soc_is_qca955x())
|
||||
+ qca955x_clocks_init();
|
||||
+ else
|
||||
+--- a/arch/mips/ath79/common.c
|
||||
++++ b/arch/mips/ath79/common.c
|
||||
+@@ -74,6 +74,8 @@ void ath79_device_reset_set(u32 mask)
|
||||
+ else if (soc_is_ar934x() ||
|
||||
+ soc_is_qca955x())
|
||||
+ reg = AR934X_RESET_REG_RESET_MODULE;
|
||||
++ else if (soc_is_qca953x())
|
||||
++ reg = QCA953X_RESET_REG_RESET_MODULE;
|
||||
+ else
|
||||
+ BUG();
|
||||
+
|
||||
+@@ -101,6 +103,8 @@ void ath79_device_reset_clear(u32 mask)
|
||||
+ else if (soc_is_ar934x() ||
|
||||
+ soc_is_qca955x())
|
||||
+ reg = AR934X_RESET_REG_RESET_MODULE;
|
||||
++ else if (soc_is_qca953x())
|
||||
++ reg = QCA953X_RESET_REG_RESET_MODULE;
|
||||
+ else
|
||||
+ BUG();
|
||||
+
|
||||
+--- a/arch/mips/ath79/dev-common.c
|
||||
++++ b/arch/mips/ath79/dev-common.c
|
||||
+@@ -100,6 +100,7 @@ void __init ath79_register_uart(void)
|
||||
+ soc_is_ar724x() ||
|
||||
+ soc_is_ar913x() ||
|
||||
+ soc_is_ar934x() ||
|
||||
++ soc_is_qca953x() ||
|
||||
+ soc_is_qca955x()) {
|
||||
+ ath79_uart_data[0].uartclk = clk_get_rate(clk);
|
||||
+ platform_device_register(&ath79_uart_device);
|
||||
+--- a/arch/mips/ath79/dev-wmac.c
|
||||
++++ b/arch/mips/ath79/dev-wmac.c
|
||||
+@@ -99,7 +99,7 @@ static int ar933x_wmac_reset(void)
|
||||
+ return -ETIMEDOUT;
|
||||
+ }
|
||||
+
|
||||
+-static int ar933x_r1_get_wmac_revision(void)
|
||||
++static int ar93xx_get_soc_revision(void)
|
||||
+ {
|
||||
+ return ath79_soc_rev;
|
||||
+ }
|
||||
+@@ -124,7 +124,7 @@ static void __init ar933x_wmac_setup(voi
|
||||
+ ath79_wmac_data.is_clk_25mhz = true;
|
||||
+
|
||||
+ if (ath79_soc_rev == 1)
|
||||
+- ath79_wmac_data.get_mac_revision = ar933x_r1_get_wmac_revision;
|
||||
++ ath79_wmac_data.get_mac_revision = ar93xx_get_soc_revision;
|
||||
+
|
||||
+ ath79_wmac_data.external_reset = ar933x_wmac_reset;
|
||||
+ }
|
||||
+@@ -147,6 +147,26 @@ static void ar934x_wmac_setup(void)
|
||||
+ ath79_wmac_data.is_clk_25mhz = true;
|
||||
+ }
|
||||
+
|
||||
++static void qca953x_wmac_setup(void)
|
||||
++{
|
||||
++ u32 t;
|
||||
++
|
||||
++ ath79_wmac_device.name = "qca953x_wmac";
|
||||
++
|
||||
++ ath79_wmac_resources[0].start = QCA953X_WMAC_BASE;
|
||||
++ ath79_wmac_resources[0].end = QCA953X_WMAC_BASE + QCA953X_WMAC_SIZE - 1;
|
||||
++ ath79_wmac_resources[1].start = ATH79_CPU_IRQ_IP2;
|
||||
++ ath79_wmac_resources[1].end = ATH79_CPU_IRQ_IP2;
|
||||
++
|
||||
++ t = ath79_reset_rr(QCA953X_RESET_REG_BOOTSTRAP);
|
||||
++ if (t & QCA953X_BOOTSTRAP_REF_CLK_40)
|
||||
++ ath79_wmac_data.is_clk_25mhz = false;
|
||||
++ else
|
||||
++ ath79_wmac_data.is_clk_25mhz = true;
|
||||
++
|
||||
++ ath79_wmac_data.get_mac_revision = ar93xx_get_soc_revision;
|
||||
++}
|
||||
++
|
||||
+ static void qca955x_wmac_setup(void)
|
||||
+ {
|
||||
+ u32 t;
|
||||
+@@ -314,6 +334,8 @@ void __init ath79_register_wmac(u8 *cal_
|
||||
+ ar933x_wmac_setup();
|
||||
+ else if (soc_is_ar934x())
|
||||
+ ar934x_wmac_setup();
|
||||
++ else if (soc_is_qca953x())
|
||||
++ qca953x_wmac_setup();
|
||||
+ else if (soc_is_qca955x())
|
||||
+ qca955x_wmac_setup();
|
||||
+ else
|
||||
+--- a/arch/mips/ath79/early_printk.c
|
||||
++++ b/arch/mips/ath79/early_printk.c
|
||||
+@@ -114,6 +114,7 @@ static void prom_putchar_init(void)
|
||||
+ case REV_ID_MAJOR_AR9341:
|
||||
+ case REV_ID_MAJOR_AR9342:
|
||||
+ case REV_ID_MAJOR_AR9344:
|
||||
++ case REV_ID_MAJOR_QCA9533:
|
||||
+ case REV_ID_MAJOR_QCA9558:
|
||||
+ _prom_putchar = prom_putchar_ar71xx;
|
||||
+ break;
|
||||
+--- a/arch/mips/ath79/gpio.c
|
||||
++++ b/arch/mips/ath79/gpio.c
|
||||
+@@ -240,6 +240,8 @@ void __init ath79_gpio_init(void)
|
||||
+ ath79_gpio_count = AR933X_GPIO_COUNT;
|
||||
+ else if (soc_is_ar934x())
|
||||
+ ath79_gpio_count = AR934X_GPIO_COUNT;
|
||||
++ else if (soc_is_qca953x())
|
||||
++ ath79_gpio_count = QCA953X_GPIO_COUNT;
|
||||
+ else if (soc_is_qca955x())
|
||||
+ ath79_gpio_count = QCA955X_GPIO_COUNT;
|
||||
+ else
|
||||
+@@ -247,7 +249,7 @@ void __init ath79_gpio_init(void)
|
||||
+
|
||||
+ ath79_gpio_base = ioremap_nocache(AR71XX_GPIO_BASE, AR71XX_GPIO_SIZE);
|
||||
+ ath79_gpio_chip.ngpio = ath79_gpio_count;
|
||||
+- if (soc_is_ar934x() || soc_is_qca955x()) {
|
||||
++ if (soc_is_ar934x() || soc_is_qca953x() || soc_is_qca955x()) {
|
||||
+ ath79_gpio_chip.direction_input = ar934x_gpio_direction_input;
|
||||
+ ath79_gpio_chip.direction_output = ar934x_gpio_direction_output;
|
||||
+ }
|
||||
+--- a/arch/mips/ath79/irq.c
|
||||
++++ b/arch/mips/ath79/irq.c
|
||||
+@@ -106,6 +106,7 @@ static void __init ath79_misc_irq_init(v
|
||||
+ else if (soc_is_ar724x() ||
|
||||
+ soc_is_ar933x() ||
|
||||
+ soc_is_ar934x() ||
|
||||
++ soc_is_qca953x() ||
|
||||
+ soc_is_qca955x())
|
||||
+ ath79_misc_irq_chip.irq_ack = ar724x_misc_irq_ack;
|
||||
+ else
|
||||
+@@ -352,6 +353,9 @@ void __init arch_init_irq(void)
|
||||
+ } else if (soc_is_ar934x()) {
|
||||
+ ath79_ip2_handler = ath79_default_ip2_handler;
|
||||
+ ath79_ip3_handler = ar934x_ip3_handler;
|
||||
++ } else if (soc_is_qca953x()) {
|
||||
++ ath79_ip2_handler = ath79_default_ip2_handler;
|
||||
++ ath79_ip3_handler = ath79_default_ip3_handler;
|
||||
+ } else if (soc_is_qca955x()) {
|
||||
+ ath79_ip2_handler = ath79_default_ip2_handler;
|
||||
+ ath79_ip3_handler = ath79_default_ip3_handler;
|
||||
+--- a/arch/mips/ath79/setup.c
|
||||
++++ b/arch/mips/ath79/setup.c
|
||||
+@@ -164,6 +164,12 @@ static void __init ath79_detect_sys_type
|
||||
+ rev = id & AR934X_REV_ID_REVISION_MASK;
|
||||
+ break;
|
||||
+
|
||||
++ case REV_ID_MAJOR_QCA9533:
|
||||
++ ath79_soc = ATH79_SOC_QCA9533;
|
||||
++ chip = "9533";
|
||||
++ rev = id & AR944X_REV_ID_REVISION_MASK;
|
||||
++ break;
|
||||
++
|
||||
+ case REV_ID_MAJOR_QCA9558:
|
||||
+ ath79_soc = ATH79_SOC_QCA9558;
|
||||
+ chip = "9558";
|
||||
+@@ -176,7 +182,7 @@ static void __init ath79_detect_sys_type
|
||||
+
|
||||
+ ath79_soc_rev = rev;
|
||||
+
|
||||
+- if (soc_is_qca955x())
|
||||
++ if (soc_is_qca953x() || soc_is_qca955x())
|
||||
+ sprintf(ath79_sys_type, "Qualcomm Atheros QCA%s rev %u",
|
||||
+ chip, rev);
|
||||
+ else
|
||||
+--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
|
||||
++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
|
||||
+@@ -106,6 +106,9 @@
|
||||
+ #define AR934X_NFC_BASE 0x1b000200
|
||||
+ #define AR934X_NFC_SIZE 0xb8
|
||||
+
|
||||
++#define QCA953X_WMAC_BASE (AR71XX_APB_BASE + 0x00100000)
|
||||
++#define QCA953X_WMAC_SIZE 0x20000
|
||||
++
|
||||
+ #define QCA955X_PCI_MEM_BASE0 0x10000000
|
||||
+ #define QCA955X_PCI_MEM_BASE1 0x12000000
|
||||
+ #define QCA955X_PCI_MEM_SIZE 0x02000000
|
||||
+@@ -280,6 +283,43 @@
|
||||
+
|
||||
+ #define AR934X_PLL_SWITCH_CLOCK_CONTROL_MDIO_CLK_SEL BIT(6)
|
||||
+
|
||||
++#define QCA953X_PLL_CPU_CONFIG_REG 0x00
|
||||
++#define QCA953X_PLL_DDR_CONFIG_REG 0x04
|
||||
++#define QCA953X_PLL_CLK_CTRL_REG 0x08
|
||||
++#define QCA953X_PLL_ETH_XMII_CONTROL_REG 0x2c
|
||||
++#define QCA953X_PLL_ETH_SGMII_CONTROL_REG 0x48
|
||||
++
|
||||
++#define QCA953X_PLL_CPU_CONFIG_NFRAC_SHIFT 0
|
||||
++#define QCA953X_PLL_CPU_CONFIG_NFRAC_MASK 0x3f
|
||||
++#define QCA953X_PLL_CPU_CONFIG_NINT_SHIFT 6
|
||||
++#define QCA953X_PLL_CPU_CONFIG_NINT_MASK 0x3f
|
||||
++#define QCA953X_PLL_CPU_CONFIG_REFDIV_SHIFT 12
|
||||
++#define QCA953X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f
|
||||
++#define QCA953X_PLL_CPU_CONFIG_OUTDIV_SHIFT 19
|
||||
++#define QCA953X_PLL_CPU_CONFIG_OUTDIV_MASK 0x3
|
||||
++
|
||||
++#define QCA953X_PLL_DDR_CONFIG_NFRAC_SHIFT 0
|
||||
++#define QCA953X_PLL_DDR_CONFIG_NFRAC_MASK 0x3ff
|
||||
++#define QCA953X_PLL_DDR_CONFIG_NINT_SHIFT 10
|
||||
++#define QCA953X_PLL_DDR_CONFIG_NINT_MASK 0x3f
|
||||
++#define QCA953X_PLL_DDR_CONFIG_REFDIV_SHIFT 16
|
||||
++#define QCA953X_PLL_DDR_CONFIG_REFDIV_MASK 0x1f
|
||||
++#define QCA953X_PLL_DDR_CONFIG_OUTDIV_SHIFT 23
|
||||
++#define QCA953X_PLL_DDR_CONFIG_OUTDIV_MASK 0x7
|
||||
++
|
||||
++#define QCA953X_PLL_CLK_CTRL_CPU_PLL_BYPASS BIT(2)
|
||||
++#define QCA953X_PLL_CLK_CTRL_DDR_PLL_BYPASS BIT(3)
|
||||
++#define QCA953X_PLL_CLK_CTRL_AHB_PLL_BYPASS BIT(4)
|
||||
++#define QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT 5
|
||||
++#define QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_MASK 0x1f
|
||||
++#define QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT 10
|
||||
++#define QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_MASK 0x1f
|
||||
++#define QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT 15
|
||||
++#define QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_MASK 0x1f
|
||||
++#define QCA953X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL BIT(20)
|
||||
++#define QCA953X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL BIT(21)
|
||||
++#define QCA953X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL BIT(24)
|
||||
++
|
||||
+ #define QCA955X_PLL_CPU_CONFIG_REG 0x00
|
||||
+ #define QCA955X_PLL_DDR_CONFIG_REG 0x04
|
||||
+ #define QCA955X_PLL_CLK_CTRL_REG 0x08
|
||||
+@@ -354,6 +394,10 @@
|
||||
+ #define AR934X_RESET_REG_BOOTSTRAP 0xb0
|
||||
+ #define AR934X_RESET_REG_PCIE_WMAC_INT_STATUS 0xac
|
||||
+
|
||||
++#define QCA953X_RESET_REG_RESET_MODULE 0x1c
|
||||
++#define QCA953X_RESET_REG_BOOTSTRAP 0xb0
|
||||
++#define QCA953X_RESET_REG_EXT_INT_STATUS 0xac
|
||||
++
|
||||
+ #define QCA955X_RESET_REG_BOOTSTRAP 0xb0
|
||||
+ #define QCA955X_RESET_REG_EXT_INT_STATUS 0xac
|
||||
+
|
||||
+@@ -468,6 +512,8 @@
|
||||
+ #define AR934X_BOOTSTRAP_SDRAM_DISABLED BIT(1)
|
||||
+ #define AR934X_BOOTSTRAP_DDR1 BIT(0)
|
||||
+
|
||||
++#define QCA953X_BOOTSTRAP_REF_CLK_40 BIT(4)
|
||||
++
|
||||
+ #define QCA955X_BOOTSTRAP_REF_CLK_40 BIT(4)
|
||||
+
|
||||
+ #define AR934X_PCIE_WMAC_INT_WMAC_MISC BIT(0)
|
||||
+@@ -530,6 +576,7 @@
|
||||
+ #define REV_ID_MAJOR_AR9341 0x0120
|
||||
+ #define REV_ID_MAJOR_AR9342 0x1120
|
||||
+ #define REV_ID_MAJOR_AR9344 0x2120
|
||||
++#define REV_ID_MAJOR_QCA9533 0x0140
|
||||
+ #define REV_ID_MAJOR_QCA9558 0x1130
|
||||
+
|
||||
+ #define AR71XX_REV_ID_MINOR_MASK 0x3
|
||||
+@@ -603,6 +650,7 @@
|
||||
+ #define AR913X_GPIO_COUNT 22
|
||||
+ #define AR933X_GPIO_COUNT 30
|
||||
+ #define AR934X_GPIO_COUNT 23
|
||||
++#define QCA953X_GPIO_COUNT 24 /* (?) */
|
||||
+ #define QCA955X_GPIO_COUNT 24
|
||||
+
|
||||
+ /*
|
||||
+--- a/arch/mips/include/asm/mach-ath79/ath79.h
|
||||
++++ b/arch/mips/include/asm/mach-ath79/ath79.h
|
||||
+@@ -32,6 +32,7 @@ enum ath79_soc_type {
|
||||
+ ATH79_SOC_AR9341,
|
||||
+ ATH79_SOC_AR9342,
|
||||
+ ATH79_SOC_AR9344,
|
||||
++ ATH79_SOC_QCA9533,
|
||||
+ ATH79_SOC_QCA9558,
|
||||
+ };
|
||||
+
|
||||
+@@ -99,6 +100,16 @@ static inline int soc_is_ar934x(void)
|
||||
+ return soc_is_ar9341() || soc_is_ar9342() || soc_is_ar9344();
|
||||
+ }
|
||||
+
|
||||
++static inline int soc_is_qca9533(void)
|
||||
++{
|
||||
++ return ath79_soc == ATH79_SOC_QCA9533;
|
||||
++}
|
||||
++
|
||||
++static inline int soc_is_qca953x(void)
|
||||
++{
|
||||
++ return soc_is_qca9533();
|
||||
++}
|
||||
++
|
||||
+ static inline int soc_is_qca9558(void)
|
||||
+ {
|
||||
+ return ath79_soc == ATH79_SOC_QCA9558;
|
@ -1,297 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Sat, 29 Mar 2014 21:12:15 +0100
|
||||
Subject: ar71xx: add support for the TP-LINK TL-WR841N/ND v9
|
||||
|
||||
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
|
||||
index b206438..0bf2dd1 100755
|
||||
--- a/target/linux/ar71xx/base-files/etc/diag.sh
|
||||
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
|
||||
@@ -144,6 +144,9 @@ get_status_led() {
|
||||
tl-wr703n)
|
||||
status_led="tp-link:blue:system"
|
||||
;;
|
||||
+ tl-wr841n-v9)
|
||||
+ status_led="tp-link:green:qss"
|
||||
+ ;;
|
||||
tl-wr2543n)
|
||||
status_led="tp-link:green:wps"
|
||||
;;
|
||||
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/leds b/target/linux/ar71xx/base-files/etc/uci-defaults/leds
|
||||
index 48b8154..43bc24d 100755
|
||||
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/leds
|
||||
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/leds
|
||||
@@ -163,6 +163,15 @@ tl-wr841n-v8)
|
||||
ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
|
||||
;;
|
||||
|
||||
+tl-wr841n-v9)
|
||||
+ ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
|
||||
+ ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
|
||||
+ ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
|
||||
+ ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x04"
|
||||
+ ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02"
|
||||
+ ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
|
||||
+ ;;
|
||||
+
|
||||
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 a36036f..a1dfda0 100755
|
||||
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/network
|
||||
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/network
|
||||
@@ -192,6 +192,7 @@ tl-wdr3500 |\
|
||||
tl-wr741nd |\
|
||||
tl-wr741nd-v4 |\
|
||||
tl-wr841n-v7 |\
|
||||
+tl-wr841n-v9 |\
|
||||
whr-g301n |\
|
||||
whr-hp-g300n |\
|
||||
whr-hp-gn |\
|
||||
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
|
||||
index 8d71352..ca174da 100755
|
||||
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
|
||||
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
|
||||
@@ -381,6 +381,9 @@ ar71xx_board_detect() {
|
||||
*"TL-WR841N/ND v8")
|
||||
name="tl-wr841n-v8"
|
||||
;;
|
||||
+ *"TL-WR841N/ND v9")
|
||||
+ name="tl-wr841n-v9"
|
||||
+ ;;
|
||||
*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 e52ad9e..7168b4e 100755
|
||||
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
|
||||
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
|
||||
@@ -163,6 +163,7 @@ platform_check_image() {
|
||||
tl-wr841n-v1 | \
|
||||
tl-wr841n-v7 | \
|
||||
tl-wr841n-v8 | \
|
||||
+ tl-wr841n-v9 | \
|
||||
tl-wr941nd | \
|
||||
tl-wr1041n-v2 | \
|
||||
tl-wr1043nd | \
|
||||
diff --git a/target/linux/ar71xx/config-3.3 b/target/linux/ar71xx/config-3.3
|
||||
index 1c3ba3c..82d4d21 100644
|
||||
--- a/target/linux/ar71xx/config-3.3
|
||||
+++ b/target/linux/ar71xx/config-3.3
|
||||
@@ -70,6 +70,7 @@ CONFIG_ATH79_MACH_TL_WR741ND=y
|
||||
CONFIG_ATH79_MACH_TL_WR741ND_V4=y
|
||||
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_UBNT=y
|
||||
CONFIG_ATH79_MACH_UBNT_XM=y
|
||||
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c
|
||||
new file mode 100644
|
||||
index 0000000..c28afc6
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c
|
||||
@@ -0,0 +1,138 @@
|
||||
+/*
|
||||
+ * TP-LINK TL-WR841N/ND v9
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
+ *
|
||||
+ * 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_WR841NV9_GPIO_LED_WLAN 13
|
||||
+#define TL_WR841NV9_GPIO_LED_QSS 3
|
||||
+#define TL_WR841NV9_GPIO_LED_WAN 4
|
||||
+#define TL_WR841NV9_GPIO_LED_LAN1 16
|
||||
+#define TL_WR841NV9_GPIO_LED_LAN2 15
|
||||
+#define TL_WR841NV9_GPIO_LED_LAN3 14
|
||||
+#define TL_WR841NV9_GPIO_LED_LAN4 11
|
||||
+
|
||||
+#define TL_WR841NV9_GPIO_BTN_RESET 12
|
||||
+#define TL_WR841NV9_GPIO_BTN_WIFI 17
|
||||
+
|
||||
+#define TL_WR841NV9_KEYS_POLL_INTERVAL 20 /* msecs */
|
||||
+#define TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR841NV9_KEYS_POLL_INTERVAL)
|
||||
+
|
||||
+static const char *tl_wr841n_v9_part_probes[] = {
|
||||
+ "tp-link",
|
||||
+ NULL,
|
||||
+};
|
||||
+
|
||||
+static struct flash_platform_data tl_wr841n_v9_flash_data = {
|
||||
+ .part_probes = tl_wr841n_v9_part_probes,
|
||||
+};
|
||||
+
|
||||
+static struct gpio_led tl_wr841n_v9_leds_gpio[] __initdata = {
|
||||
+ {
|
||||
+ .name = "tp-link:green:lan1",
|
||||
+ .gpio = TL_WR841NV9_GPIO_LED_LAN1,
|
||||
+ .active_low = 1,
|
||||
+ }, {
|
||||
+ .name = "tp-link:green:lan2",
|
||||
+ .gpio = TL_WR841NV9_GPIO_LED_LAN2,
|
||||
+ .active_low = 1,
|
||||
+ }, {
|
||||
+ .name = "tp-link:green:lan3",
|
||||
+ .gpio = TL_WR841NV9_GPIO_LED_LAN3,
|
||||
+ .active_low = 1,
|
||||
+ }, {
|
||||
+ .name = "tp-link:green:lan4",
|
||||
+ .gpio = TL_WR841NV9_GPIO_LED_LAN4,
|
||||
+ .active_low = 1,
|
||||
+ }, {
|
||||
+ .name = "tp-link:green:qss",
|
||||
+ .gpio = TL_WR841NV9_GPIO_LED_QSS,
|
||||
+ .active_low = 1,
|
||||
+ }, {
|
||||
+ .name = "tp-link:green:wan",
|
||||
+ .gpio = TL_WR841NV9_GPIO_LED_WAN,
|
||||
+ .active_low = 1,
|
||||
+ }, {
|
||||
+ .name = "tp-link:green:wlan",
|
||||
+ .gpio = TL_WR841NV9_GPIO_LED_WLAN,
|
||||
+ .active_low = 1,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static struct gpio_keys_button tl_wr841n_v9_gpio_keys[] __initdata = {
|
||||
+ {
|
||||
+ .desc = "Reset button",
|
||||
+ .type = EV_KEY,
|
||||
+ .code = KEY_RESTART,
|
||||
+ .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
|
||||
+ .gpio = TL_WR841NV9_GPIO_BTN_RESET,
|
||||
+ .active_low = 1,
|
||||
+ }, {
|
||||
+ .desc = "WIFI button",
|
||||
+ .type = EV_KEY,
|
||||
+ .code = KEY_RFKILL,
|
||||
+ .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL,
|
||||
+ .gpio = TL_WR841NV9_GPIO_BTN_WIFI,
|
||||
+ .active_low = 1,
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+
|
||||
+static void __init tl_ap143_setup(void)
|
||||
+{
|
||||
+ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
|
||||
+ u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
|
||||
+ u8 tmpmac[ETH_ALEN];
|
||||
+
|
||||
+ ath79_register_m25p80(&tl_wr841n_v9_flash_data);
|
||||
+
|
||||
+ ath79_setup_ar933x_phy4_switch(false, false);
|
||||
+
|
||||
+ ath79_register_mdio(0, 0x0);
|
||||
+
|
||||
+ /* LAN */
|
||||
+ ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
|
||||
+ ath79_register_eth(1);
|
||||
+
|
||||
+ /* WAN */
|
||||
+ ath79_switch_data.phy4_mii_en = 1;
|
||||
+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
|
||||
+ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
|
||||
+ ath79_register_eth(0);
|
||||
+
|
||||
+ ath79_init_mac(tmpmac, mac, 0);
|
||||
+ ath79_register_wmac(ee, tmpmac);
|
||||
+}
|
||||
+
|
||||
+static void __init tl_wr841n_v9_setup(void)
|
||||
+{
|
||||
+ tl_ap143_setup();
|
||||
+
|
||||
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v9_leds_gpio),
|
||||
+ tl_wr841n_v9_leds_gpio);
|
||||
+
|
||||
+ ath79_register_gpio_keys_polled(1, TL_WR841NV9_KEYS_POLL_INTERVAL,
|
||||
+ ARRAY_SIZE(tl_wr841n_v9_gpio_keys),
|
||||
+ tl_wr841n_v9_gpio_keys);
|
||||
+}
|
||||
+
|
||||
+MIPS_MACHINE(ATH79_MACH_TL_WR841N_V9, "TL-WR841N-v9", "TP-LINK TL-WR841N/ND v9",
|
||||
+ tl_wr841n_v9_setup);
|
||||
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
|
||||
index 01d1e67..c270f73 100644
|
||||
--- a/target/linux/ar71xx/image/Makefile
|
||||
+++ b/target/linux/ar71xx/image/Makefile
|
||||
@@ -879,6 +879,7 @@ $(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR7
|
||||
$(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),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))
|
||||
@@ -924,7 +925,7 @@ $(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))
|
||||
+$(eval $(call MultiProfile,TLWR841,TLWR841NV15 TLWR841NV3 TLWR841NV5 TLWR841NV7 TLWR841NV8 TLWR841NV9))
|
||||
$(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/708-MIPS-ath79-TL-WR841v9-support.patch b/target/linux/ar71xx/patches-3.3/708-MIPS-ath79-TL-WR841v9-support.patch
|
||||
new file mode 100644
|
||||
index 0000000..37425a6
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ar71xx/patches-3.3/708-MIPS-ath79-TL-WR841v9-support.patch
|
||||
@@ -0,0 +1,38 @@
|
||||
+--- a/arch/mips/ath79/Kconfig
|
||||
++++ b/arch/mips/ath79/Kconfig
|
||||
+@@ -547,6 +547,15 @@ config ATH79_MACH_TL_WR841N_V8
|
||||
+ select ATH79_DEV_M25P80
|
||||
+ select ATH79_DEV_WMAC
|
||||
+
|
||||
++config ATH79_MACH_TL_WR841N_V9
|
||||
++ bool "TP-LINK TL-WR841N/ND v9 support"
|
||||
++ select SOC_QCA953X
|
||||
++ 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_WR941ND
|
||||
+ bool "TP-LINK TL-WR941ND support"
|
||||
+ select SOC_AR913X
|
||||
+--- a/arch/mips/ath79/Makefile
|
||||
++++ b/arch/mips/ath79/Makefile
|
||||
+@@ -85,6 +85,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR741ND) += m
|
||||
+ obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4) += mach-tl-wr741nd-v4.o
|
||||
+ obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1) += mach-tl-wr841n.o
|
||||
+ 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_WR1041N_V2) += mach-tl-wr1041n-v2.o
|
||||
+ obj-$(CONFIG_ATH79_MACH_TL_WR1043ND) += mach-tl-wr1043nd.o
|
||||
+--- a/arch/mips/ath79/machtypes.h
|
||||
++++ b/arch/mips/ath79/machtypes.h
|
||||
+@@ -90,6 +90,7 @@ enum ath79_mach_type {
|
||||
+ 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_WR841N_V9, /* TP-LINK TL-WR841N/ND v9 */
|
||||
+ ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */
|
||||
+ ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */
|
||||
+ ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */
|
@ -1,427 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
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 <juhosg@openwrt.org>
|
||||
*
|
||||
@@ -8,6 +8,7 @@
|
||||
* by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
+#include <linux/gpio.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <asm/mach-ath79/ath79.h>
|
||||
@@ -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/708-MIPS-ath79-TL-WR841v9-support.patch b/target/linux/ar71xx/patches-3.3/708-MIPS-ath79-TL-WR841v9-support.patch
|
||||
index 37425a6..612970b 100644
|
||||
--- a/target/linux/ar71xx/patches-3.3/708-MIPS-ath79-TL-WR841v9-support.patch
|
||||
+++ b/target/linux/ar71xx/patches-3.3/708-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 */
|
@ -1,110 +0,0 @@
|
||||
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Sun, 7 Oct 2012 23:01:52 +0000
|
||||
Subject: x86: add grub2 iso support
|
||||
|
||||
diff --git a/Config.in b/Config.in
|
||||
index 5b4522e..54df7c8 100644
|
||||
--- a/Config.in
|
||||
+++ b/Config.in
|
||||
@@ -81,7 +81,7 @@ menu "Target Images"
|
||||
config TARGET_ROOTFS_ISO
|
||||
bool "iso"
|
||||
default n
|
||||
- depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
|
||||
+ depends on TARGET_x86_generic
|
||||
help
|
||||
Create some bootable ISO image
|
||||
|
||||
diff --git a/target/linux/x86/base-files/lib/preinit/20_check_iso b/target/linux/x86/base-files/lib/preinit/20_check_iso
|
||||
new file mode 100644
|
||||
index 0000000..beff6eb
|
||||
--- /dev/null
|
||||
+++ b/target/linux/x86/base-files/lib/preinit/20_check_iso
|
||||
@@ -0,0 +1,5 @@
|
||||
+check_for_iso() {
|
||||
+ grep -qE '/dev/root.*iso9660' /proc/mounts && ramoverlay
|
||||
+}
|
||||
+
|
||||
+boot_hook_add preinit_mount_root check_for_iso
|
||||
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
|
||||
index 13da511..8f0debd 100644
|
||||
--- a/target/linux/x86/image/Makefile
|
||||
+++ b/target/linux/x86/image/Makefile
|
||||
@@ -9,7 +9,8 @@ include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
export PATH=$(TARGET_PATH):/sbin
|
||||
|
||||
-GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
|
||||
+GRUB2_MODULES = at_keyboard biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
|
||||
+GRUB2_MODULES_ISO = at_keyboard biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial vga
|
||||
GRUB_TERMINALS =
|
||||
GRUB_SERIAL_CONFIG =
|
||||
GRUB_TERMINAL_CONFIG =
|
||||
@@ -51,7 +52,7 @@ ifneq ($(CONFIG_X86_GRUB_IMAGES),)
|
||||
define Image/cmdline/ext4
|
||||
root=$(ROOTPART) rootfstype=ext4 rootwait
|
||||
endef
|
||||
-
|
||||
+
|
||||
define Image/cmdline/jffs2-64k
|
||||
block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootwait
|
||||
endef
|
||||
@@ -165,7 +166,31 @@ define Image/Build/squashfs
|
||||
$(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
|
||||
endef
|
||||
|
||||
-define Image/Build/iso
|
||||
+ifdef CONFIG_X86_USE_GRUB2
|
||||
+ define Image/Build/iso
|
||||
+ $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
|
||||
+ $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
|
||||
+ grub-mkimage \
|
||||
+ -o $(KDIR)/grub2/eltorito.img \
|
||||
+ -O i386-pc \
|
||||
+ -c ./grub-early.cfg \
|
||||
+ $(GRUB2_MODULES_ISO)
|
||||
+ cat \
|
||||
+ $(STAGING_DIR_HOST)/lib/grub/i386-pc/cdboot.img \
|
||||
+ $(KDIR)/grub2/eltorito.img \
|
||||
+ > $(KDIR)/root.grub/boot/grub/eltorito.img
|
||||
+ sed \
|
||||
+ -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \
|
||||
+ -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \
|
||||
+ -e 's#@CMDLINE@#root=/dev/sr0 rootfstype=iso9660 rootwait $(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \
|
||||
+ -e 's#@TIMEOUT@#$(GRUB_TIMEOUT)#g' \
|
||||
+ ./grub-iso.cfg > $(KDIR)/root.grub/boot/grub/grub.cfg
|
||||
+ $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
|
||||
+ mkisofs -R -b boot/grub/eltorito.img -no-emul-boot -boot-info-table \
|
||||
+ -o $(KDIR)/root.iso $(KDIR)/root.grub $(TARGET_DIR)
|
||||
+ endef
|
||||
+else
|
||||
+ define Image/Build/iso
|
||||
$(INSTALL_DIR) $(KDIR)/root.grub/boot/grub
|
||||
$(CP) \
|
||||
$(KDIR)/stage2_eltorito \
|
||||
@@ -179,7 +204,8 @@ define Image/Build/iso
|
||||
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
|
||||
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||
-o $(KDIR)/root.iso $(KDIR)/root.grub
|
||||
-endef
|
||||
+ endef
|
||||
+endif
|
||||
|
||||
ifneq ($(CONFIG_X86_VDI_IMAGES),)
|
||||
define Image/Build/vdi
|
||||
diff --git a/target/linux/x86/image/grub-iso.cfg b/target/linux/x86/image/grub-iso.cfg
|
||||
new file mode 100644
|
||||
index 0000000..4d5d697
|
||||
--- /dev/null
|
||||
+++ b/target/linux/x86/image/grub-iso.cfg
|
||||
@@ -0,0 +1,10 @@
|
||||
+@SERIAL_CONFIG@
|
||||
+@TERMINAL_CONFIG@
|
||||
+
|
||||
+set default="0"
|
||||
+set timeout="@TIMEOUT@"
|
||||
+set root='(cd)'
|
||||
+
|
||||
+menuentry "OpenWrt" {
|
||||
+ linux /boot/vmlinuz @CMDLINE@ noinitrd reboot=bios
|
||||
+}
|
@ -1,24 +0,0 @@
|
||||
From: jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Thu, 17 Jan 2013 15:46:26 +0000
|
||||
Subject: x86: explicitely pass staging directory to grub-mkimage instead of relying on build time defaults (#12821)
|
||||
|
||||
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
|
||||
index 8f0debd..6e2bd54 100644
|
||||
--- a/target/linux/x86/image/Makefile
|
||||
+++ b/target/linux/x86/image/Makefile
|
||||
@@ -102,6 +102,7 @@ ifneq ($(CONFIG_X86_GRUB_IMAGES),)
|
||||
$(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
|
||||
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
|
||||
grub-mkimage \
|
||||
+ -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
|
||||
-o $(KDIR)/grub2/core.img \
|
||||
-O i386-pc \
|
||||
-c ./grub-early.cfg \
|
||||
@@ -171,6 +172,7 @@ ifdef CONFIG_X86_USE_GRUB2
|
||||
$(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
|
||||
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
|
||||
grub-mkimage \
|
||||
+ -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
|
||||
-o $(KDIR)/grub2/eltorito.img \
|
||||
-O i386-pc \
|
||||
-c ./grub-early.cfg \
|
@ -1,57 +0,0 @@
|
||||
From: blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Tue, 7 May 2013 12:35:07 +0000
|
||||
Subject: grub2: Add sub package grub-editenv for target installation
|
||||
|
||||
grub-editenv allows to modify grub2 environment files. Add a new package
|
||||
that build grub2 for the target and packs up grub-editenv.
|
||||
|
||||
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
|
||||
|
||||
diff --git a/package/grub2/Makefile b/package/grub2/Makefile
|
||||
index b606f54..dd490ff 100644
|
||||
--- a/package/grub2/Makefile
|
||||
+++ b/package/grub2/Makefile
|
||||
@@ -16,7 +16,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GNU/grub
|
||||
PKG_MD5SUM:=e927540b6eda8b024fb0391eeaa4091c
|
||||
|
||||
-PKG_HOST_ONLY:=1
|
||||
HOST_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_DEPENDS:=grub2/host
|
||||
|
||||
@@ -32,6 +31,23 @@ define Package/grub2
|
||||
DEPENDS:=@TARGET_x86
|
||||
endef
|
||||
|
||||
+define Package/grub2-editenv
|
||||
+ CATEGORY:=Utilities
|
||||
+ SECTION:=utils
|
||||
+ TITLE:=Grub2 Environment editor
|
||||
+ URL:=http://www.gnu.org/software/grub/
|
||||
+ DEPENDS:=@TARGET_x86
|
||||
+endef
|
||||
+
|
||||
+define Package/grub2-editenv/description
|
||||
+ Edit grub2 environment files.
|
||||
+endef
|
||||
+
|
||||
+CONFIGURE_ARGS += \
|
||||
+ --target=$(REAL_GNU_TARGET_NAME) \
|
||||
+ --disable-werror \
|
||||
+ --disable-nls
|
||||
+
|
||||
HOST_CONFIGURE_ARGS += \
|
||||
--target=$(REAL_GNU_TARGET_NAME) \
|
||||
--sbindir="$(STAGING_DIR_HOST)/bin" \
|
||||
@@ -47,5 +63,11 @@ define Host/Configure
|
||||
$(Host/Configure/Default)
|
||||
endef
|
||||
|
||||
+define Package/grub2-editenv/install
|
||||
+ $(INSTALL_DIR) $(1)/usr/sbin
|
||||
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-editenv $(1)/usr/sbin/
|
||||
+endef
|
||||
+
|
||||
$(eval $(call HostBuild))
|
||||
$(eval $(call BuildPackage,grub2))
|
||||
+$(eval $(call BuildPackage,grub2-editenv))
|
@ -1,37 +0,0 @@
|
||||
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Sat, 10 Aug 2013 18:35:29 +0000
|
||||
Subject: x86: Fix CONFIG_X86_GRUB_SERIAL=""
|
||||
|
||||
With
|
||||
|
||||
.config:CONFIG_X86_GRUB_SERIAL=""
|
||||
|
||||
which (AFAICT) is the way to tell GRUB not to use a serial console, in
|
||||
|
||||
target/linux/x86/image/Makefile:ifneq ($(CONFIG_X86_GRUB_SERIAL),)
|
||||
|
||||
$(CONFIG_X86_GRUB_SERIAL) expands to `""' (a literal double double-quote),
|
||||
making the condition unconditionally false.
|
||||
|
||||
This patch fixes the situation by passing CONFIG_X86_GRUB_SERIAL through
|
||||
qstrip before testing.
|
||||
|
||||
Signed-off-by: Tamas TEVESZ <ice@extreme.hu>
|
||||
|
||||
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
|
||||
index 6e2bd54..2e73519 100644
|
||||
--- a/target/linux/x86/image/Makefile
|
||||
+++ b/target/linux/x86/image/Makefile
|
||||
@@ -27,8 +27,10 @@ ifneq ($(strip $(foreach subtarget,$(USE_ATKBD),$(CONFIG_TARGET_x86_$(subtarget)
|
||||
GRUB2_MODULES += at_keyboard
|
||||
endif
|
||||
|
||||
-ifneq ($(CONFIG_X86_GRUB_SERIAL),)
|
||||
- GRUB_CONSOLE_CMDLINE += console=$(call qstrip,$(CONFIG_X86_GRUB_SERIAL)),$(CONFIG_X86_GRUB_BAUDRATE)n8
|
||||
+GRUB_SERIAL:=$(call qstrip,$(CONFIG_X86_GRUB_SERIAL))
|
||||
+
|
||||
+ifneq ($(GRUB_SERIAL),)
|
||||
+ GRUB_CONSOLE_CMDLINE += console=$(GRUB_SERIAL),$(CONFIG_X86_GRUB_BAUDRATE)n8
|
||||
GRUB_SERIAL_CONFIG := serial --unit=0 --speed=$(CONFIG_X86_GRUB_BAUDRATE) --word=8 --parity=no --stop=1
|
||||
GRUB_TERMINALS += serial
|
||||
endif
|
@ -1,218 +0,0 @@
|
||||
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Wed, 12 Mar 2014 11:21:16 +0000
|
||||
Subject: grub2: update to 2.02-beta2, fixes mac os x 10.9 support (and many other things)
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
|
||||
diff --git a/package/grub2/Makefile b/package/grub2/Makefile
|
||||
index dd490ff..4edd92b 100644
|
||||
--- a/package/grub2/Makefile
|
||||
+++ b/package/grub2/Makefile
|
||||
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=grub
|
||||
-PKG_VERSION:=2.00
|
||||
+PKG_VERSION:=2.02~beta2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
-PKG_SOURCE_URL:=@GNU/grub
|
||||
-PKG_MD5SUM:=e927540b6eda8b024fb0391eeaa4091c
|
||||
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
+PKG_SOURCE_URL:=http://alpha.gnu.org/gnu/grub
|
||||
+PKG_MD5SUM:=be62932eade308a364ea4bbc91295930
|
||||
|
||||
HOST_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_DEPENDS:=grub2/host
|
||||
diff --git a/package/grub2/patches/100-grub_setup_root.patch b/package/grub2/patches/100-grub_setup_root.patch
|
||||
index 7775b2a..9619c41 100644
|
||||
--- a/package/grub2/patches/100-grub_setup_root.patch
|
||||
+++ b/package/grub2/patches/100-grub_setup_root.patch
|
||||
@@ -1,41 +1,6 @@
|
||||
--- a/util/grub-setup.c
|
||||
+++ b/util/grub-setup.c
|
||||
-@@ -141,12 +141,11 @@ write_rootdev (char *core_img, grub_devi
|
||||
- static void
|
||||
- setup (const char *dir,
|
||||
- const char *boot_file, const char *core_file,
|
||||
-- const char *dest, int force,
|
||||
-+ const char *root, const char *dest, int force,
|
||||
- int fs_probe, int allow_floppy)
|
||||
- {
|
||||
- char *boot_path, *core_path, *core_path_dev, *core_path_dev_full;
|
||||
- char *boot_img, *core_img;
|
||||
-- char *root = 0;
|
||||
- size_t boot_size, core_size;
|
||||
- grub_uint16_t core_sectors;
|
||||
- grub_device_t root_dev = 0, dest_dev, core_dev;
|
||||
-@@ -253,7 +252,10 @@ setup (const char *dir,
|
||||
-
|
||||
- core_dev = dest_dev;
|
||||
-
|
||||
-- {
|
||||
-+ if (root)
|
||||
-+ root_dev = grub_device_open(root);
|
||||
-+
|
||||
-+ if (!root_dev) {
|
||||
- char **root_devices = grub_guess_root_devices (dir);
|
||||
- char **cur;
|
||||
- int found = 0;
|
||||
-@@ -263,6 +265,8 @@ setup (const char *dir,
|
||||
- char *drive;
|
||||
- grub_device_t try_dev;
|
||||
-
|
||||
-+ if (root_dev)
|
||||
-+ break;
|
||||
- drive = grub_util_get_grub_dev (*cur);
|
||||
- if (!drive)
|
||||
- continue;
|
||||
-@@ -956,6 +960,8 @@ static struct argp_option options[] = {
|
||||
+@@ -87,6 +87,8 @@ static struct argp_option options[] = {
|
||||
N_("install even if problems are detected"), 0},
|
||||
{"skip-fs-probe",'s',0, 0,
|
||||
N_("do not probe for filesystems in DEVICE"), 0},
|
||||
@@ -44,7 +9,7 @@
|
||||
{"verbose", 'v', 0, 0, N_("print verbose messages."), 0},
|
||||
{"allow-floppy", 'a', 0, 0,
|
||||
/* TRANSLATORS: The potential breakage isn't limited to floppies but it's
|
||||
-@@ -993,6 +999,7 @@ struct arguments
|
||||
+@@ -130,6 +132,7 @@ struct arguments
|
||||
char *core_file;
|
||||
char *dir;
|
||||
char *dev_map;
|
||||
@@ -52,7 +17,7 @@
|
||||
int force;
|
||||
int fs_probe;
|
||||
int allow_floppy;
|
||||
-@@ -1040,6 +1047,13 @@ argp_parser (int key, char *arg, struct
|
||||
+@@ -178,6 +181,13 @@ argp_parser (int key, char *arg, struct
|
||||
arguments->dev_map = xstrdup (arg);
|
||||
break;
|
||||
|
||||
@@ -66,12 +31,88 @@
|
||||
case 'f':
|
||||
arguments->force = 1;
|
||||
break;
|
||||
-@@ -1172,7 +1186,7 @@ main (int argc, char *argv[])
|
||||
- setup (arguments.dir ? : DEFAULT_DIRECTORY,
|
||||
- arguments.boot_file ? : DEFAULT_BOOT_FILE,
|
||||
- arguments.core_file ? : DEFAULT_CORE_FILE,
|
||||
-- dest_dev, arguments.force,
|
||||
-+ arguments.root_dev, dest_dev, arguments.force,
|
||||
- arguments.fs_probe, arguments.allow_floppy);
|
||||
+@@ -313,7 +323,7 @@ main (int argc, char *argv[])
|
||||
+ GRUB_SETUP_FUNC (arguments.dir ? : DEFAULT_DIRECTORY,
|
||||
+ arguments.boot_file ? : DEFAULT_BOOT_FILE,
|
||||
+ arguments.core_file ? : DEFAULT_CORE_FILE,
|
||||
+- dest_dev, arguments.force,
|
||||
++ arguments.root_dev, dest_dev, arguments.force,
|
||||
+ arguments.fs_probe, arguments.allow_floppy,
|
||||
+ arguments.add_rs_codes);
|
||||
+
|
||||
+--- a/util/setup.c
|
||||
++++ b/util/setup.c
|
||||
+@@ -247,13 +247,12 @@ identify_partmap (grub_disk_t disk __att
|
||||
+ void
|
||||
+ SETUP (const char *dir,
|
||||
+ const char *boot_file, const char *core_file,
|
||||
+- const char *dest, int force,
|
||||
++ const char *root, const char *dest, int force,
|
||||
+ int fs_probe, int allow_floppy,
|
||||
+ int add_rs_codes __attribute__ ((unused))) /* unused on sparc64 */
|
||||
+ {
|
||||
+ char *core_path;
|
||||
+ char *boot_img, *core_img, *boot_path;
|
||||
+- char *root = 0;
|
||||
+ size_t boot_size, core_size;
|
||||
+ #ifdef GRUB_SETUP_BIOS
|
||||
+ grub_uint16_t core_sectors;
|
||||
+@@ -307,7 +306,10 @@ SETUP (const char *dir,
|
||||
+
|
||||
+ core_dev = dest_dev;
|
||||
+
|
||||
+- {
|
||||
++ if (root)
|
||||
++ root_dev = grub_device_open(root);
|
||||
++
|
||||
++ if (!root_dev) {
|
||||
+ char **root_devices = grub_guess_root_devices (dir);
|
||||
+ char **cur;
|
||||
+ int found = 0;
|
||||
+@@ -317,6 +319,8 @@ SETUP (const char *dir,
|
||||
+ char *drive;
|
||||
+ grub_device_t try_dev;
|
||||
+
|
||||
++ if (root_dev)
|
||||
++ break;
|
||||
+ drive = grub_util_get_grub_dev (*cur);
|
||||
+ if (!drive)
|
||||
+ continue;
|
||||
+--- a/include/grub/util/install.h
|
||||
++++ b/include/grub/util/install.h
|
||||
+@@ -182,13 +182,13 @@ grub_install_get_image_target (const cha
|
||||
+ void
|
||||
+ grub_util_bios_setup (const char *dir,
|
||||
+ const char *boot_file, const char *core_file,
|
||||
+- const char *dest, int force,
|
||||
++ const char *root, const char *dest, int force,
|
||||
+ int fs_probe, int allow_floppy,
|
||||
+ int add_rs_codes);
|
||||
+ void
|
||||
+ grub_util_sparc_setup (const char *dir,
|
||||
+ const char *boot_file, const char *core_file,
|
||||
+- const char *dest, int force,
|
||||
++ const char *root, const char *dest, int force,
|
||||
+ int fs_probe, int allow_floppy,
|
||||
+ int add_rs_codes);
|
||||
|
||||
- /* Free resources. */
|
||||
+--- a/util/grub-install.c
|
||||
++++ b/util/grub-install.c
|
||||
+@@ -1660,7 +1660,7 @@ main (int argc, char *argv[])
|
||||
+ /* Now perform the installation. */
|
||||
+ if (install_bootsector)
|
||||
+ grub_util_bios_setup (platdir, "boot.img", "core.img",
|
||||
+- install_drive, force,
|
||||
++ NULL, install_drive, force,
|
||||
+ fs_probe, allow_floppy, add_rs_codes);
|
||||
+ break;
|
||||
+ }
|
||||
+@@ -1686,7 +1686,7 @@ main (int argc, char *argv[])
|
||||
+ /* Now perform the installation. */
|
||||
+ if (install_bootsector)
|
||||
+ grub_util_sparc_setup (platdir, "boot.img", "core.img",
|
||||
+- install_device, force,
|
||||
++ NULL, install_device, force,
|
||||
+ fs_probe, allow_floppy,
|
||||
+ 0 /* unused */ );
|
||||
+ break;
|
||||
diff --git a/package/grub2/patches/200-fix-gets-removal.patch b/package/grub2/patches/200-fix-gets-removal.patch
|
||||
index 4370fb5..737fb97 100644
|
||||
--- a/package/grub2/patches/200-fix-gets-removal.patch
|
||||
+++ b/package/grub2/patches/200-fix-gets-removal.patch
|
||||
@@ -1,15 +1,16 @@
|
||||
--- a/grub-core/gnulib/stdio.in.h
|
||||
+++ b/grub-core/gnulib/stdio.in.h
|
||||
-@@ -137,12 +137,6 @@
|
||||
- "use gnulib module fflush for portable POSIX compliance");
|
||||
+@@ -695,13 +695,6 @@ _GL_WARN_ON_USE (getline, "getline is un
|
||||
+ # endif
|
||||
#endif
|
||||
|
||||
-/* It is very rare that the developer ever has full control of stdin,
|
||||
-- so any use of gets warrants an unconditional warning. Assume it is
|
||||
-- always declared, since it is required by C89. */
|
||||
+- so any use of gets warrants an unconditional warning; besides, C11
|
||||
+- removed it. */
|
||||
-#undef gets
|
||||
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
||||
+-#if HAVE_RAW_DECL_GETS
|
||||
+-#endif
|
||||
-
|
||||
- #if @GNULIB_FOPEN@
|
||||
- # if @REPLACE_FOPEN@
|
||||
- # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
+
|
||||
+ #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
|
||||
+ struct obstack;
|
@ -1,20 +0,0 @@
|
||||
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Sun, 30 Mar 2014 19:55:39 +0000
|
||||
Subject: grub2: disable libdevmapper - fix build when it's available
|
||||
|
||||
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
|
||||
|
||||
diff --git a/package/grub2/Makefile b/package/grub2/Makefile
|
||||
index 4edd92b..ed86fff 100644
|
||||
--- a/package/grub2/Makefile
|
||||
+++ b/package/grub2/Makefile
|
||||
@@ -46,7 +46,8 @@ endef
|
||||
CONFIGURE_ARGS += \
|
||||
--target=$(REAL_GNU_TARGET_NAME) \
|
||||
--disable-werror \
|
||||
- --disable-nls
|
||||
+ --disable-nls \
|
||||
+ --disable-device-mapper
|
||||
|
||||
HOST_CONFIGURE_ARGS += \
|
||||
--target=$(REAL_GNU_TARGET_NAME) \
|
@ -1,20 +0,0 @@
|
||||
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
|
||||
Date: Sun, 30 Mar 2014 19:55:43 +0000
|
||||
Subject: grub2: disable mkfont - fix build on Archlinux
|
||||
|
||||
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
|
||||
|
||||
diff --git a/package/grub2/Makefile b/package/grub2/Makefile
|
||||
index ed86fff..509fb60 100644
|
||||
--- a/package/grub2/Makefile
|
||||
+++ b/package/grub2/Makefile
|
||||
@@ -47,7 +47,8 @@ CONFIGURE_ARGS += \
|
||||
--target=$(REAL_GNU_TARGET_NAME) \
|
||||
--disable-werror \
|
||||
--disable-nls \
|
||||
- --disable-device-mapper
|
||||
+ --disable-device-mapper \
|
||||
+ --disable-grub-mkfont
|
||||
|
||||
HOST_CONFIGURE_ARGS += \
|
||||
--target=$(REAL_GNU_TARGET_NAME) \
|
@ -1,155 +0,0 @@
|
||||
From: Zhao, Gang <gamerh2o@gmail.com>
|
||||
Date: Wed, 21 May 2014 23:26:28 +0800
|
||||
Subject: ar71xx: add support for dlink dir-615-e1
|
||||
|
||||
Dlink dir-615-e1 can use dir-600-a1's image, but the image can't be
|
||||
uploaded through dlink's normal firmware update web page.
|
||||
|
||||
Add profile for dir-615-e1 so the generated image can be uploaded
|
||||
through the firmware update web page.
|
||||
|
||||
Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
|
||||
|
||||
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
|
||||
index 0d01119..c86044b 100755
|
||||
--- a/target/linux/ar71xx/base-files/etc/diag.sh
|
||||
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
|
||||
@@ -61,6 +61,7 @@ get_status_led() {
|
||||
status_led="db120:green:status"
|
||||
;;
|
||||
dir-600-a1 |\
|
||||
+ dir-615-e1 |\
|
||||
dir-615-e4)
|
||||
status_led="d-link:green:power"
|
||||
;;
|
||||
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/leds b/target/linux/ar71xx/base-files/etc/uci-defaults/leds
|
||||
index f1ac9ec..98568fa 100755
|
||||
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/leds
|
||||
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/leds
|
||||
@@ -52,6 +52,7 @@ rb750)
|
||||
;;
|
||||
|
||||
dir-600-a1|\
|
||||
+dir-615-e1|\
|
||||
dir-615-e4)
|
||||
ucidef_set_led_netdev "wan" "WAN" "d-link:green:wan" "eth1"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "d-link:green:lan1" "switch0" "0x02"
|
||||
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/network b/target/linux/ar71xx/base-files/etc/uci-defaults/network
|
||||
index e38a9b8..a2ac224 100755
|
||||
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/network
|
||||
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/network
|
||||
@@ -182,6 +182,7 @@ ap96 |\
|
||||
airrouter |\
|
||||
dir-600-a1 |\
|
||||
dir-615-c1 |\
|
||||
+dir-615-e1 |\
|
||||
dir-615-e4 |\
|
||||
ja76pf |\
|
||||
rb-750 |\
|
||||
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
|
||||
index 11aa31b..9273012 100755
|
||||
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
|
||||
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
|
||||
@@ -201,6 +201,9 @@ ar71xx_board_detect() {
|
||||
*"DIR-600 rev. A1")
|
||||
name="dir-600-a1"
|
||||
;;
|
||||
+ *"DIR-615 rev. E1")
|
||||
+ name="dir-615-e1"
|
||||
+ ;;
|
||||
*"DIR-615 rev. E4")
|
||||
name="dir-615-e4"
|
||||
;;
|
||||
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
|
||||
index b25df6c..5fdd564 100755
|
||||
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
|
||||
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
|
||||
@@ -104,6 +104,7 @@ platform_check_image() {
|
||||
ap83 | \
|
||||
dir-600-a1 | \
|
||||
dir-615-c1 | \
|
||||
+ dir-615-e1 | \
|
||||
dir-615-e4 | \
|
||||
ew-dorin | \
|
||||
ew-dorin-router | \
|
||||
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c
|
||||
index c0fa900..321fdce 100644
|
||||
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c
|
||||
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-dir-600-a1.c
|
||||
@@ -141,6 +141,14 @@ static void __init dir_600_a1_setup(void)
|
||||
MIPS_MACHINE(ATH79_MACH_DIR_600_A1, "DIR-600-A1", "D-Link DIR-600 rev. A1",
|
||||
dir_600_a1_setup);
|
||||
|
||||
+static void __init dir_615_e1_setup(void)
|
||||
+{
|
||||
+ dir_600_a1_setup();
|
||||
+}
|
||||
+
|
||||
+MIPS_MACHINE(ATH79_MACH_DIR_615_E1, "DIR-615-E1", "D-Link DIR-615 rev. E1",
|
||||
+ dir_615_e1_setup);
|
||||
+
|
||||
static void __init dir_615_e4_setup(void)
|
||||
{
|
||||
dir_600_a1_setup();
|
||||
diff --git a/target/linux/ar71xx/generic/profiles/d-link.mk b/target/linux/ar71xx/generic/profiles/d-link.mk
|
||||
index 98fe00f..9a8ab1b 100644
|
||||
--- a/target/linux/ar71xx/generic/profiles/d-link.mk
|
||||
+++ b/target/linux/ar71xx/generic/profiles/d-link.mk
|
||||
@@ -38,6 +38,16 @@ endef
|
||||
|
||||
$(eval $(call Profile,DIR615C1))
|
||||
|
||||
+define Profile/DIR615E1
|
||||
+ NAME:=D-Link DIR-615 rev. E1
|
||||
+ PACKAGES:=
|
||||
+endef
|
||||
+
|
||||
+define Profile/DIR615E1/Description
|
||||
+ Package set optimized for the D-Link DIR-615 rev. E1.
|
||||
+endef
|
||||
+
|
||||
+$(eval $(call Profile,DIR615E1))
|
||||
|
||||
define Profile/DIR615E4
|
||||
NAME:=D-Link DIR-615 rev. E4
|
||||
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
|
||||
index a055521..11ba068 100644
|
||||
--- a/target/linux/ar71xx/image/Makefile
|
||||
+++ b/target/linux/ar71xx/image/Makefile
|
||||
@@ -804,6 +804,7 @@ $(eval $(call SingleProfile,AthLzma,$(fs_64k),PB92,pb92,PB92,ttyS0,115200,$$(pb9
|
||||
|
||||
$(eval $(call SingleProfile,Cameo7240,$(fs_64k),DIR600A1,dir-600-a1,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-00"))
|
||||
$(eval $(call SingleProfile,Cameo7240,$(fs_64k),DIR601A1,dir-601-a1,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-02"))
|
||||
+$(eval $(call SingleProfile,Cameo7240,$(fs_64k),DIR615E1,dir-615-e1,DIR-615-E1,ttyS0,115200,"AP93-AR7240-RT-081028-00"))
|
||||
$(eval $(call SingleProfile,Cameo7240,$(fs_64k),DIR615E4,dir-615-e4,DIR-615-E4,ttyS0,115200,"AP99-AR7240-RT-091105-05"))
|
||||
$(eval $(call SingleProfile,Cameo7240,$(fs_64k),FR54RTR,fr-54rtr,DIR-600-A1,ttyS0,115200,"AP91-AR7240-RT-090223-01"))
|
||||
|
||||
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 6d67f5f..c7d0220 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,104 @@
|
||||
+@@ -16,18 +16,105 @@
|
||||
|
||||
enum ath79_mach_type {
|
||||
ATH79_MACH_GENERIC = 0,
|
||||
@@ -21,6 +21,7 @@
|
||||
ATH79_MACH_PB44, /* Atheros PB44 reference board */
|
||||
+ ATH79_MACH_DIR_600_A1, /* D-Link DIR-600 rev. A1 */
|
||||
+ ATH79_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */
|
||||
++ ATH79_MACH_DIR_615_E1, /* D-Link DIR-615 rev. E1 */
|
||||
+ ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */
|
||||
+ ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */
|
||||
+ ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
|
||||
@@ -306,7 +307,7 @@
|
||||
+ select MYLOADER
|
||||
+
|
||||
+config ATH79_MACH_DIR_600_A1
|
||||
-+ bool "D-Link DIR-600 A1/DIR-615 E4 support"
|
||||
++ bool "D-Link DIR-600 A1/DIR-615 E1/DIR-615 E4 support"
|
||||
+ select SOC_AR724X
|
||||
+ select ATH79_DEV_AP9X_PCI if PCI
|
||||
+ select ATH79_DEV_ETH
|
@ -1,19 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Sat, 5 Jul 2014 22:30:34 +0200
|
||||
Subject: iptables: avoid file conflicts due to unneeded libip6t_*.so in ip6tables package
|
||||
|
||||
diff --git a/package/iptables/Makefile b/package/iptables/Makefile
|
||||
index e36a093..0c7a380 100644
|
||||
--- a/package/iptables/Makefile
|
||||
+++ b/package/iptables/Makefile
|
||||
@@ -406,10 +406,6 @@ define Package/ip6tables/install
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ip6tables $(1)/usr/sbin/
|
||||
$(LN) ip6tables $(1)/usr/sbin/ip6tables-save
|
||||
$(LN) ip6tables $(1)/usr/sbin/ip6tables-restore
|
||||
- $(INSTALL_DIR) $(1)/usr/lib/iptables
|
||||
- (cd $(PKG_INSTALL_DIR)/usr/lib/iptables ; \
|
||||
- $(CP) libip6t_*.so $(1)/usr/lib/iptables/ \
|
||||
- )
|
||||
endef
|
||||
|
||||
define Package/libiptc/install
|
@ -1,73 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Thu, 24 Jul 2014 03:00:23 +0200
|
||||
Subject: mac80211: add another ath9k patch
|
||||
|
||||
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
|
||||
index ba05bde..6197e0e 100644
|
||||
--- a/package/mac80211/patches/300-pending_work.patch
|
||||
+++ b/package/mac80211/patches/300-pending_work.patch
|
||||
@@ -1,3 +1,21 @@
|
||||
+commit ff354dbdd743e5fe186df8cd17982db19f78231a
|
||||
+Author: Felix Fietkau <nbd@openwrt.org>
|
||||
+Date: Wed Jul 23 15:33:26 2014 +0200
|
||||
+
|
||||
+ ath9k: fix aggregation session lockup
|
||||
+
|
||||
+ If an aggregation session fails, frames still end up in the driver queue
|
||||
+ with IEEE80211_TX_CTL_AMPDU set.
|
||||
+ This causes tx for the affected station/tid to stall, since
|
||||
+ ath_tx_get_tid_subframe returning packets to send.
|
||||
+
|
||||
+ Fix this by clearing IEEE80211_TX_CTL_AMPDU as long as no aggregation
|
||||
+ session is running.
|
||||
+
|
||||
+ Cc: stable@vger.kernel.org
|
||||
+ Reported-by: Antonio Quartulli <antonio@open-mesh.com>
|
||||
+ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
+
|
||||
commit 38695a6e5a940e6a524523b88a33916b016fb2a1
|
||||
Author: Felix Fietkau <nbd@openwrt.org>
|
||||
Date: Fri Jul 11 12:06:18 2014 +0200
|
||||
@@ -2990,7 +3008,23 @@ Date: Mon May 19 21:20:49 2014 +0200
|
||||
if (WARN_ON(--txq->pending_frames < 0))
|
||||
txq->pending_frames = 0;
|
||||
|
||||
-@@ -1999,6 +1997,7 @@ static void setup_frame_info(struct ieee
|
||||
+@@ -887,6 +885,15 @@ ath_tx_get_tid_subframe(struct ath_softc
|
||||
+
|
||||
+ tx_info = IEEE80211_SKB_CB(skb);
|
||||
+ tx_info->flags &= ~IEEE80211_TX_CTL_CLEAR_PS_FILT;
|
||||
++
|
||||
++ /*
|
||||
++ * No aggregation session is running, but there may be frames
|
||||
++ * from a previous session or a failed attempt in the queue.
|
||||
++ * Send them out as normal data frames
|
||||
++ */
|
||||
++ if (!tid->active)
|
||||
++ tx_info->flags &= ~IEEE80211_TX_CTL_AMPDU;
|
||||
++
|
||||
+ if (!(tx_info->flags & IEEE80211_TX_CTL_AMPDU)) {
|
||||
+ bf->bf_state.bf_type = 0;
|
||||
+ return bf;
|
||||
+@@ -1999,6 +2006,7 @@ static void setup_frame_info(struct ieee
|
||||
an = (struct ath_node *) sta->drv_priv;
|
||||
|
||||
memset(fi, 0, sizeof(*fi));
|
||||
@@ -2998,7 +3032,7 @@ Date: Mon May 19 21:20:49 2014 +0200
|
||||
if (hw_key)
|
||||
fi->keyix = hw_key->hw_key_idx;
|
||||
else if (an && ieee80211_is_data(hdr->frame_control) && an->ps_key > 0)
|
||||
-@@ -2150,6 +2149,7 @@ int ath_tx_start(struct ieee80211_hw *hw
|
||||
+@@ -2150,6 +2158,7 @@ int ath_tx_start(struct ieee80211_hw *hw
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||
struct ieee80211_sta *sta = txctl->sta;
|
||||
struct ieee80211_vif *vif = info->control.vif;
|
||||
@@ -3006,7 +3040,7 @@ Date: Mon May 19 21:20:49 2014 +0200
|
||||
struct ath_softc *sc = hw->priv;
|
||||
struct ath_txq *txq = txctl->txq;
|
||||
struct ath_atx_tid *tid = NULL;
|
||||
-@@ -2170,11 +2170,13 @@ int ath_tx_start(struct ieee80211_hw *hw
|
||||
+@@ -2170,11 +2179,13 @@ int ath_tx_start(struct ieee80211_hw *hw
|
||||
q = skb_get_queue_mapping(skb);
|
||||
|
||||
ath_txq_lock(sc, txq);
|
@ -1,30 +0,0 @@
|
||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
Date: Sat, 26 Jul 2014 17:03:40 +0200
|
||||
Subject: Reduce fw3 log spam in netifd scripts
|
||||
|
||||
diff --git a/package/netifd/files/lib/netifd/dhcp.script b/package/netifd/files/lib/netifd/dhcp.script
|
||||
index db3fc01..a7ce0d8 100755
|
||||
--- a/package/netifd/files/lib/netifd/dhcp.script
|
||||
+++ b/package/netifd/files/lib/netifd/dhcp.script
|
||||
@@ -50,7 +50,7 @@ setup_interface () {
|
||||
ip6rd="${ip6rd#* }"
|
||||
local ip6rdbr="${ip6rd%% *}"
|
||||
|
||||
- [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE)
|
||||
+ [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE 2>/dev/null)
|
||||
[ -z "$IFACE6RD" -o "$IFACE6RD" = 1 ] && IFACE6RD=${INTERFACE}_6rd
|
||||
|
||||
json_init
|
||||
diff --git a/package/odhcp6c/files/dhcpv6.script b/package/odhcp6c/files/dhcpv6.script
|
||||
index 8c1ba18..146a966 100755
|
||||
--- a/package/odhcp6c/files/dhcpv6.script
|
||||
+++ b/package/odhcp6c/files/dhcpv6.script
|
||||
@@ -97,7 +97,7 @@ setup_interface () {
|
||||
MAPRULE="$LW4O6"
|
||||
fi
|
||||
|
||||
- [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE)
|
||||
+ [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE 2>/dev/null)
|
||||
|
||||
if [ "$IFACE_MAP" != 0 -a -n "$MAPTYPE" -a -n "$MAPRULE" ]; then
|
||||
[ -z "$IFACE_MAP" -o "$IFACE_MAP" = 1 ] && IFACE_MAP=${INTERFACE}_map
|
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
||||
d6597ebf6203328d3519ea3c3371a493
|
||||
f2469bbdb9dd44754c52e799dc02ee7f
|
||||
|
@ -82,8 +82,8 @@ $(eval $(call GluonModel,UBNT,ubnt-unifi-outdoor-squashfs,ubiquiti-unifiap-outdo
|
||||
## D-Link
|
||||
|
||||
# D-Link DIR-615 rev. E1
|
||||
$(eval $(call GluonProfile,DIR615E1))
|
||||
$(eval $(call GluonModel,DIR615E1,dir-615-e1-squashfs,d-link-dir-615-rev-e1))
|
||||
#$(eval $(call GluonProfile,DIR615E1))
|
||||
#$(eval $(call GluonModel,DIR615E1,dir-615-e1-squashfs,d-link-dir-615-rev-e1))
|
||||
|
||||
# D-Link DIR-825 rev. B1
|
||||
$(eval $(call GluonProfile,DIR825B1))
|
||||
|
@ -1,5 +1,5 @@
|
||||
$(eval $(call GluonTarget,ar71xx,generic))
|
||||
|
||||
ifeq ($(BROKEN),1)
|
||||
ifneq ($(BROKEN),)
|
||||
$(eval $(call GluonTarget,x86,generic))
|
||||
endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
||||
fa7af62e0ef1d529ecb7f7efccc706c3
|
||||
142143844bfcd7ade9ea7e57dd843e69
|
||||
|
Loading…
Reference in New Issue
Block a user