Re: [OpenWrt-Devel] [PATCH 1/4] scripts/feeds: add src-dummy method
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
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
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
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
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
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
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
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
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
> 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
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
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
> 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
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()
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
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
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
> 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
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
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