Re: [PATCH] netifd: add support for dhcp fallback to static ip

2024-07-24 Thread Roman Yeryomin

On 2024-07-14 22:39, Roman Yeryomin wrote:

It is pretty common use case for a network device to be configured
as DHCP client but having some fallback static IP address where it
would be reachable for, e.g., configuration.

This adds 'fallbackip' network config option, which will be used
on an interface until device receives an IP from DHCP server.



Hi Felix, I hope I got your points on this implementation in the right 
way.

Would be nice to hear what is your word on this!

Regards,
Roman

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


[PATCH] netifd: add support for dhcp fallback to static ip

2024-07-14 Thread Roman Yeryomin
It is pretty common use case for a network device to be configured
as DHCP client but having some fallback static IP address where it
would be reachable for, e.g., configuration.

This adds 'fallbackip' network config option, which will be used
on an interface until device receives an IP from DHCP server.

Signed-off-by: Roman Yeryomin 
---
 .../network/config/netifd/files/lib/netifd/dhcp.script| 8 +++-
 .../network/config/netifd/files/lib/netifd/proto/dhcp.sh  | 7 +--
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/package/network/config/netifd/files/lib/netifd/dhcp.script 
b/package/network/config/netifd/files/lib/netifd/dhcp.script
index db8deac9e6..da7c30f72c 100755
--- a/package/network/config/netifd/files/lib/netifd/dhcp.script
+++ b/package/network/config/netifd/files/lib/netifd/dhcp.script
@@ -98,7 +98,13 @@ setup_interface () {
 }
 
 deconfig_interface() {
-   proto_init_update "*" 0
+   if [ -z "$FALLBACKIP" ]; then
+   proto_init_update "*" 0
+   else
+   proto_init_update "*" 1
+   proto_add_ipv4_address "$FALLBACKIP" "255.255.255.0"
+   fi
+
proto_send_update "$INTERFACE"
 }
 
diff --git a/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh 
b/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh
index 636b4654ff..020038f0f8 100755
--- a/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh
+++ b/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh
@@ -10,6 +10,7 @@ proto_dhcp_init_config() {
renew_handler=1
 
proto_config_add_string 'ipaddr:ipaddr'
+   proto_config_add_string 'fallbackip:fallbackip'
proto_config_add_string 'hostname:hostname'
proto_config_add_string clientid
proto_config_add_string vendorid
@@ -35,8 +36,8 @@ proto_dhcp_setup() {
local config="$1"
local iface="$2"
 
-   local ipaddr hostname clientid vendorid broadcast norelease reqopts 
defaultreqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes 
classlessroute
-   json_get_vars ipaddr hostname clientid vendorid broadcast norelease 
reqopts defaultreqopts iface6rd delegate zone6rd zone mtu6rd customroutes 
classlessroute
+   local ipaddr fallbackip hostname clientid vendorid broadcast norelease 
reqopts defaultreqopts iface6rd sendopts delegate zone6rd zone mtu6rd 
customroutes classlessroute
+   json_get_vars ipaddr fallbackip hostname clientid vendorid broadcast 
norelease reqopts defaultreqopts iface6rd delegate zone6rd zone mtu6rd 
customroutes classlessroute
 
local opt dhcpopts
for opt in $reqopts; do
@@ -63,6 +64,8 @@ proto_dhcp_setup() {
[ "$classlessroute" = "0" ] || append dhcpopts "-O 121"
 
proto_export "INTERFACE=$config"
+   proto_export "FALLBACKIP=$fallbackip"
+
proto_run_command "$config" udhcpc \
-p /var/run/udhcpc-$iface.pid \
-s /lib/netifd/dhcp.script \
-- 
2.43.0


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


Re: [RFC] netifd: add support for dhcp fallback to static ip

2024-07-14 Thread Roman Yeryomin

On 2024-07-14 14:11, Felix Fietkau wrote:

On 14.07.24 11:47, Roman Yeryomin wrote:

On 2024-07-14 10:42, Felix Fietkau wrote:

On 14.07.24 02:34, Roman Yeryomin wrote:

It is pretty common use case for a network device to be configured
as DHCP client but having some fallback static IP address where it
would be reachable for, e.g., configuration.

This reacts on udhcpc events and sets/removes ipaddr which is
configured on an iface from network config.
This means that for an interface with proto set to dhcp but with
fallback static IP disabled (ipaddr parameter is not set in config)
cost of this feature is one uci call.
If static fallback is enabled (ipaddr is present) then the cost is
3 uci calls and one ip call for each deconfig/renew/bound udhcpc
event.
It is not nothing but to me it seem like it's a very small overhead
for such a convenience and I think it should be OpenWrt default at
least for targets with one ethernet port.

Signed-off-by: Roman Yeryomin 
---
diff --git 
a/package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh 
b/package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh

new file mode 100644
index 00..79984e9a2f
--- /dev/null
+++ 
b/package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh

@@ -0,0 +1,23 @@
+#!/bin/sh
+
+[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1
+
+ipaddr=$(uci get network.$INTERFACE.ipaddr)
+[ -z "$ipaddr" ] && exit 0
+
+ifname=$(uci get network.$INTERFACE.ifname)
+[ -z "$ifname" ] && exit 0
+
+netmask=$(uci get network.$INTERFACE.netmask)
+[ -z "$netmask" ] && netmask=24
+
+case "$1" in
+   deconfig)
+   ip ad add $ipaddr/$netmask dev $ifname
+   ;;
+   renew|bound)
+   ip ad del $ipaddr dev $ifname
+   ;;
+esac
+
+exit 0


Here's my take on this patch:

1. The feature should be opt-in via an extra config option, since it
changes the behavior in a meaningful way that might be problematic 
for

some users.
2. IP addresses should be set from within netifd, e.g. via the same
mechanism that the dhcp script uses to bring up the interface.
3. IP settings should not be read directly from uci, but passed down
from the netifd proto handler, e.g. via env vars.



Agree on 2. and 3.
Can't say I agree on 1. -- could you please give an example in which
situation it could be problematic?


If you use the ipaddr to request a specific address from the DHCP
server, but don't want the link to be up when the server is not
reachable.


Ah, got it, let me send updated version then with 'fallbackip' option.

Regards,
Roman

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


Re: [RFC] netifd: add support for dhcp fallback to static ip

2024-07-14 Thread Roman Yeryomin

On 2024-07-14 10:42, Felix Fietkau wrote:

On 14.07.24 02:34, Roman Yeryomin wrote:

It is pretty common use case for a network device to be configured
as DHCP client but having some fallback static IP address where it
would be reachable for, e.g., configuration.

This reacts on udhcpc events and sets/removes ipaddr which is
configured on an iface from network config.
This means that for an interface with proto set to dhcp but with
fallback static IP disabled (ipaddr parameter is not set in config)
cost of this feature is one uci call.
If static fallback is enabled (ipaddr is present) then the cost is
3 uci calls and one ip call for each deconfig/renew/bound udhcpc
event.
It is not nothing but to me it seem like it's a very small overhead
for such a convenience and I think it should be OpenWrt default at
least for targets with one ethernet port.

Signed-off-by: Roman Yeryomin 
---
diff --git 
a/package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh 
b/package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh

new file mode 100644
index 00..79984e9a2f
--- /dev/null
+++ 
b/package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh

@@ -0,0 +1,23 @@
+#!/bin/sh
+
+[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1
+
+ipaddr=$(uci get network.$INTERFACE.ipaddr)
+[ -z "$ipaddr" ] && exit 0
+
+ifname=$(uci get network.$INTERFACE.ifname)
+[ -z "$ifname" ] && exit 0
+
+netmask=$(uci get network.$INTERFACE.netmask)
+[ -z "$netmask" ] && netmask=24
+
+case "$1" in
+   deconfig)
+   ip ad add $ipaddr/$netmask dev $ifname
+   ;;
+   renew|bound)
+   ip ad del $ipaddr dev $ifname
+   ;;
+esac
+
+exit 0


Here's my take on this patch:

1. The feature should be opt-in via an extra config option, since it
changes the behavior in a meaningful way that might be problematic for
some users.
2. IP addresses should be set from within netifd, e.g. via the same
mechanism that the dhcp script uses to bring up the interface.
3. IP settings should not be read directly from uci, but passed down
from the netifd proto handler, e.g. via env vars.



Agree on 2. and 3.
Can't say I agree on 1. -- could you please give an example in which 
situation it could be problematic?


Thanks for feedback!

Regards,
Roman

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


[RFC] netifd: add support for dhcp fallback to static ip

2024-07-13 Thread Roman Yeryomin
It is pretty common use case for a network device to be configured
as DHCP client but having some fallback static IP address where it
would be reachable for, e.g., configuration.

This reacts on udhcpc events and sets/removes ipaddr which is
configured on an iface from network config.
This means that for an interface with proto set to dhcp but with
fallback static IP disabled (ipaddr parameter is not set in config)
cost of this feature is one uci call.
If static fallback is enabled (ipaddr is present) then the cost is
3 uci calls and one ip call for each deconfig/renew/bound udhcpc
event.
It is not nothing but to me it seem like it's a very small overhead
for such a convenience and I think it should be OpenWrt default at
least for targets with one ethernet port.

Signed-off-by: Roman Yeryomin 
---
 package/network/config/netifd/Makefile|  1 -
 .../files/etc/udhcpc.user.d/fallbackip.sh | 23 +++
 2 files changed, 23 insertions(+), 1 deletion(-)
 create mode 100644 
package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh

diff --git a/package/network/config/netifd/Makefile 
b/package/network/config/netifd/Makefile
index d80c2eeed6..8ef391d913 100644
--- a/package/network/config/netifd/Makefile
+++ b/package/network/config/netifd/Makefile
@@ -42,7 +42,6 @@ define Package/netifd/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/netifd $(1)/sbin/
$(CP) ./files/* $(1)/
-   $(INSTALL_DIR) $(1)/etc/udhcpc.user.d/
$(CP) \
$(PKG_BUILD_DIR)/scripts/utils.sh \
$(PKG_BUILD_DIR)/scripts/netifd-proto.sh \
diff --git 
a/package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh 
b/package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh
new file mode 100644
index 00..79984e9a2f
--- /dev/null
+++ b/package/network/config/netifd/files/etc/udhcpc.user.d/fallbackip.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1
+
+ipaddr=$(uci get network.$INTERFACE.ipaddr)
+[ -z "$ipaddr" ] && exit 0
+
+ifname=$(uci get network.$INTERFACE.ifname)
+[ -z "$ifname" ] && exit 0
+
+netmask=$(uci get network.$INTERFACE.netmask)
+[ -z "$netmask" ] && netmask=24
+
+case "$1" in
+   deconfig)
+   ip ad add $ipaddr/$netmask dev $ifname
+   ;;
+   renew|bound)
+   ip ad del $ipaddr dev $ifname
+   ;;
+esac
+
+exit 0
-- 
2.43.0


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


[PATCH v2] iproute2: m_xt.so depends on dynsyms.list

2021-09-03 Thread Roman Yeryomin
When doing parallel build on a fast machine with bottleneck in i/o,
m_xt.so may start linking faster than dynsyms.list gets populated,
resulting in error:

ld:dynsyms.list:0: syntax error in dynamic list

Fix this by adding dynsyms.list as make dependency to m_xt.so
Described also here:
https://bugs.openwrt.org/index.php?do=details&task_id=3353

Change from v1:
- add dynsysms.list dependancy only when shared libs are enabled

Signed-off-by: Roman Yeryomin 
Fixes: FS#3353
---
 .../utils/iproute2/patches/175-reduce-dynamic-syms.patch   | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch 
b/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch
index da961a183b..c3892e5a0e 100644
--- a/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch
+++ b/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch
@@ -26,13 +26,14 @@
  
  q_atm.so: q_atm.c
$(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o 
q_atm.so q_atm.c -latm
-@@ -205,4 +206,15 @@ static-syms.h: $(wildcard *.c)
+@@ -205,4 +206,16 @@ static-syms.h: $(wildcard *.c)
sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char 
\1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \
done > $@
  
 +else
 +
 +tc: dynsyms.list
++m_xt.so: dynsyms.list
 +dynsyms.list: $(wildcard *.c)
 +  files="$(filter-out $(patsubst %.so,%.c,$(TCSO)), $^)" ; \
 +  echo "{" > $@ ; \
-- 
2.25.1


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


Re: [OpenWrt-Devel] [PATCH] iproute2: m_xt.so depends on dynsyms.list

2021-09-03 Thread Roman Yeryomin

On 2021-09-03 02:28, Roman Yeryomin wrote:

When doing parallel build on a fast machine with bottleneck in i/o,
m_xt.so may start linking faster than dynsyms.list gets populated,
resulting in error:

ld:dynsyms.list:0: syntax error in dynamic list

Fix this by adding dynsyms.list as make dependency to m_xt.so
Described also here:
https://bugs.openwrt.org/index.php?do=details&task_id=3353

Signed-off-by: Roman Yeryomin 
Fixes: FS#3353
---


Please discard this. Making m_xt.so dependant on dynsyms.list 
unconditionally was bad idea.

Will re-send proper version.

Regards,
Roman

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


[OpenWrt-Devel] [PATCH] iproute2: m_xt.so depends on dynsyms.list

2021-09-02 Thread Roman Yeryomin
When doing parallel build on a fast machine with bottleneck in i/o,
m_xt.so may start linking faster than dynsyms.list gets populated,
resulting in error:

ld:dynsyms.list:0: syntax error in dynamic list

Fix this by adding dynsyms.list as make dependency to m_xt.so
Described also here:
https://bugs.openwrt.org/index.php?do=details&task_id=3353

Signed-off-by: Roman Yeryomin 
Fixes: FS#3353
---
 .../utils/iproute2/patches/175-reduce-dynamic-syms.patch| 6 ++
 1 file changed, 6 insertions(+)

diff --git 
a/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch 
b/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch
index da961a183b..aa98c97549 100644
--- a/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch
+++ b/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch
@@ -26,6 +26,12 @@
  
  q_atm.so: q_atm.c
$(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o 
q_atm.so q_atm.c -latm
+ 
+-m_xt.so: m_xt.c
++m_xt.so: m_xt.c dynsyms.list
+   $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o 
m_xt.so m_xt.c $$($(PKG_CONFIG) xtables --cflags --libs)
+ 
+ m_xt_old.so: m_xt_old.c
 @@ -205,4 +206,15 @@ static-syms.h: $(wildcard *.c)
sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char 
\1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \
done > $@
-- 
2.25.1


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


Re: [OpenWrt-Devel] [PATCH] build: improve ccache support

2020-06-12 Thread Roman Yeryomin

On 2020-06-04 22:29, Michael Jones wrote:

I agree with Felix. Having one ccache directory for multiple repos
doesn't make much sense to me as most probably they are for different
platforms. And even if they are for same platform there are more 
chances
for ccache corruption and deleting it will affect all those repos. So 
it

still can be done with symlink but IMO should be done manually to make
sure you know what you are doing.
Also BASEDIR should be changed too, probably, if we want to go that 
way.




I am already using a shared ccache directory for multiple builds in my
continuous integration system. I'm accomplishing this by patching the 
build

system to change the directory for the ccache directory.

If it were a .config option, your use-case would be directly supported, 
as

well as my use-case, without as much custom patching.

I imagine that there are plenty of other organizations which would use 
the

.config based functionality to customize things to their liking.

If ccache is corrupted there are much larger problems than slowing down
other builds.


Please see v2

Regards,
Roman

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


[OpenWrt-Devel] [PATCH v2] build: improve ccache support

2020-06-12 Thread Roman Yeryomin
Set CCACHE_DIR to $(TOPDIR)/.ccache and CCACHE_BASEDIR to $(TOPDIR).
This allows to do clean and dirclean. Cache hit rate for test build
after dirclean is ~65%.
If CCACHE is enabled stats are printed out at the end of building process.
CCACHE_DIR config variable allows to override default, which could be useful
when sharing cache with many builds.
cacheclean make target allows to clean the cache.

Changes from v1:
- remove ccache directory using CCACHE_DIR variable
- remove ccache leftovers from sdk and toolchain make files
- introduce CONFIG_CCACHE_DIR variable
- introduce cacheclean make target

Signed-off-by: Roman Yeryomin 
---
 .gitignore| 1 +
 Makefile  | 8 
 config/Config-devel.in| 7 +++
 include/host-build.mk | 4 +++-
 include/package.mk| 4 +++-
 include/toplevel.mk   | 2 +-
 rules.mk  | 3 +++
 target/sdk/Makefile   | 8 ++--
 target/toolchain/Makefile | 2 +-
 9 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/.gitignore b/.gitignore
index 6549af83be..b6bfe1a525 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,3 +28,4 @@ TAGS*~
 git-src
 .project
 .cproject
+.ccache
diff --git a/Makefile b/Makefile
index 32c050bb48..24f5955c90 100644
--- a/Makefile
+++ b/Makefile
@@ -62,6 +62,11 @@ dirclean: clean
rm -rf $(TMP_DIR)
$(MAKE) -C $(TOPDIR)/scripts/config clean
 
+cacheclean:
+ifneq ($(CONFIG_CCACHE),)
+   rm -rf $(if $(call qstrip,$(CONFIG_CCACHE_DIR)),$(call 
qstrip,$(CONFIG_CCACHE_DIR)),$(TOPDIR)/.ccache)
+endif
+
 ifndef DUMP_TARGET_DB
 $(BUILD_DIR)/.prepared: Makefile
@mkdir -p $$(dirname $@)
@@ -119,6 +124,9 @@ world: prepare $(target/stamp-compile) 
$(package/stamp-compile) $(package/stamp-
$(_SINGLE)$(SUBMAKE) -r package/index
$(_SINGLE)$(SUBMAKE) -r json_overview_image_info
$(_SINGLE)$(SUBMAKE) -r checksum
+ifneq ($(CONFIG_CCACHE),)
+   $(STAGING_DIR_HOST)/bin/ccache -s
+endif
 
 .PHONY: clean dirclean prereq prepare world package/symlinks 
package/symlinks-install package/symlinks-clean
 
diff --git a/config/Config-devel.in b/config/Config-devel.in
index 70ec0ce9a7..11741c7070 100644
--- a/config/Config-devel.in
+++ b/config/Config-devel.in
@@ -69,6 +69,13 @@ menuconfig DEVEL
help
  Compiler cache; see https://ccache.samba.org/
 
+   config CCACHE_DIR
+   string "Set ccache directory" if CCACHE
+   default ""
+   help
+ Store ccache in this directory.
+ If not set, uses './.ccache'
+
config EXTERNAL_KERNEL_TREE
string "Use external kernel tree" if DEVEL
default ""
diff --git a/include/host-build.mk b/include/host-build.mk
index 9fc14241c6..7d84ab0f5f 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -132,7 +132,9 @@ define Host/Exports/Default
   $(1) : export STAGING_PREFIX=$$(HOST_BUILD_PREFIX)
   $(1) : export 
PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig:$$(HOST_BUILD_PREFIX)/lib/pkgconfig
   $(1) : export PKG_CONFIG_LIBDIR=$$(HOST_BUILD_PREFIX)/lib/pkgconfig
-  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(STAGING_DIR_HOST)/ccache)
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_BASEDIR:=$(TOPDIR))
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(if $(call 
qstrip,$(CONFIG_CCACHE_DIR)),$(call 
qstrip,$(CONFIG_CCACHE_DIR)),$(TOPDIR)/.ccache))
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_COMPILERCHECK:=%compiler% 
-dumpmachine; %compiler% -dumpversion)
   $(if $(HOST_CONFIG_SITE),$(1) : export CONFIG_SITE:=$(HOST_CONFIG_SITE))
   $(if $(IS_PACKAGE_BUILD),$(1) : export PATH=$$(TARGET_PATH_PKG))
 endef
diff --git a/include/package.mk b/include/package.mk
index 0575692742..a93d6b78f3 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -173,7 +173,9 @@ define Build/Exports/Default
   $(1) : export CONFIG_SITE:=$$(CONFIG_SITE)
   $(1) : export PKG_CONFIG_PATH:=$$(PKG_CONFIG_PATH)
   $(1) : export PKG_CONFIG_LIBDIR:=$$(PKG_CONFIG_PATH)
-  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(STAGING_DIR)/ccache)
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_BASEDIR:=$(TOPDIR))
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(if $(call 
qstrip,$(CONFIG_CCACHE_DIR)),$(call 
qstrip,$(CONFIG_CCACHE_DIR)),$(TOPDIR)/.ccache))
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_COMPILERCHECK:=%compiler% 
-dumpmachine; %compiler% -dumpversion)
 endef
 Build/Exports=$(Build/Exports/Default)
 
diff --git a/include/toplevel.mk b/include/toplevel.mk
index 5cf93ce7ef..c773206e6a 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -251,7 +251,7 @@ package/symlinks-clean:
 help:
cat README
 
-distclean:
+distclean: cacheclean
rm -rf bin build_dir .config* dl feeds key-build* logs package/feeds 
package/openwrt-packages staging_dir tmp
@$(_SINGLE)$(SUBMAKE) -C scripts/config clean
 
diff --git a/rules

Re: [OpenWrt-Devel] [PATCH] build: improve ccache support

2020-06-02 Thread Roman Yeryomin

On 2020-06-01 23:51, Petr Štetiar wrote:

Roman Yeryomin  [2020-06-01 18:32:26]:

Hi,


Set CCACHE_DIR to $(TOPDIR)/.ccache and CCACHE_BASEDIR to $(TOPDIR).


this changes location of ccache directory (people would need to move 
it,

symlink back or override it) and with CCACHE_BASEDIR it probably also
invalidates the current cache/hashes, doesn't it?


Yes.
I'm not 100% sure but for me it makes more sense to make separate ccache 
dirs for each repo -- easier to manage and less corruption possibility.



BTW you've missed following hardcoded patterns:

 target/toolchain/Makefile:EXCLUDE_DIRS:=*/ccache
 target/sdk/Makefile:EXCLUDE_DIRS:=*/ccache/*


Hmm, missed that, will look.


This allows to do clean and dirclean.


Isn't it desired to remove potentially broken ccache as well with
clean/dirclean? Do I want to remove my config, downloads, feeds etc. in 
order

to remove ccache?


IMO it's desired to ccache host tools, which are cleaned only with 
dirclean.

It's always possible to just rm -rf ./.ccache same as with ./tmp/
Of cause we can make another make target, like cacheclean but not sure 
if it's worth doing.



+++ b/include/host-build.mk
+  $(if $(CONFIG_CCACHE),$(1) : export 
CCACHE_COMPILERCHECK:=%compiler% -dumpmachine; %compiler% 
-dumpversion)


you've missed to describe this change


This pattern was taken from package ccache, which looks sane to me. If 
you have other opinion, please share.



 distclean:
 	rm -rf bin build_dir .config* dl feeds key-build* logs package/feeds 
package/openwrt-packages staging_dir tmp

+   rm -rf $(TOPDIR)/.ccache


Other CCACHE_DIR variable occurencies can be overriden, this is 
hardcoded

path.


OK, this should be rm -rf $(CCACHE_DIR) probably.


Michael Jones  [2020-06-01 13:34:51]:


Having build behavior change based on a symlink is undesirable.


`make CCACHE_DIR=/whatever` should work as well

Additionally, having the ccache directory be a configuration option 
allows
it to persist across clones of the git repository, if the .config file 
is

stored in git.


BTW .config is .gitignored for a reason.

Anyway, I don't think, that bloating the menu config with every Make 
variable
from now on is desired. System has sane defaults and is flexible enough 
to

allow fine tunning if needed.

-- ynezz


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


Re: [OpenWrt-Devel] [PATCH] build: improve ccache support

2020-06-02 Thread Roman Yeryomin

On 2020-06-01 21:34, Michael Jones wrote:

On Mon, Jun 1, 2020 at 1:22 PM Felix Fietkau  wrote:


On 2020-06-01 19:11, Michael Jones wrote:
>
>
> On Mon, Jun 1, 2020 at 10:33 AM Roman Yeryomin  <mailto:ro...@advem.lv>> wrote:
>
> Set CCACHE_DIR to $(TOPDIR)/.ccache and CCACHE_BASEDIR to $(TOPDIR).
> This allows to do clean and dirclean. Cache hit rate for test build
> after dirclean is ~65%.
> If CCACHE is enabled stats are printed out at the end of building
> process.
>
> Signed-off-by: Roman Yeryomin mailto:ro...@advem.lv
>>
>
>
> This certainly looks like an improvement.
>
> However, there is an important usage case that this change doesn't
address.
>
> Frequently when I am working on OpenWRT related things, I have many
> different workspaces all tied to the same git repository hosted
> externally. The reason for this is to allow multiple builds to live and
> run independently.
>
> Having the CCACHE_DIR be located *inside* the repository doesn't share
> the cache between multiple workspaces.
>
> So can the CCACHE_DIR be made configurable at build time based on the
> .config file? Perhaps it can default to this, and only be set to the
> value in .config if provided? For my purposes, I would always set the
> CCACHE_DIR to a path that all of my workspaces use.
I don't think there's a need for that config option. You could simply
add a .ccache symlink in your source dir and point it to your shared
cache. I do the same with dl on my trees.

- Felix



I disagree.

Having build behavior change based on a symlink is undesirable.

If it were a config option, it becomes a documented feature that is 
easily

discoverable in the menu config.

Additionally, having the ccache directory be a configuration option 
allows
it to persist across clones of the git repository, if the .config file 
is
stored in git. A symlink would need to be manually re-configured on 
each

clone.


I agree with Felix. Having one ccache directory for multiple repos 
doesn't make much sense to me as most probably they are for different 
platforms. And even if they are for same platform there are more chances 
for ccache corruption and deleting it will affect all those repos. So it 
still can be done with symlink but IMO should be done manually to make 
sure you know what you are doing.

Also BASEDIR should be changed too, probably, if we want to go that way.

Regards,
Roman

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


[OpenWrt-Devel] [PATCH] build: improve ccache support

2020-06-01 Thread Roman Yeryomin
Set CCACHE_DIR to $(TOPDIR)/.ccache and CCACHE_BASEDIR to $(TOPDIR).
This allows to do clean and dirclean. Cache hit rate for test build
after dirclean is ~65%.
If CCACHE is enabled stats are printed out at the end of building process.

Signed-off-by: Roman Yeryomin 
---
 .gitignore| 1 +
 Makefile  | 3 +++
 include/host-build.mk | 4 +++-
 include/package.mk| 4 +++-
 include/toplevel.mk   | 1 +
 rules.mk  | 3 +++
 6 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/.gitignore b/.gitignore
index 6549af83be..b6bfe1a525 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,3 +28,4 @@ TAGS*~
 git-src
 .project
 .cproject
+.ccache
diff --git a/Makefile b/Makefile
index 32c050bb48..dfeaf83e2c 100644
--- a/Makefile
+++ b/Makefile
@@ -119,6 +119,9 @@ world: prepare $(target/stamp-compile) 
$(package/stamp-compile) $(package/stamp-
$(_SINGLE)$(SUBMAKE) -r package/index
$(_SINGLE)$(SUBMAKE) -r json_overview_image_info
$(_SINGLE)$(SUBMAKE) -r checksum
+ifneq ($(CONFIG_CCACHE),)
+   $(STAGING_DIR_HOST)/bin/ccache -s
+endif
 
 .PHONY: clean dirclean prereq prepare world package/symlinks 
package/symlinks-install package/symlinks-clean
 
diff --git a/include/host-build.mk b/include/host-build.mk
index 9fc14241c6..4adac0883e 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -132,7 +132,9 @@ define Host/Exports/Default
   $(1) : export STAGING_PREFIX=$$(HOST_BUILD_PREFIX)
   $(1) : export 
PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig:$$(HOST_BUILD_PREFIX)/lib/pkgconfig
   $(1) : export PKG_CONFIG_LIBDIR=$$(HOST_BUILD_PREFIX)/lib/pkgconfig
-  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(STAGING_DIR_HOST)/ccache)
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_BASEDIR:=$(TOPDIR))
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(TOPDIR)/.ccache)
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_COMPILERCHECK:=%compiler% 
-dumpmachine; %compiler% -dumpversion)
   $(if $(HOST_CONFIG_SITE),$(1) : export CONFIG_SITE:=$(HOST_CONFIG_SITE))
   $(if $(IS_PACKAGE_BUILD),$(1) : export PATH=$$(TARGET_PATH_PKG))
 endef
diff --git a/include/package.mk b/include/package.mk
index 0575692742..eee5bbbf80 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -173,7 +173,9 @@ define Build/Exports/Default
   $(1) : export CONFIG_SITE:=$$(CONFIG_SITE)
   $(1) : export PKG_CONFIG_PATH:=$$(PKG_CONFIG_PATH)
   $(1) : export PKG_CONFIG_LIBDIR:=$$(PKG_CONFIG_PATH)
-  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(STAGING_DIR)/ccache)
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_BASEDIR:=$(TOPDIR))
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(TOPDIR)/.ccache)
+  $(if $(CONFIG_CCACHE),$(1) : export CCACHE_COMPILERCHECK:=%compiler% 
-dumpmachine; %compiler% -dumpversion)
 endef
 Build/Exports=$(Build/Exports/Default)
 
diff --git a/include/toplevel.mk b/include/toplevel.mk
index 5cf93ce7ef..f4a9dccd5e 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -253,6 +253,7 @@ help:
 
 distclean:
rm -rf bin build_dir .config* dl feeds key-build* logs package/feeds 
package/openwrt-packages staging_dir tmp
+   rm -rf $(TOPDIR)/.ccache
@$(_SINGLE)$(SUBMAKE) -C scripts/config clean
 
 ifeq ($(findstring v,$(DEBUG)),)
diff --git a/rules.mk b/rules.mk
index 66ddea2883..fb2f6bf57f 100644
--- a/rules.mk
+++ b/rules.mk
@@ -298,6 +298,9 @@ ifneq ($(CONFIG_CCACHE),)
   TARGET_CXX:= ccache_cxx
   HOSTCC:= ccache $(HOSTCC)
   HOSTCXX:= ccache $(HOSTCXX)
+  export CCACHE_BASEDIR:=$(TOPDIR)
+  export CCACHE_DIR:=$(TOPDIR)/.ccache
+  export CCACHE_COMPILERCHECK:=%compiler% -dumpmachine; %compiler% -dumpversion
 endif
 
 TARGET_CONFIGURE_OPTS = \
-- 
2.20.1


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


[OpenWrt-Devel] [PATCH 1/2] libubox: update to latest git HEAD

2019-10-21 Thread Roman Yeryomin
eb30a03 libubox, jshn: add option to write output to a file

Signed-off-by: Roman Yeryomin 
---
 package/libs/libubox/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/libs/libubox/Makefile b/package/libs/libubox/Makefile
index 1c318b3e48..e5f4dcf8fe 100644
--- a/package/libs/libubox/Makefile
+++ b/package/libs/libubox/Makefile
@@ -5,9 +5,9 @@ PKG_RELEASE=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=$(PROJECT_GIT)/project/libubox.git
-PKG_SOURCE_DATE:=2019-06-16
-PKG_SOURCE_VERSION:=ecf56174da9614a0b3107d33def463eefb4d7785
-PKG_MIRROR_HASH:=e3dd137d69848b8cf2dbc58d70452586dd4178b55977896ea3a9dedaf62c768c
+PKG_SOURCE_DATE:=2019-10-21
+PKG_SOURCE_VERSION:=eb30a03048f83e733a9530b5741808d7d0932ff2
+PKG_MIRROR_HASH:=04c0edc0df8c9336ca3d68d3e3536de42805837c72ceb5fb4ecaab87a59ff2cd
 CMAKE_INSTALL:=1
 
 PKG_LICENSE:=ISC
-- 
2.20.1


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


[OpenWrt-Devel] [PATCH 2/2] base-files: uci-defaults: do config flush in one shot

2019-10-21 Thread Roman Yeryomin
Moving a file between tmpfs and other fs is neither
faster nor safer, thus no point in doing it in two steps.
Use new jshn option to write output directly to file.

Originally discussed here:
http://lists.openwrt.org/pipermail/openwrt-devel/2017-December/010127.html

Signed-off-by: Roman Yeryomin 
---
 package/base-files/files/lib/functions/uci-defaults.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/package/base-files/files/lib/functions/uci-defaults.sh 
b/package/base-files/files/lib/functions/uci-defaults.sh
index c2c6dc3fdc..0d2dcd5241 100755
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -615,6 +615,5 @@ board_config_update() {
 }
 
 board_config_flush() {
-   json_dump -i > /tmp/.board.json
-   mv /tmp/.board.json ${CFG}
+   json_dump -i -o ${CFG}
 }
-- 
2.20.1


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


Re: [OpenWrt-Devel] [PATCH] libubox, jshn: add option to write output to a file

2019-09-26 Thread Roman Yeryomin

On 2019-09-14 01:22, Roman Yeryomin wrote:

This would allow board_config_flush to run one command instead
of two and would be faster and safer than redirecting output
and moving a file between filesystems.

Originally discussed here:
http://lists.openwrt.org/pipermail/openwrt-devel/2017-December/010127.html



Anybody?
I would like to submit a patch to base files which depends on this.

Regards,
Roman

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


[OpenWrt-Devel] [PATCH] libubox, jshn: add option to write output to a file

2019-09-13 Thread Roman Yeryomin
This would allow board_config_flush to run one command instead
of two and would be faster and safer than redirecting output
and moving a file between filesystems.

Originally discussed here:
http://lists.openwrt.org/pipermail/openwrt-devel/2017-December/010127.html

Signed-off-by: Roman Yeryomin 
---
 jshn.c | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/jshn.c b/jshn.c
index 24e3265..0aa120c 100644
--- a/jshn.c
+++ b/jshn.c
@@ -275,7 +275,7 @@ out:
return obj;
 }
 
-static int jshn_format(bool no_newline, bool indent)
+static int jshn_format(bool no_newline, bool indent, FILE *stream)
 {
json_object *obj;
const char *output;
@@ -297,7 +297,7 @@ static int jshn_format(bool no_newline, bool indent)
goto out;
output = blobmsg_output;
}
-   fprintf(stdout, "%s%s", output, no_newline ? "" : "\n");
+   fprintf(stream, "%s%s", output, no_newline ? "" : "\n");
free(blobmsg_output);
ret = 0;
 
@@ -342,6 +342,7 @@ int main(int argc, char **argv)
int i;
int ch;
int fd;
+   FILE *fp = NULL;
struct stat sb;
char *fbuf;
int ret;
@@ -366,7 +367,7 @@ int main(int argc, char **argv)
avl_insert(&env_vars, &vars[i].avl);
}
 
-   while ((ch = getopt(argc, argv, "p:nir:R:w")) != -1) {
+   while ((ch = getopt(argc, argv, "p:nir:R:o:w")) != -1) {
switch(ch) {
case 'p':
var_prefix = optarg;
@@ -400,7 +401,16 @@ int main(int argc, char **argv)
close(fd);
return ret;
case 'w':
-   return jshn_format(no_newline, indent);
+   return jshn_format(no_newline, indent, stdout);
+   case 'o':
+   fp = fopen(optarg, "w");
+   if (!fp) {
+   fprintf(stderr, "Error opening %s\n", optarg);
+   return 3;
+   }
+   jshn_format(no_newline, indent, fp);
+   fclose(fp);
+   return 0;
case 'n':
no_newline = true;
break;
-- 
2.20.1


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


[OpenWrt-Devel] [PATCH] tools: libressl: update to 2.9.2 version

2019-07-18 Thread Roman Yeryomin
To keep in sync with OpenSSL 1.1.x branch version options.

Signed-off-by: Roman Yeryomin 
---
 tools/libressl/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libressl/Makefile b/tools/libressl/Makefile
index 8894a058e4..d02911 100644
--- a/tools/libressl/Makefile
+++ b/tools/libressl/Makefile
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libressl
-PKG_VERSION:=2.8.1
-PKG_HASH:=334bf7050f1db4087feebb30571ec13d9fa975bf05d6003ce3ab6d7d2452cf42
+PKG_VERSION:=2.9.2
+PKG_HASH:=c4c78167fae325b47aebd8beb54b6041d6f6a56b3743f4bd5d79b15642f9d5d4
 PKG_RELEASE:=1
 
 PKG_CPE_ID:=cpe:/a:openbsd:libressl
-- 
2.17.1


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


[OpenWrt-Devel] [PATCH] build: fix external module symbol collection if build_dir is a symlink

2019-04-12 Thread Roman Yeryomin
e26ffb31dfa30d498b963a86d231835e3af7d3df fixed only embedded modules
symbol collection. If we are building external modules, like broadcom-wl
or lantiq dsl stuff then modules which do EXPORT_SYMBOL have unresolved
paths in Module.symvers and external module which depend on other
external modules will have empty dependencies, leading to broken
module loading.
This was discussed on IRC with Jonas some time ago.
Fix this by handling both resolved and unresolved paths.

Signed-off-by: Roman Yeryomin 
---
 include/kernel.mk | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/kernel.mk b/include/kernel.mk
index 3195090a0a..8dfe903bcc 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -141,7 +141,10 @@ endef
 
 define collect_module_symvers
for subdir in $(PKG_EXTMOD_SUBDIRS); do \
-   grep -F (readlink -f $(PKG_BUILD_DIR)) 
$(PKG_BUILD_DIR)/subdir/Module.symvers >> 
$(PKG_BUILD_DIR)/Module.symvers.tmp; \
+   realdir=(readlink -f $(PKG_BUILD_DIR)); \
+   grep -F $(PKG_BUILD_DIR) 
$(PKG_BUILD_DIR)/subdir/Module.symvers >> 
$(PKG_BUILD_DIR)/Module.symvers.tmp; \
+   [ "$(PKG_BUILD_DIR)" = "realdir" ] || \
+   grep -F realdir 
$(PKG_BUILD_DIR)/subdir/Module.symvers >> 
$(PKG_BUILD_DIR)/Module.symvers.tmp; \
done; \
sort -u $(PKG_BUILD_DIR)/Module.symvers.tmp > 
$(PKG_BUILD_DIR)/Module.symvers; \
mv $(PKG_BUILD_DIR)/Module.symvers $(PKG_INFO_DIR)/$(PKG_NAME).symvers
-- 
2.17.1


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


Re: [OpenWrt-Devel] [PATCH] toolchain: musl: update to 1.1.22

2019-04-12 Thread Roman Yeryomin

On 2019-04-12 17:39, Koen Vandeputte wrote:

On 12.04.19 16:32, Roman Yeryomin wrote:

Compile and run tested on mt7621 and ar71xx

new features:
- priority-inheritance mutexes
- membarrier syscall, pre-registration to use it, fallback emulation
- header-level support for new linux features in 4.19, 4.20, 5.0

major internal changes:
- complete, async-safe view of all existent threads as global list
- robust __synccall based on new thread list
- new dynamic TLS is installed synchronously at dlopen
- TLSDESC resolver functions no longer make bad ABI assumptions to 
call C

- resolved shared library dependencies are now recorded

compatibility & conformance:
- dependency-order shared library constructor execution
- sigaltstack no longer rejects SS_AUTODISARM, future flags
- FILE is now a complete (dummy) type in pre-C11 feature profiles
- setvbuf reports failure on invalid arguments
- TSVTX is exposed unconditionally in tar.h
- multithreaded set*id() no longer depends on /proc
- key slot reuse after pthread_key_delete no longer depends on /proc

bugs fixed:
- failures in multithreaded set*id() with concurrent thread 
creation/exit

- interposed free was called from invalid/inconsistent contexts
- freeaddrinfo performed invalid free of some partial results lists
- dlsym dependency order search had false negatives and false 
positives

- dn_skipname gave wrong results for labels with 8-bit content
- dcngettext clobbered errno, often breaking printing of error 
messages
- sscanf read past end of buffer under certain conditions (1.1.21 
regression)
- pthread_key_create spuriously failed under race condition (1.1.21 
regression)

- fdopendir wrongly succeeded with O_PATH file descriptors
- gets behaved incorrectly in presence of null bytes
- namespace violations in c11 tsd and mutex function dependencies
- incorrect prototype for makecontext (unimplemented)

arch-specfic bugs fixed:
- s390x had wrong values for POSIX_FADV_DONTNEED/_NOREUSE

Signed-off-by: Dainis Jonitis 
Signed-off-by: Roman Yeryomin 
---
  toolchain/musl/common.mk | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk
index b52263c43b..ae7758e8b5 100644
--- a/toolchain/musl/common.mk
+++ b/toolchain/musl/common.mk
@@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk
  include $(INCLUDE_DIR)/target.mk
PKG_NAME:=musl
-PKG_VERSION:=1.1.21
+PKG_VERSION:=1.1.22
  PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
  PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=1691b23955590d1eb66a11158fdd91c86337e886
-PKG_MIRROR_HASH:=4fa312d0ca020d31603ced84a7103fb328c6ae9508239491a228be17e7807147
+PKG_SOURCE_VERSION:=e97681d6f2c44bf5fa9ecdd30607cb63c780062e
+PKG_MIRROR_HASH:=a6655418698735e19fe1c2deffb7335bbda634385c636206dd3cd5c8194a3ce0
  PKG_SOURCE_URL:=git://git.musl-libc.org/musl
  PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz



Thanks for the patch, but:

2 comments:

- I've already got it in my staging tree [1]


That's a strange one, making me feel like I should look into every 
existing staging tree/branch before I send a patch :)



- The custom patches are not refreshed here (see my commit)


True, didn't notice it needs a refresh.



I can add your SoB's (or Tested-by's) in mine if you like?


Well we did test it and Dainis was an original author of few fixes 
there.

But that's ok, you first, do whatever you think is ok.


Regards,
Roman


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


[OpenWrt-Devel] [PATCH] toolchain: musl: update to 1.1.22

2019-04-12 Thread Roman Yeryomin
Compile and run tested on mt7621 and ar71xx

new features:
- priority-inheritance mutexes
- membarrier syscall, pre-registration to use it, fallback emulation
- header-level support for new linux features in 4.19, 4.20, 5.0

major internal changes:
- complete, async-safe view of all existent threads as global list
- robust __synccall based on new thread list
- new dynamic TLS is installed synchronously at dlopen
- TLSDESC resolver functions no longer make bad ABI assumptions to call C
- resolved shared library dependencies are now recorded

compatibility & conformance:
- dependency-order shared library constructor execution
- sigaltstack no longer rejects SS_AUTODISARM, future flags
- FILE is now a complete (dummy) type in pre-C11 feature profiles
- setvbuf reports failure on invalid arguments
- TSVTX is exposed unconditionally in tar.h
- multithreaded set*id() no longer depends on /proc
- key slot reuse after pthread_key_delete no longer depends on /proc

bugs fixed:
- failures in multithreaded set*id() with concurrent thread creation/exit
- interposed free was called from invalid/inconsistent contexts
- freeaddrinfo performed invalid free of some partial results lists
- dlsym dependency order search had false negatives and false positives
- dn_skipname gave wrong results for labels with 8-bit content
- dcngettext clobbered errno, often breaking printing of error messages
- sscanf read past end of buffer under certain conditions (1.1.21 regression)
- pthread_key_create spuriously failed under race condition (1.1.21 regression)
- fdopendir wrongly succeeded with O_PATH file descriptors
- gets behaved incorrectly in presence of null bytes
- namespace violations in c11 tsd and mutex function dependencies
- incorrect prototype for makecontext (unimplemented)

arch-specfic bugs fixed:
- s390x had wrong values for POSIX_FADV_DONTNEED/_NOREUSE

Signed-off-by: Dainis Jonitis 
Signed-off-by: Roman Yeryomin 
---
 toolchain/musl/common.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk
index b52263c43b..ae7758e8b5 100644
--- a/toolchain/musl/common.mk
+++ b/toolchain/musl/common.mk
@@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/target.mk
 
 PKG_NAME:=musl
-PKG_VERSION:=1.1.21
+PKG_VERSION:=1.1.22
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=1691b23955590d1eb66a11158fdd91c86337e886
-PKG_MIRROR_HASH:=4fa312d0ca020d31603ced84a7103fb328c6ae9508239491a228be17e7807147
+PKG_SOURCE_VERSION:=e97681d6f2c44bf5fa9ecdd30607cb63c780062e
+PKG_MIRROR_HASH:=a6655418698735e19fe1c2deffb7335bbda634385c636206dd3cd5c8194a3ce0
 PKG_SOURCE_URL:=git://git.musl-libc.org/musl
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
 
-- 
2.17.1


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


Re: [OpenWrt-Devel] [RFC] stop accepting 4/32M board patches

2018-12-20 Thread Roman Yeryomin

On 2018-12-15 15:08, Jo-Philipp Wich wrote:

Hi,

I'm against rejecting such submissions if they're self-contained enough
(e.g. for DTS based targets as mentioned by Piotr).

I'd favor accepting the basic board support for such boards but
disabling the image generation (commented out).



I agree with jow here. If there are tiny targets already, which work, it 
doesn't make sense not to accept new ones.
So it's basically either we don't support tiny targets at all (and 
remove currently supported) or continue accepting new ones.



Regards,
Roman

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


[OpenWrt-Devel] [PATCH 3/3] rb532: drop 4.9 support

2018-11-25 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 target/linux/rb532/config-4.9 | 182 --
 .../rb532/patches-4.9/001-cmdline_hack.patch  |  20 --
 .../004-rb532-fix-partition-info.patch|  17 --
 ...overflow-and-tx-underflow-interrupts.patch | 156 ---
 ...actor-rx-descriptor-flags-processing.patch | 110 ---
 .../107-use-NAPI_POLL_WEIGHT.patch|  11 --
 .../patches-4.9/108-korina-use-gro.patch  |  11 --
 .../109-korina-whitespace-cleanup-2.patch | 135 -
 .../110-korina-update-authors.patch   |  17 --
 .../patches-4.9/111-korina-version-bump.patch |  13 --
 10 files changed, 672 deletions(-)
 delete mode 100644 target/linux/rb532/config-4.9
 delete mode 100644 target/linux/rb532/patches-4.9/001-cmdline_hack.patch
 delete mode 100644 
target/linux/rb532/patches-4.9/004-rb532-fix-partition-info.patch
 delete mode 100644 
target/linux/rb532/patches-4.9/106-dont-use-rx-overflow-and-tx-underflow-interrupts.patch
 delete mode 100644 
target/linux/rb532/patches-4.9/107-korina-refactor-rx-descriptor-flags-processing.patch
 delete mode 100644 
target/linux/rb532/patches-4.9/107-use-NAPI_POLL_WEIGHT.patch
 delete mode 100644 target/linux/rb532/patches-4.9/108-korina-use-gro.patch
 delete mode 100644 
target/linux/rb532/patches-4.9/109-korina-whitespace-cleanup-2.patch
 delete mode 100644 
target/linux/rb532/patches-4.9/110-korina-update-authors.patch
 delete mode 100644 target/linux/rb532/patches-4.9/111-korina-version-bump.patch

diff --git a/target/linux/rb532/config-4.9 b/target/linux/rb532/config-4.9
deleted file mode 100644
index a02dc03bb3..00
--- a/target/linux/rb532/config-4.9
+++ /dev/null
@@ -1,182 +0,0 @@
-CONFIG_ARCH_BINFMT_ELF_STATE=y
-CONFIG_ARCH_CLOCKSOURCE_DATA=y
-CONFIG_ARCH_DISCARD_MEMBLOCK=y
-CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
-CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
-# CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set
-# CONFIG_ARCH_HAS_SG_CHAIN is not set
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
-CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_ARCH_SUPPORTS_UPROBES=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_ARCH_USE_BUILTIN_BSWAP=y
-CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
-CONFIG_ATA=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_CEVT_R4K=y
-CONFIG_CLONE_BACKWARDS=y
-CONFIG_CPU_GENERIC_DUMP_TLB=y
-CONFIG_CPU_HAS_PREFETCH=y
-CONFIG_CPU_HAS_SYNC=y
-CONFIG_CPU_LITTLE_ENDIAN=y
-CONFIG_CPU_MIPS32=y
-CONFIG_CPU_MIPS32_R1=y
-CONFIG_CPU_MIPSR1=y
-CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y
-CONFIG_CPU_R4K_CACHE_TLB=y
-CONFIG_CPU_R4K_FPU=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_HIGHMEM=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_RNG2=y
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CSRC_R4K=y
-CONFIG_DMA_NONCOHERENT=y
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-CONFIG_EXT4_FS=y
-# CONFIG_F2FS_CHECK_FS is not set
-CONFIG_F2FS_FS=y
-# CONFIG_F2FS_FS_SECURITY is not set
-CONFIG_F2FS_FS_XATTR=y
-CONFIG_F2FS_STAT_FS=y
-CONFIG_FS_MBCACHE=y
-CONFIG_GENERIC_ATOMIC64=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_GENERIC_IO=y
-CONFIG_GENERIC_IRQ_CHIP=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_GENERIC_SCHED_CLOCK=y
-CONFIG_GENERIC_SMP_IDLE_THREAD=y
-CONFIG_GENERIC_TIME_VSYSCALL=y
-CONFIG_GLOB=y
-CONFIG_GPIOLIB=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_HARDWARE_WATCHPOINTS=y
-CONFIG_HAS_DMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT_MAP=y
-# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
-# CONFIG_HAVE_ARCH_BITREVERSE is not set
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_HAVE_ARCH_KGDB=y
-CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
-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_IRQ_TIME_ACCOUNTING=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_HAVE_MEMBLOCK_NODE_MAP=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_HW_HAS_PCI=y
-CONFIG_HW_RANDOM=y
-CONFIG_HZ=250
-# CONFIG_HZ_100 is not set
-CONFIG_HZ_250=y
-CONFIG_HZ_PERIODIC=y
-CONFIG_IMAGE_CMDLINE_HACK=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_IRQ_DOMAIN=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_IRQ_MIPS_CPU=y
-CONFIG_IRQ_WORK=y
-CONFIG_JBD2=y
-CONFIG_KEXEC=y
-CONFIG_KEXEC_CORE=y
-CONFIG_KORINA=y
-CONFIG_LEDS_MIKROT

[OpenWrt-Devel] [PATCH 1/3] rb532: add 4.14 support

2018-11-25 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 target/linux/rb532/config-4.14| 182 ++
 .../rb532/patches-4.14/001-cmdline_hack.patch |  20 ++
 .../004-rb532-fix-partition-info.patch|  17 ++
 ...overflow-and-tx-underflow-interrupts.patch | 156 +++
 ...actor-rx-descriptor-flags-processing.patch | 110 +++
 .../107-use-NAPI_POLL_WEIGHT.patch|  11 ++
 .../patches-4.14/108-korina-use-gro.patch |  11 ++
 .../109-korina-whitespace-cleanup-2.patch | 135 +
 .../110-korina-update-authors.patch   |  17 ++
 .../111-korina-version-bump.patch |  13 ++
 10 files changed, 672 insertions(+)
 create mode 100644 target/linux/rb532/config-4.14
 create mode 100644 target/linux/rb532/patches-4.14/001-cmdline_hack.patch
 create mode 100644 
target/linux/rb532/patches-4.14/004-rb532-fix-partition-info.patch
 create mode 100644 
target/linux/rb532/patches-4.14/106-dont-use-rx-overflow-and-tx-underflow-interrupts.patch
 create mode 100644 
target/linux/rb532/patches-4.14/107-korina-refactor-rx-descriptor-flags-processing.patch
 create mode 100644 
target/linux/rb532/patches-4.14/107-use-NAPI_POLL_WEIGHT.patch
 create mode 100644 target/linux/rb532/patches-4.14/108-korina-use-gro.patch
 create mode 100644 
target/linux/rb532/patches-4.14/109-korina-whitespace-cleanup-2.patch
 create mode 100644 
target/linux/rb532/patches-4.14/110-korina-update-authors.patch
 create mode 100644 
target/linux/rb532/patches-4.14/111-korina-version-bump.patch

diff --git a/target/linux/rb532/config-4.14 b/target/linux/rb532/config-4.14
new file mode 100644
index 00..a02dc03bb3
--- /dev/null
+++ b/target/linux/rb532/config-4.14
@@ -0,0 +1,182 @@
+CONFIG_ARCH_BINFMT_ELF_STATE=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+# CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set
+# CONFIG_ARCH_HAS_SG_CHAIN is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_ATA=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_CEVT_R4K=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_CPU_GENERIC_DUMP_TLB=y
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_CPU_HAS_SYNC=y
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_CPU_MIPS32=y
+CONFIG_CPU_MIPS32_R1=y
+CONFIG_CPU_MIPSR1=y
+CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y
+CONFIG_CPU_R4K_CACHE_TLB=y
+CONFIG_CPU_R4K_FPU=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=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_RNG2=y
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CSRC_R4K=y
+CONFIG_DMA_NONCOHERENT=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+CONFIG_EXT4_FS=y
+# CONFIG_F2FS_CHECK_FS is not set
+CONFIG_F2FS_FS=y
+# CONFIG_F2FS_FS_SECURITY is not set
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_STAT_FS=y
+CONFIG_FS_MBCACHE=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_IO=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_SCHED_CLOCK=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GLOB=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_HARDWARE_WATCHPOINTS=y
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+# CONFIG_HAVE_ARCH_BITREVERSE is not set
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+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_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=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_HW_HAS_PCI=y
+CONFIG_HW_RANDOM=y
+CONFIG_HZ=250
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+CONFIG_HZ_PERIODIC=y
+CONFIG_IMAGE_CMDLINE_HACK=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_IRQ_MIPS_CPU=y
+CONFIG_IRQ_WORK=y
+CONFIG_JBD2=y
+CONFIG_KEXEC=y
+CONFIG_KEXEC_CORE=y
+CONFIG_KORINA=y
+CONFIG_LEDS_MIKROT

[OpenWrt-Devel] [PATCH 2/3] rb532: switch to 4.14

2018-11-25 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 target/linux/rb532/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/rb532/Makefile b/target/linux/rb532/Makefile
index 364a3a8b29..5aa8a6dc55 100644
--- a/target/linux/rb532/Makefile
+++ b/target/linux/rb532/Makefile
@@ -12,7 +12,7 @@ BOARDNAME:=Mikrotik RouterBoard 532
 FEATURES:=pci targz squashfs minor nand
 MAINTAINER:=Roman Yeryomin 
 
-KERNEL_PATCHVER:=4.9
+KERNEL_PATCHVER:=4.14
 
 include $(INCLUDE_DIR)/target.mk
 
-- 
2.17.1


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


[OpenWrt-Devel] [PATCH] ramips: fix ethernet for f5d8235-v2 board

2018-11-18 Thread Roman Yeryomin
Belkin F5D8235 v2 has two ethernet switches on board.
One internal rt3052 and rtl8366rb on rgmii interface.
Looks like internal switch settings were lost in
translation to device tree infrastructure.

Signed-off-by: Roman Yeryomin 
---
 .../linux/ramips/base-files/etc/board.d/02_network  |  2 +-
 target/linux/ramips/dts/F5D8235_V2.dts  | 13 -
 target/linux/ramips/image/rt305x.mk |  1 +
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/target/linux/ramips/base-files/etc/board.d/02_network 
b/target/linux/ramips/base-files/etc/board.d/02_network
index 9e9ecbcb51..7a6b4c76b4 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -200,7 +200,6 @@ ramips_setup_interfaces()
awm002-evb-8M|\
c20i|\
dir-645|\
-   f5d8235-v2|\
gl-mt300a|\
gl-mt300n|\
gl-mt750|\
@@ -371,6 +370,7 @@ ramips_setup_interfaces()
"0:lan" "2:lan" "6t@eth0"
;;
f5d8235-v1|\
+   f5d8235-v2|\
tew-714tru|\
v11st-fe|\
wzr-agl300nh)
diff --git a/target/linux/ramips/dts/F5D8235_V2.dts 
b/target/linux/ramips/dts/F5D8235_V2.dts
index a3a1255941..1a86557ca4 100644
--- a/target/linux/ramips/dts/F5D8235_V2.dts
+++ b/target/linux/ramips/dts/F5D8235_V2.dts
@@ -111,7 +111,7 @@
 &pinctrl {
state_default: pinctrl0 {
gpio {
-   ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", 
"uartf";
+   ralink,group = "spi", "i2c", "jtag", "mdio", "uartf";
ralink,function = "gpio";
};
};
@@ -119,10 +119,21 @@
 
 ðernet {
mtd-mac-address = <&uboot 0x40004>;
+   pinctrl-names = "default";
+   pinctrl-0 = <&rgmii_pins>;
 };
 
 &esw {
+   ralink,rgmii = <1>;
mediatek,portmap = <0x3f>;
+   ralink,fct2 = <0x0002500c>;
+   /*
+* ext phy base addr 31, rx/tx clock skew 0,
+* turbo mii off, rgmi 3.3v off, port 5 polling off
+* port5: enabled, gige, full-duplex, rx/tx-flow-control
+* port6: enabled, gige, full-duplex, rx/tx-flow-control
+   */
+   ralink,fpa2 = <0x1f003fff>;
 };
 
 &wmac {
diff --git a/target/linux/ramips/image/rt305x.mk 
b/target/linux/ramips/image/rt305x.mk
index 066cef23cb..cc743c609d 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -329,6 +329,7 @@ define Device/f5d8235-v2
   DTS := F5D8235_V2
   IMAGE_SIZE := 7744k
   DEVICE_TITLE := Belkin F5D8235 v2
+  DEVICE_PACKAGES := kmod-switch-rtl8366rb
 endef
 TARGET_DEVICES += f5d8235-v2
 
-- 
2.17.1


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


Re: [OpenWrt-Devel] [LEDE-DEV] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-05-05 Thread Roman Yeryomin

On 2018-05-05 16:35, Linus Walleij wrote:
On Sat, May 5, 2018 at 11:25 AM, Linus Walleij 
 wrote:
On Fri, May 4, 2018 at 11:49 PM, Linus Walleij 
 wrote:
On Fri, May 4, 2018 at 11:37 PM, Roman Yeryomin  
wrote:



The GPIO LEDs does not come up though?
CONFIG_LEDS_GPIO is not in config, and
/sys/class/leds is empty.

Does it need  a separate kmod?


kmod-leds-gpio is part of DEFAULT_PACKAGES now
I guess you should run menuconfig and/or clean tmp/ to refresh 
profile

package set.


Hm I ran menuconfig and it doesn't work, and removing
tmp/ didn't help either, but selecting a different target
and then selecting CS351x again worked... shaky.

OK rebuilding this overnight and retesting.


It is still not working. Do you get GPIO LEDs on your
device with this?

AFAICT the problem is that there is no script in
/etc/modules-boot.d to load the GPIO LED module.

I'm digging into it to figure out more about how this
module load is supposed to work...


Sorry probably bad mechanics from my side, like replacing
the rootfs but not the kernel :(

The good news is: it works like a charm.

All vital components are running, drivers probe, modules
load correctly from the hard drive.


Yeah.. they should be, that's one of the most common modules here :)

On Raidsonic:
root@OpenWrt:/# lsmod | grep led
leds_gpio   2772  0
ledtrig_heartbeat   1570  0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [LEDE-DEV] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-05-05 Thread Roman Yeryomin

On 2018-05-05 17:32, Linus Walleij wrote:

On Tue, May 1, 2018 at 8:44 PM, Roman Yeryomin  wrote:

Linus, if you have time, could you check if this helps to bring 
network up

on dir-685?
https://github.com/yeryomin/openwrt/commit/b0296b1f71bd3d677c931addd6de341203fbf18f


Sadly not. At least not outofthebox. I do not know what other
devices using the RTL8366RB is doing apart from this.


What did dmesg say about it?
Did you try swconfig tool? E.g. `swconfig list` and/or `swconfig dev 
switch0 show`


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


Re: [OpenWrt-Devel] [LEDE-DEV] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-05-04 Thread Roman Yeryomin

On 2018-05-04 20:15, Linus Walleij wrote:

On Fri, May 4, 2018 at 5:26 PM, Roman Yeryomin  wrote:


[   11.345619] kmodloader: 3 modules could not be probed
[   11.376633] kmodloader: dependency not loaded mbcache
[   11.407619] kmodloader: dependency not loaded jbd2


I think those should be fixed now (after compiling in jbd2 and 
mbcache):

https://github.com/yeryomin/openwrt/commit/14ff513daeb81a47d179c55f440ed652e407c32b


It's working pretty well :)


Thanks for efforts and testing! :)


My harddisk never goes to sleep but keeps spinning due to the
missing hdparm script (I guess you dropped it), but we can
always fix that later, it would ideally need a way to indicate
that this busybox command should get built and I don't know
how to do that.


Yeah... that should be addressed separately.
I still have few things in TODO, will add this one too.


The GPIO LEDs does not come up though?
CONFIG_LEDS_GPIO is not in config, and
/sys/class/leds is empty.

Does it need  a separate kmod?


kmod-leds-gpio is part of DEFAULT_PACKAGES now
I guess you should run menuconfig and/or clean tmp/ to refresh profile 
package set.



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


[OpenWrt-Devel] [PATCH] base-files: rework _ucidef_set_interface to be more generic

2018-05-04 Thread Roman Yeryomin
This is a rework of previously submitted patch reworking
ucidef_set_interface_raw [1]. Here, keep the idea but instead
make _ucidef_set_interface more generic and use it instead of
ucidef_set_interface_raw.
Also change the users like ucidef_set_interface_lan and others.

[1] https://patchwork.ozlabs.org/patch/844961/

Signed-off-by: Roman Yeryomin 
---
 .../base-files/files/lib/functions/uci-defaults.sh | 74 +++---
 .../linux/ar71xx/base-files/etc/board.d/02_network |  6 +-
 2 files changed, 27 insertions(+), 53 deletions(-)

diff --git a/package/base-files/files/lib/functions/uci-defaults.sh 
b/package/base-files/files/lib/functions/uci-defaults.sh
index 3126fe6510..8065af24a5 100755
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -27,29 +27,26 @@ json_select_object() {
json_select "$1"
 }
 
-_ucidef_set_interface() {
-   local name="$1"
-   local iface="$2"
-   local proto="$3"
+ucidef_set_interface() {
+   local network=$1
 
-   json_select_object "$name"
-   json_add_string ifname "$iface"
-
-   if ! json_is_a protocol string || [ -n "$proto" ]; then
-   case "$proto" in
-   static|dhcp|none|pppoe) : ;;
-   *)
-   case "$name" in
-   lan) proto="static" ;;
-   wan) proto="dhcp" ;;
-   *) proto="none" ;;
-   esac
-   ;;
-   esac
+   [ -z "$network" ] && return
 
-   json_add_string protocol "$proto"
-   fi
+   json_select_object network
+   json_select_object "$network"
+   shift
+
+   while [ -n "$1" ]; do
+   local opt="$1"
+   local val="$2"
+   shift; shift;
 
+   [ -n "$opt" -a -n "$val" ] || break
+
+   json_add_string "$opt" "$val"
+   done
+
+   json_select ..
json_select ..
 }
 
@@ -66,31 +63,19 @@ ucidef_set_model_name() {
 }
 
 ucidef_set_interface_lan() {
-   json_select_object network
-   _ucidef_set_interface lan "$@"
-   json_select ..
+   ucidef_set_interface "lan" ifname "$1" protocol "${2:-static}"
 }
 
 ucidef_set_interface_wan() {
-   json_select_object network
-   _ucidef_set_interface wan "$@"
-   json_select ..
+   ucidef_set_interface "wan" ifname "$1" protocol "${2:-dhcp}"
 }
 
 ucidef_set_interfaces_lan_wan() {
local lan_if="$1"
local wan_if="$2"
 
-   json_select_object network
-   _ucidef_set_interface lan "$lan_if"
-   _ucidef_set_interface wan "$wan_if"
-   json_select ..
-}
-
-ucidef_set_interface_raw() {
-   json_select_object network
-   _ucidef_set_interface "$@"
-   json_select ..
+   ucidef_set_interface_lan "$lan_if"
+   ucidef_set_interface_wan "$wan_if"
 }
 
 _ucidef_add_switch_port() {
@@ -185,9 +170,9 @@ _ucidef_finish_switch_roles() {
devices="${devices:+$devices }$device"
fi
json_select ..
-
-   _ucidef_set_interface "$role" "$devices"
json_select ..
+
+   ucidef_set_interface "$role" ifname "$devices"
done
 }
 
@@ -300,18 +285,7 @@ ucidef_set_interface_macaddr() {
local network="$1"
local macaddr="$2"
 
-   json_select_object network
-
-   json_select "$network"
-   [ $? -eq 0 ] || {
-   json_select ..
-   return
-   }
-
-   json_add_string macaddr "$macaddr"
-   json_select ..
-
-   json_select ..
+   ucidef_set_interface "$network" macaddr "$macaddr"
 }
 
 ucidef_add_atm_bridge() {
diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network 
b/target/linux/ar71xx/base-files/etc/board.d/02_network
index cbbcf53946..0c7034525b 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -400,7 +400,7 @@ ar71xx_setup_interfaces()
"0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
;;
ew-balin)
-   ucidef_set_interface_raw "usb2" "usb0" "static"
+   

Re: [OpenWrt-Devel] [LEDE-DEV] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-05-04 Thread Roman Yeryomin

On 2018-05-02 11:01, Linus Walleij wrote:


There is some moaning in dmesg:

[   10.071561] Btrfs loaded, crc32c=crc32c-generic
[   10.105705] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   10.161586] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   10.209501] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   10.264368] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   10.312050] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   10.368142] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   10.415827] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   10.500774] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   10.548542] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   10.604267] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) 
Driver

[   10.651342] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   10.699520] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   10.754306] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   10.802014] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   10.855212] ehci-platform: EHCI generic platform driver
[   10.895311] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   10.943323] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   10.998070] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   11.045793] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   11.102146] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   11.150097] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   11.205504] usbcore: registered new interface driver usb-storage
[   11.249732] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)
[   11.297491] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   11.345619] kmodloader: 3 modules could not be probed
[   11.376633] kmodloader: dependency not loaded mbcache
[   11.407619] kmodloader: dependency not loaded jbd2


I think those should be fixed now (after compiling in jbd2 and mbcache):
https://github.com/yeryomin/openwrt/commit/14ff513daeb81a47d179c55f440ed652e407c32b

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


[OpenWrt-Devel] [PATCH] ipq40xx: fix ethernet on ap-dk01.1

2018-05-04 Thread Roman Yeryomin
Not sure how it worked before but ethernet is disabled
by default in ipq4019 dtsi.

Signed-off-by: Roman Yeryomin 
---
 ...-09-dts-ipq4019-ap-dk01.1-enable-ethernet.patch | 25 ++
 1 file changed, 25 insertions(+)
 create mode 100644 
target/linux/ipq40xx/patches-4.14/864-09-dts-ipq4019-ap-dk01.1-enable-ethernet.patch

diff --git 
a/target/linux/ipq40xx/patches-4.14/864-09-dts-ipq4019-ap-dk01.1-enable-ethernet.patch
 
b/target/linux/ipq40xx/patches-4.14/864-09-dts-ipq4019-ap-dk01.1-enable-ethernet.patch
new file mode 100644
index 00..625c18dcc8
--- /dev/null
+++ 
b/target/linux/ipq40xx/patches-4.14/864-09-dts-ipq4019-ap-dk01.1-enable-ethernet.patch
@@ -0,0 +1,25 @@
+--- a/arch/arm/boot/dts/qcom-ipq4019-ap.dk01.1.dtsi
 b/arch/arm/boot/dts/qcom-ipq4019-ap.dk01.1.dtsi
+@@ -121,6 +121,22 @@
+   status = "ok";
+   };
+ 
++  mdio@9 {
++  status = "okay";
++  };
++
++  ess-switch@c00 {
++  status = "okay";
++  };
++
++  ess-psgmii@98000 {
++  status = "okay";
++  };
++
++  edma@c08 {
++  status = "okay";
++  };
++
+   usb3_ss_phy: ssphy@9a000 {
+   status = "ok";
+   };
-- 
2.14.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] ipq40xx cpu frequency

2018-05-04 Thread Roman Yeryomin

Hi Christian,

I'm seeing this

[1.275858] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 
632000 KHz
[1.276620] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency 
changed to: 716000 KHz


on ap-dk01 board (I suspect others may be affected too, I don't have hw 
to test).


Looks like related to your commit
a44d435c1d ipq40xx: fix apss cpu overclocking spam

While it fixes the original problem described, it would be nice not to 
misconfigure the clock anyway.
Also, since the official highest frequency is 716.8MHz, wouldn't it be 
more logical to fix it in appropriate board dts (if needed) and not in 
the common dtsi?



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


Re: [OpenWrt-Devel] [LEDE-DEV] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-05-02 Thread Roman Yeryomin

On 2018-05-02 11:01, Linus Walleij wrote:
On Wed, May 2, 2018 at 12:18 AM, Linus Walleij 
 wrote:
On Sun, Apr 29, 2018 at 8:32 PM, Roman Yeryomin  
wrote:


Linus, could you test that branch on your device and see if network 
is

working by default?


I've pulled in the branch and building it for D-Link DNS-313 right 
now.


Will report back.


I found some initial snags and sent you a patch for it, mostly
some chicken-and-egg problem for harddisk boot and clumsy
attempt to patch the command line from my side that I replaced
with bootargs in the device tree.

It boots, mounts root and gets to prompt now.

I will submit the bootargs patches upstream.

There is some moaning in dmesg:

[   10.071561] Btrfs loaded, crc32c=crc32c-generic
[   10.105705] mbcache: exports duplicate symbol __mb_cache_entry_free
(owned by kernel)
[   10.161586] jbd2: exports duplicate symbol jbd2__journal_restart
(owned by kernel)


Oh.. wait... I've missed that DNS-313 doesn't have any onboard flash and 
boots from hdd!
Seems we need CONFIG_JBD2=y and CONFIG_FS_MBCACHE=y (along with ext4 and 
other fs) back.



I guess you see this too? Related to the USB mess I guess, we can live
with it.


No, I don't have the same, Raidsonic (and other boards, afaik) have 
onboard flash which can be used for system.
So hard drives can be used for pure storage, which is more convenient, 
IMO.



Network does not come up either, I suspect it is because of missing the
Realtek PHY driver, so will investigate this further.


Could be... what does dmesg say about that? does it read any phy_id ?
Raidsonic has Marvell 88e1116 phy but works as generic phy just fine:

[5.731760] Generic PHY gpio-0:01: attached PHY driver [Generic PHY] 
(mii_bus:phy_addr=gpio-0:01, irq=POLL)

[5.731781] phy_id=0x01410e11, phy_mode=rgmii


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


Re: [OpenWrt-Devel] [LEDE-DEV] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-05-01 Thread Roman Yeryomin

On 2018-04-29 21:32, Roman Yeryomin wrote:

On 2018-04-27 09:18, John Crispin wrote:

On 17/04/18 00:34, Roman Yeryomin wrote:

On 2018-04-15 20:22, Roman Yeryomin wrote:

On 2018-04-14 20:36, Hans Ulli Kroll wrote:

Hi Roman

On Tue, 10 Apr 2018, Linus Walleij wrote:

On Mon, Apr 9, 2018 at 12:38 PM, Roman Yeryomin  
wrote:


> I have tested them quickly yesterday on nas4220b board. Although I've
> managed to boot it (had to fix rootfs image) ethernet and usb didn't work.
> And I didn't check anything else.
> I didn't yet look at the code but before I dive there I have a question: did
> you have a chance to test it yourself on any of the boards? And if yes,
> which one?



I think the fotg controller gets stalled after a port reset.
Please check attached (untested) patch for openwrt.
I can test this next week by myself

+diff --git a/drivers/usb/host/fotg210-hcd.c 
b/drivers/usb/host/fotg210-hcd.c

+index 2acc51b0be5a..bc9efb49adc7 100644
+--- a/drivers/usb/host/fotg210-hcd.c
 b/drivers/usb/host/fotg210-hcd.c
+@@ -1653,6 +1653,10 @@ static int fotg210_hub_control(struct 
usb_hcd

*hcd, u16 typeReq, u16 wValue,
+ /* see what we found out */
+ temp = check_reset_complete(fotg210, wIndex, 
status_reg,

+ fotg210_readl(fotg210, status_reg));
++
++    /* restart schedule */
++    fotg210->command |= CMD_RUN;
++    fotg210_writel(fotg210, fotg210->command, 
&fotg210->regs->command);

+ }
+
+ if (!(temp & (PORT_RESUME|PORT_RESET))) {
+--
+2.16.2
+


Didn't work for me :(



I've found why it didn't work:
[    5.845199] Warning! fotg210_hcd should always be loaded before 
uhci_hcd and ohci_hcd, not after


After fixing kernel config and applying your patch it works.
So your patch works and is needed indeed.

But there are other problems.
Second USB (USB1) port cannot be initialized and only USB0 is 
working:

[    5.843831] fotg210_hcd: FOTG210 Host Controller (EHCI) Driver
[    5.844298] pinctrl-gemini 4000.syscon:pinctrl: ACTIVATE 
function "usb" with group "usbgrp"

[    5.845067] fotg210-hcd 6800.usb: initialized Gemini PHY
[    5.845095] fotg210-hcd 6800.usb: Faraday USB2.0 Host 
Controller
[    5.845176] fotg210-hcd 6800.usb: new USB bus registered, 
assigned bus number 1

[    5.845696] fotg210-hcd 6800.usb: irq 29, io mem 0x6800
[    5.877212] fotg210-hcd 6800.usb: USB 2.0 started, EHCI 1.00
[    5.880314] hub 1-0:1.0: USB hub found
[    5.880546] hub 1-0:1.0: 1 port detected
[    5.904768] pinctrl-gemini 4000.syscon:pinctrl: pin T6 USB 
GNDA U20 already requested by 6800.usb; cannot claim for 
6900.usb
[    5.904807] pinctrl-gemini 4000.syscon:pinctrl: pin-305 
(6900.usb) status -22
[    5.904845] pinctrl-gemini 4000.syscon:pinctrl: could not 
request pin 305 (T6 USB GNDA U20) from group usbgrp  on device 
pinctrl-gemini
[    5.904872] fotg210-hcd 6900.usb: Error applying setting, 
reverse things back
[    5.904928] fotg210-hcd: probe of 6900.usb failed with error 
-22


After removing pinctrl from USB1 it is initialized but then only USB1 
is working, USB0 is seen but there are no interrupts.
Didn't yet look at the code, maybe you will know where to fix right 
away.


Regards,
Roman



Hi,
how shall we proceed ? merge 1, 2 and 3, let roman fix the regressions
and then merge 4 ? or drop the series for now and let you guys send a
V2 with the regression fixes integrated ?


Hi John,
I've prepared 4.14 branch here
https://github.com/yeryomin/openwrt/commits/gemini-4.14
I think it can be merged in it's current state. The only problem I'm
aware of is that usb is not fully working (afaik, Hans is working on
it).

Linus, could you test that branch on your device and see if network is
working by default?



Linus, if you have time, could you check if this helps to bring network 
up on dir-685?

https://github.com/yeryomin/openwrt/commit/b0296b1f71bd3d677c931addd6de341203fbf18f

Note I have disabled video and input drivers, since dir-685 seems is the 
only board which could potentially use them. And ili display wasn't 
enabled anyway.
All those modules can be enabled via kernel modules. If you could test 
the needed set we could add them to dir-685 packages.



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


Re: [OpenWrt-Devel] Second RGMII ethernet on MT7621?

2018-04-30 Thread Roman Yeryomin

On 2018-04-30 22:10, John Crispin wrote:

On 30/04/18 19:08, Bjørn Mork wrote:

Hello,

I have been playing with a ZyXEL WAP6805, which appears to be an OEM
version of the https://wikidevi.com/wiki/ZyXEL_WAP6806_(Armor_X1)

This thing has an oversized mini-PCIe Quantenna module.  Or that's the
mechanical form factor.  The connection between the MT7621 and the
Quantenna QT3840BC appears to be RGMII, ref the OEM bootlog below.
Notice how this brings up both eth2 and eth3 and add them to the br0
bridge.  The Quantenna module loads u-boot and a firmware image using
tftp, and it is then managed over the ethernet interface.

So I was looking for a quick way to enable the second ethernet port on
the MT7621, but can't find any.  Am I looking the wrong place, or am I
right that the support for this is still lacking?  Any idea how many
bits and pieces are missing?



Bjørn


Hi Bjørn

making gmac2 work s not trivial with the current driver. however
making the upstream mtk_eth_soc driver work on mt7621 is pretty easy i
think and will give you dual gmac support. upstream only supports
mt7623 arm atm. its been on my todo list for a while but i simply have
not been able to find the 2-3 days required to make it work.



John, include me in testing list when you do :)


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


Re: [OpenWrt-Devel] [LEDE-DEV] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-04-29 Thread Roman Yeryomin

On 2018-04-27 09:18, John Crispin wrote:

On 17/04/18 00:34, Roman Yeryomin wrote:

On 2018-04-15 20:22, Roman Yeryomin wrote:

On 2018-04-14 20:36, Hans Ulli Kroll wrote:

Hi Roman

On Tue, 10 Apr 2018, Linus Walleij wrote:

On Mon, Apr 9, 2018 at 12:38 PM, Roman Yeryomin  
wrote:


> I have tested them quickly yesterday on nas4220b board. Although I've
> managed to boot it (had to fix rootfs image) ethernet and usb didn't work.
> And I didn't check anything else.
> I didn't yet look at the code but before I dive there I have a question: did
> you have a chance to test it yourself on any of the boards? And if yes,
> which one?



I think the fotg controller gets stalled after a port reset.
Please check attached (untested) patch for openwrt.
I can test this next week by myself

+diff --git a/drivers/usb/host/fotg210-hcd.c 
b/drivers/usb/host/fotg210-hcd.c

+index 2acc51b0be5a..bc9efb49adc7 100644
+--- a/drivers/usb/host/fotg210-hcd.c
 b/drivers/usb/host/fotg210-hcd.c
+@@ -1653,6 +1653,10 @@ static int fotg210_hub_control(struct 
usb_hcd

*hcd, u16 typeReq, u16 wValue,
+ /* see what we found out */
+ temp = check_reset_complete(fotg210, wIndex, 
status_reg,

+ fotg210_readl(fotg210, status_reg));
++
++    /* restart schedule */
++    fotg210->command |= CMD_RUN;
++    fotg210_writel(fotg210, fotg210->command, 
&fotg210->regs->command);

+ }
+
+ if (!(temp & (PORT_RESUME|PORT_RESET))) {
+--
+2.16.2
+


Didn't work for me :(



I've found why it didn't work:
[    5.845199] Warning! fotg210_hcd should always be loaded before 
uhci_hcd and ohci_hcd, not after


After fixing kernel config and applying your patch it works.
So your patch works and is needed indeed.

But there are other problems.
Second USB (USB1) port cannot be initialized and only USB0 is working:
[    5.843831] fotg210_hcd: FOTG210 Host Controller (EHCI) Driver
[    5.844298] pinctrl-gemini 4000.syscon:pinctrl: ACTIVATE 
function "usb" with group "usbgrp"

[    5.845067] fotg210-hcd 6800.usb: initialized Gemini PHY
[    5.845095] fotg210-hcd 6800.usb: Faraday USB2.0 Host 
Controller
[    5.845176] fotg210-hcd 6800.usb: new USB bus registered, 
assigned bus number 1

[    5.845696] fotg210-hcd 6800.usb: irq 29, io mem 0x6800
[    5.877212] fotg210-hcd 6800.usb: USB 2.0 started, EHCI 1.00
[    5.880314] hub 1-0:1.0: USB hub found
[    5.880546] hub 1-0:1.0: 1 port detected
[    5.904768] pinctrl-gemini 4000.syscon:pinctrl: pin T6 USB GNDA 
U20 already requested by 6800.usb; cannot claim for 6900.usb
[    5.904807] pinctrl-gemini 4000.syscon:pinctrl: pin-305 
(6900.usb) status -22
[    5.904845] pinctrl-gemini 4000.syscon:pinctrl: could not 
request pin 305 (T6 USB GNDA U20) from group usbgrp  on device 
pinctrl-gemini
[    5.904872] fotg210-hcd 6900.usb: Error applying setting, 
reverse things back
[    5.904928] fotg210-hcd: probe of 6900.usb failed with error 
-22


After removing pinctrl from USB1 it is initialized but then only USB1 
is working, USB0 is seen but there are no interrupts.
Didn't yet look at the code, maybe you will know where to fix right 
away.


Regards,
Roman



Hi,
how shall we proceed ? merge 1, 2 and 3, let roman fix the regressions
and then merge 4 ? or drop the series for now and let you guys send a
V2 with the regression fixes integrated ?


Hi John,
I've prepared 4.14 branch here 
https://github.com/yeryomin/openwrt/commits/gemini-4.14
I think it can be merged in it's current state. The only problem I'm 
aware of is that usb is not fully working (afaik, Hans is working on 
it).


Linus, could you test that branch on your device and see if network is 
working by default?



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


Re: [OpenWrt-Devel] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-04-16 Thread Roman Yeryomin

On 2018-04-15 20:22, Roman Yeryomin wrote:

On 2018-04-14 20:36, Hans Ulli Kroll wrote:

Hi Roman

On Tue, 10 Apr 2018, Linus Walleij wrote:

On Mon, Apr 9, 2018 at 12:38 PM, Roman Yeryomin  
wrote:


> I have tested them quickly yesterday on nas4220b board. Although I've
> managed to boot it (had to fix rootfs image) ethernet and usb didn't work.
> And I didn't check anything else.
> I didn't yet look at the code but before I dive there I have a question: did
> you have a chance to test it yourself on any of the boards? And if yes,
> which one?



I think the fotg controller gets stalled after a port reset.
Please check attached (untested) patch for openwrt.
I can test this next week by myself

+diff --git a/drivers/usb/host/fotg210-hcd.c 
b/drivers/usb/host/fotg210-hcd.c

+index 2acc51b0be5a..bc9efb49adc7 100644
+--- a/drivers/usb/host/fotg210-hcd.c
 b/drivers/usb/host/fotg210-hcd.c
+@@ -1653,6 +1653,10 @@ static int fotg210_hub_control(struct usb_hcd
*hcd, u16 typeReq, u16 wValue,
+   /* see what we found out */
+   temp = check_reset_complete(fotg210, wIndex, status_reg,
+   fotg210_readl(fotg210, status_reg));
++
++  /* restart schedule */
++  fotg210->command |= CMD_RUN;
++			fotg210_writel(fotg210, fotg210->command, 
&fotg210->regs->command);

+   }
+
+   if (!(temp & (PORT_RESUME|PORT_RESET))) {
+--
+2.16.2
+


Didn't work for me :(



I've found why it didn't work:
[5.845199] Warning! fotg210_hcd should always be loaded before 
uhci_hcd and ohci_hcd, not after


After fixing kernel config and applying your patch it works.
So your patch works and is needed indeed.

But there are other problems.
Second USB (USB1) port cannot be initialized and only USB0 is working:
[5.843831] fotg210_hcd: FOTG210 Host Controller (EHCI) Driver
[5.844298] pinctrl-gemini 4000.syscon:pinctrl: ACTIVATE function 
"usb" with group "usbgrp"

[5.845067] fotg210-hcd 6800.usb: initialized Gemini PHY
[5.845095] fotg210-hcd 6800.usb: Faraday USB2.0 Host Controller
[5.845176] fotg210-hcd 6800.usb: new USB bus registered, 
assigned bus number 1

[5.845696] fotg210-hcd 6800.usb: irq 29, io mem 0x6800
[5.877212] fotg210-hcd 6800.usb: USB 2.0 started, EHCI 1.00
[5.880314] hub 1-0:1.0: USB hub found
[5.880546] hub 1-0:1.0: 1 port detected
[5.904768] pinctrl-gemini 4000.syscon:pinctrl: pin T6 USB GNDA 
U20 already requested by 6800.usb; cannot claim for 6900.usb
[5.904807] pinctrl-gemini 4000.syscon:pinctrl: pin-305 
(6900.usb) status -22
[5.904845] pinctrl-gemini 4000.syscon:pinctrl: could not request 
pin 305 (T6 USB GNDA U20) from group usbgrp  on device pinctrl-gemini
[5.904872] fotg210-hcd 6900.usb: Error applying setting, reverse 
things back

[5.904928] fotg210-hcd: probe of 6900.usb failed with error -22

After removing pinctrl from USB1 it is initialized but then only USB1 is 
working, USB0 is seen but there are no interrupts.
Didn't yet look at the code, maybe you will know where to fix right 
away.


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


Re: [OpenWrt-Devel] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-04-16 Thread Roman Yeryomin

On 2018-04-17 00:36, Linus Walleij wrote:

On Mon, Apr 16, 2018 at 2:00 AM, Roman Yeryomin  wrote:


Looking at your tree...
I don't see any (affecting) differences in ethernet driver itself.
Probably it's something else.. MDIO?



After looking into ethernet I've found several issues.
1. skew delay settings were not ported from old driver to dts for 
nas4220b

board
2. kernel config in you patches (accidentally?) disabled bridge 
support
3. driver crashes if you try to disable unused gmac in dts because of 
access

to uninitialized port(0|1) member of struct gemini_ethernet


Ouch. Sorry for my sucky backport. :(


So after fixing all above ethernet on nas4220b is working ok.


You are my hero :)


Can you confirm that after enabling bridge support back (just remove
CONFIG_BRIDGE from gemini kernel config and rebuild) ethernet comes up 
on

D-link boards? That is with default network config.


I think it's best if I test your entire set-up on the D-Link routers.
Do you have a git branch I can grab?


Will try to prepare that tomorrow.
Target kernel config must be cleaned up, it's redundant in some places 
and overrides some things which it should not.
I've managed to get usb working, it was kernel config error again (and 
Hans' patch he sent earlier is actually working). But still usb has 
problems, e.g. I couldn't get both ports working, only one of them.

SATA seems to be working out of the box, which is good!


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


Re: [OpenWrt-Devel] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-04-15 Thread Roman Yeryomin

On 2018-04-12 00:37, Roman Yeryomin wrote:

On 2018-04-11 00:51, Linus Walleij wrote:
On Mon, Apr 9, 2018 at 12:38 PM, Roman Yeryomin  
wrote:



I have tested them quickly yesterday on nas4220b board. Although I've
managed to boot it (had to fix rootfs image) ethernet and usb didn't 
work.

And I didn't check anything else.
I didn't yet look at the code but before I dive there I have a 
question: did
you have a chance to test it yourself on any of the boards? And if 
yes,

which one?


Hm I tested mostly the rootfs and that the kernel would get to prompt.
But for my D-Link devices I tested mostly with kernel v4.16 because
I'm working close to mainline. Testing now it seems network is not
coming up here either :/ as it works like a charm on v4.16 it must
be some minor issue.


Looking at your tree...
I don't see any (affecting) differences in ethernet driver itself.
Probably it's something else.. MDIO?



After looking into ethernet I've found several issues.
1. skew delay settings were not ported from old driver to dts for 
nas4220b board

2. kernel config in you patches (accidentally?) disabled bridge support
3. driver crashes if you try to disable unused gmac in dts because of 
access to uninitialized port(0|1) member of struct gemini_ethernet


So after fixing all above ethernet on nas4220b is working ok.

Can you confirm that after enabling bridge support back (just remove 
CONFIG_BRIDGE from gemini kernel config and rebuild) ethernet comes up 
on D-link boards? That is with default network config.



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


Re: [OpenWrt-Devel] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-04-15 Thread Roman Yeryomin

On 2018-04-14 20:36, Hans Ulli Kroll wrote:

Hi Roman

On Tue, 10 Apr 2018, Linus Walleij wrote:

On Mon, Apr 9, 2018 at 12:38 PM, Roman Yeryomin  
wrote:


> I have tested them quickly yesterday on nas4220b board. Although I've
> managed to boot it (had to fix rootfs image) ethernet and usb didn't work.
> And I didn't check anything else.
> I didn't yet look at the code but before I dive there I have a question: did
> you have a chance to test it yourself on any of the boards? And if yes,
> which one?



I think the fotg controller gets stalled after a port reset.
Please check attached (untested) patch for openwrt.
I can test this next week by myself

+diff --git a/drivers/usb/host/fotg210-hcd.c 
b/drivers/usb/host/fotg210-hcd.c

+index 2acc51b0be5a..bc9efb49adc7 100644
+--- a/drivers/usb/host/fotg210-hcd.c
 b/drivers/usb/host/fotg210-hcd.c
+@@ -1653,6 +1653,10 @@ static int fotg210_hub_control(struct usb_hcd
*hcd, u16 typeReq, u16 wValue,
+   /* see what we found out */
+   temp = check_reset_complete(fotg210, wIndex, status_reg,
+   fotg210_readl(fotg210, status_reg));
++
++  /* restart schedule */
++  fotg210->command |= CMD_RUN;
++			fotg210_writel(fotg210, fotg210->command, 
&fotg210->regs->command);

+   }
+
+   if (!(temp & (PORT_RESUME|PORT_RESET))) {
+--
+2.16.2
+


Didn't work for me :(


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


Re: [OpenWrt-Devel] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-04-11 Thread Roman Yeryomin

On 2018-04-11 00:51, Linus Walleij wrote:

On Mon, Apr 9, 2018 at 12:38 PM, Roman Yeryomin  wrote:


I have tested them quickly yesterday on nas4220b board. Although I've
managed to boot it (had to fix rootfs image) ethernet and usb didn't 
work.

And I didn't check anything else.
I didn't yet look at the code but before I dive there I have a 
question: did
you have a chance to test it yourself on any of the boards? And if 
yes,

which one?


Hm I tested mostly the rootfs and that the kernel would get to prompt.
But for my D-Link devices I tested mostly with kernel v4.16 because
I'm working close to mainline. Testing now it seems network is not
coming up here either :/ as it works like a charm on v4.16 it must
be some minor issue.


Looking at your tree...
I don't see any (affecting) differences in ethernet driver itself. 
Probably it's something else.. MDIO?



I would guess Hans Ulli Kroll can help with USB, I just applied the
patches and have nothing to test it with. I never used USB...


Hans, did you have a chance to test 4.14 (or 4.16) on any of gemini 
boards?



The v4.16 stack is pretty small and there the network for sure
works (not a finished patch set):
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git/log/?h=openwrt-v4.16

If it's hard to get v4.14 to backport we could maybe aim to
use v4.16 instead? Or is there some OpenWRT baselining involved?


Yeah, generic comes first and that's not 10min work :)


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


Re: [OpenWrt-Devel] [LEDE-DEV] kernel version status

2018-04-09 Thread Roman Yeryomin

On 2018-04-01 17:48, Hauke Mehrtens wrote:

The next OpenWrt release will use kernel 4.9 and kernel 4.14 depending
on the target. All targets that are *not* on either kernel 4.9 or 4.14
will not be included in the next release.

The following targets are on kernel 4.4 and will probably not be
included in the next release:
* gemini
There are patches for kernel 4.14 on the mailing list, we will
probably get them in before the release and ship this with 4.14


Hi Hauke, I have a working 4.9, is it too late to submit?
I'll also work on 4.14 submitted by Linus, but it didn't work out of the 
box, so probably will take more time.


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


Re: [OpenWrt-Devel] [PATCH 0/4] Gemini forward-port to kernel v4.14

2018-04-09 Thread Roman Yeryomin

On 2018-04-04 23:34, Linus Walleij wrote:

This patch set forward-ports Gemini to v4.14 with as good
support as I can get.

I don't know if all or any patches actually make it through
to the devel list. They are also posted here:

https://dflund.se/~triad/krad/gemini/openwrt/

It would be nice if we could apply this and get a working
modernized base for the Gemini platforms.

The v4.14 is a bit patchy. With v4.16 we will be looking
pretty neat.

Linus Walleij (4):
  firmware-utils: Add the DNS-313 image header tool
  gemini: Forward-port to v4.14
  gemini: Add kernel v4.14 patches
  gemini: Delete kernel 4.4 patches



Hi Linus, thanks for the patches!
I have tested them quickly yesterday on nas4220b board. Although I've 
managed to boot it (had to fix rootfs image) ethernet and usb didn't 
work. And I didn't check anything else.
I didn't yet look at the code but before I dive there I have a question: 
did you have a chance to test it yourself on any of the boards? And if 
yes, which one?


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


Re: [OpenWrt-Devel] Booting D-Link DNS-313, for for 18.03 ??

2018-02-23 Thread Roman Yeryomin

On 2018-02-23 16:07, Linus Walleij wrote:

With kernel v4.14 we would probably have to backport a bunch of
patches from HEAD to get into proper shape but it can be done.


looks like


v4.16 is going to look real nice though.

Which device are you using as target?



Raidsonic IB4220-B


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


Re: [OpenWrt-Devel] Booting D-Link DNS-313, for for 18.03 ??

2018-02-23 Thread Roman Yeryomin

On 2018-02-22 09:58, Linus Walleij wrote:

On Wed, Feb 21, 2018 at 6:10 PM, Hans Ulli Kroll
 wrote:

Hi Linus


Since Openwrt codebase is *very* outdated and old, v4.4 with mach 
files

and only one/two I've done some work on updating this mess.
Now I can build with v4.14.x, now I need to sort out how I can append 
DTB

and build the flash binaries / hardddisk images.


Does Roman have plans? It seems he is still the maintainer.


Yes, just didn't have enough time :/
I have 4.9 in my staging but 4.14 with dts sounds better of cause. 
Though it's a major change and I would probably better update to 4.9 
first, so it could be included in release and then update to 4.14 with 
conversion to Device/ infrastructure.



I looked at it briefly but couldn't get anywhere with it, but the
OpenWRT build system seems to have built-in rules to append
DTB as used by bcm and others. Many improvements in the
build system overall, seems very neat.


Yes, it's pretty easy to use


A bunch of stuff (like appending machine code to set the machine
type) can simply be dropped.

We should build all DTBs and create images for them. When we
bump to v4.16 I can patch in my DNS-313 image creation utility
as well.

This is my (unfinished) rewritten fragment for v4.14 based mostly
on bcm:

target/linux/gemini/Makefile

#
# Copyright (C) 2009-2018 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License 
v2.

# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk

ARCH:=arm
BOARD:=gemini
BOARDNAME:=Cortina Systems CS351x
FEATURES:=squashfs pci rtc
MAINTAINER:=Roman Yeryomin 
CPU_TYPE:=fa526

KERNEL_PATCHVER:=4.14

define Target/Description
Build firmware images for the StorLink/Cortina Gemini CS351x
ARM FA526 CPU
endef

include $(INCLUDE_DIR)/target.mk

KERNELNAME:=zImage dtbs

$(eval $(call BuildTarget))

target/linux/gemini/image/Makefile

#
# Copyright (C) 2009-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License 
v2.

# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk

define Build/wbd-nops
# work around the bootloader's bug with extra nops
mv $@ $@.tmp
echo -en
"\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1" >
$@
cat $@.tmp >> $@
rm -f $@.tmp
endef

define Device/Default
# All DTB files are prefixed with "gemini-"
DEVICE_DTS := $(patsubst %.dtb,%,$(notdir $(wildcard $(if
$(IB),$(KDIR),$(DTS_DIR))/*-$(1).dtb)))
KERNEL := kernel-bin | append-dtb
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
KERNEL_NAME := zImage
IMAGE_NAME := $$(IMAGE_PREFIX)-$$(1).$$(2)
BLOCKSIZE := 128k
endef

define Device/dlink-dir-685
DEVICE_TITLE := D-Link DIR-685 Xtreme N Storage Router
endef
TARGET_DEVICES += dlink-dir-685

define Device/nas4220b
DEVICE_TITLE := Raidsonic NAS IB-4220-B
endef
TARGET_DEVICES += nas4220b

define Device/rut1xx
DEVICE_TITLE := Teltonika RUT1xx
endef
TARGET_DEVICES += rut1xx

define Device/sq201
DEVICE_TITLE := ITian Square One SQ201
endef
TARGET_DEVICES += sq201

define Device/wbd111
DEVICE_TITLE := Wiliboard WBD-111
endef
TARGET_DEVICES += wbd111

define Device/wbd222
DEVICE_TITLE := Wiliboard WBD-222
endef
TARGET_DEVICES += wbd222

$(eval $(call BuildImage))



Looks valid, did you try building it?


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


[OpenWrt-Devel] [PATCH] ramips: mt7621: add Mediatek AP-MT7621A-V60 EVB support

2018-02-22 Thread Roman Yeryomin
This board has:
- mt7621 SoC
- 8MB SPI flash
- 128MB RAM
- 5x ethernet ports from internal (SoC) switch
- 1x ethernet port sitting on gmac2 and IC+ phy (not yet supported)
- 3x PCIe slots
- 1x USB 2.0 and 1x USB 3.0
- sound based on wm8960
- SDXC card slot (full size)

First fw write from interactive u-boot menu, interrupt with 2.
After that sysupgrade.

Tested both with 4.9 and 4.14

Signed-off-by: Roman Yeryomin 
---
 .../linux/ramips/base-files/etc/board.d/02_network |   1 +
 .../ramips/base-files/lib/upgrade/platform.sh  |   1 +
 target/linux/ramips/dts/AP-MT7621A-V60.dts | 127 +
 target/linux/ramips/image/mt7621.mk|   8 ++
 4 files changed, 137 insertions(+)
 create mode 100644 target/linux/ramips/dts/AP-MT7621A-V60.dts

diff --git a/target/linux/ramips/base-files/etc/board.d/02_network 
b/target/linux/ramips/base-files/etc/board.d/02_network
index fe19a226f8..33f08e91ce 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -73,6 +73,7 @@ ramips_setup_interfaces()
3g-6200n|\
ai-br100|\
alfa-network,ac1200rm|\
+   mediatek,ap-mt7621a-v60|\
d240|\
db-wrt01|\
dir-300-b7|\
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh 
b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index a0610b257f..0bcefddf11 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -22,6 +22,7 @@ platform_check_image() {
all0256n-8M|\
all5002|\
all5003|\
+   mediatek,ap-mt7621a-v60|\
ar725w|\
asl26555-8M|\
asl26555-16M|\
diff --git a/target/linux/ramips/dts/AP-MT7621A-V60.dts 
b/target/linux/ramips/dts/AP-MT7621A-V60.dts
new file mode 100644
index 00..a98d8a6467
--- /dev/null
+++ b/target/linux/ramips/dts/AP-MT7621A-V60.dts
@@ -0,0 +1,127 @@
+/dts-v1/;
+
+#include "mt7621.dtsi"
+
+/ {
+   compatible = "mediatek,ap-mt7621a-v60", "mediatek,mt7621-soc";
+   model = "Mediatek AP-MT7621A-V60 EVB";
+
+   memory@0 {
+   device_type = "memory";
+   reg = <0x0 0x800>;
+   };
+
+   chosen {
+   bootargs = "console=ttyS0,57600";
+   };
+
+   sound {
+   compatible = "simple-audio-card";
+   simple-audio-card,name = "Audio-I2S";
+   simple-audio-card,format = "i2s";
+   simple-audio-card,bitclock-master = <&dailink0_master>;
+   simple-audio-card,frame-master = <&dailink0_master>;
+   simple-audio-card,widgets = 
+   "Microphone", "Microphone Jack",
+   "Headphone", "Headphone Jack";
+   simple-audio-card,routing =
+   "LINPUT1", "Microphone Jack",
+   "RINPUT1", "Microphone Jack",
+   "Headphone Jack", "HP_L",
+   "Headphone Jack", "HP_R";
+   simple-audio-card,mclk-fs = <256>;
+
+   simple-audio-card,cpu {
+   sound-dai = <&i2s>;
+   };
+
+   dailink0_master: simple-audio-card,codec {
+   sound-dai = <&codec>;
+   };
+   };
+};
+
+&pinctrl {
+   state_default: pinctrl0 {
+   gpio {
+   ralink,group = "uart2", "rgmii2";
+   ralink,function = "gpio";
+   };
+   };
+   i2s_pins: i2s {
+   i2s {
+   ralink,group = "uart3";
+   ralink,function = "i2s";
+   };
+   };
+};
+
+&i2c {
+   status = "okay";
+
+   codec: wm8960@1a {
+   #sound-dai-cells = <0>;
+   compatible = "wlf,wm8960";
+   reg = <0x1a>;
+   wlf,shared-lrclk;
+   };
+};
+
+&gdma {
+   status = "okay";
+};
+
+&i2s {
+   #sound-dai-cells = <0>;
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <&i2s_pins>;
+};
+
+&spi0 {
+   status = "okay";
+
+   mx25l6405d@0 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "mx25l6405d","jedec,spi-nor";
+   reg = <0 0>;
+   spi-max-frequency = <1000>;
+   m25p,chunked-io = <32>;
+
+   partition@0 {
+   la

[OpenWrt-Devel] [PATCH] ramips: mt7621: fix usb init

2018-02-22 Thread Roman Yeryomin
In 4.14 reg-names is required to identify resources.
Otherwise init fails with:

[5.900501] xhci-mtk 1e1c.xhci: invalid resource
[5.910499] xhci-mtk: probe of 1e1c.xhci failed with error -22

Signed-off-by: Roman Yeryomin 
---
 target/linux/ramips/dts/mt7621.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/linux/ramips/dts/mt7621.dtsi 
b/target/linux/ramips/dts/mt7621.dtsi
index d68ddf3bc6..23b5455d68 100644
--- a/target/linux/ramips/dts/mt7621.dtsi
+++ b/target/linux/ramips/dts/mt7621.dtsi
@@ -342,6 +342,7 @@
compatible = "mediatek,mt8173-xhci";
reg = <0x1e1c 0x1000
   0x1e1d0700 0x0100>;
+   reg-names = "mac", "ippc";
 
clocks = <&sysclock>;
clock-names = "sys_ck";
-- 
2.14.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [LEDE-DEV] LEDE call for vote on remerge proposal V3

2017-09-20 Thread Roman Yeryomin
On 19 September 2017 at 18:22, Zoltan HERPAI  wrote:
> Hi John,
>
> On Tue, 19 Sep 2017, John Crispin wrote:
>
>> Hi Zoltan,
>>
>> actually its been 29 days since the domain transfer had been completed and
>> ownership has been set properly.
>>
>> i already had a chat with some devs last week about what to do next,
>> people are all very busy with their daytime jobs at the moment and starting
>> on the next step does obviously require some lead time. I was actually
>> hoping to start consolidating the git trees this week but as it turns out i
>> wont have time. hopefully next week will be less busy.
>
>
> Sounds great - I know the feeling unfortunately. Obviously it'd be great if
> the coordination would be done public to some degree so each of us could
> pick tasks.

Really good news!

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


Re: [OpenWrt-Devel] [PROPOSAL] move OpenWrt codebase to Git and GitHub

2016-05-24 Thread Roman Yeryomin
On 24 May 2016 at 18:51, Eric Schultz  wrote:
> I think this is a great idea! I very much support a move to Github; despite
> it's issues, it's just where development is happening today. Keeping a
> non-Github channel for submitting patches is also a great idea I think.
>
> My free-software side worries about using something non-free like drone.io
> for CI but this is a huge task certainly and I'm not sure a free tool would
> meet everyone's needs (plus there's the huge added burden of maintenance).

How about something like kernelci.org?
I'm not sure how to run all this https://github.com/kernelci but the
result looks very interesting.

> Eric
>
> On Tue, May 24, 2016 at 9:06 AM, Luka Perkov  wrote:
>>
>> Dear OpenWrt mailing list readers,
>>
>> as the subject says I'd like to make proposal to move the OpenWrt
>> codebase to Git. This was already discussed before [1] and now when
>> there are no blockers [2] for this change I'd like that we as a
>> community move forward with this switch.
>>
>> Also, I'd like to propose that we move the project to GitHub and here
>> are the reasons why I see this as a good decision:
>>
>> * GitHub will allow people to contribute more easily
>>
>> The bigger amount of contributions has already happened and can be seen
>> on the packages feed which is already hosted on GitHub. With this I'm
>> also hoping to avoid comments regarding invalid patches on the mailing
>> list.
>>
>> For now I am proposing that the current development workflow is also
>> accepted - aka. patches that are sent to the mailing list are also
>> accepted.
>>
>> * GitHub and similar services will allow us to integrate more easily
>> with other projects
>>
>> Here specifically I mean integration with modern CI. Here is an example
>> of integration with drone.io [3][4]. At the moment this is only in the
>> POC stage but what I'd like to do down the line is to:
>>
>>  - build OpenWrt images for all architectures for every pull request
>>
>>  - build OpenWrt package binary for every package pull request for all
>> architectures and make it available for download
>>
>>  - build and host OpenWrt qemu and/or Docker image for every pull request
>>
>> This will allow easy review of the work since flags will be shown in the
>> pull request if the build was sucessful or not. Also, this will allow
>> people to test changes without building the image and thus lowering the
>> time that needs to be spent on maintenance work.
>>
>> If this proposal gets accepted I'll be sending out an email to get
>> access to more build servers so this new build infrastructure can
>> properly support the project in a timely fashion.
>>
>> Please share your thoughts regarding this proposal.
>>
>> Regards,
>> Luka
>>
>> [1]
>> https://lists.openwrt.org/pipermail/openwrt-devel/2015-October/036390.html
>> [2] https://lists.openwrt.org/pipermail/openwrt-devel/2016-May/041329.html
>> [3] https://github.com/makkrnic/openwrt-qemu-x86
>> [4] http://sartura-drone.makkrnic.com/makkrnic/openwrt-qemu-x86/5
>> ___
>> openwrt-devel mailing list
>> openwrt-devel@lists.openwrt.org
>> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
>
>
>
> --
> Eric Schultz, Community Manager, prpl Foundation
> http://www.prplfoundation.org
> eschu...@prplfoundation.org
> cell: 920-539-0404
> skype: ericschultzwi
> @EricPrpl
>
> ___
> 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


Re: [OpenWrt-Devel] OpenWrt / LEDE

2016-05-24 Thread Roman Yeryomin
On 24 May 2016 at 23:31, Hauke Mehrtens  wrote:
> Hi,
>
> As it looks like the IRC meeting will not happen, because not so big
> interest by the people not already involved in LEDE and problems finding
> a time, lets discuss on the mailing list like suggested by Jow.
>
> Currently it looks like only Luka is working on OpenWrt as he committed
> many patches from LEDE to OpenWrt, which is fine.
>
> What will happen to the OpenWrt project? To me it looks like nobody
> except Luka is interested in working on OpenWrt. Are there any plans to
> continue the OpenWrt project or will it just die, only nobody wants to
> say it?
> Currently this is a bad situation for people that want to contribute
> patches because they do not exactly know were to contribute, some post
> them just to both list which is probably the best solution for the time
> we do not have a real solution.
>
> I do not plan to contribute much to OpenWrt any more and I do not know
> if I can commit anything any more, at least it looks like I was kicked
> from the openwrt-hackers mailing list without informing me.

I believe LEDE didn't plan to contribute to OpenWrt from the very beginning.
LEDE words are pretty contrary to the works.

> I would like to see a reunion of LEDE and OpenWrt, so do any of the non
> LEDE but OpenWrt core devs have any problems with the LEDE rules and so on?

How many devs do you think it's possible to attract to OpenWrt having
the promotion LEDE does and remembering the fact that most active devs
went to LEDE?
Same rules could be applied inside OpenWrt as I see it.

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


Re: [OpenWrt-Devel] OpenWRT wrong adjustment of fq_codel defaults (Was: [Codel] fq_codel_drop vs a udp flood)

2016-05-16 Thread Roman Yeryomin
On 16 May 2016 at 19:04, Dave Taht  wrote:
> On Mon, May 16, 2016 at 1:14 AM, Roman Yeryomin  wrote:
>> On 16 May 2016 at 01:34, Roman Yeryomin  wrote:
>>> On 6 May 2016 at 22:43, Dave Taht  wrote:
>>>> On Fri, May 6, 2016 at 11:56 AM, Roman Yeryomin  
>>>> wrote:
>>>>> On 6 May 2016 at 21:43, Roman Yeryomin  wrote:
>>>>>> On 6 May 2016 at 15:47, Jesper Dangaard Brouer  wrote:
>>>>>>>
>>>>>>> I've created a OpenWRT ticket[1] on this issue, as it seems that 
>>>>>>> someone[2]
>>>>>>> closed Felix'es OpenWRT email account (bad choice! emails bouncing).
>>>>>>> Sounds like OpenWRT and the LEDE https://www.lede-project.org/ project
>>>>>>> is in some kind of conflict.
>>>>>>>
>>>>>>> OpenWRT ticket [1] https://dev.openwrt.org/ticket/22349
>>>>>>>
>>>>>>> [2] 
>>>>>>> http://thread.gmane.org/gmane.comp.embedded.openwrt.devel/40298/focus=40335
>>>>>>
>>>>>> OK, so, after porting the patch to 4.1 openwrt kernel and playing a
>>>>>> bit with fq_codel limits I was able to get 420Mbps UDP like this:
>>>>>> tc qdisc replace dev wlan0 parent :1 fq_codel flows 16 limit 256
>>>>>
>>>>> Forgot to mention, I've reduced drop_batch_size down to 32
>>>>
>>>> 0) Not clear to me if that's the right line, there are 4 wifi queues,
>>>> and the third one
>>>> is the BE queue.
>>>
>>> That was an example, sorry, should have stated that. I've applied same
>>> settings to all 4 queues.
>>>
>>>> That is too low a limit, also, for normal use. And:
>>>> for the purpose of this particular UDP test, flows 16 is ok, but not
>>>> ideal.
>>>
>>> I played with different combinations, it doesn't make any
>>> (significant) difference: 20-30Mbps, not more.
>>> What numbers would you propose?
>>>
>>>> 1) What's the tcp number (with a simultaneous ping) with this latest 
>>>> patchset?
>>>> (I care about tcp performance a lot more than udp floods - surviving a
>>>> udp flood yes, performance, no)
>>>
>>> During the test (both TCP and UDP) it's roughly 5ms in average, not
>>> running tests ~2ms. Actually I'm now wondering if target is working at
>>> all, because I had same result with target 80ms..
>>> So, yes, latency is good, but performance is poor.
>>>
>>>> before/after?
>>>>
>>>> tc -s qdisc show dev wlan0 during/after results?
>>>
>>> during the test:
>>>
>>> qdisc mq 0: root
>>>  Sent 1600496000 bytes 1057194 pkt (dropped 1421568, overlimits 0 requeues 
>>> 17)
>>>  backlog 1545794b 1021p requeues 17
>>> qdisc fq_codel 8001: parent :1 limit 1024p flows 16 quantum 1514
>>> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>>>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>  backlog 0b 0p requeues 0
>>>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>   new_flows_len 0 old_flows_len 0
>>> qdisc fq_codel 8002: parent :2 limit 1024p flows 16 quantum 1514
>>> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>>>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>  backlog 0b 0p requeues 0
>>>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>   new_flows_len 0 old_flows_len 0
>>> qdisc fq_codel 8003: parent :3 limit 1024p flows 16 quantum 1514
>>> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>>>  Sent 1601271168 bytes 1057706 pkt (dropped 1422304, overlimits 0 requeues 
>>> 17)
>>>  backlog 1541252b 1018p requeues 17
>>>   maxpacket 1514 drop_overlimit 1422304 new_flow_count 35 ecn_mark 0
>>>   new_flows_len 0 old_flows_len 1
>>> qdisc fq_codel 8004: parent :4 limit 1024p flows 16 quantum 1514
>>> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>>>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>  backlog 0b 0p requeues 0
>>>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>   new_flows_len 0 old_flows_len 0
>>>
>>>
>>> after the test (60sec):
>>>
>>> qdisc mq 0: root
>>>  Sent 3084996052 bytes 2037744 pkt (dropped 2770176, overlimits 0 requeues 
>>> 28)
&g

Re: [OpenWrt-Devel] [Make-wifi-fast] OpenWRT wrong adjustment of fq_codel defaults (Was: [Codel] fq_codel_drop vs a udp flood)

2016-05-16 Thread Roman Yeryomin
On 16 May 2016 at 11:12, David Lang  wrote:
> On Mon, 16 May 2016, Roman Yeryomin wrote:
>
>> On 6 May 2016 at 22:43, Dave Taht  wrote:
>>>
>>> On Fri, May 6, 2016 at 11:56 AM, Roman Yeryomin 
>>> wrote:
>>>>
>>>> On 6 May 2016 at 21:43, Roman Yeryomin  wrote:
>>>>>
>>>>> On 6 May 2016 at 15:47, Jesper Dangaard Brouer 
>>>>> wrote:
>>>>>>
>>>>>>
>>
>>> That is too low a limit, also, for normal use. And:
>>> for the purpose of this particular UDP test, flows 16 is ok, but not
>>> ideal.
>>
>>
>> I played with different combinations, it doesn't make any
>> (significant) difference: 20-30Mbps, not more.
>> What numbers would you propose?
>
>
> How many different flows did you have going at once? I believe that the
> reason for higher numbers isn't for throughput, but to allow for more flows
> to be isolated from each other. If you have too few buckets, different flows
> will end up being combined into one bucket so that one will affect the other
> more.

I'm testing with one flow, I never saw bigger performance with more
flows (e.g. -P8 to iperf3).

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


Re: [OpenWrt-Devel] OpenWRT wrong adjustment of fq_codel defaults (Was: [Codel] fq_codel_drop vs a udp flood)

2016-05-16 Thread Roman Yeryomin
On 16 May 2016 at 01:34, Roman Yeryomin  wrote:
> On 6 May 2016 at 22:43, Dave Taht  wrote:
>> On Fri, May 6, 2016 at 11:56 AM, Roman Yeryomin  
>> wrote:
>>> On 6 May 2016 at 21:43, Roman Yeryomin  wrote:
>>>> On 6 May 2016 at 15:47, Jesper Dangaard Brouer  wrote:
>>>>>
>>>>> I've created a OpenWRT ticket[1] on this issue, as it seems that 
>>>>> someone[2]
>>>>> closed Felix'es OpenWRT email account (bad choice! emails bouncing).
>>>>> Sounds like OpenWRT and the LEDE https://www.lede-project.org/ project
>>>>> is in some kind of conflict.
>>>>>
>>>>> OpenWRT ticket [1] https://dev.openwrt.org/ticket/22349
>>>>>
>>>>> [2] 
>>>>> http://thread.gmane.org/gmane.comp.embedded.openwrt.devel/40298/focus=40335
>>>>
>>>> OK, so, after porting the patch to 4.1 openwrt kernel and playing a
>>>> bit with fq_codel limits I was able to get 420Mbps UDP like this:
>>>> tc qdisc replace dev wlan0 parent :1 fq_codel flows 16 limit 256
>>>
>>> Forgot to mention, I've reduced drop_batch_size down to 32
>>
>> 0) Not clear to me if that's the right line, there are 4 wifi queues,
>> and the third one
>> is the BE queue.
>
> That was an example, sorry, should have stated that. I've applied same
> settings to all 4 queues.
>
>> That is too low a limit, also, for normal use. And:
>> for the purpose of this particular UDP test, flows 16 is ok, but not
>> ideal.
>
> I played with different combinations, it doesn't make any
> (significant) difference: 20-30Mbps, not more.
> What numbers would you propose?
>
>> 1) What's the tcp number (with a simultaneous ping) with this latest 
>> patchset?
>> (I care about tcp performance a lot more than udp floods - surviving a
>> udp flood yes, performance, no)
>
> During the test (both TCP and UDP) it's roughly 5ms in average, not
> running tests ~2ms. Actually I'm now wondering if target is working at
> all, because I had same result with target 80ms..
> So, yes, latency is good, but performance is poor.
>
>> before/after?
>>
>> tc -s qdisc show dev wlan0 during/after results?
>
> during the test:
>
> qdisc mq 0: root
>  Sent 1600496000 bytes 1057194 pkt (dropped 1421568, overlimits 0 requeues 17)
>  backlog 1545794b 1021p requeues 17
> qdisc fq_codel 8001: parent :1 limit 1024p flows 16 quantum 1514
> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>   new_flows_len 0 old_flows_len 0
> qdisc fq_codel 8002: parent :2 limit 1024p flows 16 quantum 1514
> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>   new_flows_len 0 old_flows_len 0
> qdisc fq_codel 8003: parent :3 limit 1024p flows 16 quantum 1514
> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>  Sent 1601271168 bytes 1057706 pkt (dropped 1422304, overlimits 0 requeues 17)
>  backlog 1541252b 1018p requeues 17
>   maxpacket 1514 drop_overlimit 1422304 new_flow_count 35 ecn_mark 0
>   new_flows_len 0 old_flows_len 1
> qdisc fq_codel 8004: parent :4 limit 1024p flows 16 quantum 1514
> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>   new_flows_len 0 old_flows_len 0
>
>
> after the test (60sec):
>
> qdisc mq 0: root
>  Sent 3084996052 bytes 2037744 pkt (dropped 2770176, overlimits 0 requeues 28)
>  backlog 0b 0p requeues 28
> qdisc fq_codel 8001: parent :1 limit 1024p flows 16 quantum 1514
> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>   new_flows_len 0 old_flows_len 0
> qdisc fq_codel 8002: parent :2 limit 1024p flows 16 quantum 1514
> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>   new_flows_len 0 old_flows_len 0
> qdisc fq_codel 8003: parent :3 limit 1024p flows 16 quantum 1514
> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>  Sent 3084996052 bytes 2037744 pkt (dropped 277017

Re: [OpenWrt-Devel] OpenWRT wrong adjustment of fq_codel defaults (Was: [Codel] fq_codel_drop vs a udp flood)

2016-05-15 Thread Roman Yeryomin
On 16 May 2016 at 02:07, Eric Dumazet  wrote:
> On Mon, 2016-05-16 at 01:34 +0300, Roman Yeryomin wrote:
>
>> qdisc fq_codel 8003: parent :3 limit 1024p flows 16 quantum 1514
>> target 80.0ms ce_threshold 32us interval 100.0ms ecn
>>  Sent 1601271168 bytes 1057706 pkt (dropped 1422304, overlimits 0 requeues 
>> 17)
>>  backlog 1541252b 1018p requeues 17
>>   maxpacket 1514 drop_overlimit 1422304 new_flow_count 35 ecn_mark 0
>>   new_flows_len 0 old_flows_len 1
>
> Why do you have ce_threshold set ? You really should not (even if it
> does not matter for the kind of traffic you have at this moment)

No idea, it was there always. How do I unset it? Setting it to 0 doesn't help.

> If your expected link speed is around 1Gbps, or 80,000 packets per
> second, then you have to understand that 1024 packets limit is about 12
> ms at most.
>
> Even if the queue is full, max sojourn time of a packet would be 12 ms.
>
> I really do not see how 'target 80 ms' could be hit.

Well, as I said, I've tried different options. Neither target 20ms (as
Dave proposed) not 12ms save the situation.

> You basically have FQ, with no Codel effect, but with the associated
> cost of Codel (having to take timestamps)
>
>
>
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] OpenWRT wrong adjustment of fq_codel defaults (Was: [Codel] fq_codel_drop vs a udp flood)

2016-05-15 Thread Roman Yeryomin
On 6 May 2016 at 22:43, Dave Taht  wrote:
> On Fri, May 6, 2016 at 11:56 AM, Roman Yeryomin  wrote:
>> On 6 May 2016 at 21:43, Roman Yeryomin  wrote:
>>> On 6 May 2016 at 15:47, Jesper Dangaard Brouer  wrote:
>>>>
>>>> I've created a OpenWRT ticket[1] on this issue, as it seems that someone[2]
>>>> closed Felix'es OpenWRT email account (bad choice! emails bouncing).
>>>> Sounds like OpenWRT and the LEDE https://www.lede-project.org/ project
>>>> is in some kind of conflict.
>>>>
>>>> OpenWRT ticket [1] https://dev.openwrt.org/ticket/22349
>>>>
>>>> [2] 
>>>> http://thread.gmane.org/gmane.comp.embedded.openwrt.devel/40298/focus=40335
>>>
>>> OK, so, after porting the patch to 4.1 openwrt kernel and playing a
>>> bit with fq_codel limits I was able to get 420Mbps UDP like this:
>>> tc qdisc replace dev wlan0 parent :1 fq_codel flows 16 limit 256
>>
>> Forgot to mention, I've reduced drop_batch_size down to 32
>
> 0) Not clear to me if that's the right line, there are 4 wifi queues,
> and the third one
> is the BE queue.

That was an example, sorry, should have stated that. I've applied same
settings to all 4 queues.

> That is too low a limit, also, for normal use. And:
> for the purpose of this particular UDP test, flows 16 is ok, but not
> ideal.

I played with different combinations, it doesn't make any
(significant) difference: 20-30Mbps, not more.
What numbers would you propose?

> 1) What's the tcp number (with a simultaneous ping) with this latest patchset?
> (I care about tcp performance a lot more than udp floods - surviving a
> udp flood yes, performance, no)

During the test (both TCP and UDP) it's roughly 5ms in average, not
running tests ~2ms. Actually I'm now wondering if target is working at
all, because I had same result with target 80ms..
So, yes, latency is good, but performance is poor.

> before/after?
>
> tc -s qdisc show dev wlan0 during/after results?

during the test:

qdisc mq 0: root
 Sent 1600496000 bytes 1057194 pkt (dropped 1421568, overlimits 0 requeues 17)
 backlog 1545794b 1021p requeues 17
qdisc fq_codel 8001: parent :1 limit 1024p flows 16 quantum 1514
target 80.0ms ce_threshold 32us interval 100.0ms ecn
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 8002: parent :2 limit 1024p flows 16 quantum 1514
target 80.0ms ce_threshold 32us interval 100.0ms ecn
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 8003: parent :3 limit 1024p flows 16 quantum 1514
target 80.0ms ce_threshold 32us interval 100.0ms ecn
 Sent 1601271168 bytes 1057706 pkt (dropped 1422304, overlimits 0 requeues 17)
 backlog 1541252b 1018p requeues 17
  maxpacket 1514 drop_overlimit 1422304 new_flow_count 35 ecn_mark 0
  new_flows_len 0 old_flows_len 1
qdisc fq_codel 8004: parent :4 limit 1024p flows 16 quantum 1514
target 80.0ms ce_threshold 32us interval 100.0ms ecn
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0


after the test (60sec):

qdisc mq 0: root
 Sent 3084996052 bytes 2037744 pkt (dropped 2770176, overlimits 0 requeues 28)
 backlog 0b 0p requeues 28
qdisc fq_codel 8001: parent :1 limit 1024p flows 16 quantum 1514
target 80.0ms ce_threshold 32us interval 100.0ms ecn
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 8002: parent :2 limit 1024p flows 16 quantum 1514
target 80.0ms ce_threshold 32us interval 100.0ms ecn
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 8003: parent :3 limit 1024p flows 16 quantum 1514
target 80.0ms ce_threshold 32us interval 100.0ms ecn
 Sent 3084996052 bytes 2037744 pkt (dropped 2770176, overlimits 0 requeues 28)
 backlog 0b 0p requeues 28
  maxpacket 1514 drop_overlimit 2770176 new_flow_count 64 ecn_mark 0
  new_flows_len 0 old_flows_len 1
qdisc fq_codel 8004: parent :4 limit 1024p flows 16 quantum 1514
target 80.0ms ce_threshold 32us interval 100.0ms ecn
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0


> IF you are doing builds for the archer c7v2, I can join in on this... (?)

I'm not

Re: [OpenWrt-Devel] OpenWRT wrong adjustment of fq_codel defaults (Was: [Codel] fq_codel_drop vs a udp flood)

2016-05-06 Thread Roman Yeryomin
On 6 May 2016 at 21:43, Roman Yeryomin  wrote:
> On 6 May 2016 at 15:47, Jesper Dangaard Brouer  wrote:
>>
>> I've created a OpenWRT ticket[1] on this issue, as it seems that someone[2]
>> closed Felix'es OpenWRT email account (bad choice! emails bouncing).
>> Sounds like OpenWRT and the LEDE https://www.lede-project.org/ project
>> is in some kind of conflict.
>>
>> OpenWRT ticket [1] https://dev.openwrt.org/ticket/22349
>>
>> [2] 
>> http://thread.gmane.org/gmane.comp.embedded.openwrt.devel/40298/focus=40335
>
> OK, so, after porting the patch to 4.1 openwrt kernel and playing a
> bit with fq_codel limits I was able to get 420Mbps UDP like this:
> tc qdisc replace dev wlan0 parent :1 fq_codel flows 16 limit 256

Forgot to mention, I've reduced drop_batch_size down to 32

> This is certainly better than 30Mbps but still more than two times
> less than before (900).
> TCP also improved a little (550 to ~590).
>
> Felix, others, do you want to see the ported patch, maybe I did something 
> wrong?
> Doesn't look like it will save ath10k from performance regression.
>
>>
>> On Fri, 6 May 2016 11:42:43 +0200
>> Jesper Dangaard Brouer  wrote:
>>
>>> Hi Felix,
>>>
>>> This is an important fix for OpenWRT, please read!
>>>
>>> OpenWRT changed the default fq_codel sch->limit from 10240 to 1024,
>>> without also adjusting q->flows_cnt.  Eric explains below that you must
>>> also adjust the buckets (q->flows_cnt) for this not to break. (Just
>>> adjust it to 128)
>>>
>>> Problematic OpenWRT commit in question:
>>>  http://git.openwrt.org/?p=openwrt.git;a=patch;h=12cd6578084e
>>>  12cd6578084e ("kernel: revert fq_codel quantum override to prevent it from 
>>> causing too much cpu load with higher speed (#21326)")
>>>
>>>
>>> I also highly recommend you cherry-pick this very recent commit:
>>>  net-next: 9d18562a2278 ("fq_codel: add batch ability to fq_codel_drop()")
>>>  https://git.kernel.org/davem/net-next/c/9d18562a227
>>>
>>> This should fix very high CPU usage in-case fq_codel goes into drop mode.
>>> The problem is that drop mode was considered rare, and implementation
>>> wise it was chosen to be more expensive (to save cycles on normal mode).
>>> Unfortunately is it easy to trigger with an UDP flood. Drop mode is
>>> especially expensive for smaller devices, as it scans a 4K big array,
>>> thus 64 cache misses for small devices!
>>>
>>> The fix is to allow drop-mode to bulk-drop more packets when entering
>>> drop-mode (default 64 bulk drop).  That way we don't suddenly
>>> experience a significantly higher processing cost per packet, but
>>> instead can amortize this.
>>>
>>> To Eric, should we recommend OpenWRT to adjust default (max) 64 bulk
>>> drop, given we also recommend bucket size to be 128 ? (thus the amount
>>> of memory to scan is less, but their CPU is also much smaller).
>>>
>>> --Jesper
>>>
>>>
>>> On Thu, 05 May 2016 12:23:27 -0700 Eric Dumazet  
>>> wrote:
>>>
>>> > On Thu, 2016-05-05 at 19:25 +0300, Roman Yeryomin wrote:
>>> > > On 5 May 2016 at 19:12, Eric Dumazet  wrote:
>>> > > > On Thu, 2016-05-05 at 17:53 +0300, Roman Yeryomin wrote:
>>> > > >
>>> > > >>
>>> > > >> qdisc fq_codel 0: dev eth0 root refcnt 2 limit 1024p flows 1024
>>> > > >> quantum 1514 target 5.0ms interval 100.0ms ecn
>>> > > >>  Sent 12306 bytes 128 pkt (dropped 0, overlimits 0 requeues 0)
>>> > > >>  backlog 0b 0p requeues 0
>>> > > >>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>> > > >>   new_flows_len 0 old_flows_len 0
>>> > > >
>>> > > >
>>> > > > Limit of 1024 packets and 1024 flows is not wise I think.
>>> > > >
>>> > > > (If all buckets are in use, each bucket has a virtual queue of 1 
>>> > > > packet,
>>> > > > which is almost the same than having no queue at all)
>>> > > >
>>> > > > I suggest to have at least 8 packets per bucket, to let Codel have a
>>> > > > chance to trigger.
>>> > > >
>>> > > > So you could either reduce number of buckets to 128 (if memory is
>>> > > > tight), or increase limit to 8192.
>>> > >
>>> > > Will try, but what I've posted is default, I didn't change/configure 
>>> > > that.
>>> >
>>> > fq_codel has a default of 10240 packets and 1024 buckets.
>>> >
>>> > http://lxr.free-electrons.com/source/net/sched/sch_fq_codel.c#L413
>>> >
>>> > If someone changed that in the linux variant you use, he probably should
>>> > explain the rationale.
>>
>> --
>> Best regards,
>>   Jesper Dangaard Brouer
>>   MSc.CS, Principal Kernel Engineer at Red Hat
>>   Author of http://www.iptv-analyzer.org
>>   LinkedIn: http://www.linkedin.com/in/brouer
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] OpenWRT wrong adjustment of fq_codel defaults (Was: [Codel] fq_codel_drop vs a udp flood)

2016-05-06 Thread Roman Yeryomin
On 6 May 2016 at 15:47, Jesper Dangaard Brouer  wrote:
>
> I've created a OpenWRT ticket[1] on this issue, as it seems that someone[2]
> closed Felix'es OpenWRT email account (bad choice! emails bouncing).
> Sounds like OpenWRT and the LEDE https://www.lede-project.org/ project
> is in some kind of conflict.
>
> OpenWRT ticket [1] https://dev.openwrt.org/ticket/22349
>
> [2] 
> http://thread.gmane.org/gmane.comp.embedded.openwrt.devel/40298/focus=40335

OK, so, after porting the patch to 4.1 openwrt kernel and playing a
bit with fq_codel limits I was able to get 420Mbps UDP like this:
tc qdisc replace dev wlan0 parent :1 fq_codel flows 16 limit 256

This is certainly better than 30Mbps but still more than two times
less than before (900).
TCP also improved a little (550 to ~590).

Felix, others, do you want to see the ported patch, maybe I did something wrong?
Doesn't look like it will save ath10k from performance regression.

>
> On Fri, 6 May 2016 11:42:43 +0200
> Jesper Dangaard Brouer  wrote:
>
>> Hi Felix,
>>
>> This is an important fix for OpenWRT, please read!
>>
>> OpenWRT changed the default fq_codel sch->limit from 10240 to 1024,
>> without also adjusting q->flows_cnt.  Eric explains below that you must
>> also adjust the buckets (q->flows_cnt) for this not to break. (Just
>> adjust it to 128)
>>
>> Problematic OpenWRT commit in question:
>>  http://git.openwrt.org/?p=openwrt.git;a=patch;h=12cd6578084e
>>  12cd6578084e ("kernel: revert fq_codel quantum override to prevent it from 
>> causing too much cpu load with higher speed (#21326)")
>>
>>
>> I also highly recommend you cherry-pick this very recent commit:
>>  net-next: 9d18562a2278 ("fq_codel: add batch ability to fq_codel_drop()")
>>  https://git.kernel.org/davem/net-next/c/9d18562a227
>>
>> This should fix very high CPU usage in-case fq_codel goes into drop mode.
>> The problem is that drop mode was considered rare, and implementation
>> wise it was chosen to be more expensive (to save cycles on normal mode).
>> Unfortunately is it easy to trigger with an UDP flood. Drop mode is
>> especially expensive for smaller devices, as it scans a 4K big array,
>> thus 64 cache misses for small devices!
>>
>> The fix is to allow drop-mode to bulk-drop more packets when entering
>> drop-mode (default 64 bulk drop).  That way we don't suddenly
>> experience a significantly higher processing cost per packet, but
>> instead can amortize this.
>>
>> To Eric, should we recommend OpenWRT to adjust default (max) 64 bulk
>> drop, given we also recommend bucket size to be 128 ? (thus the amount
>> of memory to scan is less, but their CPU is also much smaller).
>>
>> --Jesper
>>
>>
>> On Thu, 05 May 2016 12:23:27 -0700 Eric Dumazet  
>> wrote:
>>
>> > On Thu, 2016-05-05 at 19:25 +0300, Roman Yeryomin wrote:
>> > > On 5 May 2016 at 19:12, Eric Dumazet  wrote:
>> > > > On Thu, 2016-05-05 at 17:53 +0300, Roman Yeryomin wrote:
>> > > >
>> > > >>
>> > > >> qdisc fq_codel 0: dev eth0 root refcnt 2 limit 1024p flows 1024
>> > > >> quantum 1514 target 5.0ms interval 100.0ms ecn
>> > > >>  Sent 12306 bytes 128 pkt (dropped 0, overlimits 0 requeues 0)
>> > > >>  backlog 0b 0p requeues 0
>> > > >>   maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>> > > >>   new_flows_len 0 old_flows_len 0
>> > > >
>> > > >
>> > > > Limit of 1024 packets and 1024 flows is not wise I think.
>> > > >
>> > > > (If all buckets are in use, each bucket has a virtual queue of 1 
>> > > > packet,
>> > > > which is almost the same than having no queue at all)
>> > > >
>> > > > I suggest to have at least 8 packets per bucket, to let Codel have a
>> > > > chance to trigger.
>> > > >
>> > > > So you could either reduce number of buckets to 128 (if memory is
>> > > > tight), or increase limit to 8192.
>> > >
>> > > Will try, but what I've posted is default, I didn't change/configure 
>> > > that.
>> >
>> > fq_codel has a default of 10240 packets and 1024 buckets.
>> >
>> > http://lxr.free-electrons.com/source/net/sched/sch_fq_codel.c#L413
>> >
>> > If someone changed that in the linux variant you use, he probably should
>> > explain the rationale.
>
> --
> Best regards,
>   Jesper Dangaard Brouer
>   MSc.CS, Principal Kernel Engineer at Red Hat
>   Author of http://www.iptv-analyzer.org
>   LinkedIn: http://www.linkedin.com/in/brouer
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-06 Thread Roman Yeryomin
On 6 May 2016 at 03:53, Luka Perkov  wrote:
>>On 2016-05-05 20:22, mbm wrote:
>>> On 5/5/2016 7:40 AM, Felix Fietkau wrote:
 Many of the changes that we previously tried to introduce were often
 squashed by internal disagreements. Resulting discussions often turned
 toxic quickly and led to nothing being done to address the issues.
 Setting up the LEDE project was our way of creating a testbed for
 changes that we believe are important for the survival of the project.
>>>
>>> Change is not easy. Discussions need to happen. The problem is simply
>>> kicking out people you didn't agree with by starting a new organization
>>> in secret; you've created the public perception that we're somehow
>>> against you when really we all want the same things.
>>
>> Years of internal discussion led nowhere. Maybe it helps now that we're
>> making the whole issue public.
>
> For the sake of transparency, we've had public discussions, about a number of
> things, for example switching to Git:
>
> - https://lists.openwrt.org/pipermail/openwrt-devel/2015-October/036390.html
> - https://lists.openwrt.org/pipermail/openwrt-devel/2015-October/036480.html
> - https://lists.openwrt.org/pipermail/openwrt-devel/2015-October/036486.html
> - https://lists.openwrt.org/pipermail/openwrt-devel/2015-October/036500.html
>
> And based on these inputs from you the switch was not made even though several
> OpenWrt developers wanted to switch.
>
> Also, server outages can happen to anybody:
> - https://lists.openwrt.org/pipermail/openwrt-devel/2016-January/038547.html
>
> However, we do not want to point fingers. What we do want is to make a great
> community around OpenWrt and to drive innovation - just like it has been done
> for more then a decade now.
>
> There has been a long history - mostly good, sometimes bad - since the project
> started from a garage project, to now having a project used by an awesome
> amount of users. This can be seen from the constructive discussions in this
> list on a daily basis, and in this very thread. Also, the project is used as
> the main SDK by many silicon vendors internally, and by vast number of
> companies on the embedded market.
>
> We are open for a discussion and would like to keep the OpenWrt's and it's
> community interests in the first place. Splitting the project does not make
> sense. Do you agree?
>
 We appreciate your effort to have an open discussion about this,
 however the sudden deletion of our widely published openwrt.org email
 addresses somewhat undermines this. We will not respond in kind and we
 will continue to maintain the critical parts of OpenWrt infrastructure
 that we control.
>>>
>>> Let's be clear on this subject; no commit access was revoked, you still
>>> have full read and write access to the entire OpenWrt tree.
>>>
>>> Email forwarding was temporarily disabled following the LEDE announcement
>>> - LEDE's own rules prohibit project based email addresses
>> No, they don't. They state that the LEDE project won't provide project
>> email addresses. Interpreting that as meaning that we shouldn't be able
>> to access our openwrt.org addresses is more than a bit of a stretch.
>
> In any case, due to the events that happened and the fact that the OpenWrt 
> name
> is being used in a manner opposite of the projects best interest, we felt that
> these actions were needed in order to avoid the further damages to the 
> project.
>
>>> - It's unclear if LEDE still represents OpenWrt
>> So? Asking us to not send any further emails about LEDE from our
>> openwrt.org addresses should have been enough.
>
> Actually, this was discussed on #lede-adm.

IRC history is hard to follow, I'd better assume that something not
written here never happened.

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


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-05 Thread Roman Yeryomin
On 5 May 2016 at 20:09, Daniel Dickinson  wrote:
> On 16-05-05 12:59 PM, Roman Yeryomin wrote:
>> On 5 May 2016 at 19:29, Daniel Dickinson  
>> wrote:
>>> On 16-05-05 12:24 PM, Daniel Dickinson wrote:
>>>> On 16-05-05 12:21 PM, Jonathan Bennett wrote:
>>>> [snip]
> [snip]
>>> When I say broken I mean I think openwrt was dying and I pointed out not
>>> all that long ago that openwrt was in bad position and that something
>>> needed to change, and I think that may have been *part* of the reason
>>> accepting the status quo was no longer an acceptable answer.
>>
>> I don't believe that those who are in LEDE now couldn't do anything
>> (that means is was dying in their hands). Actually I'm still under
>
> I guess the real test will be what happens going forward - if LEDE dies
> for the same reasons OpenWrt was dying then that puts paid to LEDE's
> story; it it succeeds then it vindicates them.

I hope the problems will be resolved and we will have one project.

>> impression that they controlled pretty much everything. And the part
>> they didn't control (what exactly?) was only important to them.
>
> I have no clue about this part, I'm not exactly in the loop.  I think
> part of the problem has been that there is no means to add new
> developers, and that suggestions for adding developers have been opposed
> (that's a guess though).

I don't think it was opposed. And I don't think it was a major problem.

>> But I guess we will never know full story, unless both parties are
>> willing to disclose all their private conversations related to
>> project.
>
> Yeah, pretty much we're left guessing unless there is more information
> given.  I'm thinking the LEDE split was not like a conspiratorial split
> where everything is carefully planned out and orchestrated, but more of
> a rapid response (given that this isn't part of paid work for the most
> of them, and even then the LEDE split wouldn't likely be part of the
> job/contract) to something behind the scenes.  Even if the LEDE team is
> unable to post to this list, I hope they give more information using the
> avenues available to them, once they get the chance to do so.

Look at mailing list, commits and domain.
It was all started back in March and was not disclosed. That means the
plans were even earlier.

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


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-05 Thread Roman Yeryomin
On 5 May 2016 at 19:29, Daniel Dickinson  wrote:
> On 16-05-05 12:24 PM, Daniel Dickinson wrote:
>> On 16-05-05 12:21 PM, Jonathan Bennett wrote:
>> [snip]
>>> > The changes that the Lede guys are suggesting would be welcome, but
>>> > splitting the project and community with an ugly fork is very much not
>>> > welcome.
>>>
>>> Let's just say that there are strong personalities who haven't been
>>> working well together and that this has been a long time coming; perhaps
>>> if something like using a mediator had been considered before things got
>>> to this point it would have helped.  At this point I'm not sure
>>> there is a
>>> solution unless both sides are willing to bend a little (I'm really not
>>> sure who has been flexible and who has not, but as I have said I suspect
>>> a large part of the issue is that 'management' (who aren't and don't,
>>> really) has overruled those doing the majority of the work and in an
>>> open source project that doesn't fly).
>>>
>>> I don't disagree.  I just see the current state of Openwrt/Lede as a
>>> mess for the community.
>>
>> I agree, I just don't see how the LEDE team could have avoided it
>> without giving up and accepting the broken status quo.
>
> When I say broken I mean I think openwrt was dying and I pointed out not
> all that long ago that openwrt was in bad position and that something
> needed to change, and I think that may have been *part* of the reason
> accepting the status quo was no longer an acceptable answer.

I don't believe that those who are in LEDE now couldn't do anything
(that means is was dying in their hands). Actually I'm still under
impression that they controlled pretty much everything. And the part
they didn't control (what exactly?) was only important to them.
But I guess we will never know full story, unless both parties are
willing to disclose all their private conversations related to
project.

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


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-05 Thread Roman Yeryomin
On 5 May 2016 at 17:43, Daniel Dickinson  wrote:
> On 16-05-05 05:34 AM, Roman Yeryomin wrote:
>> On 5 May 2016 at 06:48, Daniel Dickinson  
>> wrote:
>>> On 16-05-04 04:01 PM, mbm wrote:
>>>> Dear OpenWrt community,
>>>>
> [snip]
>>
>> One simple question:
>> If LEDE team members are the ones who were suffering from some
>> non-democratic decisions, why didn't they bring it to public
>> discussion for community? At least on devel maillist?
>>
>> If it was clear problem in remaining OpenWrt team then LEDE would win
>> the community right away or maybe problematic people would just go
>> away. Either way it would be more fair and open. And this is one of my
>> biggest concerns - LEDE team is promoting openness but didn't do their
>> moves openly (looking at maillists it seems they were hiding it for
>> month at least). Hate double standards.
>
> Perhaps for fear of repercussions such as what has happened since the
> fork where all LEDE members @openwrt.org email addresses have been deleted?

AFAIK, that was done after LEDE announcement but IMO was a wrong move anyway.

> There are a number of people in the LEDE group I've found to be pretty
> decent people, and great to work with, so I find it unlikely that they
> simply acted without good reason.

This only add more shock to the announcement.

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


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-05 Thread Roman Yeryomin
On 5 May 2016 at 13:16, John Clark  wrote:
>>Could you elaborate more and explain how exactly LEDE is going to fix
> the listed problems? And why it's not possible to fix them inside
> existing project?
>
> The hasty reasons given and the secret and abrupt severing of ties make me
> wonder if a "follow the money" approach will yield more plausible answers to
> the questions being raised.

maybe a good point, how do you "follow the money"?

> On Thu, May 5, 2016 at 5:34 AM, Roman Yeryomin 
> wrote:
>>
>> On 5 May 2016 at 06:48, Daniel Dickinson 
>> wrote:
>> > On 16-05-04 04:01 PM, mbm wrote:
>> >> Dear OpenWrt community,
>> >>
>> >> spin off the OpenWrt project in the first place as a way to fix the
>> >> project and its community. Also, the phrases such as a "reboot" are
>> >> both
>> >> vague and misleading and the LEDE project failed to identify its true
>> >> nature. The LEDE announcement  contains a number of very valid points
>> >
>> > Can you be more specific about what you believe is LEDE's 'true nature'?
>> >
>> >> which we hoped we had an opportunity to discuss and attempt to fix, in
>> >> a
>> >> public manner, before this more radical outcome. At this point, the
>> >> email as well as actions taken are very confusing to a lot of us.
>> >
>> > This is a guess: perhaps it is connected to the fact that Felix's
>> > n...@openwrt.org address now bounces, and that actions were taken which
>> > were deemed to be over-the-top by the LEDE team?  Certainly there is a
>> > great deal more doing on that either side is saying in public (which
>> > might be just as well since there seems to be a fair amount of bad
>> > feelings on both sides).
>>
>> One simple question:
>> If LEDE team members are the ones who were suffering from some
>> non-democratic decisions, why didn't they bring it to public
>> discussion for community? At least on devel maillist?
>>
>> If it was clear problem in remaining OpenWrt team then LEDE would win
>> the community right away or maybe problematic people would just go
>> away. Either way it would be more fair and open. And this is one of my
>> biggest concerns - LEDE team is promoting openness but didn't do their
>> moves openly (looking at maillists it seems they were hiding it for
>> month at least). Hate double standards.
>>
>>
>> >> We do acknowledge there has been internal disagreements, on several
>> >> occasions about some directions of the project, about the release
>> >> model,
>> >> the lack of testing, the centralized infrastructure, however, there
>> >> have
>> >> been actual work going on under the hoods to solve things one step at a
>> >
>> > Perhaps 'under-the-hood' is the problem.  Did everyone with concerns
>> > know or have insight into what steps were currently being taken and what
>> > was planned, and have planned actions been followed through on, once
>> > *agreed* as a solution?
>> >
>> > Also, is the decision making process egalitarian and democratic amongst
>> > those still actively in the project, or are some 'more equal' than
>> > others?
>> >
>> > Regards,
>> >
>> > Daniel
>> > ___
>> > 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 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


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-05 Thread Roman Yeryomin
On 5 May 2016 at 06:48, Daniel Dickinson  wrote:
> On 16-05-04 04:01 PM, mbm wrote:
>> Dear OpenWrt community,
>>
>> spin off the OpenWrt project in the first place as a way to fix the
>> project and its community. Also, the phrases such as a "reboot" are both
>> vague and misleading and the LEDE project failed to identify its true
>> nature. The LEDE announcement  contains a number of very valid points
>
> Can you be more specific about what you believe is LEDE's 'true nature'?
>
>> which we hoped we had an opportunity to discuss and attempt to fix, in a
>> public manner, before this more radical outcome. At this point, the
>> email as well as actions taken are very confusing to a lot of us.
>
> This is a guess: perhaps it is connected to the fact that Felix's
> n...@openwrt.org address now bounces, and that actions were taken which
> were deemed to be over-the-top by the LEDE team?  Certainly there is a
> great deal more doing on that either side is saying in public (which
> might be just as well since there seems to be a fair amount of bad
> feelings on both sides).

One simple question:
If LEDE team members are the ones who were suffering from some
non-democratic decisions, why didn't they bring it to public
discussion for community? At least on devel maillist?

If it was clear problem in remaining OpenWrt team then LEDE would win
the community right away or maybe problematic people would just go
away. Either way it would be more fair and open. And this is one of my
biggest concerns - LEDE team is promoting openness but didn't do their
moves openly (looking at maillists it seems they were hiding it for
month at least). Hate double standards.


>> We do acknowledge there has been internal disagreements, on several
>> occasions about some directions of the project, about the release model,
>> the lack of testing, the centralized infrastructure, however, there have
>> been actual work going on under the hoods to solve things one step at a
>
> Perhaps 'under-the-hood' is the problem.  Did everyone with concerns
> know or have insight into what steps were currently being taken and what
> was planned, and have planned actions been followed through on, once
> *agreed* as a solution?
>
> Also, is the decision making process egalitarian and democratic amongst
> those still actively in the project, or are some 'more equal' than others?
>
> Regards,
>
> Daniel
> ___
> 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


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-04 Thread Roman Yeryomin
On 4 May 2016 at 23:19, tapper  wrote:
> On 04/05/2016 21:01, mbm wrote:
>>
>> Dear OpenWrt community,
>>
>> It is with a great amount of surprise that, like all of you, we read
>> about the announcement of the LEDE project yesterday, as there was no
>> prior announcement nor clues this would happen.
>>
>> While we recognize the current OpenWrt project suffers from a number of
>> issues outlined by Jo-Philip, in each of the 5 bullet points, we do not
>> agree with the conclusions withdrawn, and even less so in deciding to
>> spin off the OpenWrt project in the first place as a way to fix the
>> project and its community. Also, the phrases such as a "reboot" are both
>> vague and misleading and the LEDE project failed to identify its true
>> nature. The LEDE announcement  contains a number of very valid points
>> which we hoped we had an opportunity to discuss and attempt to fix, in a
>> public manner, before this more radical outcome. At this point, the
>> email as well as actions taken are very confusing to a lot of us.
>>
>> OpenWrt is primarily developed by individuals who may have a day job
>> more or less related to the purpose or the technologies of the project,
>> but who strive to maintain OpenWrt as independent as possible  from any
>> company, organization or interest group, thus maintaining its own
>> infrastructure (website, forums, mailing-lists, bugtracker...), which
>> has been usually at the heart of all debates.
>>
>> We do acknowledge there has been internal disagreements, on several
>> occasions about some directions of the project, about the release model,
>> the lack of testing, the centralized infrastructure, however, there have
>> been actual work going on under the hoods to solve things one step at a
>> time, starting with a more decentralized infrastructure, which was
>> discussed with the LEDE developers as well.
>>
>> At this point, we do not have much to offer to the LEDE developers but
>> to encourage them to publicly discuss on
>> openwrt-devel@lists.openwrt.org the different items we should all be
>> fixing together, and avoid spinning off so that all decisions can be
>> taken with the community's involvement, and accountability and
>> transparency can rule us as one community.
>>
>> As a user, developer, contributor, or just community member, whatever
>> choice you make, keep the choice that matters to you: the ability to
>> utilize superior quality open source software to power whatever embedded
>> device that matters to you!
>>
>> We would like to stress that we do want to have an open discussion and
>> resolve matters at hand. Our goal is to work with all parties who can
>> and want to contribute to OpenWrt, including the LEDE team.
>>
>> Sincerely,
>> Your OpenWrt team
>> __
>
>
> But just who is "Your OpenWrt team?"
> After all the talk about fixing the website and the forum we as the openwrt
> end users got jack shit! Even wen we offered to do things for you.
>

Probably one of the problems is that not all read all communication
channels. I think that developers are more used to mailing list.
Blaming only those who left doesn't make any sense, IMO all are responsible.

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


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-04 Thread Roman Yeryomin
On 4 May 2016 at 21:35, Luiz Angelo Daros de Luca  wrote:
> It is really strange that the decision to create a new project was so opaque
> when it was motivated to be a more "transparent project".
> They could've started to be more transparent already with the decision to
> create a new project.
>
> Maybe the answer for the need of an external reboot might be not in the
> names that jumped into but on those left behind.
> Maybe it was easier to create a new project than to boot out the problems.

Well, like you said yourself, why they didn't start discussing the
problems (and possible solutions) in open space then?
Then the reasons would be more or less clear. But now it seems that
community will be confused a lot.
At least I'm completely confused.

> My 2 cents,
>
> Em qua, 4 de mai de 2016 às 14:50, Roman Yeryomin 
> escreveu:
>>
>> On 4 May 2016 at 19:25, Kathy Giori  wrote:
>> > On Tue, May 3, 2016 at 10:59 AM, Jo-Philipp Wich 
>> > wrote:
>> >> Hi,
>> >>
>> >> we'd like to introduce LEDE, a reboot of the OpenWrt community
>> >> .
>> >>
>> >> The project is founded as a spin-off of the OpenWrt project and shares
>> >> many of the same goals.
>> >
>> > While I appreciate the enthusiasm, I do not see why you cannot apply
>> > these same "principles" of openness and transparency to the OpenWrt
>> > project. Makes no sense to me to branch the project. That simply
>> > divides the resources in the community into fewer numbers working on
>> > each fork.
>>
>> Exactly, tearing down the project and community without any real
>> explanations (and plans to solve the stated issues) is just wrong.
>>
>> > Also wearing my hat within the prpl Foundation, which is funded by
>> > industry sponsorships that in turn provides financial support for
>> > OpenWrt, no one I have spoken to in prpl understands the reason for
>> > this spin-off either. It'll cause more confusion and inefficiency in
>> > industry. prpl will stick with OpenWrt, and I expect most companies
>> > who follow and/or contribute to OpenWrt will stick with it too.
>> >
>> > kathy
>> > ___
>> > 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
>
> --
>
> Luiz Angelo Daros de Luca
> luizl...@gmail.com
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-04 Thread Roman Yeryomin
On 4 May 2016 at 19:25, Kathy Giori  wrote:
> On Tue, May 3, 2016 at 10:59 AM, Jo-Philipp Wich  wrote:
>> Hi,
>>
>> we'd like to introduce LEDE, a reboot of the OpenWrt community
>> .
>>
>> The project is founded as a spin-off of the OpenWrt project and shares
>> many of the same goals.
>
> While I appreciate the enthusiasm, I do not see why you cannot apply
> these same "principles" of openness and transparency to the OpenWrt
> project. Makes no sense to me to branch the project. That simply
> divides the resources in the community into fewer numbers working on
> each fork.

Exactly, tearing down the project and community without any real
explanations (and plans to solve the stated issues) is just wrong.

> Also wearing my hat within the prpl Foundation, which is funded by
> industry sponsorships that in turn provides financial support for
> OpenWrt, no one I have spoken to in prpl understands the reason for
> this spin-off either. It'll cause more confusion and inefficiency in
> industry. prpl will stick with OpenWrt, and I expect most companies
> who follow and/or contribute to OpenWrt will stick with it too.
>
> kathy
> ___
> 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


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-04 Thread Roman Yeryomin
On 4 May 2016 at 10:31, Roman Yeryomin  wrote:
> On 4 May 2016 at 09:13, Reinoud Koornstra  wrote:
>> On Tue, May 3, 2016 at 7:54 PM, Outback Dingo  wrote:
>>>
>>>
>>> On Wed, May 4, 2016 at 12:50 AM, Roman Yeryomin 
>>> wrote:
>>>>
>>>> On 3 May 2016 at 23:19, Bruno Randolf  wrote:
>>>> > On 03/05/16 18:59, Jo-Philipp Wich wrote:
>>>> >> we'd like to introduce LEDE, a reboot of the OpenWrt community
>>>> >> ...
>>>> >> Jo-Philipp Wich,
>>>> >> John Crispin,
>>>> >> Daniel Golle,
>>>> >> Felix Fietkau,
>>>> >> Hauke Mehrtens
>>>> >> John Crispin
>>>> >> Matthias Schiffer,
>>>> >> Steven Barth
>>>> >
>>>> > While a fresh start and a more open process is good move, given this
>>>> > list of supporters it sounds a bit ridiculous... who is left in the
>>>> > OpenWRT boat and why not do it as OpenWRT (V2 or whatever)???
>>>
>>>
>>> come on.. is this a joke? same names, same faces, if you sliced this list
>>> off from the current dev group, who is actually left anyway on that
>>> note, if its legit, ill jump onboard and throw my hat in the ring also due
>>> to my trust and respect for those that are listed.
>>
>> I am kind of surprised.
>> There are still daily checkins in the tree.
>> Still some people are adding support for boards.
>> Hence I must not understand the notion of inactiveness.
>> The value of openwrt is still invaluable.
>> If rebranding helps pumping additional life into it, why not...
>
> I'm not against rebranding but I don't see how it fixes the problem.
> IMO it only makes it worse.
>
>>>
>>>>
>>>>
>>>> Indeed. Looks like silent rebranding. Without public discussion of the
>>>> issues (and possible ways to fix them) in mailing list Same people,
>>>> rules and methods.
>>>> Could you elaborate more and explain how exactly LEDE is going to fix
>>>> the listed problems? And why it's not possible to fix them inside
>>>> existing project?
>>>>
>>>>

John, others,
"The name LEDE stands for Linux Embedded Development Environment."
sounds like build system only.
I would vote for separating build system into separate project.
Actually, if you remember, I was proposing this several years ago. It
would make more sense and would better fit LEDE name. Though "Linux"
can be subtracted from there as it's capable of building also MCU
projects.

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


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-04 Thread Roman Yeryomin
On 4 May 2016 at 09:13, Reinoud Koornstra  wrote:
> On Tue, May 3, 2016 at 7:54 PM, Outback Dingo  wrote:
>>
>>
>> On Wed, May 4, 2016 at 12:50 AM, Roman Yeryomin 
>> wrote:
>>>
>>> On 3 May 2016 at 23:19, Bruno Randolf  wrote:
>>> > On 03/05/16 18:59, Jo-Philipp Wich wrote:
>>> >> we'd like to introduce LEDE, a reboot of the OpenWrt community
>>> >> ...
>>> >> Jo-Philipp Wich,
>>> >> John Crispin,
>>> >> Daniel Golle,
>>> >> Felix Fietkau,
>>> >> Hauke Mehrtens
>>> >> John Crispin
>>> >> Matthias Schiffer,
>>> >> Steven Barth
>>> >
>>> > While a fresh start and a more open process is good move, given this
>>> > list of supporters it sounds a bit ridiculous... who is left in the
>>> > OpenWRT boat and why not do it as OpenWRT (V2 or whatever)???
>>
>>
>> come on.. is this a joke? same names, same faces, if you sliced this list
>> off from the current dev group, who is actually left anyway on that
>> note, if its legit, ill jump onboard and throw my hat in the ring also due
>> to my trust and respect for those that are listed.
>
> I am kind of surprised.
> There are still daily checkins in the tree.
> Still some people are adding support for boards.
> Hence I must not understand the notion of inactiveness.
> The value of openwrt is still invaluable.
> If rebranding helps pumping additional life into it, why not...

I'm not against rebranding but I don't see how it fixes the problem.
IMO it only makes it worse.

>>
>>>
>>>
>>> Indeed. Looks like silent rebranding. Without public discussion of the
>>> issues (and possible ways to fix them) in mailing list Same people,
>>> rules and methods.
>>> Could you elaborate more and explain how exactly LEDE is going to fix
>>> the listed problems? And why it's not possible to fix them inside
>>> existing project?
>>>
>>>
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Introducing the LEDE project

2016-05-03 Thread Roman Yeryomin
On 3 May 2016 at 23:19, Bruno Randolf  wrote:
> On 03/05/16 18:59, Jo-Philipp Wich wrote:
>> we'd like to introduce LEDE, a reboot of the OpenWrt community
>> ...
>> Jo-Philipp Wich,
>> John Crispin,
>> Daniel Golle,
>> Felix Fietkau,
>> Hauke Mehrtens
>> John Crispin
>> Matthias Schiffer,
>> Steven Barth
>
> While a fresh start and a more open process is good move, given this
> list of supporters it sounds a bit ridiculous... who is left in the
> OpenWRT boat and why not do it as OpenWRT (V2 or whatever)???

Indeed. Looks like silent rebranding. Without public discussion of the
issues (and possible ways to fix them) in mailing list Same people,
rules and methods.
Could you elaborate more and explain how exactly LEDE is going to fix
the listed problems? And why it's not possible to fix them inside
existing project?


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


[OpenWrt-Devel] [PATCH] base-files: allow to set arbitrary ip address and netmask

2016-04-13 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 package/base-files/files/bin/config_generate | 16 +---
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/package/base-files/files/bin/config_generate 
b/package/base-files/files/bin/config_generate
index 4256d3c..03d1a36 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -56,11 +56,11 @@ generate_static_network() {
 
 addr_offset=2
 generate_network() {
-   local ifname macaddr protocol type
+   local ifname macaddr protocol type ipaddr netmask
 
json_select network
json_select "$1"
-   json_get_vars ifname macaddr protocol
+   json_get_vars ifname macaddr protocol ipaddr netmask
json_select ..
json_select ..
 
@@ -88,16 +88,18 @@ generate_network() {
 
case "$protocol" in
static)
-   local ipaddr
+   local ipad
case "$1" in
-   lan) ipaddr="192.168.1.1" ;;
-   *) ipaddr="192.168.$((addr_offset++)).1" ;;
+   lan) ipad=${ipaddr:-"192.168.1.1"} ;;
+   *) 
ipad=${ipaddr:-"192.168.$((addr_offset++)).1"} ;;
esac
 
+   netm=${netmask:-"255.255.255.0"}
+
uci -q batch <<-EOF
set network.$1.proto='static'
-   set network.$1.ipaddr='$ipaddr'
-   set network.$1.netmask='255.255.255.0'
+   set network.$1.ipaddr='$ipad'
+   set network.$1.netmask='$netm'
set network.$1.ip6assign='60'
EOF
;;
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 5/5] ramips: mt7621: fix Ubiquiti EdgeRouter X profile

2016-04-03 Thread Roman Yeryomin
Remove unnecessary packages to reduce image size so it fits in initramfs (to 
enable upgrading from factory firmware).

Signed-off-by: Roman Yeryomin 
---
 target/linux/ramips/mt7621/profiles/ubnt.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/target/linux/ramips/mt7621/profiles/ubnt.mk 
b/target/linux/ramips/mt7621/profiles/ubnt.mk
index b66b206..3f1af02 100644
--- a/target/linux/ramips/mt7621/profiles/ubnt.mk
+++ b/target/linux/ramips/mt7621/profiles/ubnt.mk
@@ -8,7 +8,8 @@
 define Profile/UBNT-ERX
NAME:=Ubiquiti EdgeRouter X
FEATURES+=nand -usb
-   PACKAGES:=-kmod-mt76 -wpad-mini -kmod-cfg80211
+   PACKAGES:=-kmod-mt76 -kmod-rt2800-pci -kmod-cfg80211 \
+   -wpad-mini -iwinfo
 endef
 
 define Profile/UBNT-ERX/Description
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 4/5] ramips: mt7621: sync MQmaker WiTi profile name to dts name

2016-04-03 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 target/linux/ramips/mt7621/profiles/mqmaker.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/target/linux/ramips/mt7621/profiles/mqmaker.mk 
b/target/linux/ramips/mt7621/profiles/mqmaker.mk
index ae35e7d..a9c79df 100644
--- a/target/linux/ramips/mt7621/profiles/mqmaker.mk
+++ b/target/linux/ramips/mt7621/profiles/mqmaker.mk
@@ -5,7 +5,7 @@
 # See /LICENSE for more information.
 #
 
-define Profile/witi
+define Profile/WITI
NAME:=MQmaker WiTi
FEATURES+=rtc
PACKAGES:=\
@@ -14,7 +14,7 @@ define Profile/witi
kmod-rtc-pcf8563 kmod-i2c-mt7621
 endef
 
-define Profile/witi/Description
+define Profile/WITI/Description
Package set compatible with MQmaker WiTi board.
 endef
-$(eval $(call Profile,witi))
+$(eval $(call Profile,WITI))
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 3/5] ramips: enable device profiling by dts

2016-04-03 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 target/linux/ramips/image/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/linux/ramips/image/Makefile 
b/target/linux/ramips/image/Makefile
index ddd67a2..6e0349f 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -32,6 +32,7 @@ KERNEL_LOADADDR := $(loadaddr-y)
 
 KERNEL_DTB = kernel-bin | patch-dtb | lzma
 define Device/Default
+  PROFILES = Default $$(DTS)
   KERNEL_DEPENDS = $$(wildcard ../dts/$$(DTS).dts)
   KERNEL := $(KERNEL_DTB) | uImage lzma
   IMAGES := sysupgrade.bin
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/5] ramips: mt7621: add a device to TARGET_DEVICES after it's definition

2016-04-03 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 target/linux/ramips/image/mt7621.mk | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/target/linux/ramips/image/mt7621.mk 
b/target/linux/ramips/image/mt7621.mk
index 76b4e48..628954f 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -33,29 +33,29 @@ define Build/ubnt-erx-factory-image
fi
 endef
 
-ifeq ($(SUBTARGET),mt7621)
-  TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1 re6500 
sap-g3200u3 ubnt-erx witi wf-2881 zbt-wg2626
-endif
-
 define Device/mt7621
   DTS := MT7621
   IMAGE_SIZE := $(ralink_default_fw_size_4M)
 endef
+TARGET_DEVICES += mt7621
 
 define Device/wsr-600
   DTS := WSR-600
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
 endef
+TARGET_DEVICES += wsr-600
 
 define Device/re6500
   DTS := RE6500
 endef
+TARGET_DEVICES += re6500
 
 define Device/wsr-1166
   DTS := WSR-1166
   IMAGE/sysupgrade.bin := trx | pad-rootfs
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
 endef
+TARGET_DEVICES += wsr-1166
 
 define Device/dir-860l-b1
   DTS := DIR-860L-B1
@@ -71,30 +71,36 @@ define Device/dir-860l-b1
seama-seal -m "signature=wrgac13_dlink.2013gui_dir860lb" | \
check-size (IMAGE_SIZE)
 endef
+TARGET_DEVICES += dir-860l-b1
 
 define Device/firewrt
   DTS := FIREWRT
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
 endef
+TARGET_DEVICES += firewrt
 
 define Device/pbr-m1
   DTS := PBR-M1
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
 endef
+TARGET_DEVICES += pbr-m1
 
 define Device/sap-g3200u3
   DTS := SAP-G3200U3
 endef
+TARGET_DEVICES += sap-g3200u3
 
 define Device/witi
   DTS := WITI
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
 endef
+TARGET_DEVICES += witi
 
 define Device/zbt-wg2626
   DTS := ZBT-WG2626
   IMAGE_SIZE := $(ralink_default_fw_size_16M)
 endef
+TARGET_DEVICES += zbt-wg2626
 
 define Device/wf-2881
   DTS := WF-2881
@@ -105,6 +111,7 @@ define Device/wf-2881
   KERNEL := $(KERNEL_DTB) | pad-offset 131072 64 | uImage lzma
   IMAGE/sysupgrade.bin := append-kernel | append-ubi | check-size 
(IMAGE_SIZE)
 endef
+TARGET_DEVICES += wf-2881
 
 define Device/ubnt-erx
   DTS := UBNT-ERX
@@ -116,6 +123,7 @@ define Device/ubnt-erx
ubnt-erx-factory-image 
$(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
   IMAGE/sysupgrade.tar := sysupgrade-nand
 endef
+TARGET_DEVICES += ubnt-erx
 
 # FIXME: is this still needed?
 define Image/Prepare
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/5] ramips: mt7621: fix initramfs image for ubnt-erx

2016-04-03 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 target/linux/ramips/image/mt7621.mk | 66 +++--
 1 file changed, 20 insertions(+), 46 deletions(-)

diff --git a/target/linux/ramips/image/mt7621.mk 
b/target/linux/ramips/image/mt7621.mk
index 745611f..76b4e48 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -11,51 +11,28 @@ define Build/seama-seal
$(call Build/seama,-s $@.seama $(1))
 endef
 
-define Build/ubnt-erx-factory-compat
-   echo '21001:6' > $@.compat
-   $(TAR) -cf $@ --transform='s/^.*/compat/' $@.compat
-   $(RM) $@.compat
-endef
-
-define Build/ubnt-erx-factory-kernel
+define Build/ubnt-erx-factory-image
if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) ]; then \
-   $(TAR) -rf $@ --transform='s/^.*/vmlinux.tmp/' 
$(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
+   echo '21001:6' > $(1).compat; \
+   $(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
+   \
+   $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' 
$(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
+   md5sum --binary $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) | awk 
'{print $$1}'> $(1).md5; \
+   $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \
+   \
+   echo "dummy" > $(1).rootfs; \
+   $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \
\
-   md5sum --binary $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) | awk 
'{print $$1}'> $@.md5; \
-   $(TAR) -rf $@ --transform='s/^.*/vmlinux.tmp.md5/' $@.md5; \
-   $(RM) $@.md5; \
+   md5sum --binary $(1).rootfs | awk '{print $$1}'> $(1).md5; \
+   $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; 
\
+   \
+   echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > 
$(1).version; \
+   $(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
+   \
+   $(CP) $(1) $(BIN_DIR)/; \
fi
 endef
 
-define Build/ubnt-erx-factory-rootfs
-   echo "dummy" > $@.rootfs
-   $(TAR) -rf $@ --transform='s/^.*/squashfs.tmp/' $@.rootfs
-
-   md5sum --binary $@.rootfs | awk '{print $$1}'> $@.md5
-   $(TAR) -rf $@ --transform='s/^.*/squashfs.tmp.md5/' $@.md5
-   $(RM) $@.md5
-   $(RM) $@.rootfs
-endef
-
-define Build/ubnt-erx-factory-version
-   echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $@.version
-   $(TAR) -rf $@ --transform='s/^.*/version.tmp/' $@.version
-   $(RM) $@.version
-endef
-
-# We need kernel+initrams fit into kernel partition
-define Build/ubnt-erx-factory-check-size
-   @[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(1) -ge "$$($(TAR) -xf 
$@ vmlinux.tmp -O | wc -c)" ] || { \
-   echo "WARNING: Initramfs kernel for image $@ is too big (kernel 
size: $$($(TAR) -xf $@ vmlinux.tmp -O | wc -c), max size $(1))" >&2; \
-   $(RM) -f $@; \
-   }
-
-   @[ "$$($(TAR) -xf $@ vmlinux.tmp -O | wc -c)" -gt 0 ] || { \
-   echo "WARNING: Kernel for image $@ not found" >&2; \
-   $(RM) -f $@; \
-   }
-endef
-
 ifeq ($(SUBTARGET),mt7621)
   TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1 re6500 
sap-g3200u3 ubnt-erx witi wf-2881 zbt-wg2626
 endif
@@ -134,12 +111,9 @@ define Device/ubnt-erx
   FILESYSTEMS := squashfs
   KERNEL_SIZE := 3145728
   KERNEL := $(KERNEL_DTB) | uImage lzma
-  IMAGES := sysupgrade.tar $(if 
$(CONFIG_TARGET_ROOTFS_INITRAMFS),factory-initramfs.tar)
-  IMAGE/factory-initramfs.tar := ubnt-erx-factory-compat | \
-ubnt-erx-factory-kernel | \
-ubnt-erx-factory-rootfs | \
-ubnt-erx-factory-version | \
-ubnt-erx-factory-check-size $$(KERNEL_SIZE)
+  IMAGES := sysupgrade.tar
+  KERNEL_INITRAMFS := $$(KERNEL) | check-size $$(KERNEL_SIZE) | \
+   ubnt-erx-factory-image 
$(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
   IMAGE/sysupgrade.tar := sysupgrade-nand
 endef
 
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] ramips: move different subtarget image generation to separate makefiles to improve maintainability

2016-03-24 Thread Roman Yeryomin
- all subtarget specific defines are in their own files
- common defines left in main Makefile
- each subtarget makefile idefed with SUBTARGET
- all subtargets compile tested
- few seems to be broken/unneeded things marked with FIXME

Signed-off-by: Roman Yeryomin 
---
 target/linux/ramips/image/Makefile  | 949 +---
 target/linux/ramips/image/mt7620.mk | 160 ++
 target/linux/ramips/image/mt7621.mk | 153 ++
 target/linux/ramips/image/mt7628.mk |  17 +
 target/linux/ramips/image/mt7688.mk |  11 +
 target/linux/ramips/image/rt288x.mk |  59 +++
 target/linux/ramips/image/rt305x.mk | 392 +++
 target/linux/ramips/image/rt3883.mk |  59 +++
 8 files changed, 865 insertions(+), 935 deletions(-)
 create mode 100644 target/linux/ramips/image/mt7620.mk
 create mode 100644 target/linux/ramips/image/mt7621.mk
 create mode 100644 target/linux/ramips/image/mt7628.mk
 create mode 100644 target/linux/ramips/image/mt7688.mk
 create mode 100644 target/linux/ramips/image/rt288x.mk
 create mode 100644 target/linux/ramips/image/rt305x.mk
 create mode 100644 target/linux/ramips/image/rt3883.mk

diff --git a/target/linux/ramips/image/Makefile 
b/target/linux/ramips/image/Makefile
index 0cfb8fb..ddd67a2 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -52,15 +52,6 @@ define Build/trx
-a 4 -f $(word 2,$^)
 endef
 
-define Build/seama
-   $(STAGING_DIR_HOST)/bin/seama -i $@ $(1)
-   mv $@.seama $@
-endef
-
-define Build/seama-seal
-   $(call Build/seama,-s $@.seama $(1))
-endef
-
 define Build/relocate-kernel
( \
dd if=$(KDIR)/loader.bin bs=32 conv=sync && \
@@ -70,51 +61,6 @@ define Build/relocate-kernel
mv $@.new $@
 endef
 
-define Build/ubnt-erx-factory-compat
-   echo '21001:6' > $@.compat
-   $(TAR) -cf $@ --transform='s/^.*/compat/' $@.compat
-   $(RM) $@.compat
-endef
-
-define Build/ubnt-erx-factory-kernel
-   if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) ]; then \
-   $(TAR) -rf $@ --transform='s/^.*/vmlinux.tmp/' 
$(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
-   \
-   md5sum --binary $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) | awk 
'{print $$1}'> $@.md5; \
-   $(TAR) -rf $@ --transform='s/^.*/vmlinux.tmp.md5/' $@.md5; \
-   $(RM) $@.md5; \
-   fi
-endef
-
-define Build/ubnt-erx-factory-rootfs
-   echo "dummy" > $@.rootfs
-   $(TAR) -rf $@ --transform='s/^.*/squashfs.tmp/' $@.rootfs
-
-   md5sum --binary $@.rootfs | awk '{print $$1}'> $@.md5
-   $(TAR) -rf $@ --transform='s/^.*/squashfs.tmp.md5/' $@.md5
-   $(RM) $@.md5
-   $(RM) $@.rootfs
-endef
-
-define Build/ubnt-erx-factory-version
-   echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $@.version
-   $(TAR) -rf $@ --transform='s/^.*/version.tmp/' $@.version
-   $(RM) $@.version
-endef
-
-#We need kernel+initrams fit into kernel partition
-define Build/ubnt-erx-factory-check-size
-   @[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(1) -ge "$$($(TAR) -xf 
$@ vmlinux.tmp -O | wc -c)" ] || { \
-   echo "WARNING: Initramfs kernel for image $@ is too big (kernel 
size: $$($(TAR) -xf $@ vmlinux.tmp -O | wc -c), max size $(1))" >&2; \
-   $(RM) -f $@; \
-   }
-
-   @[ "$$($(TAR) -xf $@ vmlinux.tmp -O | wc -c)" -gt 0 ] || { \
-   echo "WARNING: Kernel for image $@ not found" >&2; \
-   $(RM) -f $@; \
-   }
-endef
-
 define MkCombineduImage
$(call PatchKernelLzma,$(2),$(3))
if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt `expr $(4) - 64` 
]; then \
@@ -127,7 +73,6 @@ define MkCombineduImage
$(call MkImage,lzma,$(KDIR)/vmlinux-$(2).bin.lzma.combined,$(call 
sysupname,$(1),$(2)),$(6))
 endef
 
-
 #
 # The real magic happens inside these templates
 #
@@ -156,23 +101,6 @@ define MkImageSysupgrade/squashfs
fi
 endef
 
-define MkImageTpl/squashfs
-   $(eval output_name=$(IMG_PREFIX)-$(2)-$(1)-$(if 
$(4),$(4),sysupgrade).bin)
-   -$(STAGING_DIR_HOST)/bin/mktplinkfw2 -V "ver. 2.0" -B "$(2)" -j \
-   -o $(KDIR)/$(output_name) \
-   -k $(KDIR)/vmlinux-$(1)$(4).bin.lzma \
-   -r $(KDIR)/root.$(1) && \
-   $(CP) $(KDIR)/$(output_name) $(BIN_DIR)/$(output_name)
-endef
-
-define MkImageTpl/initramfs
-   $(eval output_name=$(IMG_PREFIX)-$(2)-$(1).bin)
-   -$(STAGING_DIR_HOST)/bin/mktplinkfw2 -V "ver. 2.0" -B "$(2)" -c \
-   -o $(KDIR)/$(output_name) \
-   -k $(KDIR)/vmlinux-$(1).bin.lzma && \
-   $(CP) $(KDIR)/$(output_name) $(BIN_DIR)/$(output_name)
-endef
-
 # $(1), lowerca

Re: [OpenWrt-Devel] Read-only mirror https://github.com/openwrt/openwrt is stuck since 12 days ago

2016-03-19 Thread Roman Yeryomin
On 18 March 2016 at 15:32, John Crispin  wrote:
>>
>> please use this svn server for now. it will be online for 4-6 weeks so
>> that people have time to migrate away from svn. i will send out a notice
>> 1 week before we finally turn it of. please start migrating now.
>
> if you do 10 things at once you forget to paste the url :-)
>
> svn://svn.mein.io/openwrt

John, you just made people suffer for 4-6 weeks longer :)
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Read-only mirror https://github.com/openwrt/openwrt is stuck since 12 days ago

2016-03-19 Thread Roman Yeryomin
On 18 March 2016 at 19:36, John Crispin  wrote:
>
>
> On 18/03/2016 18:19, Roman Yeryomin wrote:
>> On 18 March 2016 at 15:32, John Crispin  wrote:
>>>>
>>>> please use this svn server for now. it will be online for 4-6 weeks so
>>>> that people have time to migrate away from svn. i will send out a notice
>>>> 1 week before we finally turn it of. please start migrating now.
>>>
>>> if you do 10 things at once you forget to paste the url :-)
>>>
>>> svn://svn.mein.io/openwrt
>>
>> John, you just made people suffer for 4-6 weeks longer :)
>>
>
>
> i think you are mistaken, think before you post please.

Sorry, maybe it was way too sarcastic but IMO switching from svn to
git is fairly simple and there is nothing to dramatize.
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Read-only mirror https://github.com/openwrt/openwrt is stuck since 12 days ago

2016-03-19 Thread Roman Yeryomin
On 18 March 2016 at 04:40, Shankar Unni  wrote:
> On Wed, Mar 16, 2016 at 1:53 AM, Karl Vogel  wrote:
>>
>> Doesn't look like the SVN server is back yet either.
>>
>> Are there any plans to resurrect the anon SVN server? Or should everybody
>> move to git.openwrt.org instead?
>>
>
> Yeah, I've been waiting for this, too (svn.openwrt.org).
>
> It would be good to hear an official word from someone as to whether
> this is ever going to come back up (i.e. is this only a delay?), or is
> it a final decision to turn it off for good.

It's dead, Jim.
Just switch and free yourself.
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [RFC] fstools/overlayfs race condition

2016-03-07 Thread Roman Yeryomin
On 7 March 2016 at 15:09, John Crispin  wrote:
>
>
> On 07/03/2016 14:03, Roman Yeryomin wrote:
>> There is a race between `cp -a /tmp/root/* /rom/overlay` from
>> libfstools/overlay.c and a process creating new file(s) before
>> pivot(/rom, /mnt) occured.
>> That is a process can create a file and it will not be copied.
>>
>> Currently I do additional copy after jffs2 is ready, which is kind of
>> cumbersome (see attached patch), but there are still few potentially
>> erroneous scenarios:
>> 1. a process may recreate the file by the time second cp occurs
>> 2. a process may delete a file (not existing at that moment) and
>> second cp will copy it again
>> 3. a process may want to read created file before second cp occurs
>>
>> If attached patch is the way to go I will properly submit it.
>> Otherwise there should be a more fundamental fix but I don't see a way
>> to fix this properly.
>>
>>
>
> Hi Roman
>
> that race has been there since the day we do overlayfs. i am always
> surprised that it has not exploded in a big way yet. the only way i see
> are workarounds such as yours or sending out lots of SIGSTOP and the
> continues when we copied the files. either way it will be ugly and
> require protective gear.
>
> i'll ponder this and see if we can find a better way

Actually I met this long ago, just didn't understand/investigate it
was exactly this.
What will happen if a process opens a file (t.i. it will have an open
descriptor) in tmp root, writes to it and then, in the process of
writing, pivot_root() executes?

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


[OpenWrt-Devel] [RFC] fstools/overlayfs race condition

2016-03-07 Thread Roman Yeryomin
There is a race between `cp -a /tmp/root/* /rom/overlay` from
libfstools/overlay.c and a process creating new file(s) before
pivot(/rom, /mnt) occured.
That is a process can create a file and it will not be copied.

Currently I do additional copy after jffs2 is ready, which is kind of
cumbersome (see attached patch), but there are still few potentially
erroneous scenarios:
1. a process may recreate the file by the time second cp occurs
2. a process may delete a file (not existing at that moment) and
second cp will copy it again
3. a process may want to read created file before second cp occurs

If attached patch is the way to go I will properly submit it.
Otherwise there should be a more fundamental fix but I don't see a way
to fix this properly.


Regards,
Roman
--- a/libfstools/overlay.c
+++ b/libfstools/overlay.c
@@ -223,6 +223,9 @@ jffs2_switch(struct volume *v)
 			ULOG_INFO("performing overlay whiteout\n");
 			umount2("/tmp/root", MNT_DETACH);
 			foreachdir("/overlay/", handle_whiteout);
+			/* try hard to be in sync */
+			ULOG_INFO("syncronizing overlay\n");
+			system("cp -a /tmp/root/upper/* / 2>/dev/null");
 		}
 		break;
 
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] New Ubiquiti AC products locked against 3rd party firmware?

2016-02-22 Thread Roman Yeryomin
https://github.com/openwrt/openwrt/commit/de350dcae493b2b71a0850b1d1d4ee0483552faa

On 22 February 2016 at 14:05, valent.turko...@gmail.com
 wrote:
> Nice that you checked... I would understand this stance from a company
> that doesn't rely on so much open source software without which they
> wouldn't even exists. Shame, just shame.
>
> On 30 November 2015 at 09:48, John Crispin  wrote:
>>
>>
>> On 30/11/2015 09:38, Petr Štetiar wrote:
>>> Ben West  [2015-11-27 10:00:51]:
>>>
>>> Hi,
>>>
 This person is reporting a new Ubiquiti AC AP where there the bootloader
 does an RSA signature check on the firmware image.
>>>
>>> let's hope, that it would be possible to replace/patch that unfriendly 
>>> U-Boot.
>>>
 Could anyone else confirm if they've observed the same, and if it now
 prevents loading OpenWRT, etc?  Or at least, confirm if the RSA signature
 checking by the bootloader was not present before?
>>>
>>> We're using UBNT products and I can confirm, that there wasn't any RSA
>>> firmware signature checking previously and we're able to run OpenWRT on 
>>> them.
>>> Maybe it's time to look around for alternatives...
>>>
>>> -- ynezz
>>>
>>
>>
>> Hi,
>>
>> i contacted UBNT customer support. they specifically stated that they do
>> not want users to install openwrt and prefer not to cooperate with us.
>> it is a concious decision to *not* support the free software movement
>> and be capitalist pigs. the reasoning given to me was not related to FCC
>> ruling but specifically stated that they dont like users installing free
>> software on their routers. they prefer to have submissive users that
>> will do as they are told.
>>
>> John
>>
>>
 -- Forwarded message --
 From: Andrew Margarit | Cucumber WiFI 
 Date: Fri, Nov 27, 2015 at 7:59 AM
 Subject: Re: [FCC] New AP with the lockdown
 To: f...@lists.prplfoundation.org

 Hi there,

 Just to let you know, I've been looking at the Ubiquiti new AC APs, and it
 looks like they added a RSA check in the bootloader.

 Firmware Version: BZ.qca956x.v3.4.7.3284.150911.1650
 RSA Signed Firmware. Verfiying please wait...
 Decrypted hash: f8 2b 45 72 9f e4 5f 46 a0 96 43 37 57 4f 49 ab 43 dc 1e 8c
 Image hash: f8 2b 45 72 9f e4 5f 46 a0 96 43 37 57 4f 49 ab 43 dc 1e 8c

 All fun and good!

 --
 Andrew Margarit

 Wi-FI Chief | Cucumber Tony
 and...@polkaspots.com
 cucumberwifi.io

 twitter/cucumbertony
 ___
 FCC mailing list
 f...@lists.prplfoundation.org
 http://lists.prplfoundation.org/cgi-bin/mailman/listinfo/fcc

 --
 Ben West
 http://gowasabi.net
 b...@gowasabi.net
 314-246-9434
 ___
 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 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 mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] brcm2708: fix RPi model B plus support

2016-01-17 Thread Roman Yeryomin
On 17 January 2016 at 13:15, Felix Fietkau  wrote:
> On 2016-01-10 00:13, Roman Yeryomin wrote:
>> Not sure if B+ is used or not (mine has B Plus) so leave both
>>
>> Signed-off-by: Roman Yeryomin 
>> ---
>>  target/linux/brcm2708/base-files/lib/brcm2708.sh | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/target/linux/brcm2708/base-files/lib/brcm2708.sh 
>> b/target/linux/brcm2708/base-files/lib/brcm2708.sh
>> index 13c1aa9..cb4089d 100644
>> --- a/target/linux/brcm2708/base-files/lib/brcm2708.sh
>> +++ b/target/linux/brcm2708/base-files/lib/brcm2708.sh
>> @@ -11,6 +11,7 @@ brcm2708_detect() {
>>   "Raspberry Pi Model B Rev"*)
>>   board_name="rpi-b"
>>   ;;
>> + "Raspberry Pi Model B Plus Rev"* |\
>>   "Raspberry Pi Model B+ Rev"*)
> Why would it have "B Plus" instead of "B+"? I only see "B+" in the
> kernel .dts file.

Didn't investigate the exact reason

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


Re: [OpenWrt-Devel] [PATCH] brcm47xx: Mark broken; no working images

2016-01-14 Thread Roman Yeryomin
On 14 January 2016 at 18:25, Daniel Dickinson
 wrote:
> Ah, ok, so there likley there are are pobablly not any working *stock*
> devices.  That merits the @BROKEN flag - if you're running modified hardware
> you can surely build with BROKEN enabled.

https://downloads.openwrt.org/snapshots/trunk/brcm47xx/
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] brcm47xx: Mark broken; no working images

2016-01-14 Thread Roman Yeryomin
On 14 January 2016 at 17:31,   wrote:
> From: Daniel Dickinson 
>
> To my knowledge there are no working images, nor a way to get them,
> even using maximum stripping and dropping of packages, kmods, and
> compile options due to the small size of the targets for this
> architecture.  Therefore mark this arch broken and maybe remove
> unless someone decides to fix it.
>
> Signed-off-by: Daniel Dickinson 
> ---
>  target/linux/brcm47xx/Makefile | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/target/linux/brcm47xx/Makefile b/target/linux/brcm47xx/Makefile
> index e0c44c8..fae1f59 100644
> --- a/target/linux/brcm47xx/Makefile
> +++ b/target/linux/brcm47xx/Makefile
> @@ -12,6 +12,7 @@ BOARDNAME:=Broadcom BCM47xx/53xx (MIPS)
>  FEATURES:=squashfs usb
>  SUBTARGETS:=generic mips74k legacy
>  MAINTAINER:=Hauke Mehrtens 
> +DEPENDS:=@BROKEN
>
>  KERNEL_PATCHVER:=4.1
>

m? at least Asus rt-n16 and wl-500gp work fine!

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


Re: [OpenWrt-Devel] optimizing network performance

2016-01-14 Thread Roman Yeryomin
On 9 January 2016 at 17:21, Roman Yeryomin  wrote:
> While trying to optimize ag71xx driver performance I've noticed a
> weird thing: NAT performance may vary across reboots.
> For example on Archer C7 the difference can be 80Mbps: 440 one boot,
> 360 another. On AP152 the numbers differ but the difference across
> reboots still present.
> That is with iperf3, TCP download, 1m average, confirmed environment,
> trunk version.
>
> Did someone notice this before? Is this driver specific? MIPS
> specific? Something else?
>
> Unfortunately I don't have any other board with gigabit ports I can
> test with currently.
> Such behavior makes it very hard to test any optimizations.
>

Really? nobody noticed this?

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


[OpenWrt-Devel] [PATCH] brcm2708: fix RPi model B plus support

2016-01-09 Thread Roman Yeryomin
Not sure if B+ is used or not (mine has B Plus) so leave both

Signed-off-by: Roman Yeryomin 
---
 target/linux/brcm2708/base-files/lib/brcm2708.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/linux/brcm2708/base-files/lib/brcm2708.sh 
b/target/linux/brcm2708/base-files/lib/brcm2708.sh
index 13c1aa9..cb4089d 100644
--- a/target/linux/brcm2708/base-files/lib/brcm2708.sh
+++ b/target/linux/brcm2708/base-files/lib/brcm2708.sh
@@ -11,6 +11,7 @@ brcm2708_detect() {
"Raspberry Pi Model B Rev"*)
board_name="rpi-b"
;;
+   "Raspberry Pi Model B Plus Rev"* |\
"Raspberry Pi Model B+ Rev"*)
board_name="rpi-b-plus"
;;
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] ar71xx: fix ap152 support

2016-01-09 Thread Roman Yeryomin
- ethernet gigabit pll
- switch configuration
- sysupgrade

Signed-off-by: Roman Yeryomin 
---
 target/linux/ar71xx/base-files/etc/board.d/02_network  | 1 +
 target/linux/ar71xx/base-files/lib/upgrade/platform.sh | 1 +
 target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c | 1 -
 3 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network 
b/target/linux/ar71xx/base-files/etc/board.d/02_network
index 6b6c6a4..190b693 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -23,6 +23,7 @@ ubnt-unifi-outdoor)
;;
 
 ap132 |\
+ap152 |\
 wlr8100)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 
b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index e662524..1f6eaf2 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -184,6 +184,7 @@ platform_check_image() {
ap136-020 | \
ap135-020 | \
ap147-010 | \
+   ap152 | \
ap96 | \
bxu2000n-2-a1 | \
db120 | \
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c 
b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c
index a1eb06b..e669325 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap152.c
@@ -132,7 +132,6 @@ static void __init ap152_setup(void)
ath79_eth0_data.duplex = DUPLEX_FULL;
ath79_eth0_data.phy_mask = BIT(0);
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-   ath79_eth0_pll_data.pll_1000 = 0x0600;
 
ath79_register_eth(0);
 }
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] optimizing network performance

2016-01-09 Thread Roman Yeryomin
While trying to optimize ag71xx driver performance I've noticed a
weird thing: NAT performance may vary across reboots.
For example on Archer C7 the difference can be 80Mbps: 440 one boot,
360 another. On AP152 the numbers differ but the difference across
reboots still present.
That is with iperf3, TCP download, 1m average, confirmed environment,
trunk version.

Did someone notice this before? Is this driver specific? MIPS
specific? Something else?

Unfortunately I don't have any other board with gigabit ports I can
test with currently.
Such behavior makes it very hard to test any optimizations.


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


Re: [OpenWrt-Devel] [PATCH] base-files: fix generating network configuration

2015-12-31 Thread Roman Yeryomin
On 30 December 2015 at 14:32, Yousong Zhou  wrote:
> On 30 December 2015 at 20:12, Jo-Philipp Wich  wrote:
>> Hi Yousong.
>>
>> NAK - thats by design. If a network config is present then there is no
>> point in regenerating it.
>>
>> I'd prefer if the Malta target would simply drop its default config and
>> switch to board.d, this could be useful to e.g. dynamically handle
>> different amounts of eth* devices:
>>
>
> The default network config was provided by package/base-files, not
> malta target...

You can easily override it, no need to modify defaults.

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


Re: [OpenWrt-Devel] [PATCH] kernel: generic 4.1 & 4.4 perf: musl compatibility

2015-12-31 Thread Roman Yeryomin
On 29 December 2015 at 12:14, Kevin Darbyshire-Bryant
 wrote:
> Enable linux perf tools to compile under musl.
>
> Tested on MIPS Archer c7 v2 & ARM Linksys 1200ac.
>
> With thanks to Dave Taht  who
> did the heavy lifting.
>
> Signed-off-by: Kevin Darbyshire-Bryant 
> ---
>  package/devel/perf/Makefile|   2 +-
>  .../patches-4.1/280-perf-fixes-for-musl.patch  | 148 
> +
>  .../patches-4.4/280-perf-fixes-for-musl.patch  | 147 
>  3 files changed, 296 insertions(+), 1 deletion(-)
>  create mode 100644 
> target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
>  create mode 100644 
> target/linux/generic/patches-4.4/280-perf-fixes-for-musl.patch
>
> diff --git a/package/devel/perf/Makefile b/package/devel/perf/Makefile
> index 5e3d63f..46ddb92 100644
> --- a/package/devel/perf/Makefile
> +++ b/package/devel/perf/Makefile
> @@ -19,7 +19,7 @@ include $(INCLUDE_DIR)/package.mk
>  define Package/perf
>SECTION:=devel
>CATEGORY:=Development
> -  DEPENDS:= @USE_GLIBC +libelf1 +libdw +libpthread +librt +binutils
> +  DEPENDS:= @USE_MUSL +libelf1 +libdw +libpthread +librt +binutils
>TITLE:=Linux performance monitoring tool
>VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
>URL:=http://www.kernel.org
> diff --git a/target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch 
> b/target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
> new file mode 100644
> index 000..0e8b6d8
> --- /dev/null
> +++ b/target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
> @@ -0,0 +1,148 @@
> +kernel: 4.1 perf: musl compatibility
> +
> +Allow linux perf tool to compile under musl.
> +
> +Backport to 4.1 by Kevin D-B with thanks to Dave
> +Taht  for the heavy lifting.
> +
> +Signed-off-by: Kevin Darbyshire-Bryant 
> +
> +---
> + tools/lib/api/fs/debugfs.c |  4 
> + tools/lib/traceevent/event-parse.c |  4 
> + tools/perf/perf.c  | 17 -
> + tools/perf/util/cache.h|  2 +-
> + tools/perf/util/cloexec.c  |  4 
> + tools/perf/util/cloexec.h  |  4 
> + tools/perf/util/util.h |  4 
> + 7 files changed, 29 insertions(+), 10 deletions(-)
> +
> +diff --git a/tools/lib/api/fs/debugfs.c b/tools/lib/api/fs/debugfs.c
> +index 8305b3e..5d1745c 100644
> +--- a/tools/lib/api/fs/debugfs.c
>  b/tools/lib/api/fs/debugfs.c
> +@@ -17,6 +17,10 @@
> + #define DEBUGFS_DEFAULT_PATH  "/sys/kernel/debug"
> + #endif
> +
> ++/* musl has a xpg compliant strerror_r by default */
> ++#define strerror_r(err, buf, buflen) \
> ++  (strerror_r(err, buf, buflen) ? NULL : buf)
> ++
> + char debugfs_mountpoint[PATH_MAX + 1] = DEBUGFS_DEFAULT_PATH;
> +
> + static const char * const debugfs_known_mountpoints[] = {
> +diff --git a/tools/lib/traceevent/event-parse.c 
> b/tools/lib/traceevent/event-parse.c
> +index ed5461f..f151369 100644
> +--- a/tools/lib/traceevent/event-parse.c
>  b/tools/lib/traceevent/event-parse.c
> +@@ -36,6 +36,10 @@
> + #include "event-parse.h"
> + #include "event-utils.h"
> +
> ++/* musl has a xpg compliant strerror_r by default */
> ++#define strerror_r(err, buf, buflen) \
> ++(strerror_r(err, buf, buflen) ? NULL : buf)
> ++
> + static const char *input_buf;
> + static unsigned long long input_buf_ptr;
> + static unsigned long long input_buf_siz;
> +diff --git a/tools/perf/perf.c b/tools/perf/perf.c
> +index b857fcb..3e67fa2 100644
> +--- a/tools/perf/perf.c
>  b/tools/perf/perf.c
> +@@ -505,6 +505,21 @@ void pthread__unblock_sigwinch(void)
> +   pthread_sigmask(SIG_UNBLOCK, &set, NULL);
> + }
> +
> ++unsigned cache_line_size(void);
> ++
> ++unsigned cache_line_size(void) {
> ++  FILE * p = 0;
> ++  unsigned int i = 0;
> ++  p = 
> fopen("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r");
> ++  if (p) {
> ++  if(fscanf(p, "%d", &i) != 1) {
> ++  perror("cannot determine cache line size");
> ++  }
> ++  fclose(p);
> ++  }
> ++  return i;
> ++}
> ++

Kevin, are you sure this works?
I don't have /sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size
on my Archer C7
I did a little bit more simple way adding a header from eglibc. If
anybody interested I can submit the patch for RFC.


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


Re: [OpenWrt-Devel] [PATCH 2/3] ar71xx: add support for QCA956x ethernet

2015-12-22 Thread Roman Yeryomin
On 22 December 2015 at 01:03,   wrote:
>
> Hi Roman,
>
> are you sure about the value of QCA956X_PLL_VAL_10,
> which is 0x1919 in your patch?
>
> At least for the UAPAC LITE I have the problem that packet transmission
> on 10MBit/s links does not work with 0x1919.
> Instead, with QCA956X_PLL_VAL_10 = 0x1313 everything is fine.
>
> Is this specific to the UAPAC LITE or the QCA9563?

Honestly I don't remember where it comes from, Possibly from codeaurora repo.
So no, I'm not sure. But still it can be overriden from board file.
Sorry didn't bother testing with 10Mbit links :)

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


[OpenWrt-Devel] [PATCH 3/3] rb532: switch to 4.1

2015-12-20 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 target/linux/rb532/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/rb532/Makefile b/target/linux/rb532/Makefile
index 3086462..9033eb4 100644
--- a/target/linux/rb532/Makefile
+++ b/target/linux/rb532/Makefile
@@ -11,7 +11,7 @@ BOARD:=rb532
 BOARDNAME:=Mikrotik RouterBoard 532
 FEATURES:=pci targz squashfs
 
-KERNEL_PATCHVER:=3.18
+KERNEL_PATCHVER:=4.1
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += wpad-mini kmod-ath5k kmod-input-rb532
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/3] rb532: build squashfs image by default

2015-12-20 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 target/linux/rb532/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/rb532/Makefile b/target/linux/rb532/Makefile
index e5c6ad7..3086462 100644
--- a/target/linux/rb532/Makefile
+++ b/target/linux/rb532/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=mipsel
 BOARD:=rb532
 BOARDNAME:=Mikrotik RouterBoard 532
-FEATURES:=pci targz
+FEATURES:=pci targz squashfs
 
 KERNEL_PATCHVER:=3.18
 
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/3] rb532: increase kernel partition

2015-12-20 Thread Roman Yeryomin
4.1 got little bit larger than 4MB and I couldn't get lzma loader
working on this platform

Signed-off-by: Roman Yeryomin 
---
 target/linux/rb532/image/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/rb532/image/Makefile 
b/target/linux/rb532/image/Makefile
index 284b3d4..1a1f343 100644
--- a/target/linux/rb532/image/Makefile
+++ b/target/linux/rb532/image/Makefile
@@ -72,7 +72,7 @@ define Image/Build
$(CP) $(KDIR)/vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-$(1).kernel
$(STAGING_DIR_HOST)/bin/patch-cmdline 
$(BIN_DIR)/$(IMG_PREFIX)-$(1).kernel '$(strip $(call Image/cmdline/$(1))) '
./gen_image.sh $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).bin \
-   4 $(BIN_DIR)/$(IMG_PREFIX)-$(1).kernel \
+   5 $(BIN_DIR)/$(IMG_PREFIX)-$(1).kernel \
$(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1) \
128
 endef
-- 
2.5.0
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 2/2] kernel: add at803x fix for sgmii mode

2015-12-20 Thread Roman Yeryomin
On 20 December 2015 at 15:13, Christian Lamparter
 wrote:
> Hello,
>
> On Sunday, December 20, 2015 02:30:39 AM Roman Yeryomin wrote:
>> Some (possibly broken) bootloaders incorreclty initialize at8033
>> phy. This patch enables sgmii autonegotiation mode.
>>
>> Signed-off-by: Roman Yeryomin 
>> ---
> Can you tell us a bit about the "possibly broken" bootloaders you talk
> about? Like what devices (based "possibly" on QCA956x) have those and
> from where you are getting this information?

The device is uapac.
But I'm taking about phy setup itself...

> I'm asking because we (Chris and I) encountered similar issues with the
> Cisco Merakin MR18. It has a AR8035-A (confirmed by opening up the device)
> but calls it a AR8033. The PHY apparently connected via RGMII
> (uses QCA955X_ETH_CFG_RGMII_EN [0]) but the device needs to write some
> calibration values to SGMII and SERDES registers in order to work [1].
> We are quite keen to know what's going on since this seems counter-intuitive.

..and you are talking about SoC's gmac setup, which is completely
different thing.
Also, FYI, AR8035 doesn't have sgmii, it has rgmii only.

Regards,
Roman
___
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: refresh patches

2015-12-19 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 .../621-MIPS-ath79-add-support-for-QCA956x-SoC.patch   |  2 +-
 .../patches-4.1/630-MIPS-ath79-fix-chained-irq-disable.patch   | 10 +-
 .../patches-4.1/631-MIPS-ath79-wmac-enable-set-led-pin.patch   |  2 +-
 .../patches-4.1/633-MIPS-ath79-add-gpio-irq-support.patch  |  6 +++---
 ...739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch |  6 +++---
 .../742-MIPS-ath79-add-qca955x-mac-tx-rx-delay-defs.patch  |  6 +++---
 .../patches-4.1/820-MIPS-ath79-add_gpio_function2_setup.patch  |  6 +++---
 7 files changed, 19 insertions(+), 19 deletions(-)

diff --git 
a/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
 
b/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
index 888a7b6..dfad42f 100644
--- 
a/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
+++ 
b/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
@@ -236,7 +236,7 @@
  static bool __init
  ar93xx_wmac_otp_read_word(void __iomem *base, int addr, u32 *data)
  {
-@@ -392,6 +410,8 @@ void __init ath79_register_wmac(u8 *cal_
+@@ -392,6 +412,8 @@ void __init ath79_register_wmac(u8 *cal_
qca953x_wmac_setup();
else if (soc_is_qca955x())
qca955x_wmac_setup();
diff --git 
a/target/linux/ar71xx/patches-4.1/630-MIPS-ath79-fix-chained-irq-disable.patch 
b/target/linux/ar71xx/patches-4.1/630-MIPS-ath79-fix-chained-irq-disable.patch
index 8c0cc95..1d9cb41 100644
--- 
a/target/linux/ar71xx/patches-4.1/630-MIPS-ath79-fix-chained-irq-disable.patch
+++ 
b/target/linux/ar71xx/patches-4.1/630-MIPS-ath79-fix-chained-irq-disable.patch
@@ -9,7 +9,7 @@
  
  static void ath79_misc_irq_handler(unsigned int irq, struct irq_desc *desc)
  {
-@@ -149,8 +151,7 @@ static void ar934x_ip2_irq_init(void)
+@@ -150,8 +152,7 @@ static void ar934x_ip2_irq_init(void)
  
for (i = ATH79_IP2_IRQ_BASE;
 i < ATH79_IP2_IRQ_BASE + ATH79_IP2_IRQ_COUNT; i++)
@@ -19,7 +19,7 @@
  
irq_set_chained_handler(ATH79_CPU_IRQ(2), ar934x_ip2_irq_dispatch);
  }
-@@ -182,7 +183,7 @@ static void qca953x_irq_init(void)
+@@ -183,7 +184,7 @@ static void qca953x_irq_init(void)
  
for (i = ATH79_IP2_IRQ_BASE;
 i < ATH79_IP2_IRQ_BASE + ATH79_IP2_IRQ_COUNT; i++)
@@ -28,7 +28,7 @@
  
irq_set_chained_handler(ATH79_CPU_IRQ(2), qca953x_ip2_irq_dispatch);
  }
-@@ -256,15 +257,13 @@ static void qca955x_irq_init(void)
+@@ -257,15 +258,13 @@ static void qca955x_irq_init(void)
  
for (i = ATH79_IP2_IRQ_BASE;
 i < ATH79_IP2_IRQ_BASE + ATH79_IP2_IRQ_COUNT; i++)
@@ -46,7 +46,7 @@
  
irq_set_chained_handler(ATH79_CPU_IRQ(3), qca955x_ip3_irq_dispatch);
  }
-@@ -345,13 +344,13 @@ static void qca956x_irq_init(void)
+@@ -346,13 +345,13 @@ static void qca956x_irq_init(void)
  
for (i = ATH79_IP2_IRQ_BASE;
 i < ATH79_IP2_IRQ_BASE + ATH79_IP2_IRQ_COUNT; i++)
@@ -62,7 +62,7 @@
  
irq_set_chained_handler(ATH79_CPU_IRQ(3), qca956x_ip3_irq_dispatch);
  
-@@ -466,8 +465,35 @@ static void qca953x_ip3_handler(void)
+@@ -467,8 +466,35 @@ static void qca953x_ip3_handler(void)
do_IRQ(ATH79_CPU_IRQ(3));
  }
  
diff --git 
a/target/linux/ar71xx/patches-4.1/631-MIPS-ath79-wmac-enable-set-led-pin.patch 
b/target/linux/ar71xx/patches-4.1/631-MIPS-ath79-wmac-enable-set-led-pin.patch
index 03b32b1..16a0b90 100644
--- 
a/target/linux/ar71xx/patches-4.1/631-MIPS-ath79-wmac-enable-set-led-pin.patch
+++ 
b/target/linux/ar71xx/patches-4.1/631-MIPS-ath79-wmac-enable-set-led-pin.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/dev-wmac.c
 +++ b/arch/mips/ath79/dev-wmac.c
-@@ -398,6 +398,11 @@ void __init ath79_wmac_set_ext_lna_gpio(
+@@ -400,6 +400,11 @@ void __init ath79_wmac_set_ext_lna_gpio(
ar934x_set_ext_lna_gpio(chain, gpio);
  }
  
diff --git 
a/target/linux/ar71xx/patches-4.1/633-MIPS-ath79-add-gpio-irq-support.patch 
b/target/linux/ar71xx/patches-4.1/633-MIPS-ath79-add-gpio-irq-support.patch
index e8183e7..48c6e1c 100644
--- a/target/linux/ar71xx/patches-4.1/633-MIPS-ath79-add-gpio-irq-support.patch
+++ b/target/linux/ar71xx/patches-4.1/633-MIPS-ath79-add-gpio-irq-support.patch
@@ -29,7 +29,7 @@
  static void __ath79_gpio_set_value(unsigned gpio, int value)
  {
void __iomem *base = ath79_gpio_base;
-@@ -233,6 +245,132 @@ void __init ath79_gpio_output_select(uns
+@@ -235,6 +247,132 @@ void __init ath79_gpio_output_select(uns
spin_unlock_irqrestore(&ath79_gpio_lock, flags);
  }
  
@@ -162,7 +162,7 @@
  void __init ath79_gpio_init(void)
  {
int err;
-@@ -269,6 +407,10 @@ void __init ath79_gpio_init(void)
+@@ -271,6 +409,10 @@ void __init ath79_gpio_init(void)
err = gpiochip_add(&ath79_gpio_chip);
if (err)
panic("cannot add AR71xx GPIO chip, error=%d", err);
@@ -173,7 +173,7 @@
  }
  
  int gpio_get_value(unsi

[OpenWrt-Devel] [PATCH 2/3] ar71xx: add support for QCA956x ethernet

2015-12-19 Thread Roman Yeryomin
Signed-off-by: Roman Yeryomin 
---
 ...PS-ath79-add-support-for-QCA956x-ethernet.patch | 166 +
 1 file changed, 166 insertions(+)
 create mode 100644 
target/linux/ar71xx/patches-4.1/622-MIPS-ath79-add-support-for-QCA956x-ethernet.patch

diff --git 
a/target/linux/ar71xx/patches-4.1/622-MIPS-ath79-add-support-for-QCA956x-ethernet.patch
 
b/target/linux/ar71xx/patches-4.1/622-MIPS-ath79-add-support-for-QCA956x-ethernet.patch
new file mode 100644
index 000..6a6a2e4
--- /dev/null
+++ 
b/target/linux/ar71xx/patches-4.1/622-MIPS-ath79-add-support-for-QCA956x-ethernet.patch
@@ -0,0 +1,166 @@
+--- a/arch/mips/ath79/dev-eth.c
 b/arch/mips/ath79/dev-eth.c
+@@ -198,7 +198,6 @@ void __init ath79_register_mdio(unsigned
+   case ATH79_SOC_AR9330:
+   case ATH79_SOC_AR9331:
+   case ATH79_SOC_QCA9533:
+-  case ATH79_SOC_QCA9561:
+   case ATH79_SOC_TP9343:
+   mdio_dev = &ath79_mdio1_device;
+   mdio_data = &ath79_mdio1_data;
+@@ -209,6 +208,7 @@ void __init ath79_register_mdio(unsigned
+   case ATH79_SOC_AR9344:
+   case ATH79_SOC_QCA9556:
+   case ATH79_SOC_QCA9558:
++  case ATH79_SOC_QCA956X:
+   if (id == 0) {
+   mdio_dev = &ath79_mdio0_device;
+   mdio_data = &ath79_mdio0_data;
+@@ -258,7 +258,6 @@ void __init ath79_register_mdio(unsigned
+   break;
+ 
+   case ATH79_SOC_QCA9533:
+-  case ATH79_SOC_QCA9561:
+   case ATH79_SOC_TP9343:
+   mdio_data->builtin_switch = 1;
+   break;
+@@ -268,6 +267,11 @@ void __init ath79_register_mdio(unsigned
+   mdio_data->is_ar934x = 1;
+   break;
+ 
++  case ATH79_SOC_QCA956X:
++  if (id == 1)
++  mdio_data->builtin_switch = 1;
++  break;
++
+   default:
+   break;
+   }
+@@ -387,6 +391,16 @@ static void qca955x_set_speed_sgmii(int
+   iounmap(base);
+ }
+ 
++static void qca956x_set_speed_sgmii(int speed)
++{
++  void __iomem *base;
++  u32 val = ath79_get_eth_pll(0, speed);
++
++  base = ioremap_nocache(AR71XX_PLL_BASE, AR71XX_PLL_SIZE);
++  __raw_writel(val, base + QCA955X_PLL_ETH_SGMII_CONTROL_REG);
++  iounmap(base);
++}
++
+ static void ath79_set_speed_dummy(int speed)
+ {
+ }
+@@ -517,6 +531,10 @@ struct ag71xx_switch_platform_data ath79
+ #define AR934X_PLL_VAL_1000x0101
+ #define AR934X_PLL_VAL_10 0x1616
+ 
++#define QCA956X_PLL_VAL_1000  0x0300
++#define QCA956X_PLL_VAL_100   0x0101
++#define QCA956X_PLL_VAL_100x1919
++
+ static void __init ath79_init_eth_pll_data(unsigned int id)
+ {
+   struct ath79_eth_pll_data *pll_data;
+@@ -575,13 +593,18 @@ static void __init ath79_init_eth_pll_da
+   case ATH79_SOC_QCA9533:
+   case ATH79_SOC_QCA9556:
+   case ATH79_SOC_QCA9558:
+-  case ATH79_SOC_QCA9561:
+   case ATH79_SOC_TP9343:
+   pll_10 = AR934X_PLL_VAL_10;
+   pll_100 = AR934X_PLL_VAL_100;
+   pll_1000 = AR934X_PLL_VAL_1000;
+   break;
+ 
++  case ATH79_SOC_QCA956X:
++  pll_10 = QCA956X_PLL_VAL_10;
++  pll_100 = QCA956X_PLL_VAL_100;
++  pll_1000 = QCA956X_PLL_VAL_1000;
++  break;
++
+   default:
+   BUG();
+   }
+@@ -656,6 +679,7 @@ static int __init ath79_setup_phy_if_mod
+ 
+   case ATH79_SOC_QCA9556:
+   case ATH79_SOC_QCA9558:
++  case ATH79_SOC_QCA956X:
+   switch (pdata->phy_if_mode) {
+   case PHY_INTERFACE_MODE_MII:
+   case PHY_INTERFACE_MODE_RGMII:
+@@ -666,11 +690,6 @@ static int __init ath79_setup_phy_if_mod
+   }
+   break;
+ 
+-  case ATH79_SOC_QCA9561:
+-  if (!pdata->phy_if_mode)
+-  pdata->phy_if_mode = PHY_INTERFACE_MODE_MII;
+-  break;
+-
+   default:
+   BUG();
+   }
+@@ -699,7 +718,7 @@ static int __init ath79_setup_phy_if_mod
+   case ATH79_SOC_AR7241:
+   case ATH79_SOC_AR9330:
+   case ATH79_SOC_AR9331:
+-  case ATH79_SOC_QCA9561:
++  case ATH79_SOC_QCA956X:
+   case ATH79_SOC_TP9343:
+   pdata->phy_if_mode = PHY_INTERFACE_MODE_GMII;
+   break;
+@@ -1032,7 +1051,6 @@ void __init ath79_register_eth(unsigned
+   pdata->fifo_cfg3 = 0x01f00140;
+   break;
+ 
+-  case ATH79_SOC_QCA9561:
+   case ATH79_SOC_TP9343:
+   if (id == 0) {
+   pdata->reset_bit = AR933X_RESET_GE0_MAC |
+@@ -1100,6 +1118,34 @@ void __init ath79_register_eth(unsigned
+   pdata->fifo_cfg3 = 0x01

[OpenWrt-Devel] [PATCH 1/3] ar71xx: update QCA956x support

2015-12-19 Thread Roman Yeryomin
- separate qca956x and tp9343 (they use different IDs)
- rename qca9561->qca956x for consistency
- add missing bits (device reset, gpio output select)
- fix wmac setup

Signed-off-by: Roman Yeryomin 
---
 ...21-MIPS-ath79-add-support-for-QCA956x-SoC.patch | 131 ++---
 ...79-add-gpio-func-register-for-QCA955x-SoC.patch |   7 +-
 2 files changed, 92 insertions(+), 46 deletions(-)

diff --git 
a/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
 
b/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
index ca92d0e..888a7b6 100644
--- 
a/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
+++ 
b/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
@@ -129,7 +129,7 @@
qca953x_clocks_init();
else if (soc_is_qca955x())
qca955x_clocks_init();
-+  else if (soc_is_qca956x())
++  else if (soc_is_qca956x() || soc_is_tp9343())
 +  qca956x_clocks_init();
else
BUG();
@@ -140,7 +140,7 @@
reg = QCA953X_RESET_REG_RESET_MODULE;
else if (soc_is_qca955x())
reg = QCA955X_RESET_REG_RESET_MODULE;
-+  else if (soc_is_qca956x())
++  else if (soc_is_qca956x() || soc_is_tp9343())
 +  reg = QCA956X_RESET_REG_RESET_MODULE;
else
panic("Reset register not defined for this SOC");
@@ -149,20 +149,30 @@
reg = QCA953X_RESET_REG_RESET_MODULE;
else if (soc_is_qca955x())
reg = QCA955X_RESET_REG_RESET_MODULE;
-+  else if (soc_is_qca956x())
++  else if (soc_is_qca956x() || soc_is_tp9343())
 +  reg = QCA956X_RESET_REG_RESET_MODULE;
else
panic("Reset register not defined for this SOC");
  
+@@ -133,6 +137,8 @@ u32 ath79_device_reset_get(u32 mask)
+   reg = AR933X_RESET_REG_RESET_MODULE;
+   else if (soc_is_ar934x())
+   reg = AR934X_RESET_REG_RESET_MODULE;
++  else if (soc_is_qca956x() || soc_is_tp9343())
++  reg = QCA956X_RESET_REG_RESET_MODULE;
+   else
+   BUG();
+ 
 --- a/arch/mips/ath79/dev-common.c
 +++ b/arch/mips/ath79/dev-common.c
-@@ -94,7 +94,8 @@ void __init ath79_register_uart(void)
+@@ -94,7 +94,9 @@ void __init ath79_register_uart(void)
soc_is_ar913x() ||
soc_is_ar934x() ||
soc_is_qca953x() ||
 -  soc_is_qca955x()) {
 +  soc_is_qca955x() ||
-+  soc_is_qca956x()) {
++  soc_is_qca956x() ||
++  soc_is_tp9343()) {
ath79_uart_data[0].uartclk = uart_clk_rate;
platform_device_register(&ath79_uart_device);
} else if (soc_is_ar933x()) {
@@ -192,14 +202,14 @@
qca953x_usb_setup();
else if (soc_is_qca955x())
qca955x_usb_setup();
-+  else if (soc_is_qca9561())
++  else if (soc_is_qca956x())
 +  qca956x_usb_setup();
else
BUG();
  }
 --- a/arch/mips/ath79/dev-wmac.c
 +++ b/arch/mips/ath79/dev-wmac.c
-@@ -189,6 +189,24 @@ static void qca955x_wmac_setup(void)
+@@ -189,6 +189,26 @@ static void qca955x_wmac_setup(void)
ath79_wmac_data.is_clk_25mhz = true;
  }
  
@@ -219,6 +229,8 @@
 +  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 bool __init
@@ -228,7 +240,7 @@
qca953x_wmac_setup();
else if (soc_is_qca955x())
qca955x_wmac_setup();
-+  else if (soc_is_qca956x())
++  else if (soc_is_qca956x() || soc_is_tp9343())
 +  qca956x_wmac_setup();
else
BUG();
@@ -240,27 +252,38 @@
case REV_ID_MAJOR_QCA9556:
case REV_ID_MAJOR_QCA9558:
 +  case REV_ID_MAJOR_TP9343:
-+  case REV_ID_MAJOR_QCA9561:
++  case REV_ID_MAJOR_QCA956X:
_prom_putchar = prom_putchar_ar71xx;
break;
  
 --- a/arch/mips/ath79/gpio.c
 +++ b/arch/mips/ath79/gpio.c
-@@ -148,7 +148,8 @@ static void __iomem *ath79_gpio_get_func
+@@ -148,7 +148,10 @@ static void __iomem *ath79_gpio_get_func
soc_is_ar913x() ||
soc_is_ar933x())
reg = AR71XX_GPIO_REG_FUNC;
 -  else if (soc_is_ar934x() || soc_is_qca953x())
 +  else if (soc_is_ar934x() ||
-+   soc_is_qca953x() || soc_is_qca956x())
++   soc_is_qca953x() ||
++   soc_is_qca956x() ||
++   soc_is_tp9343())
reg = AR934X_GPIO_REG_FUNC;
else
BUG();
-@@ -228,12 +229,15 @@ void __init ath79_gpio_init(void)
+@@ -187,7 +190,7 @@ void __init ath79_gpio_output_select(uns
+   unsigned int reg;
+   u32 t, s;
+ 
+-  BUG_ON(!soc_is_ar934x() &&

  1   2   3   4   5   >