Re: [OpenWrt-Devel] [PATCH RFC] broadcom-wl: use CCMP by default for WPA (version 1)

2014-12-04 Thread Rafał Miłecki
On 4 December 2014 at 12:14, Felix Fietkau n...@openwrt.org wrote:
 On 2014-12-04 11:28, Rafał Miłecki wrote:
 On 18 November 2014 at 12:19, Rafał Miłecki zaj...@gmail.com wrote:
 I can see multiple files:
 /sbin/wifi
 /lib/wifi/mac80211.sh
 /lib/netifd/wireless/mac80211.sh
 /lib/netifd/hostapd.sh
 but they mostly don't contain any comments.

 I'm not sure how much it's worth to list unclear parts of that.

 It's confusing to have /lib/netifd/ and /lib/wifi/. It's confusing to
 have two APIs (inconsistent callbacks). I can't understand why even
 for mac80211.sh we keep detecting code in /lib/wifi/. There isn't
 anything documented in the /lib/netifd/netifd-wireless.sh. I have no
 idea how netifd - scripts communication works. What is handled in
 scripts and what in netifd?

 You say that /lib/wifi/*sh is legacy layer. I can understand we need
 it for Broadcom or similar. But what's the point of having mac80211
 there?

 Also why do we have something like /lib/netifd/hostapd.sh? Isn't
 wireless stuff supposed to be in /lib/netifd/wireless/?
 /lib/netifd/wireless/*.sh contains handler scripts executed by netifd
 directly. /lib/netifd/hostapd.sh is just an include used by
 /lib/netifd/wireless/mac80211.sh.
 The only reason that /lib/wifi/mac80211.sh is still there is that netifd
 doesn't handle detecting devices and generating default configurations
 for them. I have removed the actual device setup logic from it a long
 time ago.
 John is currently reworking device detection (including for wifi) - once
 that's done, /lib/wifi/mac80211.sh can be removed.

Thanks for your help!

One more question: what about file pointed by Hauke:
package/network/services/hostapd/files/hostapd.sh
is this ever used?

Also: is my patch correct?

-- 
Rafał
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/5][RESEND] netifd: Fix restore of original device settings

2014-12-04 Thread Hans Dedecker
Don't restore original device settings based on the device settings flags in 
system_if_down
as device flags are already reset when the device config is deleted.
Therefore move the masking of the relevant original device settings to 
system_if_up.

Signed-off-by: Hans Dedecker dedec...@gmail.com
---
 system-linux.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/system-linux.c b/system-linux.c
index ed69bef..4662bf8 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -1033,6 +1033,8 @@ system_if_apply_settings(struct device *dev, struct 
device_settings *s, unsigned
 int system_if_up(struct device *dev)
 {
system_if_get_settings(dev, dev-orig_settings);
+   /* Only keep orig settings based on what needs to be set */
+   dev-orig_settings.flags = dev-settings.flags;
system_if_apply_settings(dev, dev-settings, dev-settings.flags);
return system_if_flags(dev-ifname, IFF_UP, 0);
 }
@@ -1040,7 +1042,6 @@ int system_if_up(struct device *dev)
 int system_if_down(struct device *dev)
 {
int ret = system_if_flags(dev-ifname, 0, IFF_UP);
-   dev-orig_settings.flags = dev-settings.flags;
system_if_apply_settings(dev, dev-orig_settings, 
dev-orig_settings.flags);
return ret;
 }
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/5] [RESEND] netifd: Fix proto shell setup/teardwon race condition

2014-12-04 Thread Hans Dedecker
Fix setup race condition when proto shell is in teardown or setup_abort state 
when setup cmd is received.
Don't change the proto shell state and launch no setup in these conditions so 
the proto shell teardown
timeout handler does not kill the wrong processes and proto_shell_task_finish 
takes action on the correct
teardown state.
Don't launch a new setup action when already in setup state.

Signed-off-by: Hans Dedecker dedec...@gmail.com
---
 proto-shell.c | 20 
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/proto-shell.c b/proto-shell.c
index 0131e19..86933b0 100644
--- a/proto-shell.c
+++ b/proto-shell.c
@@ -156,10 +156,22 @@ proto_shell_handler(struct interface_proto_state *proto,
proc = state-script_task;
 
if (cmd == PROTO_CMD_SETUP) {
-   action = setup;
-   state-last_error = -1;
-   proto_shell_clear_host_dep(state);
-   state-sm = S_SETUP;
+   switch (state-sm) {
+   case S_IDLE:
+   action = setup;
+   state-last_error = -1;
+   proto_shell_clear_host_dep(state);
+   state-sm = S_SETUP;
+   break;
+
+   case S_SETUP_ABORT:
+   case S_TEARDOWN:
+   case S_SETUP:
+   return 0;
+
+   default:
+   return -1;
+   }
} else if (cmd == PROTO_CMD_RENEW) {
if (!(handler-proto.flags  PROTO_FLAG_RENEW_AVAILABLE))
return 0;
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 3/5] [RESEND] netifd: Make possible state transitions more clear when handling teardown event

2014-12-04 Thread Hans Dedecker
Improve code readibility regarding state transitions when handling teardown 
event

Signed-off-by: Hans Dedecker dedec...@gmail.com
---
 proto-shell.c | 33 -
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/proto-shell.c b/proto-shell.c
index 86933b0..977cdbc 100644
--- a/proto-shell.c
+++ b/proto-shell.c
@@ -184,28 +184,35 @@ proto_shell_handler(struct interface_proto_state *proto,
state-renew_pending = false;
action = renew;
} else {
-   if (state-sm == S_TEARDOWN)
-   return 0;
-
-   state-renew_pending = false;
-   if (state-script_task.uloop.pending) {
-   if (state-sm != S_SETUP_ABORT) {
+   switch (state-sm) {
+   case S_SETUP:
+   if (state-script_task.uloop.pending) {
uloop_timeout_set(state-teardown_timeout, 
1000);
kill(state-script_task.uloop.pid, SIGTERM);
if (state-proto_task.uloop.pending)
kill(state-proto_task.uloop.pid, 
SIGTERM);
+   state-renew_pending = false;
state-sm = S_SETUP_ABORT;
+   return 0;
+   }
+   /* fall through if no script task is running */
+   case S_IDLE:
+   action = teardown;
+   state-renew_pending = false;
+   state-sm = S_TEARDOWN;
+   if (state-last_error = 0) {
+   snprintf(error_buf, sizeof(error_buf), 
ERROR=%d, state-last_error);
+   envp[j++] = error_buf;
}
+   uloop_timeout_set(state-teardown_timeout, 5000);
+   break;
+
+   case S_TEARDOWN:
return 0;
-   }
 
-   action = teardown;
-   state-sm = S_TEARDOWN;
-   if (state-last_error = 0) {
-   snprintf(error_buf, sizeof(error_buf), ERROR=%d, 
state-last_error);
-   envp[j++] = error_buf;
+   default:
+   return -1;
}
-   uloop_timeout_set(state-teardown_timeout, 5000);
}
 
D(INTERFACE, run %s for interface '%s'\n, action, proto-iface-name);
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 5/5] netifd: Fix interface auto disable when doing network reload

2014-12-04 Thread Hans Dedecker
Keep interface down when interface auto parameter is set to 0 when doing 
network reload

Signed-off-by: Hans Dedecker dedec...@gmail.com
---
 interface.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/interface.c b/interface.c
index 733b5f1..4b5405e 100644
--- a/interface.c
+++ b/interface.c
@@ -1015,8 +1015,12 @@ interface_change_config(struct interface *if_old, struct 
interface *if_new)
})
 
if_old-config = if_new-config;
-   if (!if_old-config_autostart  if_new-config_autostart)
-   if_old-autostart = true;
+   if (if_old-config_autostart != if_new-config_autostart) {
+   if (if_old-config_autostart)
+   reload = true;
+
+   if_old-autostart = if_new-config_autostart;
+   }
 
if_old-device_config = if_new-device_config;
if_old-config_autostart = if_new-config_autostart;
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 4/5] [V2] netifd: Add igmpversion config support

2014-12-04 Thread Hans Dedecker
Config support to set the IGMP host version on device level; possible values 
are :
1 : IGMPv1
2 : IGMPv2
3 : IGMPv3

Signed-off-by: Hans Dedecker dedec...@gmail.com
---
 device.c   | 11 +++
 device.h   |  3 +++
 system-dummy.c |  6 ++
 system-linux.c | 34 ++
 system.h   |  1 +
 5 files changed, 55 insertions(+)

diff --git a/device.c b/device.c
index aa5818f..6cdfb49 100644
--- a/device.c
+++ b/device.c
@@ -41,6 +41,7 @@ static const struct blobmsg_policy dev_attrs[__DEV_ATTR_MAX] 
= {
[DEV_ATTR_PROMISC] = { .name = promisc, .type = BLOBMSG_TYPE_BOOL },
[DEV_ATTR_RPFILTER] = { .name = rpfilter, .type = BLOBMSG_TYPE_STRING 
},
[DEV_ATTR_ACCEPTLOCAL] = { .name = acceptlocal, .type = 
BLOBMSG_TYPE_BOOL },
+   [DEV_ATTR_IGMPVERSION] = { .name = igmpversion, .type = 
BLOBMSG_TYPE_INT32 },
 };
 
 const struct uci_blob_param_list device_attr_list = {
@@ -158,6 +159,7 @@ device_merge_settings(struct device *dev, struct 
device_settings *n)
n-promisc = s-flags  DEV_OPT_PROMISC ? s-promisc : os-promisc;
n-rpfilter = s-flags  DEV_OPT_RPFILTER ? s-rpfilter : os-rpfilter;
n-acceptlocal = s-flags  DEV_OPT_ACCEPTLOCAL ? s-acceptlocal : 
os-acceptlocal;
+   n-igmpversion = s-flags  DEV_OPT_IGMPVERSION ? s-igmpversion : 
os-igmpversion;
n-flags = s-flags | os-flags;
 }
 
@@ -213,6 +215,13 @@ device_init_settings(struct device *dev, struct blob_attr 
**tb)
s-flags |= DEV_OPT_ACCEPTLOCAL;
}
 
+   if ((cur = tb[DEV_ATTR_IGMPVERSION])) {
+   if (system_resolve_igmpversion(blobmsg_get_u32(cur), 
s-igmpversion))
+   s-flags |= DEV_OPT_IGMPVERSION;
+   else
+   DPRINTF(Failed to resolve igmpversion: %d\n, 
blobmsg_get_u32(cur));
+   }
+
device_set_disabled(dev, disabled);
 }
 
@@ -754,6 +763,8 @@ device_dump_status(struct blob_buf *b, struct device *dev)
blobmsg_add_u32(b, rpfilter, st.rpfilter);
if (st.flags  DEV_OPT_ACCEPTLOCAL)
blobmsg_add_u8(b, acceptlocal, st.acceptlocal);
+   if (st.flags  DEV_OPT_IGMPVERSION)
+   blobmsg_add_u32(b, igmpversion, st.igmpversion);
}
 
s = blobmsg_open_table(b, statistics);
diff --git a/device.h b/device.h
index 8569be7..a83cac8 100644
--- a/device.h
+++ b/device.h
@@ -35,6 +35,7 @@ enum {
DEV_ATTR_PROMISC,
DEV_ATTR_RPFILTER,
DEV_ATTR_ACCEPTLOCAL,
+   DEV_ATTR_IGMPVERSION,
__DEV_ATTR_MAX,
 };
 
@@ -70,6 +71,7 @@ enum {
DEV_OPT_PROMISC = (1  4),
DEV_OPT_RPFILTER= (1  5),
DEV_OPT_ACCEPTLOCAL = (1  6),
+   DEV_OPT_IGMPVERSION = (1  7),
 };
 
 /* events broadcasted to all users of a device */
@@ -119,6 +121,7 @@ struct device_settings {
bool promisc;
unsigned int rpfilter;
bool acceptlocal;
+   unsigned int igmpversion;
 };
 
 /*
diff --git a/system-dummy.c b/system-dummy.c
index 76c6ffa..9542d3c 100644
--- a/system-dummy.c
+++ b/system-dummy.c
@@ -215,6 +215,12 @@ bool system_resolve_rpfilter(const char *filter, unsigned 
int *id)
return true;
 }
 
+bool system_resolve_igmpversion(const unsigned int version, unsigned int *id)
+{
+   *id = 0;
+   return true;
+}
+
 int system_add_iprule(struct iprule *rule)
 {
return 0;
diff --git a/system-linux.c b/system-linux.c
index 4662bf8..7beae09 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -275,6 +275,11 @@ static void system_set_acceptlocal(struct device *dev, 
const char *val)
system_set_dev_sysctl(/proc/sys/net/ipv4/conf/%s/accept_local, 
dev-ifname, val);
 }
 
+static void system_set_igmpversion(struct device *dev, const char *val)
+{
+   system_set_dev_sysctl(/proc/sys/net/ipv4/conf/%s/force_igmp_version, 
dev-ifname, val);
+}
+
 static int system_get_sysctl(const char *path, char *buf, const size_t buf_sz)
 {
int fd = -1, ret = -1;
@@ -321,6 +326,12 @@ static int system_get_acceptlocal(struct device *dev, char 
*buf, const size_t bu
dev-ifname, buf, buf_sz);
 }
 
+static int system_get_igmpversion(struct device *dev, char *buf, const size_t 
buf_sz)
+{
+   return 
system_get_dev_sysctl(/proc/sys/net/ipv4/conf/%s/force_igmp_version,
+   dev-ifname, buf, buf_sz);
+}
+
 // Evaluate netlink messages
 static int cb_rtnl_event(struct nl_msg *msg, void *arg)
 {
@@ -985,6 +996,11 @@ system_if_get_settings(struct device *dev, struct 
device_settings *s)
s-acceptlocal = strtoul(buf, NULL, 0);
s-flags |= DEV_OPT_ACCEPTLOCAL;
}
+
+   if (!system_get_igmpversion(dev, buf, sizeof(buf))) {
+   s-igmpversion = strtoul(buf, NULL, 0);
+   s-flags |= DEV_OPT_IGMPVERSION;
+   }
 }
 
 void
@@ -1028,6 +1044,12 @@ system_if_apply_settings(struct 

[OpenWrt-Devel] [PATCH 1/2] oxnas: re-add support for kernel 3.14

2014-12-04 Thread Daniel Golle
This reverts commit c81de5fd193802d511b42eb7b108aac17136 on
https://gitorious.org/openwrt-oxnas/openwrt-oxnas.git
which removed patches and config for 3.14.

[arm_introduce-dma-fiq-irq-broadcast patch was renamed to match 3.18]

Signed-off-by: Daniel Golle dan...@makrotopia.org
---
 target/linux/oxnas/config-3.14 | 349 +
 .../010-arm_introduce-dma-fiq-irq-broadcast.patch  |  62 
 ...-obtain-reset-controller-from-device-tree.patch |  99 ++
 .../250-add-plxtech-vendor-prefix.patch|  12 +
 .../300-introduce-oxnas-platform.patch |  79 +
 .../oxnas/patches-3.14/310-oxnas-clocksource.patch |  24 ++
 .../oxnas/patches-3.14/320-oxnas-irqchip.patch |  40 +++
 .../oxnas/patches-3.14/330-oxnas-pinctrl.patch |  32 ++
 .../linux/oxnas/patches-3.14/340-oxnas-pcie.patch  |  23 ++
 .../linux/oxnas/patches-3.14/350-oxnas-reset.patch |  20 ++
 .../linux/oxnas/patches-3.14/400-oxnas-nand.patch  |  28 ++
 .../linux/oxnas/patches-3.14/500-oxnas-sata.patch  |  30 ++
 .../linux/oxnas/patches-3.14/800-oxnas-ehci.patch  |  30 ++
 .../linux/oxnas/patches-3.14/900-more-boards.patch |  16 +
 14 files changed, 844 insertions(+)
 create mode 100644 target/linux/oxnas/config-3.14
 create mode 100644 
target/linux/oxnas/patches-3.14/010-arm_introduce-dma-fiq-irq-broadcast.patch
 create mode 100644 
target/linux/oxnas/patches-3.14/100-obtain-reset-controller-from-device-tree.patch
 create mode 100644 
target/linux/oxnas/patches-3.14/250-add-plxtech-vendor-prefix.patch
 create mode 100644 
target/linux/oxnas/patches-3.14/300-introduce-oxnas-platform.patch
 create mode 100644 target/linux/oxnas/patches-3.14/310-oxnas-clocksource.patch
 create mode 100644 target/linux/oxnas/patches-3.14/320-oxnas-irqchip.patch
 create mode 100644 target/linux/oxnas/patches-3.14/330-oxnas-pinctrl.patch
 create mode 100644 target/linux/oxnas/patches-3.14/340-oxnas-pcie.patch
 create mode 100644 target/linux/oxnas/patches-3.14/350-oxnas-reset.patch
 create mode 100644 target/linux/oxnas/patches-3.14/400-oxnas-nand.patch
 create mode 100644 target/linux/oxnas/patches-3.14/500-oxnas-sata.patch
 create mode 100644 target/linux/oxnas/patches-3.14/800-oxnas-ehci.patch
 create mode 100644 target/linux/oxnas/patches-3.14/900-more-boards.patch

diff --git a/target/linux/oxnas/config-3.14 b/target/linux/oxnas/config-3.14
new file mode 100644
index 000..727d81e
--- /dev/null
+++ b/target/linux/oxnas/config-3.14
@@ -0,0 +1,349 @@
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_APM_EMULATION is not set
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_ARCH_NR_GPIO=0
+CONFIG_ARCH_OXNAS=y
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_ARM=y
+# CONFIG_ARM_CPU_SUSPEND is not set
+CONFIG_ARM_GIC=y
+CONFIG_ARM_L1_CACHE_SHIFT=5
+CONFIG_ARM_NR_BANKS=8
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_ARM_THUMB=y
+CONFIG_ARM_UNWIND=y
+CONFIG_ATA=y
+CONFIG_AUTO_ZRELADDR=y
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
+# CONFIG_CACHE_L2X0 is not set
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_CLKSRC_OF=y
+CONFIG_CLKSRC_RPS_TIMER=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_CMDLINE=console=ttyS0,115200n8 earlyprintk=serial
+CONFIG_COMMON_CLK=y
+CONFIG_COMPACTION=y
+CONFIG_CONSOLE_POLL=y
+CONFIG_COREDUMP=y
+CONFIG_CPU_32v6=y
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_ABRT_EV6=y
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_CPU_CACHE_V6=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+CONFIG_CPU_HAS_ASID=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_CPU_PABRT_V6=y
+CONFIG_CPU_PM=y
+CONFIG_CPU_RMAP=y
+CONFIG_CPU_TLB_V6=y
+CONFIG_CPU_V6K=y
+CONFIG_CRC16=y
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_XZ=y
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_DEBUG_LL=y
+CONFIG_DEBUG_LL_INCLUDE=mach/debug-macro.S
+# CONFIG_DEBUG_LL_UART_8250 is not set
+CONFIG_DEBUG_LL_UART_NONE=y
+# CONFIG_DEBUG_LL_UART_PL01X is not set
+# CONFIG_DEBUG_UART_8250 is not set
+# CONFIG_DEBUG_UART_PL01X is not set
+# CONFIG_DEBUG_USER is not set
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=8
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DIRECT_IO=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_CACHE_FIQ_BROADCAST=y
+# CONFIG_DMA_CACHE_RWFO is not set

[OpenWrt-Devel] [PATCH 2/2] oxnas: switch back to kernel 3.14

2014-12-04 Thread Daniel Golle
3.18 still got problems with stuck reboots if rootfs is ubifs...

Signed-off-by: Daniel Golle dan...@makrotopia.org
---
 target/linux/oxnas/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/oxnas/Makefile b/target/linux/oxnas/Makefile
index 2a99f51..d957fca 100644
--- a/target/linux/oxnas/Makefile
+++ b/target/linux/oxnas/Makefile
@@ -15,7 +15,7 @@ CPU_TYPE:=mpcore
 
 MAINTAINER:=Daniel Golle dan...@makrotopia.org
 
-KERNEL_PATCHVER:=3.18
+KERNEL_PATCHVER:=3.14
 
 include $(INCLUDE_DIR)/target.mk
 
-- 
2.1.3
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] oxnas: re-add support for kernel 3.14

2014-12-04 Thread John Crispin
great, oxnas will now be part of CC :)

On 04/12/2014 23:51, Daniel Golle wrote:
 This reverts commit c81de5fd193802d511b42eb7b108aac17136 on 
 https://gitorious.org/openwrt-oxnas/openwrt-oxnas.git which removed
 patches and config for 3.14.
 
 [arm_introduce-dma-fiq-irq-broadcast patch was renamed to match
 3.18]
 
 Signed-off-by: Daniel Golle dan...@makrotopia.org --- 
 target/linux/oxnas/config-3.14 | 349
 + 
 .../010-arm_introduce-dma-fiq-irq-broadcast.patch  |  62  
 ...-obtain-reset-controller-from-device-tree.patch |  99 ++ 
 .../250-add-plxtech-vendor-prefix.patch|  12 + 
 .../300-introduce-oxnas-platform.patch |  79 + 
 .../oxnas/patches-3.14/310-oxnas-clocksource.patch |  24 ++ 
 .../oxnas/patches-3.14/320-oxnas-irqchip.patch |  40 +++ 
 .../oxnas/patches-3.14/330-oxnas-pinctrl.patch |  32 ++ 
 .../linux/oxnas/patches-3.14/340-oxnas-pcie.patch  |  23 ++ 
 .../linux/oxnas/patches-3.14/350-oxnas-reset.patch |  20 ++ 
 .../linux/oxnas/patches-3.14/400-oxnas-nand.patch  |  28 ++ 
 .../linux/oxnas/patches-3.14/500-oxnas-sata.patch  |  30 ++ 
 .../linux/oxnas/patches-3.14/800-oxnas-ehci.patch  |  30 ++ 
 .../linux/oxnas/patches-3.14/900-more-boards.patch |  16 + 14 files
 changed, 844 insertions(+) create mode 100644
 target/linux/oxnas/config-3.14 create mode 100644
 target/linux/oxnas/patches-3.14/010-arm_introduce-dma-fiq-irq-broadcast.patch

 
create mode 100644
target/linux/oxnas/patches-3.14/100-obtain-reset-controller-from-device-tree.patch
 create mode 100644
 target/linux/oxnas/patches-3.14/250-add-plxtech-vendor-prefix.patch

 
create mode 100644
target/linux/oxnas/patches-3.14/300-introduce-oxnas-platform.patch
 create mode 100644
 target/linux/oxnas/patches-3.14/310-oxnas-clocksource.patch create
 mode 100644
 target/linux/oxnas/patches-3.14/320-oxnas-irqchip.patch create mode
 100644 target/linux/oxnas/patches-3.14/330-oxnas-pinctrl.patch 
 create mode 100644
 target/linux/oxnas/patches-3.14/340-oxnas-pcie.patch create mode
 100644 target/linux/oxnas/patches-3.14/350-oxnas-reset.patch create
 mode 100644 target/linux/oxnas/patches-3.14/400-oxnas-nand.patch 
 create mode 100644
 target/linux/oxnas/patches-3.14/500-oxnas-sata.patch create mode
 100644 target/linux/oxnas/patches-3.14/800-oxnas-ehci.patch create
 mode 100644 target/linux/oxnas/patches-3.14/900-more-boards.patch
 
 diff --git a/target/linux/oxnas/config-3.14
 b/target/linux/oxnas/config-3.14 new file mode 100644 index
 000..727d81e --- /dev/null +++
 b/target/linux/oxnas/config-3.14 @@ -0,0 +1,349 @@ 
 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_APM_EMULATION is not set 
 +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y 
 +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y 
 +CONFIG_ARCH_HAS_RESET_CONTROLLER=y 
 +CONFIG_ARCH_HAS_TICK_BROADCAST=y 
 +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y 
 +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +#
 CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set 
 +CONFIG_ARCH_NR_GPIO=0 +CONFIG_ARCH_OXNAS=y 
 +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_SELECT_MEMORY_MODEL
 is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set 
 +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y 
 +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y 
 +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y 
 +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARM=y +#
 CONFIG_ARM_CPU_SUSPEND is not set +CONFIG_ARM_GIC=y 
 +CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_ARM_NR_BANKS=8 
 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_ARM_THUMB=y 
 +CONFIG_ARM_UNWIND=y +CONFIG_ATA=y +CONFIG_AUTO_ZRELADDR=y +#
 CONFIG_BLK_DEV_INITRD is not set +CONFIG_BLK_DEV_SD=y 
 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y 
 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 
 +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y 
 +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +# CONFIG_CACHE_L2X0 is
 not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_MMIO=y 
 +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_RPS_TIMER=y 
 +CONFIG_CLONE_BACKWARDS=y +CONFIG_CMDLINE=console=ttyS0,115200n8
 earlyprintk=serial +CONFIG_COMMON_CLK=y +CONFIG_COMPACTION=y 
 +CONFIG_CONSOLE_POLL=y +CONFIG_COREDUMP=y +CONFIG_CPU_32v6=y 
 +CONFIG_CPU_32v6K=y +CONFIG_CPU_ABRT_EV6=y +#
 CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V6=y 
 +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y 
 +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_HAS_ASID=y +#
 CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_IDLE=y 
 +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y 
 +CONFIG_CPU_PABRT_V6=y +CONFIG_CPU_PM=y +CONFIG_CPU_RMAP=y 
 +CONFIG_CPU_TLB_V6=y +CONFIG_CPU_V6K=y +CONFIG_CRC16=y 
 +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_DEFLATE=y 
 +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_LZO=y 
 +CONFIG_CRYPTO_XZ=y +CONFIG_DCACHE_WORD_ACCESS=y 
 +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_LL_INCLUDE=mach/debug-macro.S +#
 CONFIG_DEBUG_LL_UART_8250 is not set +CONFIG_DEBUG_LL_UART_NONE=y 
 +# CONFIG_DEBUG_LL_UART_PL01X is not set +# CONFIG_DEBUG_UART_8250
 is not set +# CONFIG_DEBUG_UART_PL01X is not set +#
 

[OpenWrt-Devel] [PATCH 2/2] octeon: sysupgrade: support config restore

2014-12-04 Thread Stijn Tintel
---
 target/linux/octeon/base-files/lib/upgrade/platform.sh | 9 +
 1 file changed, 9 insertions(+)

diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh 
b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index 11399a2..d81d7fd 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -23,6 +23,15 @@ platform_get_rootfs() {
fi
 }
 
+platform_copy_config() {
+   local board=$(octeon_board_name)
+   local rootfs=$(platform_get_rootfs)
+
+   mount -t ext4 -o rw,noatime ${rootfs} /mnt
+   cp -af $CONF_TAR /mnt/
+   umount /mnt
+}
+
 platform_do_upgrade() {
local board=$(octeon_board_name)
local rootfs=$(platform_get_rootfs)
-- 
1.8.5.5
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/2] octeon: sysupgrade: get rootfsdev from kernel cmdline

2014-12-04 Thread Stijn Tintel
Signed-off-by: Stijn Tintel st...@linux-ipv6.be
---
 .../octeon/base-files/lib/upgrade/platform.sh  | 26 --
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh 
b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index e4c7b6f..11399a2 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -1,11 +1,33 @@
 #
-# Copyright (C) 2010 OpenWrt.org
+# Copyright (C) 2014 OpenWrt.org
 #
 
 . /lib/functions/octeon.sh
 
+platform_get_rootfs() {
+   local rootfsdev
+
+   if read cmdline  /proc/cmdline; then
+   case $cmdline in
+   *block2mtd=*)
+   rootfsdev=${cmdline##*block2mtd=}
+   rootfsdev=${rootfsdev%%,*}
+   ;;
+   *root=*)
+   rootfsdev=${cmdline##*root=}
+   rootfsdev=${rootfsdev%% *}
+   ;;
+   esac
+
+   echo ${rootfsdev}
+   fi
+}
+
 platform_do_upgrade() {
local board=$(octeon_board_name)
+   local rootfs=$(platform_get_rootfs)
+
+   [ -d ${rootfs} ] || return 1
 
case $board in
erlite)
@@ -22,7 +44,7 @@ platform_do_upgrade() {
mount -t vfat /dev/sda1 /boot
tar xf $tar_file sysupgrade-erlite/kernel -O  /boot/vmlinux.64
md5sum /boot/vmlinux.64 | cut -f1 -d/boot/vmlinux.64.md5
-   tar xf $tar_file sysupgrade-erlite/root -O | dd of=/dev/sda2 
bs=4096
+   tar xf $tar_file sysupgrade-erlite/root -O | dd of=${rootfs} 
bs=4096
sync
umount /mnt
return 0
-- 
1.8.5.5
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/3] octeon: sysupgrade: support config restore

2014-12-04 Thread Stijn Tintel
---
 target/linux/octeon/base-files/lib/upgrade/platform.sh | 9 +
 1 file changed, 9 insertions(+)

diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh 
b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index 11399a2..d81d7fd 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -23,6 +23,15 @@ platform_get_rootfs() {
fi
 }
 
+platform_copy_config() {
+   local board=$(octeon_board_name)
+   local rootfs=$(platform_get_rootfs)
+
+   mount -t ext4 -o rw,noatime ${rootfs} /mnt
+   cp -af $CONF_TAR /mnt/
+   umount /mnt
+}
+
 platform_do_upgrade() {
local board=$(octeon_board_name)
local rootfs=$(platform_get_rootfs)
-- 
1.8.5.5
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 3/3] octeon: add support for 3.18 kernel

2014-12-04 Thread Stijn Tintel
Runtime tested on Ubiquiti EdgeRouter Lite.

Signed-off-by: Stijn Tintel st...@linux-ipv6.be
---
 target/linux/octeon/config-3.18| 252 +
 .../100-ubnt_edgerouter2_support.patch |  31 +++
 .../110-er200-ethernet_probe_order.patch   |  34 +++
 .../patches-3.18/120-octeon_platform_usb.patch |  20 ++
 4 files changed, 337 insertions(+)
 create mode 100644 target/linux/octeon/config-3.18
 create mode 100644 
target/linux/octeon/patches-3.18/100-ubnt_edgerouter2_support.patch
 create mode 100644 
target/linux/octeon/patches-3.18/110-er200-ethernet_probe_order.patch
 create mode 100644 
target/linux/octeon/patches-3.18/120-octeon_platform_usb.patch

diff --git a/target/linux/octeon/config-3.18 b/target/linux/octeon/config-3.18
new file mode 100644
index 000..280014c
--- /dev/null
+++ b/target/linux/octeon/config-3.18
@@ -0,0 +1,252 @@
+CONFIG_64BIT=y
+CONFIG_64BIT_PHYS_ADDR=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+# CONFIG_ARCH_HAS_SG_CHAIN is not set
+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
+# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
+CONFIG_BINFMT_ELF32=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLOCK_COMPAT=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_BUILTIN_DTB=y
+# CONFIG_CAVIUM_CN63XXP1 is not set
+# CONFIG_CAVIUM_OCTEON_2ND_KERNEL is not set
+CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE=2
+CONFIG_CAVIUM_OCTEON_LOCK_L2=y
+CONFIG_CAVIUM_OCTEON_LOCK_L2_EXCEPTION=y
+CONFIG_CAVIUM_OCTEON_LOCK_L2_INTERRUPT=y
+CONFIG_CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT=y
+CONFIG_CAVIUM_OCTEON_LOCK_L2_MEMCPY=y
+CONFIG_CAVIUM_OCTEON_LOCK_L2_TLB=y
+CONFIG_CAVIUM_OCTEON_SOC=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_CEVT_R4K=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_COMPAT=y
+CONFIG_COMPAT_BRK=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+CONFIG_CPU_BIG_ENDIAN=y
+CONFIG_CPU_CAVIUM_OCTEON=y
+CONFIG_CPU_GENERIC_DUMP_TLB=y
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_CPU_HAS_SYNC=y
+CONFIG_CPU_MIPSR2=y
+CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y
+CONFIG_CPU_RMAP=y
+CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_CPU_SUPPORTS_HUGEPAGES=y
+CONFIG_CRAMFS=y
+CONFIG_CRC16=y
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_DEBUG_INFO=y
+CONFIG_DEBUG_SPINLOCK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEVKMEM=y
+CONFIG_DMA_COHERENT=y
+CONFIG_DNOTIFY=y
+CONFIG_DTC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_EDAC_SUPPORT=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_EXT4_FS=y
+CONFIG_FAT_FS=y
+CONFIG_FRAME_WARN=2048
+CONFIG_FS_MBCACHE=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_IO=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIO_OCTEON=y
+CONFIG_GPIO_SYSFS=y
+# CONFIG_HAMRADIO is not set
+CONFIG_HARDWARE_WATCHPOINTS=y
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_HAVE_BPF_JIT=y
+CONFIG_HAVE_CC_STACKPROTECTOR=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_HOLES_IN_ZONE=y
+# CONFIG_HUGETLBFS is not set
+CONFIG_HW_HAS_PCI=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_OCTEON=y
+CONFIG_HZ=250
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+CONFIG_HZ_PERIODIC=y
+CONFIG_INITRAMFS_SOURCE=
+CONFIG_IOMMU_HELPER=y
+CONFIG_IRQCHIP=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_IRQ_WORK=y
+CONFIG_JBD2=y
+CONFIG_KALLSYMS=y
+CONFIG_KERNFS=y
+CONFIG_KEXEC=y
+CONFIG_LIBFDT=y
+CONFIG_MDIO_BOARDINFO=y
+CONFIG_MDIO_OCTEON=y

[OpenWrt-Devel] [PATCH 1/3] octeon: sysupgrade: get rootfsdev from kernel cmdline

2014-12-04 Thread Stijn Tintel
Signed-off-by: Stijn Tintel st...@linux-ipv6.be
---
 .../octeon/base-files/lib/upgrade/platform.sh  | 26 --
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh 
b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index e4c7b6f..11399a2 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -1,11 +1,33 @@
 #
-# Copyright (C) 2010 OpenWrt.org
+# Copyright (C) 2014 OpenWrt.org
 #
 
 . /lib/functions/octeon.sh
 
+platform_get_rootfs() {
+   local rootfsdev
+
+   if read cmdline  /proc/cmdline; then
+   case $cmdline in
+   *block2mtd=*)
+   rootfsdev=${cmdline##*block2mtd=}
+   rootfsdev=${rootfsdev%%,*}
+   ;;
+   *root=*)
+   rootfsdev=${cmdline##*root=}
+   rootfsdev=${rootfsdev%% *}
+   ;;
+   esac
+
+   echo ${rootfsdev}
+   fi
+}
+
 platform_do_upgrade() {
local board=$(octeon_board_name)
+   local rootfs=$(platform_get_rootfs)
+
+   [ -d ${rootfs} ] || return 1
 
case $board in
erlite)
@@ -22,7 +44,7 @@ platform_do_upgrade() {
mount -t vfat /dev/sda1 /boot
tar xf $tar_file sysupgrade-erlite/kernel -O  /boot/vmlinux.64
md5sum /boot/vmlinux.64 | cut -f1 -d/boot/vmlinux.64.md5
-   tar xf $tar_file sysupgrade-erlite/root -O | dd of=/dev/sda2 
bs=4096
+   tar xf $tar_file sysupgrade-erlite/root -O | dd of=${rootfs} 
bs=4096
sync
umount /mnt
return 0
-- 
1.8.5.5
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/3] octeon: sysupgrade: get rootfsdev from kernel cmdline

2014-12-04 Thread Stijn Tintel
On 05-12-14 01:01, Stijn Tintel wrote:
  platform_do_upgrade() {
   local board=$(octeon_board_name)
 + local rootfs=$(platform_get_rootfs)
 +
 + [ -d ${rootfs} ] || return 1
This should be -b, please ignore this patch series, I'll send a new one.

Kind regards,
Stijn
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/3] octeon: sysupgrade: get rootfsdev from kernel cmdline

2014-12-04 Thread John Crispin
too late ... i just pushed the code :) send a fix up patch please



On 05/12/2014 01:21, Stijn Tintel wrote:
 On 05-12-14 01:01, Stijn Tintel wrote:
  platform_do_upgrade() {
  local board=$(octeon_board_name)
 +local rootfs=$(platform_get_rootfs)
 +
 +[ -d ${rootfs} ] || return 1
 This should be -b, please ignore this patch series, I'll send a new one.
 
 Kind regards,
 Stijn
 ___
 openwrt-devel mailing list
 openwrt-devel@lists.openwrt.org
 https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
 
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] octeon: sysupgrade: fix test for rootfs device

2014-12-04 Thread Stijn Tintel
Signed-off-by: Stijn Tintel st...@linux-ipv6.be
---
 target/linux/octeon/base-files/lib/upgrade/platform.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh 
b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index d81d7fd..1df3d17 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -36,7 +36,7 @@ platform_do_upgrade() {
local board=$(octeon_board_name)
local rootfs=$(platform_get_rootfs)
 
-   [ -d ${rootfs} ] || return 1
+   [ -b ${rootfs} ] || return 1
 
case $board in
erlite)
-- 
1.8.5.5
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] CC release dates? (Was Re: [PATCH 1/2] oxnas: re-add support for kernel 3.14)

2014-12-04 Thread Karl P
That's the second[2] email I've seen that hints at some sort of formal date 
being known for CC, or some plan, or some detail.


It would be appreciated if this magical special knowledge was shared a little 
wider.  I haven't seen _any_ emails or irc conversations about _any_ dates or 
guidelines for any upcoming release.  I can't see any release branches.  I don't 
know where else I should be looking.


Is there some release guidelines that I should know about?  Have there been 
decisions taken by anyone?  I'm not asking to be involved in the decision making 
process, but I would very much like to know when decisions have been made.


Sincerely,
Karl P



[2]http://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg27746.html


On 12/04/2014 10:53 PM, John Crispin wrote:

great, oxnas will now be part of CC :)

On 04/12/2014 23:51, Daniel Golle wrote:

This reverts commit c81de5fd193802d511b42eb7b108aac17136 on
https://gitorious.org/openwrt-oxnas/openwrt-oxnas.git which removed
patches and config for 3.14.

[arm_introduce-dma-fiq-irq-broadcast patch was renamed to match
3.18]

Signed-off-by: Daniel Golle dan...@makrotopia.org ---
target/linux/oxnas/config-3.14 | 349
+
.../010-arm_introduce-dma-fiq-irq-broadcast.patch  |  62 
...-obtain-reset-controller-from-device-tree.patch |  99 ++
.../250-add-plxtech-vendor-prefix.patch|  12 +
.../300-introduce-oxnas-platform.patch |  79 +
.../oxnas/patches-3.14/310-oxnas-clocksource.patch |  24 ++
.../oxnas/patches-3.14/320-oxnas-irqchip.patch |  40 +++
.../oxnas/patches-3.14/330-oxnas-pinctrl.patch |  32 ++
.../linux/oxnas/patches-3.14/340-oxnas-pcie.patch  |  23 ++
.../linux/oxnas/patches-3.14/350-oxnas-reset.patch |  20 ++
.../linux/oxnas/patches-3.14/400-oxnas-nand.patch  |  28 ++
.../linux/oxnas/patches-3.14/500-oxnas-sata.patch  |  30 ++
.../linux/oxnas/patches-3.14/800-oxnas-ehci.patch  |  30 ++
.../linux/oxnas/patches-3.14/900-more-boards.patch |  16 + 14 files
changed, 844 insertions(+) create mode 100644
target/linux/oxnas/config-3.14 create mode 100644
target/linux/oxnas/patches-3.14/010-arm_introduce-dma-fiq-irq-broadcast.patch



create mode 100644
target/linux/oxnas/patches-3.14/100-obtain-reset-controller-from-device-tree.patch

create mode 100644
target/linux/oxnas/patches-3.14/250-add-plxtech-vendor-prefix.patch



create mode 100644
target/linux/oxnas/patches-3.14/300-introduce-oxnas-platform.patch

create mode 100644
target/linux/oxnas/patches-3.14/310-oxnas-clocksource.patch create
mode 100644
target/linux/oxnas/patches-3.14/320-oxnas-irqchip.patch create mode
100644 target/linux/oxnas/patches-3.14/330-oxnas-pinctrl.patch
create mode 100644
target/linux/oxnas/patches-3.14/340-oxnas-pcie.patch create mode
100644 target/linux/oxnas/patches-3.14/350-oxnas-reset.patch create
mode 100644 target/linux/oxnas/patches-3.14/400-oxnas-nand.patch
create mode 100644
target/linux/oxnas/patches-3.14/500-oxnas-sata.patch create mode
100644 target/linux/oxnas/patches-3.14/800-oxnas-ehci.patch create
mode 100644 target/linux/oxnas/patches-3.14/900-more-boards.patch

diff --git a/target/linux/oxnas/config-3.14
b/target/linux/oxnas/config-3.14 new file mode 100644 index
000..727d81e --- /dev/null +++
b/target/linux/oxnas/config-3.14 @@ -0,0 +1,349 @@
+CONFIG_ALIGNMENT_TRAP=y +# CONFIG_APM_EMULATION is not set
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +#
CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_ARCH_NR_GPIO=0 +CONFIG_ARCH_OXNAS=y
+CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_SELECT_MEMORY_MODEL
is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARM=y +#
CONFIG_ARM_CPU_SUSPEND is not set +CONFIG_ARM_GIC=y
+CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_ARM_NR_BANKS=8
+CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_ARM_THUMB=y
+CONFIG_ARM_UNWIND=y +CONFIG_ATA=y +CONFIG_AUTO_ZRELADDR=y +#
CONFIG_BLK_DEV_INITRD is not set +CONFIG_BLK_DEV_SD=y
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +# CONFIG_CACHE_L2X0 is
not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_MMIO=y
+CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_RPS_TIMER=y
+CONFIG_CLONE_BACKWARDS=y +CONFIG_CMDLINE=console=ttyS0,115200n8
earlyprintk=serial +CONFIG_COMMON_CLK=y +CONFIG_COMPACTION=y
+CONFIG_CONSOLE_POLL=y +CONFIG_COREDUMP=y +CONFIG_CPU_32v6=y
+CONFIG_CPU_32v6K=y +CONFIG_CPU_ABRT_EV6=y +#
CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V6=y
+CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_HAS_ASID=y +#

[OpenWrt-Devel] [PATCH] Mark libnet-1.1.x as broken

2014-12-04 Thread Matthew M. Dean
libnet-1.1.x fails to compile with -Werror=format-security. Instead of
adding PKG_CHECK_FORMAT_SECURITY and ignoring potential security
vulnerabilities and marked fixed, it should be marked as broken.

Signed-off-by: Matthew M. Dean firecu...@gmail.com

 diff --git a/libs/libnet-1.1.x/Makefile b/libs/libnet-1.1.x/Makefile
index a4d2dff..2cd670c 100644
--- a/libs/libnet-1.1.x/Makefile
+++ b/libs/libnet-1.1.x/Makefile
@@ -25,7 +25,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/libnet1
   SECTION:=libs
   CATEGORY:=Libraries
-  DEPENDS:=+libpcap
+  DEPENDS:=+libpcap @BROKEN
   TITLE:=Low-level packet creation library (v1.1.x)
   URL:=http://www.packetfactory.net/libnet/
 endef
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 3/3] octeon: sysupgrade: support config restore on ERL

2014-12-04 Thread Stijn Tintel
Signed-off-by: Stijn Tintel st...@linux-ipv6.be
---
 .../linux/octeon/base-files/lib/preinit/79_move_config | 18 ++
 target/linux/octeon/base-files/lib/upgrade/platform.sh | 11 +++
 2 files changed, 25 insertions(+), 4 deletions(-)
 create mode 100644 target/linux/octeon/base-files/lib/preinit/79_move_config

diff --git a/target/linux/octeon/base-files/lib/preinit/79_move_config 
b/target/linux/octeon/base-files/lib/preinit/79_move_config
new file mode 100644
index 000..39cefd5
--- /dev/null
+++ b/target/linux/octeon/base-files/lib/preinit/79_move_config
@@ -0,0 +1,18 @@
+#!/bin/sh
+# Copyright (C) 2014 OpenWrt.org
+
+move_config() {
+   . /lib/functions/octeon.sh
+
+   local board=$(octeon_board_name)
+
+   case $board in
+   erlite)
+   mount -t vfat /dev/sda1 /mnt
+   mv -f /mnt/sysupgrade.tgz /
+   umount /mnt
+   ;;
+   esac
+}
+
+boot_hook_add preinit_mount_root move_config
diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh 
b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index 8d6f9a1..ad075d5 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -25,11 +25,14 @@ platform_get_rootfs() {
 
 platform_copy_config() {
local board=$(octeon_board_name)
-   local rootfs=$(platform_get_rootfs)
 
-   mount -t ext4 -o rw,noatime ${rootfs} /mnt
-   cp -af $CONF_TAR /mnt/
-   umount /mnt
+   case $board in
+   erlite)
+   mount -t vfat /dev/sda1 /mnt
+   cp -af $CONF_TAR /mnt/
+   umount /mnt
+   ;;
+   esac
 }
 
 platform_do_upgrade() {
-- 
2.0.4
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/3] octeon: sysupgrade: fix test for rootfs device

2014-12-04 Thread Stijn Tintel
Signed-off-by: Stijn Tintel st...@linux-ipv6.be
---
 target/linux/octeon/base-files/lib/upgrade/platform.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh 
b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index d81d7fd..1df3d17 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -36,7 +36,7 @@ platform_do_upgrade() {
local board=$(octeon_board_name)
local rootfs=$(platform_get_rootfs)
 
-   [ -d ${rootfs} ] || return 1
+   [ -b ${rootfs} ] || return 1
 
case $board in
erlite)
-- 
2.0.4
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/3] octeon: sysupgrade: rename old kernel after mounting /boot

2014-12-04 Thread Stijn Tintel
Signed-off-by: Stijn Tintel st...@linux-ipv6.be
---
 target/linux/octeon/base-files/lib/upgrade/platform.sh | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh 
b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index 1df3d17..8d6f9a1 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -44,18 +44,19 @@ platform_do_upgrade() {
local kernel_length=`(tar xf $tar_file sysupgrade-erlite/kernel 
-O | wc -c) 2 /dev/null`
local rootfs_length=`(tar xf $tar_file sysupgrade-erlite/root 
-O | wc -c) 2 /dev/null`
 
+   mkdir -p /boot
+   mount -t vfat /dev/sda1 /boot
+
[ -f /boot/vmlinux.64 -a ! -L /boot/vmlinux.64 ]  {
mv /boot/vmlinux.64 /boot/vmlinux.64.previous
mv /boot/vmlinux.64.md5 /boot/vmlinux.64.md5.previous
}
 
-   mkdir -p /boot
-   mount -t vfat /dev/sda1 /boot
tar xf $tar_file sysupgrade-erlite/kernel -O  /boot/vmlinux.64
md5sum /boot/vmlinux.64 | cut -f1 -d/boot/vmlinux.64.md5
tar xf $tar_file sysupgrade-erlite/root -O | dd of=${rootfs} 
bs=4096
sync
-   umount /mnt
+   umount /boot
return 0
;;
esac
-- 
2.0.4
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] ar934x+ar8327v4

2014-12-04 Thread David Hutchison
Hi,

I ran into an issue with the Mikrotik Routerboard 951G's switch chip.
The new batch that we received use an updated ar8327 switch chip. The
switch chip would not function properly so I decided to load trunk and
utilize your patches.

dmesg shows the following:

switch0: Atheros AR8327 rev. 4 switch registered on ag71xx-mdio.0
libphy: ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xb900, irq 4, mode:RGMII
ag71xx ag71xx.0 eth0: connected to PHY at ag71xx-mdio.0:00
[uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]

It appears the updated ar8216.c with your changes have successfully
initialized the chip. In fact I can even use swconfig dev switch0 to
create vlans etc.

If I create a port vlan ( eg. put ports 1 - 2 in vlan 1 ). I can plug
ethernet cables into each port and push data from port 1 to port 2
etc. It appears the switch driver is working correctly.

What is broken is the interface handle eth0. It exposes eth0 and
ties it to the switch correctly ( as you can see from the above dmesg
output ). I then assign an IP address to eth0, however when I try to
ping a device connected to the switch. I get no response. There is no
arp traffic either. It's like data from the eth0 handle doesn't know
how to route through the switch.

It appears like the switch hardware is working ( since port 1 can
communicate to port 2 ). However when eth0 attempts to communicate
to a device on port 1, it doesn't work. The device on port 1 cannot
communicate with the eth0 interface either.

I think your patches are specifically for the switch only. If that's
the case, then they are working. However, with your knowledge of
ar8327 could you point me into the direction of fixing the eth0
interface communicating to the ar8327 switch properly? Is there
something in ag71xx that I should be looking at? Could the ar8327
switch not be initializing properly? The probe is definitely finding
*AR8327* so that seems to be OK. I am guessing this is something
specific with the ar924x CPU + ar8327 switch chip. I'm open to any
suggestions :-)

-- Davey
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 0/3] ag71xx: minor improvements patch series

2014-12-04 Thread Heiner Kallweit
Patch 1/3
ag71xx: replace fixed PHY reset wait time in ar7240sw_setup

Patch 2/3
ag71xx: replace delay with sleep calls

Patch 3/3
ar71xx: dev-eth: replace further mdelay calls

Successfully tested on a TP-LINK TL-WDR4300.
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/3] ag71xx: replace delay with sleep calls

2014-12-04 Thread Heiner Kallweit
I don't see that we're in an atomic context so there's no need to
busy-wait. Therefore replace the delay with sleep calls.
See also Documentation/timers/timers-howto.txt. It states:
In general, use of mdelay is discouraged and code should
be refactored to allow for the use of msleep.

Signed-off-by: Heiner Kallweit hkallwe...@gmail.com
---
 .../files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c | 4 ++--
 .../files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c   | 8 
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c
index 0a6d0ca..fed2b5a 100644
--- 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c
+++ 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c
@@ -445,7 +445,7 @@ static int __ar7240sw_reg_wait(struct mii_bus *mii, u32 
reg, u32 mask, u32 val,
if ((t  mask) == val)
return 0;
 
-   msleep(1);
+   usleep_range(1000, 2000);
}
 
return -ETIMEDOUT;
@@ -654,7 +654,7 @@ static int ar7240sw_reset(struct ar7240sw *as)
ar7240sw_disable_port(as, i);
 
/* Wait for transmit queues to drain. */
-   msleep(2);
+   usleep_range(2000, 3000);
 
/* Reset the switch. */
ar7240sw_reg_write(mii, AR7240_REG_MASK_CTRL,
diff --git 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
index 892d5e6..259cc20 100644
--- 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
+++ 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
@@ -470,18 +470,18 @@ static void ag71xx_hw_init(struct ag71xx *ag)
reset_mask = ~(AR71XX_RESET_GE0_PHY | AR71XX_RESET_GE1_PHY);
 
ath79_device_reset_set(reset_phy);
-   mdelay(50);
+   msleep(50);
ath79_device_reset_clear(reset_phy);
-   mdelay(200);
+   msleep(200);
}
 
ag71xx_sb(ag, AG71XX_REG_MAC_CFG1, MAC_CFG1_SR);
udelay(20);
 
ath79_device_reset_set(reset_mask);
-   mdelay(100);
+   msleep(100);
ath79_device_reset_clear(reset_mask);
-   mdelay(200);
+   msleep(200);
 
ag71xx_hw_setup(ag);
 
-- 
2.1.3
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/3] ag71xx: replace fixed PHY reset wait time in ar7240sw_setup

2014-12-04 Thread Heiner Kallweit
Replace the fixed wait time of 1s with polling for BMCR_RESET
to be cleared on all PHYs.

Signed-off-by: Heiner Kallweit hkallwe...@gmail.com
---
 .../net/ethernet/atheros/ag71xx/ag71xx_ar7240.c| 29 +-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c
index d4ccc02..0a6d0ca 100644
--- 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c
+++ 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c
@@ -618,6 +618,31 @@ static void ar7240sw_setup(struct ar7240sw *as)
ar7240sw_reg_rmw(mii, AR7240_REG_SERVICE_TAG, AR7240_SERVICE_TAG_M, 0);
 }
 
+/* inspired by phy_poll_reset in drivers/net/phy/phy_device.c */
+static int
+ar7240sw_phy_poll_reset(struct mii_bus *bus)
+{
+   const unsigned int sleep_msecs = 20;
+   int ret, elapsed, i;
+
+   for (elapsed = sleep_msecs; elapsed = 600;
+elapsed += sleep_msecs) {
+   msleep(sleep_msecs);
+   for (i = 0; i  AR7240_NUM_PHYS; i++) {
+   ret = ar7240sw_phy_read(bus, i, MII_BMCR);
+   if (ret  0)
+   return ret;
+   if (ret  BMCR_RESET)
+   break;
+   if (i == AR7240_NUM_PHYS - 1) {
+   usleep_range(1000, 2000);
+   return 0;
+   }
+   }
+   }
+   return -ETIMEDOUT;
+}
+
 static int ar7240sw_reset(struct ar7240sw *as)
 {
struct mii_bus *mii = as-mii_bus;
@@ -646,7 +671,9 @@ static int ar7240sw_reset(struct ar7240sw *as)
ar7240sw_phy_write(mii, i, MII_BMCR,
   BMCR_RESET | BMCR_ANENABLE);
}
-   msleep(1000);
+   ret = ar7240sw_phy_poll_reset(mii);
+   if (ret)
+   return ret;
 
ar7240sw_setup(as);
return ret;
-- 
2.1.3
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 3/3] ar71xx: dev-eth: replace mdelay calls

2014-12-04 Thread Heiner Kallweit
Similar to patch 2. Replace further mdelay calls.

Signed-off-by: Heiner Kallweit hkallwe...@gmail.com
---
 target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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 f106e22..c6842aa 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
@@ -1113,10 +1113,10 @@ void __init ath79_register_eth(unsigned int id)
 
/* Reset the device */
ath79_device_reset_set(pdata-reset_bit);
-   mdelay(100);
+   msleep(100);
 
ath79_device_reset_clear(pdata-reset_bit);
-   mdelay(100);
+   msleep(100);
 
platform_device_register(pdev);
ath79_eth_instance++;
-- 
2.1.3
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] ar934x+ar8327v4

2014-12-04 Thread Heiner Kallweit
Am 05.12.2014 um 06:13 schrieb David Hutchison:
 Hi,
 
 I ran into an issue with the Mikrotik Routerboard 951G's switch chip.
 The new batch that we received use an updated ar8327 switch chip. The
 switch chip would not function properly so I decided to load trunk and
 utilize your patches.
 
 dmesg shows the following:
 
 switch0: Atheros AR8327 rev. 4 switch registered on ag71xx-mdio.0
 libphy: ag71xx_mdio: probed
 eth0: Atheros AG71xx at 0xb900, irq 4, mode:RGMII
 ag71xx ag71xx.0 eth0: connected to PHY at ag71xx-mdio.0:00
 [uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]
 
 It appears the updated ar8216.c with your changes have successfully
 initialized the chip. In fact I can even use swconfig dev switch0 to
 create vlans etc.
 
 If I create a port vlan ( eg. put ports 1 - 2 in vlan 1 ). I can plug
 ethernet cables into each port and push data from port 1 to port 2
 etc. It appears the switch driver is working correctly.
 
 What is broken is the interface handle eth0. It exposes eth0 and
 ties it to the switch correctly ( as you can see from the above dmesg
 output ). I then assign an IP address to eth0, however when I try to
 ping a device connected to the switch. I get no response. There is no
 arp traffic either. It's like data from the eth0 handle doesn't know
 how to route through the switch.
 
 It appears like the switch hardware is working ( since port 1 can
 communicate to port 2 ). However when eth0 attempts to communicate
 to a device on port 1, it doesn't work. The device on port 1 cannot
 communicate with the eth0 interface either.
 
 I think your patches are specifically for the switch only. If that's
 the case, then they are working. However, with your knowledge of
 ar8327 could you point me into the direction of fixing the eth0
 interface communicating to the ar8327 switch properly? Is there
 something in ag71xx that I should be looking at? Could the ar8327
 switch not be initializing properly? The probe is definitely finding
 *AR8327* so that seems to be OK. I am guessing this is something
 specific with the ar924x CPU + ar8327 switch chip. I'm open to any
 suggestions :-)
 
 -- Davey
The recent changes to the AR8216 driver are mainly cleanups with
no functional change. Also your dmesg output looks good.
So at a first glance I don't think it's something with the driver.

At first your /etc/config/network would be helpful.

Does your problem also happen if vlans are switched off
(enable_vlan set to 0) ?

Heiner
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] Need guidance to modify default vanilla OpenWRT settings

2014-12-04 Thread Nguyen Nam
Hi list,

I posted request  on forum but not get any reply, so have to send to the
dev-list. My need is modify OpenWRT with some sensible settings for us (few
SSID, enable ssh login,etc ), but I cannot found the right way yet.

Checked with the firstlogin on OpenWRT site, but still not figured out
where to hook to replace configs. The preinit 90_restore_config hook look
quite interesting, should I use that hook to replace the configs?

With best regards,
Nguyen
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel