Re: [OpenWrt-Devel] [PATCH 1/4] scripts/feeds: add src-dummy method

2018-07-11 Thread Rafał Miłecki
On Wed, 11 Jul 2018 at 21:39, Matthias Schiffer
 wrote:
>
> On 07/11/2018 10:59 AM, Rafał Miłecki wrote:
> > On Tue, 10 Jul 2018 at 00:31, Matthias Schiffer
> >  wrote:
> >> The src-dummy method does not actually obtain any feed, but it can be used
> >> to insert addtional entries into the opkg distfeeds.conf.
> >
> > Should that be clear to me why we want that? Or could you add an extra
> > line of explanation, please?
> >
>
> Well, I think it's generally a good idea to give firmware builders more
> control over the contents of distfeeds.conf.
>
> In Gluon, the concrete reason is that we want all standard OpenWrt feeds to
> be available to users, even though we do not include all these feeds in the
> build. I can add a bit more explanation to the commit message.

Ah, I see the point now, thanks!

-- 
Rafał

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


[OpenWrt-Devel] [PATCH] dropbear: close all active clients on shutdown

2018-07-11 Thread Luis Araneda
From: Christian Schoenebeck 

Override the default shutdown action (stop) and close all processes
of dropbear

Since commit 498fe85, the stop action only closes the process
that's listening for new connections, maintaining the ones with
existing clients.
This poses a problem when restarting or shutting-down a device,
because the connections with existing SSH clients, like OpenSSH,
are not properly closed, causing them to hang.

This situation can be avoided by closing all dropbear processes when
shutting-down the system, which closes properly the connections with
current clients.

Signed-off-by: Christian Schoenebeck 
[Luis: Rework commit message]
Signed-off-by: Luis Araneda 
---
 package/network/services/dropbear/files/dropbear.init | 5 +
 1 file changed, 5 insertions(+)

diff --git a/package/network/services/dropbear/files/dropbear.init 
b/package/network/services/dropbear/files/dropbear.init
index 2225113498..b86e52d8bc 100755
--- a/package/network/services/dropbear/files/dropbear.init
+++ b/package/network/services/dropbear/files/dropbear.init
@@ -148,6 +148,11 @@ service_triggers()
procd_add_validation validate_section_dropbear
 }
 
+shutdown() {
+   # close all open connections
+   killall dropbear
+}
+
 killclients()
 {
local ignore=''
-- 
2.18.0


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


Re: [OpenWrt-Devel] [PATCH 1/3 v3] ARM: dts: Add WAN ethernet port to the SQ201

2018-07-11 Thread Andrew Lunn
On Wed, Jul 11, 2018 at 09:47:18PM +0200, Linus Walleij wrote:
> This sets up the ethernet interface and PHY for the
> WAN ethernet port which uses a Marvell PHY.
> 
> Signed-off-by: Linus Walleij 
> ---
> ChangeLog v2->v3:
> - No changes, just resending.
> ChangeLog v1->v2:
> - Rename wrongly named "ethernet-phy" to "mdio"
> - Drop device_type from the ethernet phy
> ---
>  arch/arm/boot/dts/gemini-sq201.dts | 85 ++
>  1 file changed, 85 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/gemini-sq201.dts 
> b/arch/arm/boot/dts/gemini-sq201.dts
> index 7658e212e6d2..cc693e64faaf 100644
> --- a/arch/arm/boot/dts/gemini-sq201.dts
> +++ b/arch/arm/boot/dts/gemini-sq201.dts
> @@ -55,6 +55,21 @@
>   };
>   };
>  
> + mdio0: ethernet-phy {

Hi Linus

mdio0: mdio {

This is not a phy. Which is odd, because v1->v2 should of fixed this...

> + compatible = "virtual,mdio-gpio";
> + /* Uses MDC and MDIO */
> + gpios = < 22 GPIO_ACTIVE_HIGH>, /* MDC */
> + < 21 GPIO_ACTIVE_HIGH>; /* MDIO */
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* This is a Marvell 88E ethernet transciever */
> + phy0: ethernet-phy@1 {
> + reg = <1>;
> + device_type = "ethernet-phy";

???

I'm wondering if this is the correct version of these patches

Andrew

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


[OpenWrt-Devel] [PATCH 3/3 v3] ARM: dts: Add devicetree for Storlink/Storm SL93512R

2018-07-11 Thread Linus Walleij
The Storlink Gemini324 EV-Board also known as Storm
Semiconductor SL93512R_BRD is ground zero for the Gemini
devices. We add a device tree so we can support it, it
turns out to be pretty trivial.

Signed-off-by: Linus Walleij 
---
ChangeLog v2->v3:
- Use a fixed link for the ethernet port to the Vitesse
  DSA router chip.
ChangeLog v1->v2:
- Rename wrongly named "ethernet-phy" to "mdio"
- Drop device_type from the ethernet phy
---
 arch/arm/boot/dts/Makefile|   1 +
 arch/arm/boot/dts/gemini-sl93512r.dts | 329 ++
 2 files changed, 330 insertions(+)
 create mode 100644 arch/arm/boot/dts/gemini-sl93512r.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 37a3de760d40..a10ef98c6d75 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -200,6 +200,7 @@ dtb-$(CONFIG_ARCH_GEMINI) += \
gemini-dlink-dns-313.dtb \
gemini-nas4220b.dtb \
gemini-rut1xx.dtb \
+   gemini-sl93512r.dtb \
gemini-sq201.dtb \
gemini-wbd111.dtb \
gemini-wbd222.dtb
diff --git a/arch/arm/boot/dts/gemini-sl93512r.dts 
b/arch/arm/boot/dts/gemini-sl93512r.dts
new file mode 100644
index ..7f451b670bdb
--- /dev/null
+++ b/arch/arm/boot/dts/gemini-sl93512r.dts
@@ -0,0 +1,329 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree file for the Storm Semiconductor SL93512R_BRD
+ * Gemini reference design, also initially called
+ * "Gemini324 EV-Board" before Storm acquired Storlink Semiconductor.
+ * The series were later acquired by Cortina Systems.
+ */
+
+/dts-v1/;
+
+#include "gemini.dtsi"
+#include 
+
+/ {
+   model = "Storlink Semiconductor Gemini324 EV-Board / Storm 
Semiconductor SL93512R_BRD";
+   compatible = "storlink,gemini324", "storm,sl93512r", "cortina,gemini";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   memory@0 {
+   /* 64 MB Samsung K4H511638B */
+   device_type = "memory";
+   reg = <0x 0x400>;
+   };
+
+   chosen {
+   bootargs = "console=ttyS0,19200n8 root=/dev/sda1 rw rootwait";
+   stdout-path = 
+   };
+
+   gpio_keys {
+   compatible = "gpio-keys";
+
+   button-wps {
+   debounce-interval = <50>;
+   wakeup-source;
+   linux,code = ;
+   label = "WPS";
+   /* Conflict with NAND flash */
+   gpios = < 17 GPIO_ACTIVE_LOW>;
+   };
+
+   button-setup {
+   debounce-interval = <50>;
+   wakeup-source;
+   linux,code = ;
+   label = "factory reset";
+   /* Conflict with NAND flash */
+   gpios = < 18 GPIO_ACTIVE_LOW>;
+   };
+   };
+
+   leds {
+   compatible = "gpio-leds";
+   led-green-harddisk {
+   label = "sq201:green:harddisk";
+   /* Conflict with LCD (no problem) */
+   gpios = < 16 GPIO_ACTIVE_LOW>;
+   default-state = "off";
+   linux,default-trigger = "disk-activity";
+   };
+   led-green-wireless {
+   label = "sq201:green:wireless";
+   /* Conflict with NAND flash CE0 (no problem) */
+   gpios = < 17 GPIO_ACTIVE_LOW>;
+   default-state = "on";
+   linux,default-trigger = "heartbeat";
+   };
+   };
+
+   mdio0: ethernet-phy {
+   compatible = "virtual,mdio-gpio";
+   /* Uses MDC and MDIO */
+   gpios = < 22 GPIO_ACTIVE_HIGH>, /* MDC */
+   < 21 GPIO_ACTIVE_HIGH>; /* MDIO */
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   /* This is a Marvell 88E ethernet transciever */
+   phy0: ethernet-phy@1 {
+   reg = <1>;
+   device_type = "ethernet-phy";
+   };
+   };
+
+   spi {
+   compatible = "spi-gpio";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   /* Check pin collisions */
+   gpio-sck = < 28 GPIO_ACTIVE_HIGH>;
+   gpio-miso = < 30 GPIO_ACTIVE_HIGH>;
+   gpio-mosi = < 29 GPIO_ACTIVE_HIGH>;
+   cs-gpios = < 31 GPIO_ACTIVE_HIGH>;
+   num-chipselects = <1>;
+
+   switch@0 {
+   compatible = "vitesse,vsc7385";
+   reg = <0>;
+   /* Specified for 2.5 MHz or below */
+   spi-max-frequency = <250>;
+   gpio-controller;
+   #gpio-cells = <2>;
+
+   ports {
+   

[OpenWrt-Devel] [PATCH 2/3 v3] ARM: dts: Att Vitesse G5e switch to the Gemini SQ201

2018-07-11 Thread Linus Walleij
This adds the Vitesse G5e ethernet switch to the Square
One Itian SQ201 router device tree.

Signed-off-by: Linus Walleij 
---
ChangeLog v2->v3:
- Use a fixed link for the ethernet port to the Vitesse
  DSA router chip.
ChangeLog v1->v2:
- Drop unrelated roofs mount point change.
---
 arch/arm/boot/dts/gemini-sq201.dts | 76 +-
 1 file changed, 75 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/gemini-sq201.dts 
b/arch/arm/boot/dts/gemini-sq201.dts
index cc693e64faaf..c7a0788ef8c1 100644
--- a/arch/arm/boot/dts/gemini-sq201.dts
+++ b/arch/arm/boot/dts/gemini-sq201.dts
@@ -70,6 +70,61 @@
};
};
 
+   spi {
+   compatible = "spi-gpio";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   /* Check pin collisions */
+   gpio-sck = < 28 GPIO_ACTIVE_HIGH>;
+   gpio-miso = < 30 GPIO_ACTIVE_HIGH>;
+   gpio-mosi = < 29 GPIO_ACTIVE_HIGH>;
+   cs-gpios = < 31 GPIO_ACTIVE_HIGH>;
+   num-chipselects = <1>;
+
+   switch@0 {
+   compatible = "vitesse,vsc7395";
+   reg = <0>;
+   /* Specified for 2.5 MHz or below */
+   spi-max-frequency = <250>;
+   gpio-controller;
+   #gpio-cells = <2>;
+
+   ports {
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   port@0 {
+   reg = <0>;
+   label = "lan1";
+   };
+   port@1 {
+   reg = <1>;
+   label = "lan2";
+   };
+   port@2 {
+   reg = <2>;
+   label = "lan3";
+   };
+   port@3 {
+   reg = <3>;
+   label = "lan4";
+   };
+   vsc: port@6 {
+   reg = <6>;
+   label = "cpu";
+   ethernet = <>;
+   phy-mode = "rgmii";
+   fixed-link {
+   speed = <1000>;
+   full-duplex;
+   pause;
+   };
+   };
+   };
+   };
+   };
+
+
soc {
flash@3000 {
/*
@@ -135,6 +190,15 @@
"gpio0kgrp";
};
};
+   /*
+* gpio0kgrp cover line 31 used by USB LED
+*/
+   gpio1_default_pins: pinctrl-gpio1 {
+   mux {
+   function = "gpio1";
+   groups = "gpio1dgrp";
+   };
+   };
pinctrl-gmii {
mux {
function = "gmii";
@@ -205,6 +269,11 @@
pinctrl-0 = <_default_pins>;
};
 
+   gpio1: gpio@4e00 {
+   pinctrl-names = "default";
+   pinctrl-0 = <_default_pins>;
+   };
+
pci@5000 {
status = "okay";
interrupt-map-mask = <0xf800 0 0 7>;
@@ -235,7 +304,12 @@
phy-handle = <>;
};
ethernet-port@1 {
-   /* Used for the Vitesse G5 chip, add later */
+   phy-mode = "rgmii";
+   fixed-link {
+   speed = <1000>;
+   full-duplex;
+   pause;
+   };
};
};
 
-- 
2.17.1


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


[OpenWrt-Devel] [PATCH 1/3 v3] ARM: dts: Add WAN ethernet port to the SQ201

2018-07-11 Thread Linus Walleij
This sets up the ethernet interface and PHY for the
WAN ethernet port which uses a Marvell PHY.

Signed-off-by: Linus Walleij 
---
ChangeLog v2->v3:
- No changes, just resending.
ChangeLog v1->v2:
- Rename wrongly named "ethernet-phy" to "mdio"
- Drop device_type from the ethernet phy
---
 arch/arm/boot/dts/gemini-sq201.dts | 85 ++
 1 file changed, 85 insertions(+)

diff --git a/arch/arm/boot/dts/gemini-sq201.dts 
b/arch/arm/boot/dts/gemini-sq201.dts
index 7658e212e6d2..cc693e64faaf 100644
--- a/arch/arm/boot/dts/gemini-sq201.dts
+++ b/arch/arm/boot/dts/gemini-sq201.dts
@@ -55,6 +55,21 @@
};
};
 
+   mdio0: ethernet-phy {
+   compatible = "virtual,mdio-gpio";
+   /* Uses MDC and MDIO */
+   gpios = < 22 GPIO_ACTIVE_HIGH>, /* MDC */
+   < 21 GPIO_ACTIVE_HIGH>; /* MDIO */
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   /* This is a Marvell 88E ethernet transciever */
+   phy0: ethernet-phy@1 {
+   reg = <1>;
+   device_type = "ethernet-phy";
+   };
+   };
+
soc {
flash@3000 {
/*
@@ -108,6 +123,7 @@
/*
 * gpio0fgrp cover line 18 used by reset button
 * gpio0ggrp cover line 20 used by info LED
+* gpio0hgrp cover line 21, 22 used by MDIO for 
Marvell PHY
 * gpio0kgrp cover line 31 used by USB LED
 */
gpio0_default_pins: pinctrl-gpio0 {
@@ -115,9 +131,66 @@
function = "gpio0";
groups = "gpio0fgrp",
"gpio0ggrp",
+   "gpio0hgrp",
"gpio0kgrp";
};
};
+   pinctrl-gmii {
+   mux {
+   function = "gmii";
+   groups = "gmii_gmac0_grp", 
"gmii_gmac1_grp";
+   };
+   /* Settings come from memory dump in 
PLATO */
+   conf0 {
+   pins = "V8 GMAC0 RXDV";
+   skew-delay = <0>;
+   };
+   conf1 {
+   pins = "Y7 GMAC0 RXC";
+   skew-delay = <15>;
+   };
+   conf2 {
+   pins = "T8 GMAC0 TXEN";
+   skew-delay = <7>;
+   };
+   conf3 {
+   pins = "U8 GMAC0 TXC";
+   skew-delay = <10>;
+   };
+   conf4 {
+   pins = "T10 GMAC1 RXDV";
+   skew-delay = <7>;
+   };
+   conf5 {
+   pins = "Y11 GMAC1 RXC";
+   skew-delay = <8>;
+   };
+   conf6 {
+   pins = "W11 GMAC1 TXEN";
+   skew-delay = <7>;
+   };
+   conf7 {
+   pins = "V11 GMAC1 TXC";
+   skew-delay = <5>;
+   };
+   conf8 {
+   /* The data lines all have 
default skew */
+   pins = "W8 GMAC0 RXD0", "V9 
GMAC0 RXD1",
+  "Y8 GMAC0 RXD2", "U9 
GMAC0 RXD3",
+  "T7 GMAC0 TXD0", "U6 
GMAC0 TXD1",
+  "V7 GMAC0 TXD2", "U7 
GMAC0 TXD3",
+  "Y12 GMAC1 RXD0", "V12 
GMAC1 RXD1",
+  

Re: [OpenWrt-Devel] [PATCH 1/4] scripts/feeds: add src-dummy method

2018-07-11 Thread Matthias Schiffer
On 07/11/2018 10:59 AM, Rafał Miłecki wrote:
> On Tue, 10 Jul 2018 at 00:31, Matthias Schiffer
>  wrote:
>> The src-dummy method does not actually obtain any feed, but it can be used
>> to insert addtional entries into the opkg distfeeds.conf.
> 
> Should that be clear to me why we want that? Or could you add an extra
> line of explanation, please?
> 

Well, I think it's generally a good idea to give firmware builders more
control over the contents of distfeeds.conf.

In Gluon, the concrete reason is that we want all standard OpenWrt feeds to
be available to users, even though we do not include all these feeds in the
build. I can add a bit more explanation to the commit message.

Matthias



signature.asc
Description: OpenPGP digital signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Fwd: Fixed bug

2018-07-11 Thread Daniel F. Dickinson

On 2018-07-11 11:52 AM, Voina Alex wrote:



Dear OpenWRT/LEDE buddy,

I have found a bug in the Chaos Calmer (15.05.1 , 448532) release that 
has been fixed since the lede-17.01.3 release for x86 targets. The bug 
is related to ubusd or libubox but I'm not really sure which one it is. 
It is a file descriptor leak rooted in the logread ubus method. Every 
call to logread whether is logread -f, logread, logread -l 1 or ubus 
call log read '{ }' opens a file of the following format which is not 
closed anymore.


ubusd   2918 root   41r   CHR    1,3  0t0    3934 /dev/null
ubusd   2918 root   42r   CHR    1,3  0t0    3934 /dev/null
ubusd   2918 root   43r   CHR    1,3  0t0    3934 /dev/null
ubusd   2918 root   44r   CHR    1,3  0t0    3934 /dev/null
ubusd   2918 root   45r   CHR    1,3  0t0    3934 /dev/null
ubusd   2918 root   46r   CHR    1,3  0t0    3934 /dev/null
ubusd   2918 root   47r   CHR    1,3  0t0    3934 /dev/null

I saw this issue is mitigated in lede-17.01.3 but I don't know where 
exactly along the releases it happened. Can you point me to the 
patch/commit that fixes this ?





This is perhaps a silly question but did you look at the ubus repo at 
git.openwrt.org (ubus source code is maintained separate from the main 
tree; the main tree is primarily packaging/build and kernel concerns.


Regards,

Daniel

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


[OpenWrt-Devel] Fwd: Fixed bug

2018-07-11 Thread Voina Alex
Dear OpenWRT/LEDE buddy,

I have found a bug in the Chaos Calmer (15.05.1 , 448532) release that has
been fixed since the lede-17.01.3 release for x86 targets. The bug is
related to ubusd or libubox but I'm not really sure which one it is. It is
a file descriptor leak rooted in the logread ubus method. Every call to
logread whether is logread -f, logread, logread -l 1 or ubus call log read
'{ }' opens a file of the following format which is not closed anymore.

ubusd   2918 root   41r   CHR1,3  0t03934 /dev/null
ubusd   2918 root   42r   CHR1,3  0t03934 /dev/null
ubusd   2918 root   43r   CHR1,3  0t03934 /dev/null
ubusd   2918 root   44r   CHR1,3  0t03934 /dev/null
ubusd   2918 root   45r   CHR1,3  0t03934 /dev/null
ubusd   2918 root   46r   CHR1,3  0t03934 /dev/null
ubusd   2918 root   47r   CHR1,3  0t03934 /dev/null

I saw this issue is mitigated in lede-17.01.3 but I don't know where
exactly along the releases it happened. Can you point me to the
patch/commit that fixes this ?

Best,
Alex Voina
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 2/2] [RFC] kernel: bump 4.14 to 4.14.54 for 18.06

2018-07-11 Thread Kevin Darbyshire-Bryant


> On 11 Jul 2018, at 10:44, Hannu Nyman  wrote:
> 
> Kevin Darbyshire-Bryant wrote:
>> Really not convinced I agree with the "patch 335 removes the whole code 
>> block where that one line changed in upstream”.
> 
> You are right.
> The corresponding addition needs to be done for the lines replacing the 
> removed lines:
> 932 + if (filter && filter->table[0] &&
> should likely be
> 932 + if (filter && filter->table &&
> matching the change done upstream.
> 
> In my comment I overlooked the part where we add back similar lines :-(

lol - I’m really happy….it turns out I’m not *completely* stupid :-)

> 
> (the refresh patch only notices the need to refresh the upstream lines, but 
> does not know about out own additions.)

Reading patches to patches is….challenging.   I wonder if there’s a tool that 
would make it easier?

Sunshine!

Kevin




signature.asc
Description: Message signed with OpenPGP
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] Patches to remove PCengines apuX boardname checking for leds-apu2 and gpio-nct5104d kernel modules

2018-07-11 Thread Lukáš Mrtvý
Hello,
I am sending patches to remove PCengines apuX boardname checking for
leds-apu2 and gpio-nct5104d kernel modules.
No need to check boardname, which is squishy in different versions of
coreboot.

https://github.com/pcengines/coreboot/compare/v4.6.6...v4.6.7

contact IRC: muhaha
Thanks
-- 
BR,
Lukáš Mrtvý
From b7130b24c975301741d8dc69dea10bfb6348f0e3 Mon Sep 17 00:00:00 2001
From: Lukas Mrtvy 
Date: Wed, 11 Jul 2018 10:22:27 +0200
Subject: [PATCH] kernel: leds-apu2 remove boardname check

'In different versions of coreboot are different names of apu boardname.
No need to check boardname to load module.'

Signed-off-by: Lukas Mrtvy 
---
 package/kernel/leds-apu2/src/leds-apu2.c | 12 
 1 file changed, 12 deletions(-)

diff --git a/package/kernel/leds-apu2/src/leds-apu2.c b/package/kernel/leds-apu2/src/leds-apu2.c
index 2fefa857cb..ff13b3cde1 100644
--- a/package/kernel/leds-apu2/src/leds-apu2.c
+++ b/package/kernel/leds-apu2/src/leds-apu2.c
@@ -331,18 +331,6 @@ static int __init gpio_apu2_init (void)
 	const char *board_vendor = dmi_get_system_info(DMI_BOARD_VENDOR);
 	const char *board_name = dmi_get_system_info(DMI_BOARD_NAME);
 
-	/* Match the device name/model */
-	if (!board_name \
-			|| !board_vendor \
-			|| strcasecmp(board_vendor, "PC Engines") \
-			|| (strcasecmp(board_name, "apu2") \
-&& strcasecmp(board_name, "apu3") \
-&& strcasecmp(board_name, "PC Engines apu2") \
-&& strcasecmp(board_name, "PC Engines apu3"))) {
-		err = -ENODEV;
-		goto exit;
-	}
-
 	pr_info ("%s: load APU2/LED GPIO driver module\n", DEVNAME);
 
 	err = platform_driver_register (_apu2_driver);
-- 
2.14.1
From 16bea0282210affa4603543d4c0deff1539843e3 Mon Sep 17 00:00:00 2001
From: Lukas Mrtvy 
Date: Wed, 11 Jul 2018 10:33:00 +0200
Subject: [PATCH] kernel: gpio-nct5104d remove boardname check

'In different versions of coreboot are different names of apu boardname.
No need to check boardname to load module.'

Signed-off-by: Lukas Mrtvy 
---
 package/kernel/gpio-nct5104d/src/gpio-nct5104d.c | 5 -
 1 file changed, 5 deletions(-)

diff --git a/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c b/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c
index c139cf8d20..8da7580562 100644
--- a/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c
+++ b/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c
@@ -434,11 +434,6 @@ static int __init nct5104d_gpio_init(void)
 	const char *board_vendor = dmi_get_system_info(DMI_BOARD_VENDOR);
 	const char *board_name = dmi_get_system_info(DMI_BOARD_NAME);
 
- 	/* Make sure we only run on PC Engine APU boards */
-	if (!board_name || !board_vendor || strcasecmp(board_vendor, "PC Engines") || strncasecmp(board_name, "apu", 3)) {
-		return -ENODEV;
-	}
-
 	if (nct5104d_find(0x2e, ) &&
 	nct5104d_find(0x4e, ))
 		return -ENODEV;
-- 
2.14.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/2] [RFC] kernel: bump 4.14 to 4.14.54 for 18.06

2018-07-11 Thread Hannu Nyman

Kevin Darbyshire-Bryant wrote:
Really not convinced I agree with the "patch 335 removes the whole code 
block where that one line changed in upstream”.


You are right.
The corresponding addition needs to be done for the lines replacing the 
removed lines:

 932 + if (filter && filter->table[0] &&
should likely be
 932 + if (filter && filter->table &&
matching the change done upstream.

In my comment I overlooked the part where we add back similar lines :-(

(the refresh patch only notices the need to refresh the upstream lines, 
but does not know about out own additions.)


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


Re: [OpenWrt-Devel] [PATCH 0/4] Overhaul distfeeds.conf generation

2018-07-11 Thread Jo-Philipp Wich
> This patchset implements a way to add additional distfeeds.conf entries
> (src-dummy method), makes rootfs creation independent of feed enable
> status, and moves from global ADD_DISABLED and ADD_COMMENTED symbols to
> per-feed configuration.

Acked-by: Jo-Philipp Wich 


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


Re: [OpenWrt-Devel] [PATCH 1/4] scripts/feeds: add src-dummy method

2018-07-11 Thread Rafał Miłecki
On Tue, 10 Jul 2018 at 00:31, Matthias Schiffer
 wrote:
> The src-dummy method does not actually obtain any feed, but it can be used
> to insert addtional entries into the opkg distfeeds.conf.

Should that be clear to me why we want that? Or could you add an extra
line of explanation, please?

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


[OpenWrt-Devel] [PATCH V2] mtd: support bad blocks within the mtd_fixtrx()

2018-07-11 Thread Rafał Miłecki
From: Rafał Miłecki 

Reading MTD data with (p)read doesn't return any error when accessing
bad block. As the result, with current code, CRC32 covers "data" stored
in bad blocks.

That behavior doesn't match CFE's one (bootloader simply skips bad
blocks) and may result in:
1) Invalid CRC32
2) CFE refusing to boot firmware with a following error:
Boot program checksum is invalid

Fix that problem by checking every block before reading its content.

Signed-off-by: Rafał Miłecki 
---
V2: Bump PKG_RELEASE
Use min() to make code easier to understand
Recalculate data_size to make sure old size value (including bad
blocks) isn't used.
Drop some unneeded helper variables.
---
 package/system/mtd/Makefile  |  2 +-
 package/system/mtd/src/trx.c | 40 ++--
 2 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/package/system/mtd/Makefile b/package/system/mtd/Makefile
index 9ae03a77a9..969e1c711c 100644
--- a/package/system/mtd/Makefile
+++ b/package/system/mtd/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mtd
-PKG_RELEASE:=21
+PKG_RELEASE:=22
 
 PKG_BUILD_DIR := $(KERNEL_BUILD_DIR)/$(PKG_NAME)
 STAMP_PREPARED := $(STAMP_PREPARED)_$(call confvar,CONFIG_MTD_REDBOOT_PARTS)
diff --git a/package/system/mtd/src/trx.c b/package/system/mtd/src/trx.c
index 1f5c52914c..d4d486c32b 100644
--- a/package/system/mtd/src/trx.c
+++ b/package/system/mtd/src/trx.c
@@ -46,6 +46,12 @@ struct trx_header {
uint32_t offsets[3];/* Offsets of partitions from start of header */
 };
 
+#define min(x,y) ({\
+   typeof(x) _x = (x); \
+   typeof(y) _y = (y); \
+   (void) (&_x == &_y);\
+   _x < _y ? _x : _y; })
+
 #if __BYTE_ORDER == __BIG_ENDIAN
 #define STORE32_LE(X)   X) & 0x00FF) << 24) | (((X) & 
0xFF00) << 8) | (((X) & 0x00FF) >> 8) | (((X) & 0xFF00) >> 24))
 #elif __BYTE_ORDER == __LITTLE_ENDIAN
@@ -156,7 +162,7 @@ mtd_fixtrx(const char *mtd, size_t offset, size_t data_size)
int fd;
struct trx_header *trx;
char *first_block;
-   char *buf;
+   char *buf, *to;
ssize_t res;
size_t block_offset;
 
@@ -214,11 +220,34 @@ mtd_fixtrx(const char *mtd, size_t offset, size_t 
data_size)
exit(1);
}
 
-   res = pread(fd, buf, data_size, data_offset);
-   if (res != data_size) {
-   perror("pread");
-   exit(1);
+   to = buf;
+   while (data_size) {
+   size_t read_block_offset = data_offset & ~(erasesize - 1);
+   size_t read_chunk;
+
+   read_chunk = erasesize - (data_offset & (erasesize - 1));
+   read_chunk = min(read_chunk, data_size);
+
+   res = ioctl(fd, MEMGETBADBLOCK, _block_offset);
+   if (res == -1) {
+   perror("ioctl");
+   exit(1);
+   }
+
+   /* Read from good blocks only to match CFE behavior */
+   if (res == 0) {
+   res = pread(fd, to, read_chunk, data_offset);
+   if (res != read_chunk) {
+   perror("pread");
+   exit(1);
+   }
+   to += read_chunk;
+   }
+
+   data_offset += read_chunk;
+   data_size -= read_chunk;
}
+   data_size = to - buf;
 
trx->len = STORE32_LE(data_size + offsetof(struct trx_header, 
flag_version));
 
@@ -244,4 +273,3 @@ mtd_fixtrx(const char *mtd, size_t offset, size_t data_size)
return 0;
 
 }
-
-- 
2.13.7


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


Re: [OpenWrt-Devel] [PATCH 2/2] [RFC] kernel: bump 4.14 to 4.14.54 for 18.06

2018-07-11 Thread Koen Vandeputte



On 2018-07-11 10:11, Kevin Darbyshire-Bryant wrote:


Really not convinced I agree with the "patch 335 removes the whole code block 
where that one line changed in upstream”.  Did a refresh myself, several times, and 
patch 335 is a right confusing pain in the backside.  I think the block in question 
should look like:

@@ -4619,38 +4605,37 @@ static int nf_tables_dump_obj(struct sk_
rcu_read_lock();
cb->seq = net->nft.base_seq;

-   list_for_each_entry_rcu(afi, >nft.af_info, list) {
-   if (family != NFPROTO_UNSPEC && family != afi->family)
+   list_for_each_entry_rcu(table, >nft.tables, list) {
+   if (family != NFPROTO_UNSPEC && family != table->afi->family)
continue;

-   list_for_each_entry_rcu(table, >tables, list) {
-   list_for_each_entry_rcu(obj, >objects, list) {
-   if (!nft_is_active(net, obj))
-   goto cont;
-   if (idx < s_idx)
-   goto cont;
-   if (idx > s_idx)
-   memset(>args[1], 0,
-  sizeof(cb->args) - 
sizeof(cb->args[0]));
-   if (filter && filter->table &&
-   strcmp(filter->table, table->name))
-   goto cont;
-   if (filter &&
-   filter->type != NFT_OBJECT_UNSPEC &&
-   obj->ops->type->type != filter->type)
-   goto cont;
+   list_for_each_entry_rcu(obj, >objects, list) {
+   if (!nft_is_active(net, obj))
+   goto cont;
+   if (idx < s_idx)
+   goto cont;
+   if (idx > s_idx)
+   memset(>args[1], 0,
+  sizeof(cb->args) - sizeof(cb->args[0]));
+   if (filter && filter->table &&
+   strcmp(filter->table, table->name))
+   goto cont;
+   if (filter &&
+   filter->type != NFT_OBJECT_UNSPEC &&
+   obj->ops->type->type != filter->type)
+   goto cont;

-   if (nf_tables_fill_obj_info(skb, net, 
NETLINK_CB(cb->skb).portid,
-   cb->nlh->nlmsg_seq,
-   NFT_MSG_NEWOBJ,
-   NLM_F_MULTI | 
NLM_F_APPEND,
-   afi->family, table, 
obj, reset) < 0)
-   goto done;
+   if (nf_tables_fill_obj_info(skb, net, 
NETLINK_CB(cb->skb).portid,
+   cb->nlh->nlmsg_seq,
+   NFT_MSG_NEWOBJ,
+   NLM_F_MULTI | NLM_F_APPEND,
+   table->afi->family, table,
+   obj, reset) < 0)
+   goto done;

-   nl_dump_check_consistent(cb, nlmsg_hdr(skb));
-cont:
-   idx++;
-   }
+   nl_dump_check_consistent(cb, nlmsg_hdr(skb));
+  cont:
+   idx++;
}
}
  done:

There are a couple of similar blocks, which have probably confused me anyway.

Overall this one patch in the refresh makes me distinctly uncomfortable.


+1 to get this cleaned up properly, but I would propose to do it 
separately and after the kernel bump patch.


Koen

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


Re: [OpenWrt-Devel] [PATCH 2/2] [RFC] kernel: bump 4.14 to 4.14.54 for 18.06

2018-07-11 Thread Koen Vandeputte



On 2018-07-10 22:08, Stijn Segers wrote:

Refreshed patches. The bump from .53 to .54 introduced a minor change in 
net/netfilter/nf_tables_api.c [1] but I am unable to
judge if this is a fluke or not, so I'd like a second pair of eyes on that. 
It's a single 'table[0]' being replaced by 'table':

- if (filter && filter->table[0] &&
+ if (filter && filter->table &&

I have updated the 
335-v4.16-netfilter-nf_tables-add-single-table-list-for-all-fa.patch 
accordingly.

Compile-tested on: ramips/mt7621, x86/64
Run-tested on: ramips/mt7621, x86/64

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/diff/net/netfilter/nf_tables_api.c?id=v4.14.54=v4.14.53


Hi Stijn,

I ran into the same yesterday when creating the bump to 4.14.54 for master.

The upstream patch in 4.14 is altering this check in 1 location only:  
nf_tables_dump_obj()  [1]

Within OpenWrt, this functionality was backported from 4.16 and 4.18

Within the "335-.." patch, there is another function doing the exact 
same check on the exact same data: nf_tables_dump_flowtable() [2]

Your kernel bump patch should also fix it over there. (line 1084)


[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=v4.14.54=b8d8cde449fd51db0bb407dece03d36ced1acb83
[2] 
https://git.openwrt.org/?p=openwrt/staging/xback.git;a=blob;f=target/linux/generic/backport-4.14/335-v4.16-netfilter-nf_tables-add-single-table-list-for-all-fa.patch;h=787f62ef8f0b2a0d9ca8e1fb360a6c06115b40fc;hb=b84a07b3803bd39d0a1eb1b040718a023b8f7971#l1048



Koen

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


Re: [OpenWrt-Devel] [PATCH 2/2] [RFC] kernel: bump 4.14 to 4.14.54 for 18.06

2018-07-11 Thread Kevin Darbyshire-Bryant


> On 11 Jul 2018, at 05:45, Hannu Nyman  wrote:
> 
> Stijn Segers kirjoitti 10.7.2018 klo 23:08:
>> Refreshed patches. The bump from .53 to .54 introduced a minor change in 
>> net/netfilter/nf_tables_api.c [1] but I am unable to
>> judge if this is a fluke or not, so I'd like a second pair of eyes on that. 
>> It's a single 'table[0]' being replaced by 'table':
>> 
>> - if (filter && filter->table[0] &&
>> + if (filter && filter->table &&
>> 
>> I have updated the 
>> 335-v4.16-netfilter-nf_tables-add-single-table-list-for-all-fa.patch 
>> accordingly.
>> 
> 
> Seems like a legitimate change due to upstream changes that are clearly 
> visible in your upstream diff link.
> 
> Clicking your link and then looking at the file's commit log, I luckily 
> stumbled directly to the responsible commit (fix NULL pointer):
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/net/netfilter/nf_tables_api.c?id=360cc79d9d299ce297b205508276285ceffc5fa8
> 
> Note also that our patch 335 removes the whole code block where that one line 
> changed in upstream. So, the change inside the removed code block would be 
> rather safe in any case.
> 
> 
>> 
>> [1]  
>> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/diff/net/netfilter/nf_tables_api.c?id=v4.14.54=v4.14.53
>> 
> 
>> @@ -895,7 +895,7 @@ Signed-off-by: Pablo Neira Ayuso 
>>  const struct nft_table *table;
>>  unsigned int idx = 0, s_idx = cb->args[0];
>>  struct nft_obj_filter *filter = cb->data;
>> -@@ -4576,38 +4562,37 @@ static int nf_tables_dump_obj(struct sk_
>> +@@ -4619,38 +4605,37 @@ static int nf_tables_dump_obj(struct sk_
>>  rcu_read_lock();
>>  cb->seq = net->nft.base_seq;
>>   @@ -914,7 +914,7 @@ Signed-off-by: Pablo Neira Ayuso 
>>  -   if (idx > s_idx)
>>  -   memset(>args[1], 0,
>>  -  sizeof(cb->args) - 
>> sizeof(cb->args[0]));
>> --   if (filter && filter->table[0] &&
>> +-   if (filter && filter->table &&
>>  -   strcmp(filter->table, table->name))
>>  -   goto cont;
>>  -   if (filter &&
>> @@ -960,7 +960,7 @@ Signed-off-by: Pablo Neira Ayuso 
>>  }
>>  }
> 

Really not convinced I agree with the "patch 335 removes the whole code block 
where that one line changed in upstream”.  Did a refresh myself, several times, 
and patch 335 is a right confusing pain in the backside.  I think the block in 
question should look like:

@@ -4619,38 +4605,37 @@ static int nf_tables_dump_obj(struct sk_
rcu_read_lock();
cb->seq = net->nft.base_seq;

-   list_for_each_entry_rcu(afi, >nft.af_info, list) {
-   if (family != NFPROTO_UNSPEC && family != afi->family)
+   list_for_each_entry_rcu(table, >nft.tables, list) {
+   if (family != NFPROTO_UNSPEC && family != table->afi->family)
continue;

-   list_for_each_entry_rcu(table, >tables, list) {
-   list_for_each_entry_rcu(obj, >objects, list) {
-   if (!nft_is_active(net, obj))
-   goto cont;
-   if (idx < s_idx)
-   goto cont;
-   if (idx > s_idx)
-   memset(>args[1], 0,
-  sizeof(cb->args) - 
sizeof(cb->args[0]));
-   if (filter && filter->table &&
-   strcmp(filter->table, table->name))
-   goto cont;
-   if (filter &&
-   filter->type != NFT_OBJECT_UNSPEC &&
-   obj->ops->type->type != filter->type)
-   goto cont;
+   list_for_each_entry_rcu(obj, >objects, list) {
+   if (!nft_is_active(net, obj))
+   goto cont;
+   if (idx < s_idx)
+   goto cont;
+   if (idx > s_idx)
+   memset(>args[1], 0,
+  sizeof(cb->args) - sizeof(cb->args[0]));
+   if (filter && filter->table &&
+   strcmp(filter->table, table->name))
+   goto cont;
+   if (filter &&
+   filter->type != NFT_OBJECT_UNSPEC &&
+   obj->ops->type->type != filter->type)
+   goto cont;

-   if (nf_tables_fill_obj_info(skb, net, 
NETLINK_CB(cb->skb).portid,
-  

Re: [OpenWrt-Devel] [PATCH] qos-scripts: fix indentation

2018-07-11 Thread Hans Dedecker
On Tue, Jul 10, 2018 at 6:51 PM Moritz Warning  wrote:
>
> Signed-off-by: Moritz Warning 
Patch applied; thx

Hans
> ---
>  .../qos-scripts/files/usr/bin/qos-start   |  2 +-
>  .../config/qos-scripts/files/usr/bin/qos-stop |  1 +
>  .../qos-scripts/files/usr/lib/qos/generate.sh | 28 +--
>  3 files changed, 16 insertions(+), 15 deletions(-)
>
> diff --git a/package/network/config/qos-scripts/files/usr/bin/qos-start 
> b/package/network/config/qos-scripts/files/usr/bin/qos-start
> index 261ffb42b0..68dae70638 100755
> --- a/package/network/config/qos-scripts/files/usr/bin/qos-start
> +++ b/package/network/config/qos-scripts/files/usr/bin/qos-start
> @@ -1,4 +1,4 @@
>  #!/bin/sh
> +
>  qos-stop
>  /usr/lib/qos/generate.sh all | sh
> -
> diff --git a/package/network/config/qos-scripts/files/usr/bin/qos-stop 
> b/package/network/config/qos-scripts/files/usr/bin/qos-stop
> index 7f654d8587..ea3bba3abf 100755
> --- a/package/network/config/qos-scripts/files/usr/bin/qos-stop
> +++ b/package/network/config/qos-scripts/files/usr/bin/qos-stop
> @@ -1,4 +1,5 @@
>  #!/bin/sh
> +
>  for iface in $(tc qdisc show | grep -E '(hfsc|ingress)' | awk '{print $5}'); 
> do
> tc qdisc del dev "$iface" ingress 2>&- >&-
> tc qdisc del dev "$iface" root 2>&- >&-
> diff --git a/package/network/config/qos-scripts/files/usr/lib/qos/generate.sh 
> b/package/network/config/qos-scripts/files/usr/lib/qos/generate.sh
> index 48c9f4a9df..3ec7f80e53 100755
> --- a/package/network/config/qos-scripts/files/usr/lib/qos/generate.sh
> +++ b/package/network/config/qos-scripts/files/usr/lib/qos/generate.sh
> @@ -118,21 +118,21 @@ parse_matching_rule() {
> append "$var" "-m comment --comment '$value'"
> ;;
> *:tos)
> -add_insmod xt_dscp
> -case "$value" in
> -!*) append "$var" "-m tos ! --tos 
> $value";;
> -*) append "$var" "-m tos --tos 
> $value"
> -esac
> -;;
> +   add_insmod xt_dscp
> +   case "$value" in
> +   !*) append "$var" "-m tos ! --tos 
> $value";;
> +   *) append "$var" "-m tos --tos $value"
> +   esac
> +   ;;
> *:dscp)
> -add_insmod xt_dscp
> +   add_insmod xt_dscp
> dscp_option="--dscp"
> -[ -z "${value%%[EBCA]*}" ] && 
> dscp_option="--dscp-class"
> +   [ -z "${value%%[EBCA]*}" ] && 
> dscp_option="--dscp-class"
> case "$value" in
> -   !*) append "$var" "-m dscp ! 
> $dscp_option $value";;
> -   *) append "$var" "-m dscp 
> $dscp_option $value"
> -esac
> -;;
> +   !*) append "$var" "-m dscp ! 
> $dscp_option $value";;
> +   *) append "$var" "-m dscp 
> $dscp_option $value"
> +   esac
> +   ;;
> *:direction)
> value="$(echo "$value" | sed -e 's,-,:,g')"
> if [ "$value" = "out" ]; then
> @@ -428,7 +428,7 @@ start_cg() {
> cat <  $INSMOD
>  EOF
> -
> +
>  for command in $iptables; do
> cat < $command -w -t mangle -N qos_${cg}
> @@ -486,7 +486,7 @@ stop_firewall() {
> -e 's/^-A/-D/' \
> -e '${p;g}' |
> # Make into proper iptables calls
> -   # Note:  awkward in previous call due to hold space 
> usage
> +   # Note: awkward in previous call due to hold space 
> usage
> sed -n -e "s/^./${command} -w -t mangle &/p"
> done
>  }
> --
> 2.18.0
>
>
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

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


Re: [OpenWrt-Devel] [PATCH] wireguard: bump to 0.0.20180708

2018-07-11 Thread Hans Dedecker
On Tue, Jul 10, 2018 at 9:29 PM Jason A. Donenfeld  wrote:
>
> * device: print daddr not saddr in missing peer error
> * receive: style
>
> Debug messages now make sense again.
>
> * wg-quick: android: support excluding applications
>
> Android now supports excluding certain apps (uids) from the tunnel.
>
> * selftest: ratelimiter: improve chance of success via retry
> * qemu: bump default kernel version
> * qemu: decide debug kernel based on KERNEL_VERSION
>
> Some improvements to our testing infrastructure.
>
> * receive: use NAPI on the receive path
>
> This is a big change that should both improve preemption latency (by not
> disabling it unconditionally) and vastly improve rx performance on most
> systems by using NAPI. The main purpose of this snapshot is to test out this
> technique.
>
> Signed-off-by: Jason A. Donenfeld 
Patch applied; thx

Hans
> ---
>  package/network/services/wireguard/Makefile | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/package/network/services/wireguard/Makefile 
> b/package/network/services/wireguard/Makefile
> index 63aaf39405..90ecae3e64 100644
> --- a/package/network/services/wireguard/Makefile
> +++ b/package/network/services/wireguard/Makefile
> @@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
>
>  PKG_NAME:=wireguard
>
> -PKG_VERSION:=0.0.20180625
> +PKG_VERSION:=0.0.20180708
>  PKG_RELEASE:=1
>
>  PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
>  PKG_SOURCE_URL:=https://git.zx2c4.com/WireGuard/snapshot/
> -PKG_HASH:=d9bedeb22b1f83d48581608a6521fea1d429fbeb8809419d08703ef2ec570020
> +PKG_HASH:=5e38d554f7d1e3a64e3a5319ca1a3b790c84ed89c896586c490a93ac1f953a91
>
>  PKG_LICENSE:=GPL-2.0 Apache-2.0
>  PKG_LICENSE_FILES:=COPYING
> --
> 2.18.0
>
>
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

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