From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: v2 refreshes the patch on trunk at 41281 This patch adds support for the EasyLink EL-M150 and M-mini http://wiki.openwrt.org/toh/easylink/el-m150 http://wiki.openwrt.org/toh/easylink/el-m-mini Signed-off-by: L. D. Pinney --- diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh index d5063de..687cddf 100755 --- a/target/linux/ar71xx/base-files/etc/diag.sh +++ b/target/linux/ar71xx/base-files/etc/diag.sh @@ -65,6 +65,10 @@ get_status_led() { eap7660d) status_led="eap7660d:green:ds4" ;; + el-mini | \ + el-m150) + status_led="EasyLink:green:system" + ;; hiwifi-hc6361) status_led="hiwifi:blue:system" ;; diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network index a2b2762..99c0268 100755 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network @@ -152,6 +152,16 @@ ap113) ucidef_add_switch_vlan "switch0" "2" "0t 2" ;; +el-m150) + ucidef_set_interfaces_lan_wan "eth1" "eth0" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 1 3" + ;; + +el-mini) + ucidef_set_interface_lan "eth0" + ;; + tl-wdr4300|\ tl-wr1041n-v2) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration index 093fbc1..31ce548 100755 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration @@ -81,6 +81,7 @@ ew-dorin-router) migrate_switch_name "eth0" "switch0" ;; +el-m150|\ rb-450) migrate_switch_name "eth1" "switch0" ;; diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh index 6dd5e62..4656ac2 100755 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh @@ -91,6 +91,12 @@ tplink_board_detect() { hwver="v${hwver#0}" case "$hwid" in + "015000"*) + model="EasyLink EL-M150" + ;; + "015300"*) + model="EasyLink EL-MINI" + ;; "3C0001"*) model="OOLITE" ;; @@ -307,6 +313,12 @@ ar71xx_board_detect() { *EAP7660D) name="eap7660d" ;; + *EL-M150) + name="el-m150" + ;; + *EL-MINI) + name="el-mini" + ;; *JA76PF) name="ja76pf" ;; diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh index 57803cc..6aaddf2 100755 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh @@ -224,6 +224,8 @@ platform_check_image() { ;; archer-c7 | \ + el-m150 | \ + el-mini | \ oolite | \ tl-mr10u | \ tl-mr11u | \ diff --git a/target/linux/ar71xx/config-3.10 b/target/linux/ar71xx/config-3.10 index c294cd8..1346c3f 100644 --- a/target/linux/ar71xx/config-3.10 +++ b/target/linux/ar71xx/config-3.10 @@ -47,6 +47,8 @@ CONFIG_ATH79_MACH_DIR_825_B1=y CONFIG_ATH79_MACH_DIR_825_C1=y CONFIG_ATH79_MACH_DRAGINO2=y CONFIG_ATH79_MACH_EAP7660D=y +CONFIG_ATH79_MACH_EL_M150=y +CONFIG_ATH79_MACH_EL_MINI=y CONFIG_ATH79_MACH_EW_DORIN=y CONFIG_ATH79_MACH_GS_OOLITE=y CONFIG_ATH79_MACH_HORNET_UB=y diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c index e69de29..72a396d 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c @@ -0,0 +1,112 @@ +/* + * Easy-Link EL-M150 board support + * + * Copyright (C) 2012 huangfc + * Copyright (C) 2012 HYS <550663898 at qq.com> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + */ + +#include + +#include +#include + +#include "common.h" +#include "dev-eth.h" +#include "dev-gpio-buttons.h" +#include "dev-leds-gpio.h" +#include "dev-m25p80.h" +#include "dev-wmac.h" +#include "machtypes.h" +#include "dev-usb.h" + +#define EL_M150_GPIO_BTN6 6 +#define EL_M150_GPIO_BTN7 7 +#define EL_M150_GPIO_BTN_RESET 11 + +#define EL_M150_GPIO_LED_SYSTEM 27 +#define EL_M150_GPIO_USB_POWER 8 + +#define EL_M150_KEYS_POLL_INTERVAL 20 /* msecs */ +#define EL_M150_KEYS_DEBOUNCE_INTERVAL (3 * EL_M150_KEYS_POLL_INTERVAL) + +static const char *EL_M150_part_probes[] = { + "tp-link", + NULL, +}; + +static struct flash_platform_data EL_M150_flash_data = { + .part_probes = EL_M150_part_probes, +}; + +static struct gpio_led EL_M150_leds_gpio[] __initdata = { + { + .name = "ELINK:green:system", + .gpio = EL_M150_GPIO_LED_SYSTEM, + .active_low = 1, + }, +}; + +static struct gpio_keys_button EL_M150_gpio_keys[] __initdata = { + { + .desc = "reset", + .type = EV_KEY, + .code = KEY_RESTART, + .debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL, + .gpio = EL_M150_GPIO_BTN_RESET, + .active_low = 0, + }, + { + .desc = "BTN_6", + .type = EV_KEY, + .code = BTN_6, + .debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL, + .gpio = EL_M150_GPIO_BTN6, + .active_low = 1, + }, + { + .desc = "BTN_7", + .type = EV_KEY, + .code = BTN_7, + .debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL, + .gpio = EL_M150_GPIO_BTN7, + .active_low = 1, + }, +}; + +static void __init el_m150_setup(void) +{ + u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); + u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); + + /* disable PHY_SWAP and PHY_ADDR_SWAP bits */ + ath79_setup_ar933x_phy4_switch(false, false); + + ath79_register_leds_gpio(-1, ARRAY_SIZE(EL_M150_leds_gpio), + EL_M150_leds_gpio); + + ath79_register_gpio_keys_polled(-1, EL_M150_KEYS_POLL_INTERVAL, + ARRAY_SIZE(EL_M150_gpio_keys), + EL_M150_gpio_keys); + + gpio_request_one(EL_M150_GPIO_USB_POWER, + GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, + "USB power"); + ath79_register_usb(); + + ath79_register_m25p80(&EL_M150_flash_data); + ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1); + ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1); + + ath79_register_mdio(0, 0x0); + ath79_register_eth(0); + ath79_register_eth(1); + + ath79_register_wmac(ee, mac); +} + +MIPS_MACHINE(ATH79_MACH_EL_M150, "EL-M150", + "EasyLink EL-M150", el_m150_setup); diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c index e69de29..aaccb0d 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c @@ -0,0 +1,86 @@ +/* + * Easy-Link EL-MINI board support + * + * Copyright (C) 2012 huangfc + * Copyright (C) 2011 hys <550663898 at qq.com> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + */ + +#include + +#include + +#include "dev-eth.h" +#include "dev-gpio-buttons.h" +#include "dev-leds-gpio.h" +#include "dev-m25p80.h" +#include "dev-usb.h" +#include "dev-wmac.h" +#include "machtypes.h" + +#define MINI_GPIO_LED_SYSTEM 27 +#define MINI_GPIO_BTN_RESET 11 + +#define MINI_GPIO_USB_POWER 8 + +#define MINI_KEYS_POLL_INTERVAL 20 /* msecs */ +#define MINI_KEYS_DEBOUNCE_INTERVAL (3 * MINI_KEYS_POLL_INTERVAL) + +static const char *mini_part_probes[] = { + "tp-link", + NULL, +}; + +static struct flash_platform_data mini_flash_data = { + .part_probes = mini_part_probes, +}; + +static struct gpio_led mini_leds_gpio[] __initdata = { + { + .name = "ELINK:green:system", + .gpio = MINI_GPIO_LED_SYSTEM, + .active_low = 1, + }, +}; + +static struct gpio_keys_button mini_gpio_keys[] __initdata = { + { + .desc = "reset", + .type = EV_KEY, + .code = KEY_RESTART, + .debounce_interval = MINI_KEYS_DEBOUNCE_INTERVAL, + .gpio = MINI_GPIO_BTN_RESET, + .active_low = 0, + } +}; + +static void __init el_mini_setup(void) +{ + u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); + u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); + + ath79_register_m25p80(&mini_flash_data); + ath79_register_leds_gpio(-1, ARRAY_SIZE(mini_leds_gpio), + mini_leds_gpio); + ath79_register_gpio_keys_polled(-1, MINI_KEYS_POLL_INTERVAL, + ARRAY_SIZE(mini_gpio_keys), + mini_gpio_keys); + + gpio_request_one(MINI_GPIO_USB_POWER, + GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, + "USB power"); + ath79_register_usb(); + + ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1); + + ath79_register_mdio(0, 0x0); + ath79_register_eth(0); + + ath79_register_wmac(ee, mac); +} + +MIPS_MACHINE(ATH79_MACH_EL_MINI, "EL-MINI", "EasyLink EL-MINI", + el_mini_setup); diff --git a/target/linux/ar71xx/generic/profiles/easylink.mk b/target/linux/ar71xx/generic/profiles/easylink.mk index e69de29..78d2ec0 100644 --- a/target/linux/ar71xx/generic/profiles/easylink.mk +++ b/target/linux/ar71xx/generic/profiles/easylink.mk @@ -0,0 +1,29 @@ +# +# Copyright (C) 2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/ELM150 + NAME:=EasyLink EL-M150 + PACKAGES:=kmod-usb-core kmod-usb2 +endef + + +define Profile/ELM150/Description + Package set optimized for the EasyLink EL-M150. +endef +$(eval $(call Profile,ELM150)) + + +define Profile/ELMINI + NAME:=EasyLink EL-MINI + PACKAGES:=kmod-usb-core kmod-usb2 +endef + + +define Profile/ELMINI/Description + Package set optimized for the EasyLink EL-MINI. +endef +$(eval $(call Profile,ELMINI)) diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile index d0ee363..ae319c7 100644 --- a/target/linux/ar71xx/image/Makefile +++ b/target/linux/ar71xx/image/Makefile @@ -1134,6 +1134,8 @@ $(eval $(call SingleProfile,TPLINK,64kraw,TLWR1043V1,tl-wr1043nd-v1,TL-WR1043ND, $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC7V1,archer-c7-v1,ARCHER-C7,ttyS0,115200,0x75000001,1,8Mlzma)) $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC7V2,archer-c7-v2,ARCHER-C7,ttyS0,115200,0xc7000002,1,16Mlzma)) +$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ELM150,el-m150,EL-M150,ttyATH0,115200,0x01500101,1,8Mlzma)) +$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ELMINI,el-mini,EL-MINI,ttyATH0,115200,0x01530001,1,8Mlzma)) $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR10U,tl-mr10u-v1,TL-MR10U,ttyATH0,115200,0x00100101,1,4Mlzma)) $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV1,tl-mr11u-v1,TL-MR11U,ttyATH0,115200,0x00110101,1,4Mlzma)) $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV2,tl-mr11u-v2,TL-MR11U,ttyATH0,115200,0x00110102,1,4Mlzma)) --8323329-971717119-1403231233=:24200 Content-Type: TEXT/X-DIFF; NAME=add_support_EasyLink.diff Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: add_support_EasyLink.diff Content-Disposition: ATTACHMENT; FILENAME=add_support_EasyLink.diff ZGlmZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9l dGMvZGlhZy5zaCBiL3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9l dGMvZGlhZy5zaA0KaW5kZXggZDUwNjNkZS4uNjg3Y2RkZiAxMDA3NTUNCi0t LSBhL3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9ldGMvZGlhZy5z aA0KKysrIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVzL2V0Yy9k aWFnLnNoDQpAQCAtNjUsNiArNjUsMTAgQEAgZ2V0X3N0YXR1c19sZWQoKSB7 DQogCWVhcDc2NjBkKQ0KIAkJc3RhdHVzX2xlZD0iZWFwNzY2MGQ6Z3JlZW46 ZHM0Ig0KIAkJOzsNCisJZWwtbWluaSB8IFwNCisJZWwtbTE1MCkNCisJCXN0 YXR1c19sZWQ9IkVhc3lMaW5rOmdyZWVuOnN5c3RlbSINCisJCTs7DQogCWhp d2lmaS1oYzYzNjEpDQogCQlzdGF0dXNfbGVkPSJoaXdpZmk6Ymx1ZTpzeXN0 ZW0iDQogCQk7Ow0KZGlmZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcxeHgv YmFzZS1maWxlcy9ldGMvdWNpLWRlZmF1bHRzLzAyX25ldHdvcmsgYi90YXJn ZXQvbGludXgvYXI3MXh4L2Jhc2UtZmlsZXMvZXRjL3VjaS1kZWZhdWx0cy8w Ml9uZXR3b3JrDQppbmRleCBhMmIyNzYyLi45OWMwMjY4IDEwMDc1NQ0KLS0t IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVzL2V0Yy91Y2ktZGVm YXVsdHMvMDJfbmV0d29yaw0KKysrIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9i YXNlLWZpbGVzL2V0Yy91Y2ktZGVmYXVsdHMvMDJfbmV0d29yaw0KQEAgLTE1 Miw2ICsxNTIsMTYgQEAgYXAxMTMpDQogCXVjaWRlZl9hZGRfc3dpdGNoX3Zs YW4gInN3aXRjaDAiICIyIiAiMHQgMiINCiAJOzsNCiANCitlbC1tMTUwKQ0K Kwl1Y2lkZWZfc2V0X2ludGVyZmFjZXNfbGFuX3dhbiAiZXRoMSIgImV0aDAi DQorCXVjaWRlZl9hZGRfc3dpdGNoICJzd2l0Y2gwIiAiMSIgIjEiDQorCXVj aWRlZl9hZGRfc3dpdGNoX3ZsYW4gInN3aXRjaDAiICIxIiAiMCAxIDMiDQor CTs7DQorDQorZWwtbWluaSkNCisJdWNpZGVmX3NldF9pbnRlcmZhY2VfbGFu ICJldGgwIg0KKwk7Ow0KKw0KIHRsLXdkcjQzMDB8XA0KIHRsLXdyMTA0MW4t djIpDQogCXVjaWRlZl9zZXRfaW50ZXJmYWNlc19sYW5fd2FuICJldGgwLjEi ICJldGgwLjIiDQpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9i YXNlLWZpbGVzL2V0Yy91Y2ktZGVmYXVsdHMvMDNfbmV0d29yay1zd2l0Y2hY LW1pZ3JhdGlvbiBiL3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9l dGMvdWNpLWRlZmF1bHRzLzAzX25ldHdvcmstc3dpdGNoWC1taWdyYXRpb24N CmluZGV4IDA5M2ZiYzEuLjMxY2U1NDggMTAwNzU1DQotLS0gYS90YXJnZXQv bGludXgvYXI3MXh4L2Jhc2UtZmlsZXMvZXRjL3VjaS1kZWZhdWx0cy8wM19u ZXR3b3JrLXN3aXRjaFgtbWlncmF0aW9uDQorKysgYi90YXJnZXQvbGludXgv YXI3MXh4L2Jhc2UtZmlsZXMvZXRjL3VjaS1kZWZhdWx0cy8wM19uZXR3b3Jr LXN3aXRjaFgtbWlncmF0aW9uDQpAQCAtODEsNiArODEsNyBAQCBldy1kb3Jp bi1yb3V0ZXIpDQogCW1pZ3JhdGVfc3dpdGNoX25hbWUgImV0aDAiICJzd2l0 Y2gwIg0KIAk7Ow0KIA0KK2VsLW0xNTB8XA0KIHJiLTQ1MCkNCiAJbWlncmF0 ZV9zd2l0Y2hfbmFtZSAiZXRoMSIgInN3aXRjaDAiDQogCTs7DQpkaWZmIC0t Z2l0IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVzL2xpYi9hcjcx eHguc2ggYi90YXJnZXQvbGludXgvYXI3MXh4L2Jhc2UtZmlsZXMvbGliL2Fy NzF4eC5zaA0KaW5kZXggNmRkNWU2Mi4uNDY1NmFjMiAxMDA3NTUNCi0tLSBh L3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9saWIvYXI3MXh4LnNo DQorKysgYi90YXJnZXQvbGludXgvYXI3MXh4L2Jhc2UtZmlsZXMvbGliL2Fy NzF4eC5zaA0KQEAgLTkxLDYgKzkxLDEyIEBAIHRwbGlua19ib2FyZF9kZXRl Y3QoKSB7DQogCWh3dmVyPSJ2JHtod3ZlciMwfSINCiANCiAJY2FzZSAiJGh3 aWQiIGluDQorCSIwMTUwMDAiKikNCisJCW1vZGVsPSJFYXN5TGluayBFTC1N MTUwIg0KKwkJOzsNCisJIjAxNTMwMCIqKQ0KKwkJbW9kZWw9IkVhc3lMaW5r IEVMLU1JTkkiDQorCQk7Ow0KIAkiM0MwMDAxIiopDQogCQltb2RlbD0iT09M SVRFIg0KIAkJOzsNCkBAIC0zMDcsNiArMzEzLDEyIEBAIGFyNzF4eF9ib2Fy ZF9kZXRlY3QoKSB7DQogCSpFQVA3NjYwRCkNCiAJCW5hbWU9ImVhcDc2NjBk Ig0KIAkJOzsNCisJKkVMLU0xNTApDQorCQluYW1lPSJlbC1tMTUwIg0KKwkJ OzsNCisJKkVMLU1JTkkpDQorCQluYW1lPSJlbC1taW5pIg0KKwkJOzsNCiAJ KkpBNzZQRikNCiAJCW5hbWU9ImphNzZwZiINCiAJCTs7DQpkaWZmIC0tZ2l0 IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVzL2xpYi91cGdyYWRl L3BsYXRmb3JtLnNoIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVz L2xpYi91cGdyYWRlL3BsYXRmb3JtLnNoDQppbmRleCA1NzgwM2NjLi42YWFk ZGYyIDEwMDc1NQ0KLS0tIGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZp bGVzL2xpYi91cGdyYWRlL3BsYXRmb3JtLnNoDQorKysgYi90YXJnZXQvbGlu dXgvYXI3MXh4L2Jhc2UtZmlsZXMvbGliL3VwZ3JhZGUvcGxhdGZvcm0uc2gN CkBAIC0yMjQsNiArMjI0LDggQEAgcGxhdGZvcm1fY2hlY2tfaW1hZ2UoKSB7 DQogCQk7Ow0KIA0KIAlhcmNoZXItYzcgfCBcDQorCWVsLW0xNTAgfCBcDQor CWVsLW1pbmkgfCBcDQogCW9vbGl0ZSB8IFwNCiAJdGwtbXIxMHUgfCBcDQog CXRsLW1yMTF1IHwgXA0KZGlmZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcx eHgvY29uZmlnLTMuMTAgYi90YXJnZXQvbGludXgvYXI3MXh4L2NvbmZpZy0z LjEwDQppbmRleCBjMjk0Y2Q4Li4xMzQ2YzNmIDEwMDY0NA0KLS0tIGEvdGFy Z2V0L2xpbnV4L2FyNzF4eC9jb25maWctMy4xMA0KKysrIGIvdGFyZ2V0L2xp bnV4L2FyNzF4eC9jb25maWctMy4xMA0KQEAgLTQ3LDYgKzQ3LDggQEAgQ09O RklHX0FUSDc5X01BQ0hfRElSXzgyNV9CMT15DQogQ09ORklHX0FUSDc5X01B Q0hfRElSXzgyNV9DMT15DQogQ09ORklHX0FUSDc5X01BQ0hfRFJBR0lOTzI9 eQ0KIENPTkZJR19BVEg3OV9NQUNIX0VBUDc2NjBEPXkNCitDT05GSUdfQVRI NzlfTUFDSF9FTF9NMTUwPXkNCitDT05GSUdfQVRINzlfTUFDSF9FTF9NSU5J PXkNCiBDT05GSUdfQVRINzlfTUFDSF9FV19ET1JJTj15DQogQ09ORklHX0FU SDc5X01BQ0hfR1NfT09MSVRFPXkNCiBDT05GSUdfQVRINzlfTUFDSF9IT1JO RVRfVUI9eQ0KZGlmZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcxeHgvZmls ZXMvYXJjaC9taXBzL2F0aDc5L21hY2gtZWwtbTE1MC5jIGIvdGFyZ2V0L2xp bnV4L2FyNzF4eC9maWxlcy9hcmNoL21pcHMvYXRoNzkvbWFjaC1lbC1tMTUw LmMNCmluZGV4IGU2OWRlMjkuLjcyYTM5NmQgMTAwNjQ0DQotLS0gYS90YXJn ZXQvbGludXgvYXI3MXh4L2ZpbGVzL2FyY2gvbWlwcy9hdGg3OS9tYWNoLWVs LW0xNTAuYw0KKysrIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9maWxlcy9hcmNo L21pcHMvYXRoNzkvbWFjaC1lbC1tMTUwLmMNCkBAIC0wLDAgKzEsMTEyIEBA DQorLyoNCisgKiAgRWFzeS1MaW5rIEVMLU0xNTAgYm9hcmQgc3VwcG9ydA0K KyAqDQorICogIENvcHlyaWdodCAoQykgMjAxMiBodWFuZ2ZjIDxodWFuZ2Zh bmdjaGVuZ0AxNjMuY29tPg0KKyAqICBDb3B5cmlnaHQgKEMpIDIwMTIgSFlT IDw1NTA2NjM4OThAcXEuY29tPg0KKyAqDQorICogIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5IGl0DQorICogIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hl ZA0KKyAqICBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KKyAq Lw0KKw0KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+DQorDQorI2luY2x1ZGUg PGFzbS9tYWNoLWF0aDc5L2F0aDc5Lmg+DQorI2luY2x1ZGUgPGFzbS9tYWNo LWF0aDc5L2FyNzF4eF9yZWdzLmg+DQorDQorI2luY2x1ZGUgImNvbW1vbi5o Ig0KKyNpbmNsdWRlICJkZXYtZXRoLmgiDQorI2luY2x1ZGUgImRldi1ncGlv LWJ1dHRvbnMuaCINCisjaW5jbHVkZSAiZGV2LWxlZHMtZ3Bpby5oIg0KKyNp bmNsdWRlICJkZXYtbTI1cDgwLmgiDQorI2luY2x1ZGUgImRldi13bWFjLmgi DQorI2luY2x1ZGUgIm1hY2h0eXBlcy5oIg0KKyNpbmNsdWRlICJkZXYtdXNi LmgiDQorDQorI2RlZmluZSBFTF9NMTUwX0dQSU9fQlRONgkJNg0KKyNkZWZp bmUgRUxfTTE1MF9HUElPX0JUTjcJCTcNCisjZGVmaW5lIEVMX00xNTBfR1BJ T19CVE5fUkVTRVQJCTExDQorDQorI2RlZmluZSBFTF9NMTUwX0dQSU9fTEVE X1NZU1RFTQkJMjcNCisjZGVmaW5lIEVMX00xNTBfR1BJT19VU0JfUE9XRVIJ CTgNCisNCisjZGVmaW5lIEVMX00xNTBfS0VZU19QT0xMX0lOVEVSVkFMCTIw CS8qIG1zZWNzICovDQorI2RlZmluZSBFTF9NMTUwX0tFWVNfREVCT1VOQ0Vf SU5URVJWQUwgKDMgKiBFTF9NMTUwX0tFWVNfUE9MTF9JTlRFUlZBTCkNCisN CitzdGF0aWMgY29uc3QgY2hhciAqRUxfTTE1MF9wYXJ0X3Byb2Jlc1tdID0g ew0KKwkidHAtbGluayIsDQorCU5VTEwsDQorfTsNCisNCitzdGF0aWMgc3Ry dWN0IGZsYXNoX3BsYXRmb3JtX2RhdGEgRUxfTTE1MF9mbGFzaF9kYXRhID0g ew0KKwkucGFydF9wcm9iZXMJPSBFTF9NMTUwX3BhcnRfcHJvYmVzLA0KK307 DQorDQorc3RhdGljIHN0cnVjdCBncGlvX2xlZCBFTF9NMTUwX2xlZHNfZ3Bp b1tdIF9faW5pdGRhdGEgPSB7DQorCXsNCisJCS5uYW1lCQk9ICJFTElOSzpn cmVlbjpzeXN0ZW0iLA0KKwkJLmdwaW8JCT0gRUxfTTE1MF9HUElPX0xFRF9T WVNURU0sDQorCQkuYWN0aXZlX2xvdwk9IDEsDQorCX0sDQorfTsNCisNCitz dGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gRUxfTTE1MF9ncGlvX2tl eXNbXSBfX2luaXRkYXRhID0gew0KKwl7DQorCQkuZGVzYwkJPSAicmVzZXQi LA0KKwkJLnR5cGUJCT0gRVZfS0VZLA0KKwkJLmNvZGUJCT0gS0VZX1JFU1RB UlQsDQorCQkuZGVib3VuY2VfaW50ZXJ2YWwgPSBFTF9NMTUwX0tFWVNfREVC T1VOQ0VfSU5URVJWQUwsDQorCQkuZ3BpbwkJPSBFTF9NMTUwX0dQSU9fQlRO X1JFU0VULA0KKwkJLmFjdGl2ZV9sb3cJPSAwLA0KKwl9LA0KKwl7DQorCQku ZGVzYwkJPSAiQlROXzYiLA0KKwkJLnR5cGUJCT0gRVZfS0VZLA0KKwkJLmNv ZGUJCT0gQlROXzYsDQorCQkuZGVib3VuY2VfaW50ZXJ2YWwgPSBFTF9NMTUw X0tFWVNfREVCT1VOQ0VfSU5URVJWQUwsDQorCQkuZ3BpbwkJPSBFTF9NMTUw X0dQSU9fQlRONiwNCisJCS5hY3RpdmVfbG93CT0gMSwNCisJfSwNCisJew0K KwkJLmRlc2MJCT0gIkJUTl83IiwNCisJCS50eXBlCQk9IEVWX0tFWSwNCisJ CS5jb2RlCQk9IEJUTl83LA0KKwkJLmRlYm91bmNlX2ludGVydmFsID0gRUxf TTE1MF9LRVlTX0RFQk9VTkNFX0lOVEVSVkFMLA0KKwkJLmdwaW8JCT0gRUxf TTE1MF9HUElPX0JUTjcsDQorCQkuYWN0aXZlX2xvdwk9IDEsDQorCX0sDQor fTsNCisNCitzdGF0aWMgdm9pZCBfX2luaXQgZWxfbTE1MF9zZXR1cCh2b2lk KQ0KK3sNCisJdTggKm1hYyA9ICh1OCAqKSBLU0VHMUFERFIoMHgxZjAxZmMw MCk7DQorCXU4ICplZSA9ICh1OCAqKSBLU0VHMUFERFIoMHgxZmZmMTAwMCk7 DQorDQorCS8qIGRpc2FibGUgUEhZX1NXQVAgYW5kIFBIWV9BRERSX1NXQVAg Yml0cyAqLw0KKwlhdGg3OV9zZXR1cF9hcjkzM3hfcGh5NF9zd2l0Y2goZmFs c2UsIGZhbHNlKTsNCisNCisJYXRoNzlfcmVnaXN0ZXJfbGVkc19ncGlvKC0x LCBBUlJBWV9TSVpFKEVMX00xNTBfbGVkc19ncGlvKSwNCisJCQkJIEVMX00x NTBfbGVkc19ncGlvKTsNCisNCisJYXRoNzlfcmVnaXN0ZXJfZ3Bpb19rZXlz X3BvbGxlZCgtMSwgRUxfTTE1MF9LRVlTX1BPTExfSU5URVJWQUwsDQorCQkJ CQlBUlJBWV9TSVpFKEVMX00xNTBfZ3Bpb19rZXlzKSwNCisJCQkJCUVMX00x NTBfZ3Bpb19rZXlzKTsNCisNCisJZ3Bpb19yZXF1ZXN0X29uZShFTF9NMTUw X0dQSU9fVVNCX1BPV0VSLA0KKwkJCSBHUElPRl9PVVRfSU5JVF9ISUdIIHwg R1BJT0ZfRVhQT1JUX0RJUl9GSVhFRCwNCisJCQkgIlVTQiBwb3dlciIpOw0K KwlhdGg3OV9yZWdpc3Rlcl91c2IoKTsNCisNCisJYXRoNzlfcmVnaXN0ZXJf bTI1cDgwKCZFTF9NMTUwX2ZsYXNoX2RhdGEpOw0KKwlhdGg3OV9pbml0X21h YyhhdGg3OV9ldGgwX2RhdGEubWFjX2FkZHIsIG1hYywgMSk7DQorCWF0aDc5 X2luaXRfbWFjKGF0aDc5X2V0aDFfZGF0YS5tYWNfYWRkciwgbWFjLCAtMSk7 DQorDQorCWF0aDc5X3JlZ2lzdGVyX21kaW8oMCwgMHgwKTsNCisJYXRoNzlf cmVnaXN0ZXJfZXRoKDApOw0KKwlhdGg3OV9yZWdpc3Rlcl9ldGgoMSk7DQor DQorCWF0aDc5X3JlZ2lzdGVyX3dtYWMoZWUsIG1hYyk7DQorfQ0KKw0KK01J UFNfTUFDSElORShBVEg3OV9NQUNIX0VMX00xNTAsICJFTC1NMTUwIiwNCisJ ICAgICAiRWFzeUxpbmsgRUwtTTE1MCIsIGVsX20xNTBfc2V0dXApOw0KZGlm ZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcxeHgvZmlsZXMvYXJjaC9taXBz L2F0aDc5L21hY2gtZWwtbWluaS5jIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9m aWxlcy9hcmNoL21pcHMvYXRoNzkvbWFjaC1lbC1taW5pLmMNCmluZGV4IGU2 OWRlMjkuLmFhY2NiMGQgMTAwNjQ0DQotLS0gYS90YXJnZXQvbGludXgvYXI3 MXh4L2ZpbGVzL2FyY2gvbWlwcy9hdGg3OS9tYWNoLWVsLW1pbmkuYw0KKysr IGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9maWxlcy9hcmNoL21pcHMvYXRoNzkv bWFjaC1lbC1taW5pLmMNCkBAIC0wLDAgKzEsODYgQEANCisvKg0KKyAqICBF YXN5LUxpbmsgRUwtTUlOSSBib2FyZCBzdXBwb3J0DQorICoNCisgKiAgQ29w eXJpZ2h0IChDKSAyMDEyIGh1YW5nZmMgPGh1YW5nZmFuZ2NoZW5nQDE2My5j b20+DQorICogIENvcHlyaWdodCAoQykgMjAxMSBoeXMgPDU1MDY2Mzg5OEBx cS5jb20+DQorICoNCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQN CisgKiAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkDQorICogIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uDQorICovDQorDQorI2luY2x1 ZGUgPGxpbnV4L2dwaW8uaD4NCisNCisjaW5jbHVkZSA8YXNtL21hY2gtYXRo NzkvYXRoNzkuaD4NCisNCisjaW5jbHVkZSAiZGV2LWV0aC5oIg0KKyNpbmNs dWRlICJkZXYtZ3Bpby1idXR0b25zLmgiDQorI2luY2x1ZGUgImRldi1sZWRz LWdwaW8uaCINCisjaW5jbHVkZSAiZGV2LW0yNXA4MC5oIg0KKyNpbmNsdWRl ICJkZXYtdXNiLmgiDQorI2luY2x1ZGUgImRldi13bWFjLmgiDQorI2luY2x1 ZGUgIm1hY2h0eXBlcy5oIg0KKw0KKyNkZWZpbmUgTUlOSV9HUElPX0xFRF9T WVNURU0JMjcNCisjZGVmaW5lIE1JTklfR1BJT19CVE5fUkVTRVQJMTENCisN CisjZGVmaW5lIE1JTklfR1BJT19VU0JfUE9XRVIJOA0KKw0KKyNkZWZpbmUg TUlOSV9LRVlTX1BPTExfSU5URVJWQUwJMjAJLyogbXNlY3MgKi8NCisjZGVm aW5lIE1JTklfS0VZU19ERUJPVU5DRV9JTlRFUlZBTAkoMyAqIE1JTklfS0VZ U19QT0xMX0lOVEVSVkFMKQ0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICptaW5p X3BhcnRfcHJvYmVzW10gPSB7DQorCSJ0cC1saW5rIiwNCisJTlVMTCwNCit9 Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgZmxhc2hfcGxhdGZvcm1fZGF0YSBtaW5p X2ZsYXNoX2RhdGEgPSB7DQorCS5wYXJ0X3Byb2Jlcwk9IG1pbmlfcGFydF9w cm9iZXMsDQorfTsNCisNCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIG1pbmlf bGVkc19ncGlvW10gX19pbml0ZGF0YSA9IHsNCisJew0KKwkJLm5hbWUJCT0g IkVMSU5LOmdyZWVuOnN5c3RlbSIsDQorCQkuZ3BpbwkJPSBNSU5JX0dQSU9f TEVEX1NZU1RFTSwNCisJCS5hY3RpdmVfbG93CT0gMSwNCisJfSwNCit9Ow0K Kw0KK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBtaW5pX2dwaW9f a2V5c1tdIF9faW5pdGRhdGEgPSB7DQorCXsNCisJCS5kZXNjCQk9ICJyZXNl dCIsDQorCQkudHlwZQkJPSBFVl9LRVksDQorCQkuY29kZQkJPSBLRVlfUkVT VEFSVCwNCisJCS5kZWJvdW5jZV9pbnRlcnZhbCA9IE1JTklfS0VZU19ERUJP VU5DRV9JTlRFUlZBTCwNCisJCS5ncGlvCQk9IE1JTklfR1BJT19CVE5fUkVT RVQsDQorCQkuYWN0aXZlX2xvdwk9IDAsDQorCX0NCit9Ow0KKw0KK3N0YXRp YyB2b2lkIF9faW5pdCBlbF9taW5pX3NldHVwKHZvaWQpDQorew0KKwl1OCAq bWFjID0gKHU4ICopIEtTRUcxQUREUigweDFmMDFmYzAwKTsNCisJdTggKmVl ID0gKHU4ICopIEtTRUcxQUREUigweDFmZmYxMDAwKTsNCisNCisJYXRoNzlf cmVnaXN0ZXJfbTI1cDgwKCZtaW5pX2ZsYXNoX2RhdGEpOw0KKwlhdGg3OV9y ZWdpc3Rlcl9sZWRzX2dwaW8oLTEsIEFSUkFZX1NJWkUobWluaV9sZWRzX2dw aW8pLA0KKwkJCQkgbWluaV9sZWRzX2dwaW8pOw0KKwlhdGg3OV9yZWdpc3Rl cl9ncGlvX2tleXNfcG9sbGVkKC0xLCBNSU5JX0tFWVNfUE9MTF9JTlRFUlZB TCwNCisJCQkJCUFSUkFZX1NJWkUobWluaV9ncGlvX2tleXMpLA0KKwkJCQkJ bWluaV9ncGlvX2tleXMpOw0KKw0KKwlncGlvX3JlcXVlc3Rfb25lKE1JTklf R1BJT19VU0JfUE9XRVIsDQorCQkJIEdQSU9GX09VVF9JTklUX0hJR0ggfCBH UElPRl9FWFBPUlRfRElSX0ZJWEVELA0KKwkJCSAiVVNCIHBvd2VyIik7DQor CWF0aDc5X3JlZ2lzdGVyX3VzYigpOw0KKw0KKwlhdGg3OV9pbml0X21hYyhh dGg3OV9ldGgwX2RhdGEubWFjX2FkZHIsIG1hYywgLTEpOw0KKw0KKwlhdGg3 OV9yZWdpc3Rlcl9tZGlvKDAsIDB4MCk7DQorCWF0aDc5X3JlZ2lzdGVyX2V0 aCgwKTsNCisNCisJYXRoNzlfcmVnaXN0ZXJfd21hYyhlZSwgbWFjKTsNCit9 DQorDQorTUlQU19NQUNISU5FKEFUSDc5X01BQ0hfRUxfTUlOSSwgIkVMLU1J TkkiLCAiRWFzeUxpbmsgRUwtTUlOSSIsDQorCSAgICAgZWxfbWluaV9zZXR1 cCk7DQpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9nZW5lcmlj L3Byb2ZpbGVzL2Vhc3lsaW5rLm1rIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9n ZW5lcmljL3Byb2ZpbGVzL2Vhc3lsaW5rLm1rDQppbmRleCBlNjlkZTI5Li43 OGQyZWMwIDEwMDY0NA0KLS0tIGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9nZW5l cmljL3Byb2ZpbGVzL2Vhc3lsaW5rLm1rDQorKysgYi90YXJnZXQvbGludXgv YXI3MXh4L2dlbmVyaWMvcHJvZmlsZXMvZWFzeWxpbmsubWsNCkBAIC0wLDAg KzEsMjkgQEANCisjDQorIyBDb3B5cmlnaHQgKEMpIDIwMDkgT3BlbldydC5v cmcNCisjDQorIyBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGxpY2Vuc2VkIHVu ZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2Mi4NCisjIFNl ZSAvTElDRU5TRSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4NCisjDQorDQorZGVm aW5lIFByb2ZpbGUvRUxNMTUwDQorCU5BTUU6PUVhc3lMaW5rIEVMLU0xNTAN CisJUEFDS0FHRVM6PWttb2QtdXNiLWNvcmUga21vZC11c2IyDQorZW5kZWYN CisNCisNCitkZWZpbmUgUHJvZmlsZS9FTE0xNTAvRGVzY3JpcHRpb24NCisJ UGFja2FnZSBzZXQgb3B0aW1pemVkIGZvciB0aGUgRWFzeUxpbmsgRUwtTTE1 MC4NCitlbmRlZg0KKyQoZXZhbCAkKGNhbGwgUHJvZmlsZSxFTE0xNTApKQ0K Kw0KKw0KK2RlZmluZSBQcm9maWxlL0VMTUlOSQ0KKwlOQU1FOj1FYXN5TGlu ayBFTC1NSU5JDQorCVBBQ0tBR0VTOj1rbW9kLXVzYi1jb3JlIGttb2QtdXNi Mg0KK2VuZGVmDQorDQorDQorZGVmaW5lIFByb2ZpbGUvRUxNSU5JL0Rlc2Ny aXB0aW9uDQorCVBhY2thZ2Ugc2V0IG9wdGltaXplZCBmb3IgdGhlIEVhc3lM aW5rIEVMLU1JTkkuDQorZW5kZWYNCiskKGV2YWwgJChjYWxsIFByb2ZpbGUs RUxNSU5JKSkNCmRpZmYgLS1naXQgYS90YXJnZXQvbGludXgvYXI3MXh4L2lt YWdlL01ha2VmaWxlIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9pbWFnZS9NYWtl ZmlsZQ0KaW5kZXggZDBlZTM2My4uYWUzMTljNyAxMDA2NDQNCi0tLSBhL3Rh cmdldC9saW51eC9hcjcxeHgvaW1hZ2UvTWFrZWZpbGUNCisrKyBiL3Rhcmdl dC9saW51eC9hcjcxeHgvaW1hZ2UvTWFrZWZpbGUNCkBAIC0xMTM0LDYgKzEx MzQsOCBAQCAkKGV2YWwgJChjYWxsIFNpbmdsZVByb2ZpbGUsVFBMSU5LLDY0 a3JhdyxUTFdSMTA0M1YxLHRsLXdyMTA0M25kLXYxLFRMLVdSMTA0M05ELA0K IA0KICQoZXZhbCAkKGNhbGwgU2luZ2xlUHJvZmlsZSxUUExJTkstTFpNQSw2 NGtyYXcsQVJDSEVSQzdWMSxhcmNoZXItYzctdjEsQVJDSEVSLUM3LHR0eVMw LDExNTIwMCwweDc1MDAwMDAxLDEsOE1sem1hKSkNCiAkKGV2YWwgJChjYWxs IFNpbmdsZVByb2ZpbGUsVFBMSU5LLUxaTUEsNjRrcmF3LEFSQ0hFUkM3VjIs YXJjaGVyLWM3LXYyLEFSQ0hFUi1DNyx0dHlTMCwxMTUyMDAsMHhjNzAwMDAw MiwxLDE2TWx6bWEpKQ0KKyQoZXZhbCAkKGNhbGwgU2luZ2xlUHJvZmlsZSxU UExJTkstTFpNQSw2NGtyYXcsRUxNMTUwLGVsLW0xNTAsRUwtTTE1MCx0dHlB VEgwLDExNTIwMCwweDAxNTAwMTAxLDEsOE1sem1hKSkNCiskKGV2YWwgJChj YWxsIFNpbmdsZVByb2ZpbGUsVFBMSU5LLUxaTUEsNjRrcmF3LEVMTUlOSSxl bC1taW5pLEVMLU1JTkksdHR5QVRIMCwxMTUyMDAsMHgwMTUzMDAwMSwxLDhN bHptYSkpDQogJChldmFsICQoY2FsbCBTaW5nbGVQcm9maWxlLFRQTElOSy1M Wk1BLDY0a3JhdyxUTE1SMTBVLHRsLW1yMTB1LXYxLFRMLU1SMTBVLHR0eUFU SDAsMTE1MjAwLDB4MDAxMDAxMDEsMSw0TWx6bWEpKQ0KICQoZXZhbCAkKGNh bGwgU2luZ2xlUHJvZmlsZSxUUExJTkstTFpNQSw2NGtyYXcsVExNUjExVVYx LHRsLW1yMTF1LXYxLFRMLU1SMTFVLHR0eUFUSDAsMTE1MjAwLDB4MDAxMTAx MDEsMSw0TWx6bWEpKQ0KICQoZXZhbCAkKGNhbGwgU2luZ2xlUHJvZmlsZSxU UExJTkstTFpNQSw2NGtyYXcsVExNUjExVVYyLHRsLW1yMTF1LXYyLFRMLU1S MTFVLHR0eUFUSDAsMTE1MjAwLDB4MDAxMTAxMDIsMSw0TWx6bWEpKQ0K --8323329-971717119-1403231233=:24200 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel --8323329-971717119-1403231233=:24200-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: proposal is *not* about disabling the firewall completely. As for the usage, any application that is not purely client/server needs to be reachable from the outside. You may want to use peer-to-peer applications (voice chat, video chat, file sharing, etc) without having to explicitely configure your firewall. Btw, this is why protocols such as UPnP, NAT-PMP, or PCP have been developped.

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

--------------030607020102020204020408-- --===============1247558305928574163== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel --===============1247558305928574163==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: or a year). What are your plans? > To get out of this situation I started a spin-off called uClibc-ng. > The website for the project is here: http://www.uclibc-ng.org > Beta 3 is tagged and downloadable via > http://downloads.uclibc-ng.org/uClibc-ng-1.0.0beta3.tar.xz > Do you plan a browsable Git website, where someone can look at the source via webbrowser? OK, you have now an infrastructure... Do you have people (developers, users) behind you :-)? > If you want a 1.0 in the near future please test and report back any > issues. You can use the bug tracker, the mailing list or dicussion forum > to report back. To prevent spam you need to be subscribed or registered. > > I have added most of the patches from your projects on top of uClibc > master. > Did you look also at the patches [1] from the Freetz project? Thanks for your initial work! - Sedat - [0] http://freetz.org/browser/trunk/toolchain/make/target/uclibc/0.9.32.1/100-fix_hosttools.patch [1] http://freetz.org/browser/trunk/toolchain/make/target/uclibc _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: Sending patches or new functionality to luci mailing list is also not a choice because there is no guarantee that the code is implemented short term. My idea is to move code of LuCI applications like tinyproxy, samba, hd-idle, ddns-scripts, ..... to OpenWrt/packages as samba/samba-luci, tinyproxy/tinyproxy-luci or ddns-scripts/ddns-scripts-luci. The mwan3 package already doing this. I think this is the best way, because openwrt/packages are moving fast forward and needed changes to the corresponding LuCI apps needs to be in sync. My port/move for luci-app-ddns is ready for take off. What do you think ? Christian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: The "user" only downloads the LuCI app to get the functionality mostly not knowing what is happening behind. Thats the reason for a GUI. I think we want to give more functionality than manufactures are doing, the reason why technically interested users start with OpenWrt like I did 2 years ago. 1st step was to use my box with the prebuild image and the Web UI and starting from there to find a way into the internals of OpenWrt. For me still many things are not clear, but I continue to "try and error" to find out. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: If it's a default (also used be the system behind LuCI) then its written into the field as if the user write something into the field. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: when applying the available patch for the new package. To fix the HUNK errors, some manual works are needed to manually edit patches so that those patches will apply cleanly to the new package. The developers maybe so busy, because editing patches for large package, such as kernel, require a lot of time and works. If you are interested in upgrading kernel, why don't you try to manually edit all patches available, so that the patches can be applied cleanly. If you are succeeded with editing all patches available for kernel 3.10.49 and applied to 3.10.57 cleanly, you can submit it here to see if the main OpenWrt developers will be glad and accept your work. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: >that's the Lantiq propietary SSIO interface for analog SLIC chips which >is controlled by the voice firmware. You only need to setup GPIO's 8, >34, 35 and 36 as follows: >GPIO alt0 alt1 dir >8 1 0 1 CLKOUT0 >34 0 1 1 SSIO_TX >35 0 1 1 SSIO_RX >36 0 1 1 SSIO_CLK So i get firmware load on vpe1 but it crash on worker process.. Do you know if tapi works on other lantiq cpu with 3.14 kernel? folowing dmesg... Filesystem firmware binary used (/lib/firmware/voice_ar9_firmware.bin). [ 96.396000] I'm here 8a [ 96.456000] I'm here 8b [ 96.512000] eddi I'm here 9 - mps release [ 96.516000] eddi I'm here 9 - mps release done [ 96.520000] eddi I'm here 10 - start wdog [ 96.524000] eddi I'm here 10 - start wdog done [ 96.528000] eddi I'm here 11 - return version and exit [ 96.600000] MPS: FW checksum OK [ 96.604000] CPU 0 Unable to handle kernel paging request at virtual address 00000094, epc == 82f9d960, ra == 82843fd4 [ 96.612000] Oops[#1]: [ 96.612000] CPU: 0 PID: 558 Comm: kworker/0:2 Not tainted 3.14.18 #58 [ 96.612000] Workqueue: TAPIevents 0x82840000 [ 96.612000] task: 829b2a90 ti: 8283a000 task.ti: 8283a000 [ 96.612000] $ 0 : 00000000 00000000 f4000006 f4000006 [ 96.612000] $ 4 : 00000088 00000000 1100fd00 ffff00fe [ 96.612000] $ 8 : 8283bfe0 0000fd00 00000000 00000001 [ 96.612000] $12 : 00000000 00000000 00000000 77977ca0 [ 96.612000] $16 : 00000000 82fd9000 838b3408 829645f8 [ 96.612000] $20 : 00000000 00000000 80410000 8040b280 [ 96.612000] $24 : 7796a000 82843dec [ 96.612000] $28 : 8283a000 8283be30 803b6dc8 82843fd4 [ 96.612000] Hi : 000000a0 [ 96.612000] Lo : 0000008c [ 96.612000] epc : 82f9d960 IFXOS_MutexGet+0x8/0x48 [drv_ifxos] [ 96.612000] Not tainted [ 96.612000] ra : 82843fd4 IFX_TAPI_Event_Dispatch_ProcessCtx+0x1e8/0xfbc [drv_tapi] [ 96.880000] Status: 1100fd02 KERNEL EXL [ 96.880000] Cause : 80800008 [ 96.880000] BadVA : fffffff0 [ 96.880000] PrId : 00019555 (MIPS 34Kc) [ 96.880000] Modules linked in: rt2800pci rt2800mmio rt2800lib iptable_nat rt2x00pci t2x00mmio rt2x00lib pppoe nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 mac80211 ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat xt_multi port xt_mark xt_mac xt_limit xt_id xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_CT pppox ppp_async nf_nat_irc nf_nat_ftp nf_nat nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_irc nf_conntrack_ftp nf_conntrack ltq_deu_vr9 iptable_r aw iptable_mangle iptable_filter ipt_REJECT ip_tables drv_vmmc crc_itu_t crc_ccitt compat drv_dsl_cpe_api drv_mei_cpe ip6t_REJECT ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables pppoatm ppp_generic slhc br2684 atm drv_ta pi ipv6 eeprom_93cx6 drv_ifxos arc4 crypto_blkcipher ltq_hcd_vr9 gpio_button_hotplug [ 96.880000] Process kworker/0:2 (pid: 558, threadinfo=8283a000, task=829b2a90, tls=00000000) [ 96.880000] Stack : 8040b5d0 80408c60 83820970 829b2c6c 829b2a90 8000d478 8283bd80 800bebb 829ca1c0 00000000 00000001 829b2a88 829b2a90 83820970 829b2be8 829b2a88 829b2be8 00000020 00000012 800e7b88 829b2a90 80bb0000 80bb0000 801864cc 8283bc50 8283bc50 829b2c30 00000000 8283bc50 00000001 8283bd80 803b3fc0 0000000b 00000000 829b2a90 00000000 80410000 00030000 8283bd80 800ddd14 ... [ 96.880000] Call Trace: [ 96.880000] [<80189eec>] kthread_data+0x4/0xc [ 96.880000] [<80314074>] wq_worker_sleeping+0x14/0x100 [ 96.880000] [<8000d478>] __schedule+0xf0/0x578 [ 96.880000] [<800e7b88>] do_exit+0x840/0x858 Eddi _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: with libncursesw, but I think those could be resolved. python + python3 pick up libncursesw if they find it, but they could be configured to take libncurses no idea about impact on other libs, hence this RFC in the openwrt/packages folder there are only these libs that reference libncurses: - deve/gdb - utils/util-linux - network/utils/iftop - network/services/samba36 libncursesw is slightly fatter (360 kb) than libncurses (295 kb) Having both installed on a device seems redundant, even though together the bloat is not too big. So, then, what would be some opinions/prefs ? Thanks Alex --001a11347d3a9b47c40507723989 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I'll try to get opinions about this.
Since we're in the middle of packages migration, maybe it's an in= teresting opportunity to try to use ncursesw and drop ncurses.

ncursesw is ncurses + Unicode (UTF8) support

Both libraries b= uilt out of the same source base, and they're just 2 build variants.
From what I can see, Midnight Commander may have some problems build= ing with libncursesw, but I think those could be resolved.

pyt= hon + python3 pick up libncursesw if they find it, but they could be config= ured to take libncurses
no idea about impact on other libs, hence = this RFC

in the openwrt/packages folder there are only these l= ibs that reference libncurses:
- deve/gdb
- utils/util-li= nux
- network/utils/iftop
- network/services/samba36
<= br>
libncursesw is slightly fatter (360 kb) than libncurses (295 = kb)
Having both installed on a device seems redundant, even t= hough together the bloat is not too big.

So, then, = what would be some opinions/prefs ?

Thanks
Alex
--001a11347d3a9b47c40507723989-- --===============8268271145614534169== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel --===============8268271145614534169==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: to the external port 1, therefore we stub it out for addr == 0. Jonas [1] http://wiki.openwrt.org/toh/ubiquiti/routerstation.pro#switch.ports.for.vlans _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: to the external port 1, therefore we stub it out for addr =3D=3D 0.


Jonas
=C2=A0
Thanks a lot for the comprehensive= explanation!

Heiner

--047d7bfcf1f269b6910508ea7b61-- --===============2829452839923811073== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel --===============2829452839923811073==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: G994VendorID=(B5,00,49,46,54,4E,22,42) SystemVendorID=(32,33,34,35,36,37,38,39) VersionNumber=(30,31,32,33,34,35,36,37,38,39,30,31,32,33,34,35) SerialNumber=(30,31,32,33,34,35,36,37,38,39,30,31,32,33,34,35,36,37,38,39,30,31,32,33,34,35,36,37,38,39,30,31) SelfTestResult=0 XTSECapabilities=(04,00,00,00,00,00,00,00" and "g997lig 1" returns "nReturn=15 nDirection=1 G994VendorID=(FF,B5,47,53,50,4E,00,08) SystemVendorID=(00,00,00,00,00,00,00,00) VersionNumber=(00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00) SerialNumber=(00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00) SelfTestResult=0 XTSECapabilities=(04,01,00,00,00,00,00,00)" and I think those results show that the remote DSLAM is Globespan/NEC/Easynet (47,53,50,4E translates to GSPN). With kind regards, Jaime _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: I will publish a modified package for privoxy using the old scripts for the moment. Christian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: with legacy distributions, right? I'm currently trying two other directions: f2fs seems to be the appropriate replacement for jffs2 on MMC, as it can work nicely as an overlayfs on top of squashfs, it's light-weight and specificly designed for black-box-FTL devices. However, fstools currently lacks support for block devices and as identifying block devices requires libblkid(-tiny), we'll probably end-up with two build variants of libfstools, one with and one without support for block devices... (John: what do you think?) btrfs on the other hand also has sufficiently good support for flash drives and also got built-in support for snapshots and raid, but that might as well be overkill. However, it does provide all the needed features to become the single solution for all block-device based setups. No matter if squashfs+f2fs or btrfs will be used, I believe that rootfs-overlay, snapshot and failsafe-mode are key features of OpenWrt. Designing new targets in a way which relies on a single read-write mounted rootfs feels like taking the wrong turn to me. Having that option is nice, just like having a single JFFS2 or UBIFS r/w rootfs. With eMMC being more and more common, it'd be sad if it remains the only choice... Cheers Daniel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: stored in a separate MTD partition ("art"), but seems to either be built-into the driver on the stock firmware or a file on filesystem (which I didn't bother looking for as it would anyway be very hard to extract it when migrating from the stock firmware...) I'm not sure about that, as it's all years ago and I no longer carry the hardware or firmware dumps with me... I got Wifi working by using EEPROM from another board with similar ath9k wifi chip, however, this is not a clean and/or redistributable solution to the problem :( > I'm a Linux user and this isn't my primary router, so please feel free > to direct me towards compile instructions and pass any .diffs you might > need me to test out. The board is very similar to http://wiki.openwrt.org/toh/bt/homehub_v2b So your best bet is to see how things are done there. As by now there are many other devices based on the same SoC which also got ath9k and are reported to work, you chances are quite good to get things working. I also remember that U-Boot lacked proper support for the NAND back then which left booting via TFTP as the only practical option to load stuff back then. This also seems to be fixed in uboot-lantiq by know... I'd be interested to know the results and are happy to assist you as good as I can if needed. Cheers Daniel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: other devices that are based on Atheros is that they usually have better performance with stock firmware. Also killer feature for some wifi applications is TDMA protocol, which Ubiquiti, Mikrotik and other device manufacturers support but OpenWrt doesn't support (but this is completely different topic). I knew that Atheros contributed to open source drivers, but there are lots of reviews and benchmarks that show how much performance difference there is between some (not all) devices when running OpenWrt. Our brains are wired for comparison, so they automatically attribute labels like "bad", "worse", "slower", "not as good as original" when using OpenWrt - I have seen this too many times on forums to give you few specific links to discussions, just dive into forums and you will see this for yourselves. I understand some reasons for part of performance hit and I can live with that. But I also know that performance could be improved because companies that produce open source drivers don't have best possible OpenWrt performance as their top priority. Top managers in most companies don't believe that having best possible performance in OpenWrt (and allocating enough engineer hours for that task) will make them more money. Simple as that. In contrast to this - other companies like Linksys, Mikrotik, Ubiquiti, TPLink and others that have wifi products definitely give top priority to how much performance they can sqeeze out of their devices, and allocate enough engineer hours to make their performance as fast as possible. Unfortunately they value their closed source driver. Can anyone explain to me how NDAs come into this? Because I remember one discussions with Mikrotik developer who said that they can't release their Atheros driver that they developed as open source because they signed NDA with Atheros? Is Atheros giving some "secret" and proprietary information to companies that sign NDA with them? If this is true then we will never have as fast performance as companies that sign NDAs. v. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: driver, one for Danube/ADSL and one for xRX/VDSL...? On ISP settings: Most ISPs use the ITU recommended enumeration of VLANs on PTM/VDSL. However, some don't, thus having some reference on that would definitely make things easier for new users. We should list VLANs, PPP settings and status of IPv6 support (native DS, DS-Lite, 6rd, ... as well as the length of the prefix the ISP delegates to the users router). Quite often this is not consistent and we might need a couple of entries for some ISPs offering quite different services depending on the region and the date of the initial subscription. About your questions: Yes, VDSL(2) only makes sense with PTM. No, nothing useful on the wiki for now afaik. Yes, happy to fill the missing info where ever I can. Once again, thank you for doing this! Cheers Daniel On Tue, Apr 07, 2015 at 12:00:57AM +0200, Martin Blumenstingl wrote: > Hello, > > I recently purchased a TP-Link TD-W8970 on which I have installed OpenWrt. > My goal is to use it as my main "DSL router", so it has to connect to > the internet. > For the reference: at the moment I'm using a "AVM FritzBox" for this > purpose, which is connected directly to the phone jack (the web > interface tells me it's using "B43", which should be Annex B). > > Unfortunately the situation regarding the drivers and the > (corresponding) firmware files is not as good as it could be. > > There is no list of firmware files (I understand that those cannot be > distributed) which could serve as a reference. > Thus I decided to read the driver's source code and build a list of > firmware files that I have stumbled across: [0] > Feel free to send me the details how to get more versions into this > list (please be aware that I need a link to a public hosted file that > *everyone* can download). > Reading all this information from binary files is not what I wanted, > so I wrote a small script that does the job: [1] > > While I was at it I researched if there was a newer driver version > that the one we currently have in OpenWrt (v4.11.4). > There was an update to v4.11.11 like 9 months ago, which was reverted > because it was not working for everyone. > Since I was not sure if the old driver could handle newer DSL > firmwares I searched if I could find anything newer than v4.11.11 - > and I found v4.15.2 in BT Home Hub 5A's sources (unfortunately with > all build files stripped off). > I published the updated drivers (with build files hacked back in) / > userspace utility on github: [2], [3], [4], [5] > > Noteworthy changes: > - Danube support was stripped (ARX100 is now the first supported platform) > - Vectoring support (might still require other kernel patches) > > The patch to get the new drivers into OpenWrt can be found here: [6] > (Please note that you need to create the tarballs yourself and put > them in the dl/ directory). > This updated driver works "as good" as the old one: I get to status > 0x300 (HANDSHAKE) but not further (but that is probably "my own > problem"). > > In the end I also have a question: > Is there any list of recommended DSL settings per ISP? > For example it seems that for VDSL you have to use PTM, with the > correct Annex B firmware, etc. - but can that information be found on > the wiki? > If not then I'll look into creating a page in the next few days (which > YOU, valued reader, need to fill with info :-)). > > Please let me know if anyone is experimenting with my updated DSL driver. > Also I'd like to hear if the firmware page is helpful and/or if you > have firmware versions that work for you (which should obviously > listed there as well). > > > Regards, > Martin > > > > [0] https://xdarklight.github.io/lantiq-xdsl-firmware-info/ > [1] https://github.com/xdarklight/lantiq-xdsl-firmware-info > [2] https://github.com/xdarklight/drv_mei_cpe > [3] https://github.com/xdarklight/drv_dsl_cpe_api_vrx > [4] https://github.com/xdarklight/lib_ifxos > [5] https://github.com/xdarklight/dsl_cpe_control_vrx > [6] https://gist.github.com/xdarklight/58fe9807594d5366e068/download > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: Cheers Toerless _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: ends up back in jffs2 and tries to take the same lock again. => deadlock. - Felix _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: center frequency of the selected channel. Stefan _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: at the very least it has the counters mapped to different addresses, so it would break. Anyway, I will submit a new patch later. On 22 May 2015 at 15:02, John Crispin wrote: > Hi, > > instead of adding an extra parameter to mt7530_probe() use this macro > instead -> IS_ENABLED(CONFIG_SOC_MT7621) > > John > > On 14/05/2015 17:14, Cristian Morales Vega wrote: >> Signed-off-by: Cristian Morales Vega >> --- >> .../drivers/net/ethernet/ralink/gsw_mt7620a.c | 8 +- >> .../files/drivers/net/ethernet/ralink/mt7530.c | 197 ++++++++++++++++++++- >> .../files/drivers/net/ethernet/ralink/mt7530.h | 3 +- >> 3 files changed, 199 insertions(+), 9 deletions(-) >> >> diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c >> index 8039704..257a9c5 100644 >> --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c >> +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c >> @@ -728,10 +728,10 @@ int mt7620_gsw_config(struct fe_priv *priv) >> >> /* is the mt7530 internal or external */ >> if (priv->mii_bus && priv->mii_bus->phy_map[0x1f]) { >> - mt7530_probe(priv->device, gsw->base, NULL, 0); >> - mt7530_probe(priv->device, NULL, priv->mii_bus, 1); >> + mt7530_probe(priv->device, gsw->base, NULL, 0, 0); >> + mt7530_probe(priv->device, NULL, priv->mii_bus, 1, 0); >> } else { >> - mt7530_probe(priv->device, gsw->base, NULL, 1); >> + mt7530_probe(priv->device, gsw->base, NULL, 1, 0); >> } >> >> return 0; >> @@ -740,7 +740,7 @@ int mt7620_gsw_config(struct fe_priv *priv) >> int mt7621_gsw_config(struct fe_priv *priv) >> { >> if (priv->mii_bus && priv->mii_bus->phy_map[0x1f]) >> - mt7530_probe(priv->device, NULL, priv->mii_bus, 1); >> + mt7530_probe(priv->device, NULL, priv->mii_bus, 1, 1); >> >> return 0; >> } >> diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.c >> index 1352b25..cacf19e 100644 >> --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.c >> +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.c >> @@ -63,6 +63,107 @@ enum { >> >> #define REG_HWTRAP 0x7804 >> >> +#define MIB_DESC(_s , _o, _n) \ >> + { \ >> + .size = (_s), \ >> + .offset = (_o), \ >> + .name = (_n), \ >> + } >> + >> +struct mt7xxx_mib_desc { >> + unsigned int size; >> + unsigned int offset; >> + const char *name; >> +}; >> + >> +#define MT7621_MIB_COUNTER_BASE 0x4000 >> +#define MT7621_MIB_COUNTER_PORT_OFFSET 0x100 >> +#define MT7621_STATS_TDPC 0x00 >> +#define MT7621_STATS_TCRC 0x04 >> +#define MT7621_STATS_TUPC 0x08 >> +#define MT7621_STATS_TMPC 0x0C >> +#define MT7621_STATS_TBPC 0x10 >> +#define MT7621_STATS_TCEC 0x14 >> +#define MT7621_STATS_TSCEC 0x18 >> +#define MT7621_STATS_TMCEC 0x1C >> +#define MT7621_STATS_TDEC 0x20 >> +#define MT7621_STATS_TLCEC 0x24 >> +#define MT7621_STATS_TXCEC 0x28 >> +#define MT7621_STATS_TPPC 0x2C >> +#define MT7621_STATS_TL64PC 0x30 >> +#define MT7621_STATS_TL65PC 0x34 >> +#define MT7621_STATS_TL128PC 0x38 >> +#define MT7621_STATS_TL256PC 0x3C >> +#define MT7621_STATS_TL512PC 0x40 >> +#define MT7621_STATS_TL1024PC 0x44 >> +#define MT7621_STATS_TOC 0x48 >> +#define MT7621_STATS_RDPC 0x60 >> +#define MT7621_STATS_RFPC 0x64 >> +#define MT7621_STATS_RUPC 0x68 >> +#define MT7621_STATS_RMPC 0x6C >> +#define MT7621_STATS_RBPC 0x70 >> +#define MT7621_STATS_RAEPC 0x74 >> +#define MT7621_STATS_RCEPC 0x78 >> +#define MT7621_STATS_RUSPC 0x7C >> +#define MT7621_STATS_RFEPC 0x80 >> +#define MT7621_STATS_ROSPC 0x84 >> +#define MT7621_STATS_RJEPC 0x88 >> +#define MT7621_STATS_RPPC 0x8C >> +#define MT7621_STATS_RL64PC 0x90 >> +#define MT7621_STATS_RL65PC 0x94 >> +#define MT7621_STATS_RL128PC 0x98 >> +#define MT7621_STATS_RL256PC 0x9C >> +#define MT7621_STATS_RL512PC 0xA0 >> +#define MT7621_STATS_RL1024PC 0xA4 >> +#define MT7621_STATS_ROC 0xA8 >> +#define MT7621_STATS_RDPC_CTRL 0xB0 >> +#define MT7621_STATS_RDPC_ING 0xB4 >> +#define MT7621_STATS_RDPC_ARL 0xB8 >> + >> +static const struct mt7xxx_mib_desc mt7621_mibs[] = { >> + MIB_DESC(1, MT7621_STATS_TDPC, "TxDrop"), >> + MIB_DESC(1, MT7621_STATS_TCRC, "TxCRC"), >> + MIB_DESC(1, MT7621_STATS_TUPC, "TxUni"), >> + MIB_DESC(1, MT7621_STATS_TMPC, "TxMulti"), >> + MIB_DESC(1, MT7621_STATS_TBPC, "TxBroad"), >> + MIB_DESC(1, MT7621_STATS_TCEC, "TxCollision"), >> + MIB_DESC(1, MT7621_STATS_TSCEC, "TxSingleCol"), >> + MIB_DESC(1, MT7621_STATS_TMCEC, "TxMultiCol"), >> + MIB_DESC(1, MT7621_STATS_TDEC, "TxDefer"), >> + MIB_DESC(1, MT7621_STATS_TLCEC, "TxLateCol"), >> + MIB_DESC(1, MT7621_STATS_TXCEC, "TxExcCol"), >> + MIB_DESC(1, MT7621_STATS_TPPC, "TxPause"), >> + MIB_DESC(1, MT7621_STATS_TL64PC, "Tx64Byte"), >> + MIB_DESC(1, MT7621_STATS_TL65PC, "Tx65Byte"), >> + MIB_DESC(1, MT7621_STATS_TL128PC, "Tx128Byte"), >> + MIB_DESC(1, MT7621_STATS_TL256PC, "Tx256Byte"), >> + MIB_DESC(1, MT7621_STATS_TL512PC, "Tx512Byte"), >> + MIB_DESC(1, MT7621_STATS_TL1024PC, "Tx1024Byte"), >> + MIB_DESC(2, MT7621_STATS_TOC, "TxByte"), >> + MIB_DESC(1, MT7621_STATS_RDPC, "RxDrop"), >> + MIB_DESC(1, MT7621_STATS_RFPC, "RxFiltered"), >> + MIB_DESC(1, MT7621_STATS_RUPC, "RxUni"), >> + MIB_DESC(1, MT7621_STATS_RMPC, "RxMulti"), >> + MIB_DESC(1, MT7621_STATS_RBPC, "RxBroad"), >> + MIB_DESC(1, MT7621_STATS_RAEPC, "RxAlignErr"), >> + MIB_DESC(1, MT7621_STATS_RCEPC, "RxCRC"), >> + MIB_DESC(1, MT7621_STATS_RUSPC, "RxUnderSize"), >> + MIB_DESC(1, MT7621_STATS_RFEPC, "RxFragment"), >> + MIB_DESC(1, MT7621_STATS_ROSPC, "RxOverSize"), >> + MIB_DESC(1, MT7621_STATS_RJEPC, "RxJabber"), >> + MIB_DESC(1, MT7621_STATS_RPPC, "RxPause"), >> + MIB_DESC(1, MT7621_STATS_RL64PC, "Rx64Byte"), >> + MIB_DESC(1, MT7621_STATS_RL65PC, "Rx65Byte"), >> + MIB_DESC(1, MT7621_STATS_RL128PC, "Rx128Byte"), >> + MIB_DESC(1, MT7621_STATS_RL256PC, "Rx256Byte"), >> + MIB_DESC(1, MT7621_STATS_RL512PC, "Rx512Byte"), >> + MIB_DESC(1, MT7621_STATS_RL1024PC, "Rx1024Byte"), >> + MIB_DESC(2, MT7621_STATS_ROC, "RxByte"), >> + MIB_DESC(1, MT7621_STATS_RDPC_CTRL, "RxCtrlDrop"), >> + MIB_DESC(1, MT7621_STATS_RDPC_ING, "RxIngDrop"), >> + MIB_DESC(1, MT7621_STATS_RDPC_ARL, "RxARLDrop") >> +}; >> + >> enum { >> /* Global attributes. */ >> MT7530_ATTR_ENABLE_VLAN, >> @@ -500,6 +601,63 @@ static const struct switch_attr mt7530_global[] = { >> }, >> }; >> >> +static u64 get_mib_counter(struct mt7530_priv *priv, int i, int port) >> +{ >> + unsigned int port_base; >> + u64 t; >> + >> + port_base = MT7621_MIB_COUNTER_BASE + >> + MT7621_MIB_COUNTER_PORT_OFFSET * port; >> + >> + t = mt7530_r32(priv, port_base + mt7621_mibs[i].offset); >> + if (mt7621_mibs[i].size == 2) { >> + u64 hi; >> + >> + hi = mt7530_r32(priv, port_base + mt7621_mibs[i].offset + 4); >> + t |= hi << 32; >> + } >> + >> + return t; >> +} >> + >> +static int mt7621_sw_get_port_mib(struct switch_dev *dev, >> + const struct switch_attr *attr, >> + struct switch_val *val) >> +{ >> + static char buf[4096]; >> + struct mt7530_priv *priv = container_of(dev, struct mt7530_priv, swdev); >> + int i, len = 0; >> + >> + if (val->port_vlan >= MT7530_NUM_PORTS) >> + return -EINVAL; >> + >> + len += snprintf(buf + len, sizeof(buf) - len, >> + "Port %d MIB counters\n", val->port_vlan); >> + >> + for (i = 0; i < sizeof(mt7621_mibs) / sizeof(*mt7621_mibs); ++i) { >> + u64 counter; >> + len += snprintf(buf + len, sizeof(buf) - len, >> + "%-11s: ", mt7621_mibs[i].name); >> + counter = get_mib_counter(priv, i, val->port_vlan); >> + len += snprintf(buf + len, sizeof(buf) - len, "%llu\n", >> + counter); >> + } >> + >> + val->value.s = buf; >> + val->len = len; >> + return 0; >> +} >> + >> +static const struct switch_attr mt7621_port[] = { >> + { >> + .type = SWITCH_TYPE_STRING, >> + .name = "mib", >> + .description = "Get MIB counters for port", >> + .get = mt7621_sw_get_port_mib, >> + .set = NULL, >> + }, >> +}; >> + >> static const struct switch_attr mt7530_port[] = { >> }; >> >> @@ -514,6 +672,28 @@ static const struct switch_attr mt7530_vlan[] = { >> }, >> }; >> >> +static const struct switch_dev_ops mt7621_ops = { >> + .attr_global = { >> + .attr = mt7530_global, >> + .n_attr = ARRAY_SIZE(mt7530_global), >> + }, >> + .attr_port = { >> + .attr = mt7621_port, >> + .n_attr = ARRAY_SIZE(mt7621_port), >> + }, >> + .attr_vlan = { >> + .attr = mt7530_vlan, >> + .n_attr = ARRAY_SIZE(mt7530_vlan), >> + }, >> + .get_vlan_ports = mt7530_get_vlan_ports, >> + .set_vlan_ports = mt7530_set_vlan_ports, >> + .get_port_pvid = mt7530_get_port_pvid, >> + .set_port_pvid = mt7530_set_port_pvid, >> + .get_port_link = mt7530_get_port_link, >> + .apply_config = mt7530_apply_config, >> + .reset_switch = mt7530_reset_switch, >> +}; >> + >> static const struct switch_dev_ops mt7530_ops = { >> .attr_global = { >> .attr = mt7530_global, >> @@ -537,7 +717,8 @@ static const struct switch_dev_ops mt7530_ops = { >> }; >> >> int >> -mt7530_probe(struct device *dev, void __iomem *base, struct mii_bus *bus, int vlan) >> +mt7530_probe(struct device *dev, void __iomem *base, struct mii_bus *bus, >> + int vlan, bool is_mt7621) >> { >> struct switch_dev *swdev; >> struct mt7530_priv *mt7530; >> @@ -557,13 +738,21 @@ mt7530_probe(struct device *dev, void __iomem *base, struct mii_bus *bus, int vl >> swdev->alias = "mt7530"; >> swdev->name = "mt7530"; >> } else { >> - swdev->alias = "mt7620"; >> - swdev->name = "mt7620"; >> + if (is_mt7621) { >> + swdev->alias = "mt7621"; >> + swdev->name = "mt7621"; >> + } else { >> + swdev->alias = "mt7620"; >> + swdev->name = "mt7620"; >> + } >> } >> swdev->cpu_port = MT7530_CPU_PORT; >> swdev->ports = MT7530_NUM_PORTS; >> swdev->vlans = MT7530_NUM_VLANS; >> - swdev->ops = &mt7530_ops; >> + if (is_mt7621) >> + swdev->ops = &mt7621_ops; >> + else >> + swdev->ops = &mt7530_ops; >> >> ret = register_switch(swdev, NULL); >> if (ret) { >> diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.h b/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.h >> index 1fc8c62..d62b300 100644 >> --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.h >> +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.h >> @@ -15,6 +15,7 @@ >> #ifndef _MT7530_H__ >> #define _MT7530_H__ >> >> -int mt7530_probe(struct device *dev, void __iomem *base, struct mii_bus *bus, int vlan); >> +int mt7530_probe(struct device *dev, void __iomem *base, struct mii_bus *bus, >> + int vlan, bool is_mt7621); >> >> #endif >> > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel -- Cristian Morales Vega Email cristian at samknows.com Office +44 (0) 20 3111 4330 Web: www.samknows.com This email is sent for and on behalf of SamKnows Limited. This email and any attachments are confidential, legally privileged and protected by copyright. If you are not the intended recipient dissemination or copying of this email is prohibited. If you have received this in error, please notify the sender by replying by email and then delete the email completely from your system. SamKnows Limited, Registered Number: 06510477, Registered Office: Hill House, 1 Little New Street, London, EC4A 3TR. Registered in England and Wales. Trade Mark 2507103 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: design/structure simply because you want to have an easy way of debugging, but I think that's not a strong enough reason to make the API between ath9k and the HSR code this quirky. Here's what I want: The hsr filter code function is passed in by the mach-* function for the UniFi Outdoor, and the code is in the kernel itself. And here's how you make debugging easy: You make a package (which can live somewhere in a separate git tree), which contains a copy of the code that is also in the kernel, and when this package gets loaded, it looks up the ath9k pci device and the platform data, and it overwrites the channel helper function callback. Whenever you're finished testing your changes, you simply copy them back to the source file used by the kernel and submit patches based on that. Does that seem like a reasonable compromise to you? - Felix _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: the switch are device function 0x08 and 0x10 on the switch device. Can you also post the output of lspci on your device? > > Signed-off-by: Ian Kent > --- > .../172-bcm5301x-R8000-handle-PEX8603-switch.patch | 225 ++++++++++++++++++++ > .../172-bcm5301x-R8000-handle-PEX8603-switch.patch | 225 ++++++++++++++++++++ > 2 files changed, 450 insertions(+) > create mode 100644 target/linux/bcm53xx/patches-3.14/172-bcm5301x-R8000-handle-PEX8603-switch.patch > create mode 100644 target/linux/bcm53xx/patches-3.18/172-bcm5301x-R8000-handle-PEX8603-switch.patch > ...... > diff --git a/target/linux/bcm53xx/patches-3.18/172-bcm5301x-R8000-handle-PEX8603-switch.patch b/target/linux/bcm53xx/patches-3.18/172-bcm5301x-R8000-handle-PEX8603-switch.patch > new file mode 100644 > index 0000000..fc606b4 > --- /dev/null > +++ b/target/linux/bcm53xx/patches-3.18/172-bcm5301x-R8000-handle-PEX8603-switch.patch > @@ -0,0 +1,225 @@ > +bcm53xx: R8000 handle PEX8603 switch > + > +The Netgear R8000 has a PEX8603 which, if not configured at > +bus probe results in quite a few phantom devices as it doesn't > +respond properly to configuration requests. The device needs > +to be configured when seen. > + > +Signed-off-by: Ian Kent > + > +--- a/drivers/pci/host/pci-host-bcm5301x.c > ++++ b/drivers/pci/host/pci-host-bcm5301x.c > +@@ -29,6 +29,21 @@ > + #define PCI_TARGET_LINK_SPEED_GEN2 0x2 > + #define PCI_TARGET_LINK_SPEED_GEN1 0x1 > + > ++#define PCI_MAX_BUS 4 > ++#define PLX_PRIM_SEC_BUS_NUM (0x00000201 | (PCI_MAX_BUS << 16)) > ++ > ++#ifndef SZ_48M > ++#define SZ_48M (SZ_32M + SZ_16M) > ++#endif Please remove the ifndef, it should fail if this gets added. > ++ > ++struct pex86xx_info { > ++ u8 busno; /* Upstream bus PEX is on */ > ++ u8 slot; /* Upstream slot PEX is at */ > ++ u16 active; /* Active port count */ > ++ u16 ports; /* Active port bit map */ > ++}; > ++struct pex86xx_info pex8603; > ++ > + static int bcma_pcie2_map_irq(const struct pci_dev *pdev, u8 slot, u8 pin) > + { > + struct pci_sys_data *sys = pdev->sysdata; > +@@ -115,6 +130,39 @@ static int bcma_pcie2_read_config_pci(st > + struct pci_sys_data *sys = bus->sysdata; > + struct bcma_device *bdev = sys->private_data; > + > ++ /* The PEX8603 won't return sensible values to the PCI layer so > ++ * we have to do that ourselves. > ++ */ > ++ if (pex8603.busno) { > ++ u16 slot = PCI_SLOT(devfn); > ++ > ++ /* Not the PEX upstream slot */ > ++ if (pex8603.busno == bus->number && pex8603.slot != slot) > ++ goto done; > ++ > ++ /* Not the PEX downstream bus? */ > ++ if (bus->number < pex8603.busno || > ++ bus->number > pex8603.busno + 1) > ++ goto done; > ++ > ++ switch (bus->number - pex8603.busno) { > ++ case 0: > ++ /* Upstream port */ > ++ break; > ++ > ++ case 1: > ++ /* PEX8603, not present for slots other than 1 or 2 */ > ++ if (!(slot == 1 || slot == 2)) { > ++ *val = 0xffffffff; > ++ return PCIBIOS_SUCCESSFUL; > ++ } > ++ break; > ++ > ++ default: > ++ break; > ++ } > ++ } > ++done: > + *val = bcma_pcie2_read_config(bdev, bus->number, devfn, where, size); > + > + return PCIBIOS_SUCCESSFUL; > +@@ -126,6 +174,37 @@ static int bcma_pcie2_write_config_pci(s > + struct pci_sys_data *sys = bus->sysdata; > + struct bcma_device *bdev = sys->private_data; > + > ++ /* Don't try and set anything on the PEX8603 if it isn't > ++ * valid. > ++ */ > ++ if (pex8603.busno) { > ++ u16 slot = PCI_SLOT(devfn); > ++ > ++ /* Not the PEX upstream slot */ > ++ if (pex8603.busno == bus->number && pex8603.slot != slot) > ++ goto done; > ++ > ++ /* Not the PEX downstream bus? */ > ++ if (bus->number < pex8603.busno || > ++ bus->number > pex8603.busno + 1) > ++ goto done; > ++ > ++ switch (bus->number - pex8603.busno) { > ++ case 0: > ++ /* Upstream port */ > ++ break; > ++ > ++ case 1: > ++ /* PEX8603 slots only slots 1 and 2 present */ > ++ if (!(slot == 1 || slot == 2)) > ++ return PCIBIOS_SUCCESSFUL; > ++ break; > ++ > ++ default: > ++ break; > ++ } > ++ } > ++done: > + bcma_pcie2_write_config(bdev, bus->number, devfn, where, size, val); > + > + return PCIBIOS_SUCCESSFUL; > +@@ -147,6 +226,113 @@ static void bcma_pcie2_fixup_class(struc > + DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x8011, bcma_pcie2_fixup_class); > + DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x8012, bcma_pcie2_fixup_class); > + > ++static void bcma_pcie2_pex_switch_setup(struct pci_dev *dev) > ++{ > ++ struct pci_sys_data *sys = dev->sysdata; > ++ struct bcma_device *bdev = sys->private_data; > ++ unsigned char busno = dev->bus->number; > ++ unsigned int devfn = dev->devfn; > ++ unsigned int slot = PCI_SLOT(devfn); > ++ u32 addr = bdev->addr_s[0]; > ++ u32 tmp32; > ++ u16 tmp16; > ++ > ++ tmp32 = bcma_pcie2_read_config(bdev, busno, devfn, 0x100, 4); > ++ if (!tmp32) { > ++ dev_info(&bdev->dev, "failed to read PEX switch\n"); > ++ return; > ++ } > ++ > ++ /* Debug control register. */ > ++ tmp32 = bcma_pcie2_read_config(bdev, busno, devfn, 0x1dc, 4); > ++ tmp32 &= ~(1<<22); > ++ bcma_pcie2_write_config(bdev, busno, devfn, 0x1dc, 4, tmp32); > ++ > ++ /* Set GPIO enable. */ > ++ tmp32 = bcma_pcie2_read_config(bdev, busno, devfn, 0x62c, 4); > ++ tmp32 &= ~((1 << 0) | (1 << 1) | (1 << 3)); > ++ tmp32 |= ((1 << 4) | (1 << 5) | (1 << 7)); > ++ bcma_pcie2_write_config(bdev, busno, devfn, 0x62c, 4, tmp32); > ++ > ++ mdelay(50); You should use msleep(50) here. > ++ > ++ tmp32 |= ((1<<0)|(1<<1)); > ++ bcma_pcie2_write_config(bdev, busno, devfn, 0x62c, 4, tmp32); > ++ > ++ /* Bus master */ > ++ tmp16 = bcma_pcie2_read_config(bdev, busno, devfn, 0x4, 2); > ++ tmp16 |= 0x06; > ++ bcma_pcie2_write_config(bdev, busno, devfn, 0x4, 2, tmp16); > ++ > ++ switch (slot) { Are you sure this is correct? Why does the vendor driver use the bus number and afterwards the device function for the last two spaces and you are using only the slot number? > ++ case 0: > ++ /* Upstream port busno and slot */ > ++ pex8603.busno = busno; > ++ pex8603.slot = slot; > ++ > ++ bcma_pcie2_write_config(bdev, busno, > ++ devfn, 0x18, 4, PLX_PRIM_SEC_BUS_NUM); > ++ > ++ /* TODO: We need to scan all outgoing windows, > ++ * to look for a base limit pair for this register. > ++ */ > ++ /* MEM_BASE, MEM_LIM require 1MB alignment */ > ++ bcma_pcie2_write_config(bdev, busno, > ++ devfn, PCI_MEMORY_BASE, 2, > ++ addr >> 16); > ++ BUG_ON(((addr + SZ_32M) >> 16) & 0xf); > ++ bcma_pcie2_write_config(bdev, busno, > ++ devfn, PCI_MEMORY_LIMIT, 2, > ++ (addr + SZ_32M) >> 16); > ++ break; > ++ > ++ case 1: > ++ bcma_pcie2_write_config(bdev, busno, > ++ devfn, 0x18, 4, > ++ (((busno + slot) << 16) | > ++ ((busno + slot) << 8) | busno)); > ++ BUG_ON(((addr + SZ_48M) >> 16) & 0xf); > ++ bcma_pcie2_write_config(bdev, busno, > ++ devfn, PCI_MEMORY_BASE, 4, > ++ (addr + SZ_48M) >> 16); > ++ BUG_ON(((addr + SZ_48M + SZ_32M) >> 16) & 0xf); > ++ bcma_pcie2_write_config(bdev, busno, > ++ devfn, PCI_MEMORY_LIMIT, 4, > ++ (addr + SZ_48M + SZ_32M) >> 16); > ++ > ++ /* Mark port bit number as active if successful */ > ++ tmp16 = bcma_pcie2_read_config(bdev, busno, devfn, 0x7A, 2); > ++ if (tmp16 & PCI_EXP_LNKSTA_DLLLA) { > ++ pex8603.ports |= ((1 << (slot - 1)) & 0xffff); > ++ pex8603.active++; > ++ } > ++ break; > ++ > ++ case 2: > ++ bcma_pcie2_write_config(bdev, busno, > ++ devfn, 0x18, 4, > ++ (((busno + slot) << 16) | > ++ ((busno + slot) << 8) | busno)); > ++ BUG_ON(((addr + (SZ_48M * 2)) >> 16) & 0xf); > ++ bcma_pcie2_write_config(bdev, busno, > ++ devfn, PCI_MEMORY_BASE, 4, > ++ (addr + (SZ_48M * 2)) >> 16); > ++ BUG_ON(((addr + (SZ_48M * 2) + SZ_32M) >> 16) & 0xf); > ++ bcma_pcie2_write_config(bdev, busno, > ++ devfn, PCI_MEMORY_LIMIT, 4, > ++ (addr + (SZ_48M * 2) + SZ_32M) >> 16); > ++ > ++ /* Mark port bit number as active if successful */ > ++ tmp16 = bcma_pcie2_read_config(bdev, busno, devfn, 0x7A, 2); > ++ if (tmp16 & PCI_EXP_LNKSTA_DLLLA) { > ++ pex8603.ports |= ((1 << (slot - 1)) & 0xffff); > ++ pex8603.active++; > ++ } > ++ break; > ++ } > ++} > ++DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8603, bcma_pcie2_pex_switch_setup); > ++ > + /* > + * Check link status, return 0 if link is up in RC mode, > + * otherwise return non-zero > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: bug. Other vendors like Mikrotik for example made their wifi stack so that virtual wifi interfaces act more like "real" interfaces and aren't linked. I actually consider this behaviour as a bug. Why not have 6 different virtual wifi interfaces each separate from others? How do OpenWrt devs look at this issue? _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: special character file can't be created anymore, all clients keep overwriting single message in regular file. To avoid this we check if file we're going to write to is really character special and ensure it doesn't go away while we check. Signed-off-by: Sergiy Kibrik --- ulog.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/ulog.c b/ulog.c index 776a0c4..10d61da 100644 --- a/ulog.c +++ b/ulog.c @@ -23,6 +23,9 @@ #include #include #include +#include +#include +#include static int _ulog_channels = -1; static int _ulog_facility = -1; @@ -89,8 +92,18 @@ static void ulog_defaults(void) static void ulog_kmsg(int priority, const char *fmt, va_list ap) { FILE *kmsg; + int fd; + struct stat s; + + /* extra checks not to accidentally create regular file */ + fd = open("/dev/kmsg", O_WRONLY); + if (fd < 0) + return; + + if (fstat(fd, &s) == 0 && + s.st_mode & S_IFCHR && + (kmsg = fdopen(fd, "w")) != NULL) { - if ((kmsg = fopen("/dev/kmsg", "w")) != NULL) { fprintf(kmsg, "<%u>", priority); if (_ulog_ident) @@ -99,6 +112,8 @@ static void ulog_kmsg(int priority, const char *fmt, va_list ap) vfprintf(kmsg, fmt, ap); fclose(kmsg); } + + close(fd); } static void ulog_stdio(int priority, const char *fmt, va_list ap) -- 1.9.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: is only used to determine if those options are enabled in kernel configuration but not for force selection of options in kernel. In other words if I want to get crypto core built I need to make sure first that in my say "target/linux/board/config-4.1" options mentioned above are enabled. Is that observation correct? I'm asking because my initial assumption was I need to provide a minimal kernel configuration in "target/linux/board/config-4.1" and then on selection of kmods in OpenWRT's menuconfig missing config options will be automatically added in kernel config. But apparently no options are auto-enabled because I'm seeing that kind of build failure if CONFIG_CRYPTO_BLKCIPHER is not explicitly set in my kernel config: ------------------>8-------------------- NOTICE: module 'xxx/openwrt/build_dir/target-yyy/linux-zzz/linux -4.1.3/crypto/crypto_algapi.ko' is built-in. ERROR: module 'xxx/openwrt/build_dir/target-yyy/linux-zzz/linux -4.1.3/crypto/crypto_blkcipher.ko' is missing. modules/crypto.mk:30: recipe for target 'xxx/openwrt/bin/axs10x -uClibc/packages/base/kmod-crypto-core_4.1.3-1_axs10x.ipk' failed make[3]: *** [xxx/openwrt/bin/axs10x -uClibc/packages/base/kmod-crypto-core_4.1.3-1_axs10x.ipk] Error 1 ------------------>8-------------------- -Alexey _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: --Jonathan Bennett On Mon, Aug 17, 2015 at 6:24 AM Piotr Dymacz wrote: > 2015-08-17 8:28 GMT+02:00 John Crispin : > > Hi, > > > > just merged the whole lot. thanks a lot. what do you want to do next > > lantiq or ar71xx ? :) personally i would prefer ar71xx ;) > > [...] > > Hello John, > > It seems that there are some people who don't like the changes (see > below), but they don't have enough courage to use their real name and > post their comments on the list. > > I will back with answers for your and Michael Heimpold (I'm sorry, I > didn't spot your e-mail before!) questions in few days. Now I'm really > busy with other things. > > Cheers, > Piotr Dymacz > > --- > > 2015-08-17 13:05 GMT+02:00 West Fuck : > > https://dev.openwrt.org/changeset/46617 > > > > of all the bugs on related system you have choosen to change board and > led > > names? why do you stick your nose into something that is not relevant? > is it > > because your'e stupid fucking excuse for human being? you couldn't even > make > > your uboot work without errors on some boards so why don't you stick to > your > > own crap instead of acting like your're doing something > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > --001a113def9256fd61051d8e2702 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Those sort of emails are always just a bit discouraging. K= eep in mind that they tend to come from people that are slightly autistic o= r have Aspergers.

From the rest of us, though, thank you for y= our hard work.

--Jonathan Bennett

On Mon, Aug 17, 2015 at 6:24 AM Piotr Dymacz &= lt;pepe2k at gmail.com> wrote:
<= /div>
2015-08-17 8:28 GMT+02:00 John Crispin = <blogic at openwrt.= org>:
> Hi,
>
> just merged the whole lot. thanks a lot. what do you want to do next > lantiq or ar71xx ? :) personally i would prefer ar71xx ;)
> [...]

Hello John,

It seems that there are some people who don't like the changes (see
below), but they don't have enough courage to use their real name and post their comments on the list.

I will back with answers for your and Michael Heimpold (I'm sorry, I didn't spot your e-mail before!) questions in few days. Now I'm rea= lly
busy with other things.

Cheers,
Piotr Dymacz

---

2015-08-17 13:05 GMT+02:00 West Fuck <deutchwrt at anonmail.de>:
> https://dev.openwrt.org/changeset/46617
>
> of all the bugs on related system you have choosen to change board and= led
> names? why do you stick your nose into something that is not relevant?= is it
> because your'e stupid fucking excuse for human being? you couldn&#= 39;t even make
> your uboot work without errors on some boards so why don't you sti= ck to your
> own crap instead of acting like your're doing something
_______________________________________________
openwrt-devel mailing list
openwr= t-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/ma= ilman/listinfo/openwrt-devel
--001a113def9256fd61051d8e2702-- --===============7331133420770416374== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel --===============7331133420770416374==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: special character file can't be created anymore, all clients keep overwriting single message in regular file. To avoid this we open file in "r+" mode which doesn't create file if it's not found. Signed-off-by: Sergiy Kibrik Cc: John Crispin --- ulog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ulog.c b/ulog.c index 776a0c4..80b67ac 100644 --- a/ulog.c +++ b/ulog.c @@ -90,7 +90,7 @@ static void ulog_kmsg(int priority, const char *fmt, va_list ap) { FILE *kmsg; - if ((kmsg = fopen("/dev/kmsg", "w")) != NULL) { + if ((kmsg = fopen("/dev/kmsg", "r+")) != NULL) { fprintf(kmsg, "<%u>", priority); if (_ulog_ident) -- 1.9.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: - Christoph _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: pull whichever libnl-xxx package I need. Thanks Alex --047d7b5d5c22b23b410520555535 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On T= hu, Sep 17, 2015 at 5:13 PM, Alexandru Ardelean <ardeleanalex at gmail.c= om> wrote:

<= br>
On Thu, Sep 17, 2015 at 4:50 PM, Felix Fietka= u <nbd at openwrt.org> wrote:
On 2015-09-17 15:05, Alexandru Ardelean wrote:
> From: Alexandru Ardelean <aa at ocedo.com>
>
> The idea is that we may only need the libnl core,
> or libnl-route or libnl-nf libs, but maybe not all of them.
>
> This way we can select which ones we need without bloating the
> firmware image too much.
>
> Signed-off-by: Alexandru Ardelean <ardeleanalex at gmail.com>
Maybe it would be better to have libnl as a metapackage selecting libnl-core + the other ones. The way you split the package, you might be breaking some packages that depend on it.

Or did you review all of the packages to ensure that they only need the
core?

- Felix

Good point.
I only took a look at base packages.

Looking through th= e packages feed, there's keepalived , ibrcommon, kismet, bmon and aircr= ack-ng that depend on libnl.
Other feed= s don't have libnl deps.

=
I'll check if libnl is sufficient and if not= , implement your suggestion.

Thanks


Seems I'll have to= re-spin this patch.
There are a few things that need updatin= g on it. They came up once I did a full clean + rebuild.
I fo= rgot about the staging dir stuff that piles up and causes false-successes.<= br>

So,
- bmon requires libnl-route
= - aircrack-ng requires libnl-genl
- kismet i am not sure 100% ; ma= ybe libnl-genl ; I did not want to investigate much deeper
- ibrco= mmon requires libnl-genl and libnl-route
- keepalived requires lib= nl-genl

Hopefully I got most of this right.

Now, here's the bloat for libnl:
- 86856 Sep 22 14:0= 0 libnl-3.so.200.16.1
- 244304 Sep 22 14:00 libnl-route-3.so.200.16.1- 16096 Sep 22 14:00 libnl-genl-3.so.200.16.1
- Seems libnl-nf is not needed. That's around 80k.
- libnl-tiny is 30k

Maybe aircrack-ng and keepalived = could also work with [just] libnl-tiny, but that's another discussion.<= br>

I = need libnl-route for an upcoming new lldpd version, which will require libn= l-route.

The main reason I started this split, is because I need libnl-route,= and I am trying to minimise the bloat wherever I can.
I'll also see about pulling libnl-tiny out [in my case= ], since I'll be stuck with needing libnl anyway.

Anyway, moving forwar= d with the split:
1) Do I rename the libnl package to libnl-core and ma= ke libnl a metapackage that pulls in everything ? or
2) Do I leave this structure as is (with the fixes/updates I&= #39;ll add later) and update those packages to pull only the libfiles that = are needed ?
For 2), I'd of-course= need the approval/blessing of the package maintainers above.

From my point o= f view any of these 2 approaches is fine, because I can just pull whichever= libnl-xxx package I need.

Thanks
Alex

--047d7b5d5c22b23b410520555535-- --===============4020578527749874754== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel --===============4020578527749874754==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: staging tree, only the files that are needed at runtime on the target system are bundled in a package (.ipk file). Files needed to build other packages (e.g. include files and/or libraries, in case of a library package) are not bundled in some kind of "devel" package, like in some other packaging/build systems, but have to be used directly from the staging tree. Is this correct? This means that, in order to compile a package X (either a new package or an update of an existing package), all the build dependencies of X (say Y and Z) first have to be compiled (and thus will be installed in the staging tree), so that the X finds the necessary files of Y and Z during its compilation. Wouldn't it be a better idea to bundle all files of a package (if any) needed to build other packages in some extra "devel" package, that will be (automatically) installed in (a copy of) the staging tree when needed (i.e. when listed as build depedency)? In that case there is no need to recompile any dependency packages, which may also cause differences in the resulting binaries, due to the exact contents of the staging tree, the used build tools/environment etc. Due to the cross-compile environment, it is a more difficult problem than the mock/chroot solution in the rpm-world, but even this could maybe be covered by providing something like a Docker SDK container? I'm interested in the opinions of the OpenWRT developers about this. Regards, -- -- Jos Vos -- X/OS Experts in Open Systems BV | Phone: +31 20 6938364 -- Amsterdam, The Netherlands | Fax: +31 20 6948204 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: patch to allow building with musl. Signed-off-by: Pushpal Sidhu --- package/utils/gpsd/Makefile | 144 +++++++++++++++++++++ package/utils/gpsd/files/gpsd.config | 5 + package/utils/gpsd/files/gpsd.hotplug | 16 +++ package/utils/gpsd/files/gpsd.init | 32 +++++ .../utils/gpsd/patches/0001-Remove-a-BSD-ism.patch | 42 ++++++ 5 files changed, 239 insertions(+) create mode 100644 package/utils/gpsd/Makefile create mode 100644 package/utils/gpsd/files/gpsd.config create mode 100644 package/utils/gpsd/files/gpsd.hotplug create mode 100644 package/utils/gpsd/files/gpsd.init create mode 100644 package/utils/gpsd/patches/0001-Remove-a-BSD-ism.patch diff --git a/package/utils/gpsd/Makefile b/package/utils/gpsd/Makefile new file mode 100644 index 0000000..df67cf8 --- /dev/null +++ b/package/utils/gpsd/Makefile @@ -0,0 +1,144 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=gpsd +PKG_VERSION:=3.15 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://download-mirror.savannah.gnu.org/releases/gpsd/ +PKG_MD5SUM:=afd79b87337fadf38ee2a7c4314dac79 + +PKG_MAINTAINER:=Pushpal Sidhu +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=COPYING + +PKG_BUILD_DEPENDS:=libncurses libusb-1.0 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/scons.mk + +define Package/gpsd/Default + DEPENDS:=+librt +libncurses + URL:=http://catb.org/gpsd/ +endef + +define Package/gpsd/Default/description + gpsd is a userland daemon acting as a translator between GPS and AIS receivers + and their clients. gpsd listens on port 2947 for clients requesting + position/time/velocity information. The receivers are expected to generate + position information in a well-known format -- as NMEA-0183 sentences, SiRF + binary, Rockwell binary, Garmin binary format, or other vendor binary + protocols. gpsd takes this information from the GPS and translates it into + something uniform and easier to understand for clients. +endef + +define Package/gpsd + $(call Package/gpsd/Default) + SECTION:=net + CATEGORY:=Network + DEPENDS+= +libgps +libusb-1.0 + TITLE:=An interface daemon for GPS receivers +endef + +define Package/gpsd/conffiles +/etc/config/gpsd +endef + +define Package/gpsd/description + $(call Package/gpsd/Default/description) + This package contains the GPS daemon. +endef + +define Package/gpsd-clients + $(call Package/gpsd/Default) + SECTION:=net + CATEGORY:=Network + DEPENDS+= +libgps +libncurses +libusb-1.0 + TITLE:=GPS tools and clients +endef + +define Package/gpsd-clients/description + $(call Package/gpsd/Default/description) + This package contains auxiliary tools and example clients for monitoring and + testing the GPS daemon. +endef + +define Package/libgps + $(call Package/gpsd/Default) + SECTION:=libs + CATEGORY:=Libraries + DEPENDS+= +libcap + TITLE:=C service library for communicating with the GPS daemon +endef + +define Package/libgps/description + $(call Package/gpsd/Default/description) + This package contains the libgps library. +endef + +SCONS_OPTIONS += \ + dbus_export=no \ + tsip=no \ + fv18=no \ + tripmate=no \ + earthmate=no \ + itrax=no \ + navcom=no \ + ubx=no \ + evermore=no \ + ntrip=no \ + libgpsmm=no \ + libQgpsmm=no \ + bluez=no \ + strip=no \ + python=no \ + implicit_link=no \ + chrpath=no + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/gps.h $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgps*.so* $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgps*.pc \ + $(1)/usr/lib/pkgconfig/ +endef + +define Package/gpsd/install + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./files/gpsd.config $(1)/etc/config/gpsd + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/gpsd.init $(1)/etc/init.d/gpsd + $(INSTALL_DIR) $(1)/etc/hotplug.d/usb + $(INSTALL_DATA) ./files/gpsd.hotplug $(1)/etc/hotplug.d/usb/20-gpsd + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/gpsd $(1)/usr/sbin/ +endef + +define Package/gpsd-clients/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) \ + $(PKG_INSTALL_DIR)/usr/bin/cgps \ + $(PKG_INSTALL_DIR)/usr/bin/gps{ctl,decode,mon,pipe} \ + $(PKG_INSTALL_DIR)/usr/bin/gpxlogger \ + $(PKG_INSTALL_DIR)/usr/bin/lcdgps \ + $(1)/usr/bin/ +endef + +define Package/libgps/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgps.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,gpsd)) +$(eval $(call BuildPackage,gpsd-clients)) +$(eval $(call BuildPackage,libgps)) diff --git a/package/utils/gpsd/files/gpsd.config b/package/utils/gpsd/files/gpsd.config new file mode 100644 index 0000000..ef19202 --- /dev/null +++ b/package/utils/gpsd/files/gpsd.config @@ -0,0 +1,5 @@ +config gpsd core + option device "/dev/ttyUSB0" + option port "2947" + option listen_globally "false" + option enabled "true" diff --git a/package/utils/gpsd/files/gpsd.hotplug b/package/utils/gpsd/files/gpsd.hotplug new file mode 100644 index 0000000..fc15dda --- /dev/null +++ b/package/utils/gpsd/files/gpsd.hotplug @@ -0,0 +1,16 @@ +case "$ACTION" in + add) + # start process + # only pl2303 devices are handled + if [ "$PRODUCT" = "67b/2303/300" ] && [ "$TYPE" = "0/0/0" ] && [ "$INTERFACE" = "255/0/0" ]; then + sleep 3 && /etc/init.d/gpsd start + fi + ;; + remove) + # stop process + # only pl2303 devices are handled + if [ "$PRODUCT" = "67b/2303/300" ] && [ "$TYPE" = "0/0/0" ] && [ "$INTERFACE" = "255/0/0" ]; then + /etc/init.d/gpsd stop + fi + ;; +esac diff --git a/package/utils/gpsd/files/gpsd.init b/package/utils/gpsd/files/gpsd.init new file mode 100644 index 0000000..96cee78 --- /dev/null +++ b/package/utils/gpsd/files/gpsd.init @@ -0,0 +1,32 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2009-2011 OpenWrt.org +START=50 + +NAME=gpsd +PIDF=/var/run/$NAME.pid +PROG=/usr/sbin/$NAME + +start() { + config_load gpsd + config_get device core device + config_get port core port + config_get_bool listen_globally core listen_globally + config_get_bool enabled core enabled + [ "$enabled" != "1" ] && exit + logger -t "$NAME" "Starting..." + [ ! -c "$device" ] && { + logger -t "$NAME" "Unable to find device $device. Exiting." + exit 1 + } + [ "$listen_globally" != "0" ] && append args "-G" + $PROG -n -P $PIDF -S $port $args $device +} + +stop() { + logger -t "$NAME" "Stopping..." + [ -f "$PIDF" ] && { + read PID < "$PIDF" + kill -9 $PID + rm $PIDF + } +} diff --git a/package/utils/gpsd/patches/0001-Remove-a-BSD-ism.patch b/package/utils/gpsd/patches/0001-Remove-a-BSD-ism.patch new file mode 100644 index 0000000..55004ab --- /dev/null +++ b/package/utils/gpsd/patches/0001-Remove-a-BSD-ism.patch @@ -0,0 +1,42 @@ +From 95c99f69e026e8c57aecba545e51c97f3b284e75 Mon Sep 17 00:00:00 2001 +From: "Gary E. Miller" +Date: Tue, 23 Jun 2015 14:36:26 -0700 +Subject: [PATCH] Remove a BSD-ism. + +CTRL('L') is a BSD-ism. CTRL() is defined in sys/ttydefaults.h +which does not always exist. Instead of adding scons tests for +needing CTRL() and its include files just replace with a simple +constant. + +Needed for musl and found by Baruch Siach +--- + gpsmon.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/gpsmon.c b/gpsmon.c +index c3001c8..58c8300 100644 +--- a/gpsmon.c ++++ b/gpsmon.c +@@ -583,6 +583,9 @@ static void select_packet_monitor(struct gps_device_t *device) + (void)wnoutrefresh(devicewin); + } + ++/* Control-L character */ ++#define CTRL_L 0x0C ++ + static char *curses_get_command(void) + /* char-by-char nonblocking input, return accumulated command line on \n */ + { +@@ -591,7 +594,8 @@ static char *curses_get_command(void) + int c; + + c = wgetch(cmdwin); +- if (c == CTRL('L')) { ++ if (CTRL_L == c) { ++ /* ^L is to repaint the screen */ + (void)clearok(stdscr, true); + if (active != NULL && (*active)->initialize != NULL) + (void)(*active)->initialize(); +-- +2.6.0 + -- 2.6.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: function. From "proto_send_update" function we are calling "_proto_notify" which intern calls below ubus call. ubus -S call network.interface notify_proto { "action": 6, "host": "192.168.11.5", "ifname": "wan1", "interface": "gre1" }: Jan 5 10:50:46 RV340 netif: SRI:ubus call network.interface notify_proto { "action": 0, "ifname": "gre-gre1", "link_up": true, "tunnel": { "mode": "greip", "mtu": 1280, "df": true, "ttl": 64, "local": "172.31.3.8", "remote": "192.168.11.5", "link": "wan1", "info": "0,0,0,0,0,0" }, "data": { "zone": "tunnel" }, "keep": false, "interface": "gre1" } But above command is returning with "Invalid argument error". This error is being thrown from netifd from function "proto_shell_update_link". In this function "if (!tb[NOTIFY_LINK_UP])" statement becomes true and "UBUS_STATUS_INVALID_ARGUMENT" is being returned. I tried to understand the "tb" structure, but could not understand the json to "json_object" conversion. Could you please help how to debug this further. I think, I am missing some thing in config (as u suggest in previous mail) and debugging from the code to find it out. I tried multiple examples available over net, but nothing worked out for me. Can you please review my config once again. Thanks for your help. Regards, Sridhar On Thu, Nov 19, 2015 at 7:06 PM, Steven Barth wrote: > You are most likely missing a route to the remote tunnel endpoint > (192.168.11.5). > The system doesn't know which interface and next hop to send the tunneled > packets to, thats why its blocking the tunnel bringup. > > > Cheers, > > Steven > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > --001a11c1295ea307320524f39711 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Steven,

Thank you so much f= or your valuable info. I have missed this route and struggled more than a w= eek. Very grateful for your suggestion.
With the added route = I am able to proceed further. But still stuck in below point.

=
From gre.sh, we are calling "proto_send_update" in the inter= face setup function. From "proto_send_update" function we are cal= ling "_proto_notify" which intern calls below ubus call.

u= bus -S call network.interface notify_proto { "action": 6, "h= ost": "192.168.11.5", "ifname": "wan1", = "interface": "gre1" }:
Jan=C2=A0 5 10:50:46 RV340 ne= tif: SRI:ubus=C2=A0 call network.interface notify_proto { "action"= ;: 0, "ifname": "gre-gre1", "link_up": true, = "tunnel": { "mode": "greip", "mtu":= 1280, "df": true, "ttl": 64, "local": "= 172.31.3.8", "remote": "192.168.11.5", "link&= quot;: "wan1", "info": "0,0,0,0,0,0" }, "= ;data": { "zone": "tunnel" }, "keep": fa= lse, "interface": "gre1" }

But above = command is returning with "Invalid argument error". This error is= being thrown from netifd from function "proto_shell_update_link"= . In this function "if (!tb[NOTIFY_LINK_UP])" statement becomes t= rue and "UBUS_STATUS_INVALID_ARGUMENT" is being returned.

=
I tried to understand the "tb" structure, but could no= t understand the json to "json_object" conversion. Could you plea= se help how to debug this further.

I think, I = am missing some thing in config (as u suggest in previous mail) and debuggi= ng from the code to find it out. I tried multiple examples available over n= et, but nothing worked out for me. Can you please review my config once aga= in.

Thanks for your help.

Regards,
= Sridhar

= On Thu, Nov 19, 2015 at 7:06 PM, Steven Barth <cyrus at openwrt.org> wrote:
You are most likely missing = a route to the remote tunnel endpoint (192.168.11.5).
The system doesn't know which interface and next hop to send the tunnel= ed packets to, thats why its blocking the tunnel bringup.


Cheers,

Steven
_______________________________________________
openwrt-devel mailing list
openwr= t-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/ma= ilman/listinfo/openwrt-devel

--001a11c1295ea307320524f39711-- --===============3641716729878523015== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel --===============3641716729878523015==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: variant sounds more attractive, as the hardware is marked as such and an openwrt release with a matching name would be less confusing. Regards, Andre [0] https://lists.openwrt.org/pipermail/openwrt-devel/2015-November/037470.html _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: Sincerely On 30/11/15 17:40, Joshua Judson Rosen wrote: > On 2015-10-13 07:22, Emmanuel Deloget wrote: >> Hello, >> >> On Tue, Oct 13, 2015 at 1:04 PM, Nemesis wrote: >>> >>> As far as I remember, there's no initiative going on, but the issue was brought up at the summit by different speakers. >>> >>> There was also a quick poll: >>> >>> 1. Kathy Giori asked the attendees to raise their hand if they backed the idea of an OpenWRT foundation >>> I would say half of the presents raised their hands (I did not because I'm not involved so much in OpenWRT and I don't feel entitled to take sides) >>> >>> 2. Kathy asked the attendees to raise their hand if they opposed the idea of an OpenWRT foundation >>> I think there were almost no raised hands or not at all >> >> Wouldn't it be easier if the project is adopted by an umbrella >> organization? There should be one that could be interested in managing >> the pitfalls and dirty bits of the organization, allowing the >> developers to spend their time on the project itself - and not on the >> maintenance of a foundation. > > There are in fact multiple such umbrella orgs available; the first > few that leap to mind are: > > * Software in the Public Interest > * Apache Software Foundation > * Free Software Foundation > > I'm sure there are others that I'm missing, but I'd guess > at least one of those would be a reasonable partner org. > -- Gregers Petersen Relationship manager, layer 8 and anthropology glp on irc _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- CHAOS CALMER (bleeding edge) ----------------------------------------------------- * 1 1/2 oz Gin Shake with a glassful * 1/4 oz Triple Sec of broken ice and pour * 3/4 oz Lime Juice unstrained into a goblet. * 1 1/2 oz Orange Juice * 1 tsp. Grenadine Syrup ----------------------------------------------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: I was under impression that this is only a matter of where init scripts were moved. BTW I should have named that patch v3, because v2 was sitting in patchwork for about 2 weeks already. And since "real" v2 patch does work, see http://patchwork.ozlabs.org/patch/548641/ (which is tested many times as of today) I floated "v3" right after rebase of my local repo. Any thoughts how I may setup a bridge on eth0 in init scripts in board.d? -Alexey _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: renaming the leds. but I'm sure you have a better general view than I. I'm fine to skip this patch of the series and fix the DSL led of the affected boards after renaming the leds. I totally agree with you, that the led naming is suboptimal. I'm currently working on adding support for systems which are using three leds for boot state indication. I had to rewrite the whole diag.sh, with the benefit that we can get rid of the static power[0-2] naming as well. With having led names like power[0-2] without any indication which colour the led has, it's a mess to ensure that I don't break existing power led setups. Am I right that you are talking about a naming scheme like "devicename:colour:function" as it's suggested by https://www.kernel.org/doc/Documentation/leds/leds-class.txt? Are there any known limitations for the led node names, which are available at /sys/class/leds/*/device/of_node/? Maybe we can use node names according to the intended (OpenWrt) use and prevent bloating the board.d led file this way after switching to the devicename:colour:function naming. Are you working on renaming the leds or are you wait for patches? _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: >> >> The default network config was provided by package/base-files, not >> malta target... > > You can easily override it, no need to modify defaults. > So I thought I might have missed something, and was wondering why malta and to this moment why still no bug reports for other targets like ar71xx, the default network config provided by package/base-files should have prevented the board.d mechanism from generating board-specific network config for all of them. Well, looks like malta misses a base-files.mk to rm the default network config. yousong _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: be the sane combinations possible: EAP-FAST EAP-PEAP EAP-TTLS CHAP Y ! MSCHAP Y ! MSCHAPv2 Y PAP Y !!! EAP-AKA Y Y Y EAP-GTC Y Y Y EAP-MD5 Y ? EAP-MSCHAPv2 Y Y Y EAP-TLS Y Some of the legacy phase2-methods available should really only be used if the TLS certificate is verified properly, as they could otherwise easily be exploited (at least those marked by at least one '!'). Obviously, this becomes even more of a problem on clients without an RTC... Anyway, as the overall security of WPA(2)-EAP heavily depends on the choice of phase1 and phase2 methods, I believe we should require users to specify the exact methods to be used. As setting up WPA-EAP has always been a bit tricky, guidelines (eg. for eduroam) usually explicitely mention the exact outer and inner authentication methods to be used on a certain network. I reckon it also makes sense to allow users to set eap_workaround=0 in order to enable more secure Strict EAP conformance mode at the cost of loosing interoperatibility with broken authentication servers. For EAP-FAST there's a need for two more configuration options exposed to the user: Whether or not to set phase1="fast_provisioning=1" and allow the user to set the location of pac_file (or upload). Once I get to actually play with and test EAP-FAST, I might come up with the needed additions to the netifd handler. It is true that it would be nice to allow the user to scan/probe all EAP parameters, ie. allow a single interactive connection attempt when clicking on a WPA-EAP-secured network in the scan results, and for that use a safe catch-all config as used in http://w1.fi/cgit/hostap/tree/tests/hwsim/test_ap_eap.py#n4112 Once connected, extract the exact methods used and the certificate presented (if any) and save the results. In that way, at least all follow-up connection would be as secure as the first connection was and MitM on the first connection attempt would at least leave traces. However, this seems a bit more complicated and is beyond the scope of what I wanted to solve for myself now... Cheers updated patch follows --- Signed-off-by: Daniel Golle --- package/network/services/hostapd/files/netifd.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/package/network/services/hostapd/files/netifd.sh b/package/network/services/hostapd/files/netifd.sh index 8056080..cedf5d5 100644 --- a/package/network/services/hostapd/files/netifd.sh +++ b/package/network/services/hostapd/files/netifd.sh @@ -633,10 +633,21 @@ wpa_supplicant_add_network() { append network_data "private_key=\"$priv_key\"" "$N$T" append network_data "private_key_passwd=\"$priv_key_pwd\"" "$N$T" ;; - peap|ttls) + fast|peap|ttls) json_get_vars auth password set_default auth MSCHAPV2 - append network_data "phase2=\"$auth\"" "$N$T" + phase2proto="auth=" + case "$auth" in + "auth"*) + phase2proto="" + ;; + "EAP-"*) + auth="$(echo $auth | cut -b 5- )" + [ "$eap_type" = "ttls" ] && + phase2proto="autheap=" + ;; + esac + append network_data "phase2=\"$phase2proto$auth\"" "$N$T" append network_data "password=\"$password\"" "$N$T" ;; esac -- 2.7.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: 15.05.1 planned for release? If so could it be possible to backport the trivial patch to add harddisk support for the malta platform? I tested it yesterday against latest update to CC 15.05 and it worked flawlessly. Commit info: 76bfcd46bd55263947461e40bd02047922755c72 Thnx in advance! - vin --001a113ebf54fb0f0c052a4ed4cb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Hi all,

From following the list in the past few weeks I believe ther= e may be a CC 15.05.1 planned for release?=C2=A0 If so could it be possible= to backport the trivial patch to add harddisk support for the malta platfo= rm?

I tested it yesterday against latest update to CC 15.05 and = it worked flawlessly.=C2=A0 Commit info: 76bfcd46bd55263947461e40bd02047922= 755c72

Thnx in advance!

- vin

--001a113ebf54fb0f0c052a4ed4cb-- --===============0833247016516225381== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel --===============0833247016516225381==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: specify CONFIG_CMDLINE directly in your config. If you think also, that we don't need this SetNfsCmdline macro, then you can just revert it yourself, right? :-) Thanks for heads up. 1. https://github.com/ynezz/openwrt/commit/fe3e0081b603de99dd0f0a71478b8f3a= 3a941728 -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: infra is having some issues with disks, and he says to expect "some down time". Some things seem to be available, but others (like the svn server) seem to be down. (Right now, I can access the main website, and the download site, at least for CC downloads..) On Sat, Feb 20, 2016 at 7:18 AM, wrote: > I need access to the server... > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: synflood_protect but I still see syn_flood in https://dev.openwrt.org/browser/trunk/package/network/config/firewall/files/ firewall.config. Does it mean we missed to update default value in firewall.config or documentation is going faster than code. Thanks, Naresh ------=_NextPart_000_0035_01D18B3E.A8376190 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

All,

 

From https://wiki.openwrt.o= rg/doc/uci/firewall, syn_flood is obsoleted by = synflood_protect  but I still see syn_flood in https://dev.openwrt.org/browser/trunk/package= /network/config/firewall/files/firewall.config. Does it mean we = missed to update default value in firewall.config or documentation is = going faster than code.

 

Thanks,

Naresh

------=_NextPart_000_0035_01D18B3E.A8376190-- --===============4492443672836265783== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kb3BlbndydC1k ZXZlbCBtYWlsaW5nIGxpc3QKb3BlbndydC1kZXZlbEBsaXN0cy5vcGVud3J0Lm9yZwpodHRwczov L2xpc3RzLm9wZW53cnQub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9vcGVud3J0LWRldmVs Cg== --===============4492443672836265783==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: Let's face it. The name OpenWRT reflects the initial idea, an Open Wireless Router. I don't know about the main uses, but I have a router using OpenWRT which doesn't even has a wireless interface. I also have seen cases where OpenWRT is used as a Virtual Machine. Is the project addressing your today's issues? I ask that question to the users. On 4 May 2016 at 10:00, Rick Pannen wrote: > The only thing that seems to improve from my perspective is normal git > pull requests instead of antiquated email patches. The name change and that > 90's style website will only confuse the users. > > > Am 04.05.2016 um 00:50 schrieb 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 at lists.openwrt.org > > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > -- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf at av.it.pt Skype & GTalk -> carlosmf.pt at gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira --001a114b0cda0b68dc053202a13c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
From times to times, a complete Refresh is needed to purge= old habits.

Let's face it. The name OpenWRT reflect= s the initial idea, an Open Wireless Router. I don't know about the mai= n uses, but I have a router using OpenWRT which doesn't even has a wire= less interface.=C2=A0
I also have seen cases where OpenWRT is use= d as a Virtual Machine.=C2=A0

Is the project addre= ssing your today's issues? I ask that question to the users.=C2=A0

On 4 May 2= 016 at 10:00, Rick Pannen <pannen at gmail.com> wrote:
The only thing that seems to improve from my persp= ective is normal git pull requests instead of antiquated email patches. The= name change and that 90's style website will only confuse the users.

> Am 04.05.2016 um 00:50 schrieb Roman Yeryomin <leroi.lists at gmail.com>:
>
>> On 3 May 2016 at 23:19, Bruno Randolf <br1 at einfach.org> wrote:
>>> On 03/05/16 18:59, Jo-Philipp Wich wrote:
>>> we'd like to introduce LEDE, a reboot of the OpenWrt commu= nity
>>> ...
>>> 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 th= is
>> list of supporters it sounds a bit ridiculous... who is left in th= e
>> 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<= br> > the listed problems? And why it's not possible to fix them inside<= br> > existing project?
>
>
> Regards,
> Roman
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists= .openwrt.org
> https://lists.openwrt.org/cgi-b= in/mailman/listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.open= wrt.org
https://lists.openwrt.org/cgi-bin/ma= ilman/listinfo/openwrt-devel



--
=

Carlos = Miguel Ferreira
Researcher at Telecommunications Institute
<= div>Aveiro - Portugal
Work E-mail - cmf at av.it.pt
Skype & GTalk -> carlosmf.pt@gmail.com
--001a114b0cda0b68dc053202a13c-- --===============9160916474966504531== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kb3BlbndydC1k ZXZlbCBtYWlsaW5nIGxpc3QKb3BlbndydC1kZXZlbEBsaXN0cy5vcGVud3J0Lm9yZwpodHRwczov L2xpc3RzLm9wZW53cnQub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9vcGVud3J0LWRldmVs Cg== --===============9160916474966504531==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: start talking to students that want to propose projects to freifunk. If you know students, point them to our Ideas page at https://wiki.freifunk.net/Ideas so they can get in touch with our mentors. The official Students Application period will start on March, 20. Then students can start submitting their applications. As a next step we???ll add the possible mentors to a mailing list. If you have any questions regarding GSoC, our ideas or as organization, please don???t hesitate to ask! Best regards, Andi ??? Andreas Br??u XMPP: andibraeu at jabber.weimarnetz.de Twitter:@evAltenberga Blog:https://blog.andi95.de PGP:0xB7E04818 --------------5AD86312BF170A0D66DB520A Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit Hi there,

today Google announced the organizations they choosed for GSoC 2017. I???m happy to tell you: Freifunk is again accepted as mentoring organization for Google Summer of Code together with 200 other OpenSource organizations! Our friends from OpenWISP.org got accepted, too! Thanks to all who helped making this application successful: those who collected all the ideas (this year we have really a lot of ideas!), those who talked to possible mentors and those who wrote the application texts.

From now on students can find us on the GSoC Website, and we should start talking to students that want to propose projects to freifunk. If you know students, point them to our Ideas page at??https://wiki.freifunk.net/Ideas so they can get in touch with our mentors.

The official Students Application period will start on March, 20. Then students can start submitting their applications.

As a next step we???ll add the possible mentors to a mailing list.

If you have any questions regarding GSoC, our ideas or as organization, please don???t hesitate to ask!

Best regards,

Andi

???
Andreas Br??u
PGP: 0xB7E04818

--------------5AD86312BF170A0D66DB520A-- --===============4016178898415551597== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kb3BlbndydC1k ZXZlbCBtYWlsaW5nIGxpc3QKb3BlbndydC1kZXZlbEBsaXN0cy5vcGVud3J0Lm9yZwpodHRwczov L2xpc3RzLm9wZW53cnQub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9vcGVud3J0LWRldmVs Cg== --===============4016178898415551597==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: sec). *a.* When preinit is called At *[ 3.780354] init: - preinit - *and before mounting file system at * [ 4.913811] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started, PID 104b.* When ubus daemon is called At* [ 5.828610] procd: - ubus - and *before init process is called at * [ 6.864240] procd: - init -*Attached debugs file for reference. The delay highlighted in above two locations can be reduced or not? -- Thanks & Regards, Arjav Parikh --089e082d016828a36a0569926ff7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

I want to reduce boot time in my product. I dis= abled all unnecessary modules/libraries and scripts which get load at boot = time.
After this my boot time is approx 9 sec. I still want to further r= educe it.

From debugs i identified 2 places where approx 1 sec is ut= ilized (total 2 sec).
a. When preinit is called At [=C2=A0=C2= =A0=C2=A0 3.780354] init: - preinit - and before mounting file system a= t [=C2=A0=C2=A0=C2=A0 4.913811] UBIFS (ubi0:2): background thread "= ubifs_bgt0_2" started, PID 104
b.
When ubus daemon is called At= [=C2=A0=C2=A0=C2=A0 5.828610] procd: - ubus - and before init proce= ss is called at [=C2=A0=C2=A0=C2=A0 6.864240] procd: - init -
Att= ached debugs file for reference.

The delay highlighted in above two = locations can be reduced or not?

--
Thanks & Regards,
Arj= av Parikh
--089e082d016828a36a0569926ff7-- --089e082d016828a36d0569926ff9 Content-Type: text/plain; charset="US-ASCII"; name="debugs_boot_time.txt" Content-Disposition: attachment; filename="debugs_boot_time.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jfv49ce60 WyAgICAzLjEwMTIxMl0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRyaXZlciB1c2IK WyAgICAzLjExMDE2M10gU0NTSSBzdWJzeXN0ZW0gaW5pdGlhbGl6ZWQKWyAgICAzLjExNjA1Ml0g ZHJfbW9kZT0gMiAgKGR3YzNfcHJvYmUpClsgICAgMy4xMTYxNTZdIGVuYWJsZSBVU0JfRFJfTU9E RV9QRVJJUEhFUkFMZHdjM19nYWRnZXRfaW5pdApbICAgIDMuMzc0NTgwXSBkcl9tb2RlPSAyICAo ZHdjM19wcm9iZSllbmFibGUgVVNCX0RSX01PREVfUEVSSVBIRVJBTApbICAgIDMuNjI0NzU2XSBk d2MzX2dhZGdldF9pbml0WyAgICAzLjYyOTc3MV0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50 ZXJmYWNlIGRyaXZlciB1c2Itc3RvcmFnZQpbICAgIDMuNzgwMzU0XSBpbml0OiAtIHByZWluaXQg LQpQcmVzcyB0aGUgW2ZdIGtleSBhbmQgaGl0IFtlbnRlcl0gdG8gZW50ZXIgZmFpbHNhZmUgbW9k ZQpQcmVzcyB0aGUgWzFdLCBbMl0sIFszXSBvciBbNF0ga2V5IGFuZCBoaXQgW2VudGVyXSB0byBz ZWxlY3QgdGhlIGRlYnVnIGxldmVsCkJlZm9yZSBtb3VudF9yb290ClsgICAgNC45MTM4MTFdIFVC SUZTICh1YmkwOjIpOiBiYWNrZ3JvdW5kIHRocmVhZCAidWJpZnNfYmd0MF8yIiBzdGFydGVkLCBQ SUQgMTA0ClsgICAgNC45NzA3MjddIFVCSUZTICh1YmkwOjIpOiByZWNvdmVyeSBuZWVkZWQKWyAg ICA1LjEzNjQ3NF0gVUJJRlMgKHViaTA6Mik6IHJlY292ZXJ5IGNvbXBsZXRlZApbICAgIDUuMTM2 NTU0XSBVQklGUyAodWJpMDoyKTogVUJJRlM6IG1vdW50ZWQgVUJJIGRldmljZSAwLCB2b2x1bWUg MiwgbmFtZSAicm9vdGZzX2RhdGEiClsgICAgNS4xMzk4MDZdIFVCSUZTICh1YmkwOjIpOiBMRUIg c2l6ZTogMTI2OTc2IGJ5dGVzICgxMjQgS2lCKSwgbWluLi9tYXguIEkvTyB1bml0IHNpemVzOiAy MDQ4IGJ5dGVzLzIwNDggYnl0ZXMKWyAgICA1LjE0Nzc2Ml0gVUJJRlMgKHViaTA6Mik6IEZTIHNp emU6IDU3NTIwMTI4IGJ5dGVzICg1NCBNaUIsIDQ1MyBMRUJzKSwgam91cm5hbCBzaXplIDI5MjA0 NDggYnl0ZXMgKDIgTWlCLCAyMyBMRUJzKQpbICAgIDUuMTU3NjYwXSBVQklGUyAodWJpMDoyKTog cmVzZXJ2ZWQgZm9yIHJvb3Q6IDI3MTY4MTcgYnl0ZXMgKDI2NTMgS2lCKQpbICAgIDUuMTY3OTE1 XSBVQklGUyAodWJpMDoyKTogbWVkaWEgZm9ybWF0OiB3NC9yMCAobGF0ZXN0IGlzIHc0L3IwKSwg VVVJRCAyREEzRUIwMi0xQ0VDLTRFOTctQkQxNS1GQTdGODgwNkU5QTUsIHNtYWxsIExQVCBtb2Rl bApbICAgIDUuMTc2NzM0XSBtb3VudF9yb290OiBzd2l0Y2hpbmcgdG8gamZmczIgb3ZlcmxheQpB ZnRlciBtb3VudF9yb290Ci9ldGMvcHJlaW5pdDogbGluZSAxOiBhd2s6IG5vdCBmb3VuZApbICAg IDUuMjA2OTc2XSBwcm9jZDogLSBlYXJseSAtClsgICAgNS4yMDcwNDhdIHByb2NkOiAtIHdhdGNo ZG9nIC0KWyAgICA1LjgyODYxMF0gcHJvY2Q6IC0gdWJ1cyAtClsgICAgNi44NjQyNDBdIHByb2Nk OiAtIGluaXQgLQpQbGVhc2UgcHJlc3MgRW50ZXIgdG8gYWN0aXZhdGUgdGhpcyBjb25zb2xlLgo= --089e082d016828a36d0569926ff9 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kb3BlbndydC1k ZXZlbCBtYWlsaW5nIGxpc3QKb3BlbndydC1kZXZlbEBsaXN0cy5vcGVud3J0Lm9yZwpodHRwczov L2xpc3RzLm9wZW53cnQub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9vcGVud3J0LWRldmVs Cg== --089e082d016828a36d0569926ff9-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: ec).
*a.* When preinit is called At *[=C2=A0=C2=A0=C2=A0 3.780354] init: - prein= it - *and before mounting file system at*[ 4.913811] UBIFS (ubi0:2): backgr= ound thread "ubifs_bgt0_2" started, PID 104
b.* When ubus daemon is called At*[=C2=A0=C2=A0=C2=A0 5.828610] procd: - ub= us - and *before init process is called at*[ 6.864240] procd: - init -
*Attached debugs file for reference.

The delay highlighted in above two locations can be reduced or not?

--
Thanks & Regards,
Arjav Parikh


_______________________________________________
openwrt-devel mailing list
openwr= t-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-b= in/mailman/listinfo/openwrt-devel




--
Thanks & Re= gards,
Arjav Parikh
--001a114027b8a632b605699f2ac2-- --===============8536247730445356245== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kb3BlbndydC1k ZXZlbCBtYWlsaW5nIGxpc3QKb3BlbndydC1kZXZlbEBsaXN0cy5vcGVud3J0Lm9yZwpodHRwczov L2xpc3RzLm9wZW53cnQub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9vcGVud3J0LWRldmVs Cg== --===============8536247730445356245==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: https://github.com/openwrt/archive/commit/5e76bea8b4d45b87ea237bc19bcf8a2ac2ce9a42 Sadly, there's no explanation in the commit message. I guess it was a different time back then. Anyway, I can tell from my previous post, that the issue can fixed in the same way (i.e. adding CONFIG_REGMAP=y to the sata/config-default and a revert of the kmod-regmap patch). > This is a bit tricky to solve. We can't just generally stub out the > regmap stuff unless compiled in, as a lot of regulators depend on it. Right, it's becoming very tricky in OpenWrt patch context. In vanilla linux it's pretty straight forward, since it does not allow regmap to be a module. And I don't think upstream will be changing its stance on a regmap module. From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: critical part of many subsystems that "you want anyway (tm)". Which is sort of true too, but more to this later. > A proper fix is likely a bit more work (as usual). This begs the question if a proper fix for a hack makes sense or not. It's definitely easier to follow kirkwood target and just add the CONFIG_REGMAP=y to the config of apm821xx/sata and revert the kmod-regmap patch. >> diff --git a/target/linux/generic/hack-4.14/259-regmap_dynamic.patch b/target/linux/generic/hack-4.14/259-regmap_dynamic.patch >> index 1c6e78df30..35803c3181 100644 >> --- a/target/linux/generic/hack-4.14/259-regmap_dynamic.patch >> +++ b/target/linux/generic/hack-4.14/259-regmap_dynamic.patch >> @@ -96,6 +97,15 @@ Signed-off-by: Felix Fietkau >> postcore_initcall(regmap_initcall); >> + >> +MODULE_LICENSE("GPL"); >> +--- a/drivers/regulator/Kconfig >> ++++ b/drivers/regulator/Kconfig >> +@@ -1,5 +1,6 @@ >> + menuconfig REGULATOR >> + bool "Voltage and Current Regulator Support" >> ++ select REGMAP > > This will cause REGMAP to be included regardless if needed or not, but > would be acceptable (at least to me) as an interim build fix (most > targets using REGULATORs likely won't be part of the 4/32 gang > anyway). Yes exactly that is the idea. I did make that patch with ar71xx + tiny and ramips rt288x/rt305x in mind. The situation is a little bit different with ath79-tiny as its config-4.14 already sets: CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y And it inherits the CONFIG_REGMAP=y from the main ath79 config. If the REGMAP=y is only needed there because of the REGULATOR_FIXED_VOLTAGE (which does not need it), then it could make sense to extend the hack for this special case. In order to keep the kernel image as small as possible. (see below) > The correct fix is likely to > > a) add this REGMAP select to all REGULATOR drivers depending on/using > it (this can probably even be upstreamed) From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: the case. The drivers for the i2c jellybean regulator parts select REGMAP_I2C. The remaining regulators drivers are usually part of a SoC and have a indirect dependency/select to another symbol that selects REGMAP (these are mostly syscon/mfd symbols and CONFIG_SYSCON pulls in REGMAP_MMIO). So I guess this will only become a problem is regulator kmods are added. > b) (OpenWrt only) Change the usage in regulator/core.c and > regulator/helper.c to work like REGMAP is disabled if it is > build as a module. --- diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index dd037cf86c..7e18a21db3 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -718,7 +718,7 @@ define KernelPackage/regmap SUBMENU:=$(OTHER_MENU) TITLE:=Generic register map support DEPENDS:=+kmod-lib-lzo +kmod-i2c-core - KCONFIG:=CONFIG_REGMAP=y \ + KCONFIG:=CONFIG_REGMAP \ CONFIG_REGMAP_MMIO \ CONFIG_REGMAP_SPI \ CONFIG_REGMAP_I2C \ diff --git a/target/linux/generic/hack-4.14/259-regmap_dynamic.patch b/target/linux/generic/hack-4.14/259-regmap_dynamic.patch index 1c6e78df30..458b7c35a1 100644 --- a/target/linux/generic/hack-4.14/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-4.14/259-regmap_dynamic.patch @@ -103,7 +103,7 @@ Signed-off-by: Felix Fietkau }) -#ifdef CONFIG_REGMAP -+#if IS_ENABLED(CONFIG_REGMAP) ++#if IS_REACHABLE(CONFIG_REGMAP) enum regmap_endian { /* Unspecified -> 0 -> Backwards compatible default */ --- I think this should do just that. To quote IS_REACHABLE help text:" IS_REACHABLE(CONFIG_FOO) evaluates to 1 if the currently compiled code can call a function defined in code compiled based on CONFIG_FOO. This is similar to IS_ENABLED(), but returns false when invoked from built-in code when CONFIG_FOO is set to 'm'." and it should combine the best of both worlds. (And maybe make it possible to disable the REGMAP=y from ath79-tiny. Any testers?) > b) is to allow building REGMAP as =m even when REGULATOR is enabled, > if no REGMAP requiring REGULATOR driver is enabled. I was more thinking about detangling just the REGULATOR_FIXED_VOLTAGE driver from the REGULATOR framework. So it can be built without the regulator core and regmap. I did play around with #ifdefing but nah, this turns out to become a much bigger fragile hack, that nobody is going to maintain. Regards, Christian Regards, Christian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: (double check your board revision for the correct FDT, although naturally I've already made that mistake and all that it breaks is the radios, you can still telnet in and fix it without getting a chair and paperclip) Run thorough of exactly that: --snip-- eap1250/mgmt/fwgrade>fwup &/bin/ash Device reload firmware... Please wait and try to reconnect later. BusyBox v1.19.4 (2018-08-29 16:14:58 CST) built-in shell (ash) Enter 'help' for a list of built-in commands. ~ # Upgrade failed. ~ # id uid=0(root) gid=0(root) ~ # uname -a Linux EAP1250 3.14.43 #1 SMP PREEMPT Wed Aug 29 16:35:59 CST 2018 armv7l GNU/Linux Cheers, Michael Holstein CISSP moholstein(at)gmail(dot)com _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: 1. Associate with SKYLAP_AP 2. In a browser, load: http://10.10.10.254/ 3. Username/password: admin/admin 4. In web admin interface: Administration / Upload Firmware, browse to sysupgrade image, apply, flash will fail with a message: Not a valid firmware. *** Warning: "/var/tmpFW" has corrupted data! 5. Telnet to 10.10.10.254, drops you into a root shell with no credentials 6. # cd /var 7. # mtd_write -r write tmpFW mtd4 Unlocking mtd4 ... Writing from tmpFW to mtd4 ... [e] 8. When flash has completed, you will have booted into your firmware. From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: 1. Place openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin on a TFTP server 2. Connect to serial console at USB3 on EVB 3. Connect ethernet between port 1 (not WAN) and your TFTP server (e.g. 192.168.11.20) 4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC 5. Apply power to EVB 6. Interrupt u-boot with keypress of "1" 7. At u-boot prompts: Input device IP (10.10.10.123) ==:192.168.11.21 Input server IP (10.10.10.3) ==:192.168.11.20 Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin 8. Move ethernet to port 0 (WAN) on EVB 9. At new OpenWrt console shell, fetch squashfs-sysupgrade image and flash with sysupgrade. From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: 1. Place openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin on a TFTP server 2. Connect to serial console at USB3 on EVB (57600 8N1) 3. Connect ethernet between port 1 (not WAN) an your TFTP server (e.g. 192.168.11.20) 4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC 5. Apply power to EVB 6. Interrupt u-boot with keypress of "2" 7. At u-boot prompts: Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y Input device IP (10.10.10.123) ==:192.168.11.21 Input server IP (10.10.10.3) ==:192.168.11.20 Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin 8. When transfer is complete or as OpenWrt begins booting, move ethernet to port 0 (WAN). Signed-off-by: Russell Senior --- .../ramips/base-files/etc/board.d/01_leds | 3 + .../ramips/base-files/etc/board.d/02_network | 8 ++ target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/SKW92A.dts | 118 ++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 8 ++ 6 files changed, 141 insertions(+) create mode 100644 target/linux/ramips/dts/SKW92A.dts diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index 2644bc0159..825a65b1d1 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -283,6 +283,9 @@ rt-n14u) ucidef_set_led_netdev "wan" "wan" "$boardname:blue:wan" eth0.2 set_wifi_led "$boardname:blue:air" ;; +skw92a) + set_wifi_led "$boardname:green:wlan" + ;; tama,w06) ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0" ucidef_set_led_wlan "wlan" "WLAN" "$boardname:green:wlan" "phy0tpt" 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..ac9f368419 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -345,6 +345,10 @@ ramips_setup_interfaces() ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8 at eth0" ;; + skw92a) + ucidef_add_switch "switch0" \ + "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6 at eth0" + ;; tew-638apb-v2) ucidef_add_switch "switch0" \ "4:lan" "6 at eth0" @@ -554,6 +558,10 @@ ramips_setup_macs() lan_mac=$(macaddr_setbit_la "$lan_mac") wan_mac=$(mtd_get_mac_binary factory 32772) ;; + skw92a) + lan_mac=$(mtd_get_mac_binary factory 40) + wan_mac=$(mtd_get_mac_binary factory 46) + ;; tew-691gr) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3) ;; diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 5741cbd2ee..249533f06e 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -472,6 +472,9 @@ ramips_board_detect() { *"SAP-G3200U3") name="sap-g3200u3" ;; + *"SKW92A") + name="skw92a" + ;; *"SL-R7205"*) name="sl-r7205" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 7558b4e316..7fb17743cd 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -151,6 +151,7 @@ platform_check_image() { rut5xx|\ sap-g3200u3|\ sk-wb8|\ + skw92a|\ sl-r7205|\ tama,w06|\ tew-638apb-v2|\ diff --git a/target/linux/ramips/dts/SKW92A.dts b/target/linux/ramips/dts/SKW92A.dts new file mode 100644 index 0000000000..7bf9dcae53 --- /dev/null +++ b/target/linux/ramips/dts/SKW92A.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +#include "mt7628an.dtsi" + +#include +#include + +/{ + compatible = "skylab,skw92a", "mediatek,mt7628an-soc"; + model = "SKW92A"; + + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + memory at 0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + led_power: wps { + label = "skw92:green:wps"; + gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; + }; + }; + + gpio-keys { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + }; +}; + +&pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wdt", "refclk", "gpio"; + ralink,function = "gpio"; + }; + }; +}; + +ðernet { + mtd-mac-address = <&factory 0x28>; +}; + +&wmac { + status = "okay"; + ralink,mtd-eeprom = <&factory 0x0>; +}; + +&spi0 { + status = "okay"; + + m25p80 at 0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + m25p,chunked-io = <32>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition at 30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition at 40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition at 50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; +}; + +&uart1 { + status = "okay"; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index 16fbad2bbc..d02f70b4d4 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -150,6 +150,14 @@ define Device/pbr-d1 endef TARGET_DEVICES += pbr-d1 +define Device/skw92a + DTS := SKW92A + IMAGE_SIZE := 16064k + DEVICE_TITLE := Skylab SKW92A + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci +endef +TARGET_DEVICES += skw92a + define Device/tplink_tl-wa801nd-v5 $(Device/tplink) DTS := TL-WA801NDV5 -- 2.19.1 -- Russell Senior, President russell at personaltelco.net _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: apparently doesn't work for you for some reason. Are at least the MAC addresses correct? Don't know why the wifi interface wasn't autodetected. It seems like I might have something wrong in my DTS, maybe something is missing in the generic code somewhere. > What other data would be helpful? I would probably need to read the sources, add some debugging printfs and do a few (maybe a lot) reboots to find out where the problem is. I'll try to look at it more when I've some spare time, until then it will probably need someone more experienced with this platform (Lech?) to tell us what might be wrong here. -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: statement is "except via TFTP", is excluded from signed firmware check: ------------------------------------------------------------------------ 6.0.7 (XM/XW/TI) Changelog / September 8, 2017 ==== Important: airOS v6.0.7 will allow only signed firmware to be loaded. Signed versions of the following airOS versions are available: v5.6.15, v6.0.3, v6.0.4, v6.0.6 All future airOS versions will be signed in this way and not allow unsigned firmware to be loaded except via TFTP -------------------------------------------------------------------------- A user in our community used tftp to flash an image to this device: Ref: https://github.com/aredn/aredn_ar71xx/issues/233 /var/etc/board.info from BULLET M2 XW AIR OS v6.1.5 board.sysid=0xe2c4 board.cpurevision=0x00001122 board.name=Bullet M2 board.shortname=B2N Joe AE6XE _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: 1. Associate with SKYLAP_AP 2. In a browser, load: http://10.10.10.254/ 3. Username/password: admin/admin 4. In web admin interface: Administration / Upload Firmware, browse to sysupgrade image, apply, flash will fail with a message: Not a valid firmware. *** Warning: "/var/tmpFW" has corrupted data! 5. Telnet to 10.10.10.254, drops you into a root shell with no credentials 6. # cd /var 7. # mtd_write -r write tmpFW mtd4 Unlocking mtd4 ... Writing from tmpFW to mtd4 ... [e] 8. When flash has completed, you will have booted into your firmware. From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: 1. Place openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin on a TFTP server 2. Connect to serial console at USB3 on EVB 3. Connect ethernet between port 1 (not WAN) and your TFTP server (e.g. 192.168.11.20) 4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC 5. Apply power to EVB 6. Interrupt u-boot with keypress of "1" 7. At u-boot prompts: Input device IP (10.10.10.123) ==:192.168.11.21 Input server IP (10.10.10.3) ==:192.168.11.20 Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin 8. Move ethernet to port 0 (WAN) on EVB 9. At new OpenWrt console shell, fetch squashfs-sysupgrade image and flash with sysupgrade. From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: 1. Place openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin on a TFTP server 2. Connect to serial console at USB3 on EVB (57600 8N1) 3. Connect ethernet between port 1 (not WAN) an your TFTP server (e.g. 192.168.11.20) 4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC 5. Apply power to EVB 6. Interrupt u-boot with keypress of "2" 7. At u-boot prompts: Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y Input device IP (10.10.10.123) ==:192.168.11.21 Input server IP (10.10.10.3) ==:192.168.11.20 Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin 8. When transfer is complete or as OpenWrt begins booting, move ethernet to port 0 (WAN). Signed-off-by: Russell Senior --- .../ramips/base-files/etc/board.d/01_leds | 3 + .../ramips/base-files/etc/board.d/02_network | 8 ++ target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/SKW92A.dts | 120 ++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 8 ++ 6 files changed, 143 insertions(+) create mode 100644 target/linux/ramips/dts/SKW92A.dts diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index 2644bc0159..825a65b1d1 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -283,6 +283,9 @@ rt-n14u) ucidef_set_led_netdev "wan" "wan" "$boardname:blue:wan" eth0.2 set_wifi_led "$boardname:blue:air" ;; +skw92a) + set_wifi_led "$boardname:green:wlan" + ;; tama,w06) ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0" ucidef_set_led_wlan "wlan" "WLAN" "$boardname:green:wlan" "phy0tpt" 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..ac9f368419 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -345,6 +345,10 @@ ramips_setup_interfaces() ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8 at eth0" ;; + skw92a) + ucidef_add_switch "switch0" \ + "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6 at eth0" + ;; tew-638apb-v2) ucidef_add_switch "switch0" \ "4:lan" "6 at eth0" @@ -554,6 +558,10 @@ ramips_setup_macs() lan_mac=$(macaddr_setbit_la "$lan_mac") wan_mac=$(mtd_get_mac_binary factory 32772) ;; + skw92a) + lan_mac=$(mtd_get_mac_binary factory 40) + wan_mac=$(mtd_get_mac_binary factory 46) + ;; tew-691gr) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3) ;; diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 5741cbd2ee..249533f06e 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -472,6 +472,9 @@ ramips_board_detect() { *"SAP-G3200U3") name="sap-g3200u3" ;; + *"SKW92A") + name="skw92a" + ;; *"SL-R7205"*) name="sl-r7205" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 7558b4e316..7fb17743cd 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -151,6 +151,7 @@ platform_check_image() { rut5xx|\ sap-g3200u3|\ sk-wb8|\ + skw92a|\ sl-r7205|\ tama,w06|\ tew-638apb-v2|\ diff --git a/target/linux/ramips/dts/SKW92A.dts b/target/linux/ramips/dts/SKW92A.dts new file mode 100644 index 0000000000..c43f9e53ea --- /dev/null +++ b/target/linux/ramips/dts/SKW92A.dts @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7628an.dtsi" + +#include +#include + +/{ + compatible = "skylab,skw92a", "mediatek,mt7628an-soc"; + model = "SKW92A"; + + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + memory at 0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + led_power: wps { + label = "skw92:green:wps"; + gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; + }; + }; + + gpio-keys { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + }; +}; + +&pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wdt", "refclk", "gpio"; + ralink,function = "gpio"; + }; + }; +}; + +ðernet { + mtd-mac-address = <&factory 0x28>; +}; + +&wmac { + status = "okay"; + ralink,mtd-eeprom = <&factory 0x0>; +}; + +&spi0 { + status = "okay"; + + m25p80 at 0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + m25p,chunked-io = <32>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition at 30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition at 40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition at 50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + compatible = "denx,uimage"; + }; + }; + }; +}; + +&uart1 { + status = "okay"; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index 16fbad2bbc..d02f70b4d4 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -150,6 +150,14 @@ define Device/pbr-d1 endef TARGET_DEVICES += pbr-d1 +define Device/skw92a + DTS := SKW92A + IMAGE_SIZE := 16064k + DEVICE_TITLE := Skylab SKW92A + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci +endef +TARGET_DEVICES += skw92a + define Device/tplink_tl-wa801nd-v5 $(Device/tplink) DTS := TL-WA801NDV5 -- 2.19.1 -- Russell Senior, President russell at personaltelco.net _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: doesn't do anything. For example: pinctrl-0 =3D <&jtag_disable_pins>; // works pinctrl-1 =3D <&enable_gpio_11>; // nothing happens But pinctrl-0 =3D <&jtag_disable_pins &enable_gpio_11>; // both are applied - w= orks Kind regards, Seb _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: since it does not get used anywhere (unless you need append-ubi or do some padding in the image). mksquashfs for example uses a separate CONFIG_TARGET_SQUASHFS_BLOCK_SIZE value (which is usually 256 KiB or more) due to: |https://github.com/Othernet-Project/squashfs-tools/blob/master/README#L350 | |There are a large number of options that can be used to control the |compression in mksquashfs. By and large the defaults are the most |optimum settings and should only be changed in exceptional circumstances! |Note, this does not apply to the block size, increasing the block size |from the default of 128Kbytes will increase compression (especially |for the xz compressor) and should increase I/O performance too. However, |a block size of greater than 128Kbytes may increase latency in certain |cases (where the filesystem contains lots of fragments, and no locality |of reference is observed). For this reason the block size default is |configured to the less optimal 128Kbytes. Users should experiment |with 256Kbyte sizes or above. I've also stumpled at this in the past with the RT-AC58U and MR33 and I left the BLOCKSIZE at what was in the NAND's datasheet. That said, it's OK either way. > + PAGESIZE := 2048 > + DEVICE_TITLE := ASUS Lyra MAP-AC2200 > + IMAGES := sysupgrade.bin > + DEVICE_PACKAGES := ipq-wifi-map-ac2200 ath10k-firmware-qca9888-ct kmod-ath3k > +endef > +TARGET_DEVICES += asus_map-ac2200 > + > define Device/asus_rt-ac58u > $(call Device/FitImageLzma) > DEVICE_DTS := qcom-ipq4018-rt-ac58u > diff --git a/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch b/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch > index 46c34038d6..1ec1361da6 100644 > --- a/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch > +++ b/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch > @@ -10,7 +10,7 @@ Signed-off-by: John Crispin > > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > -@@ -697,7 +697,21 @@ dtb-$(CONFIG_ARCH_QCOM) += \ > +@@ -697,7 +697,22 @@ dtb-$(CONFIG_ARCH_QCOM) += \ > qcom-apq8074-dragonboard.dtb \ > qcom-apq8084-ifc6540.dtb \ > qcom-apq8084-mtp.dtb \ > @@ -26,6 +26,7 @@ Signed-off-by: John Crispin > qcom-ipq4019-ap.dk01.1-c1.dtb \ > + qcom-ipq4019-a62.dtb \ > + qcom-ipq4019-ap.dk04.1-c1.dtb \ > ++ qcom-ipq4019-map-ac2200.dtb \ > + qcom-ipq4028-wpj428.dtb \ > + qcom-ipq4029-gl-b1300.dtb \ > + qcom-ipq4029-mr33.dtb \ > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: "If you add support for new hardware: Include in your commit message a short description of the hardware and how to install OpenWrt on it. Have a look at the recent additions for some examples." > + IMAGES += sysupgrade.bin u-boot-with-spl.bin > + IMAGE/u-boot-with-spl.bin := sunxi-uboot | check-size 896k Please use ARTIFACTS[1] for u-boot-with-spl.bin image. 1. https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=493c9a35516c27a8ec412d97e63c8cf6f41a57ea -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: time dd if=/dev/mtdblock3 of=/dev/null bs=64k from 41.78s to 16.61s Signed-off-by: Rosen Penev --- target/linux/ramips/dts/GB-PC2.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/dts/GB-PC2.dts b/target/linux/ramips/dts/GB-PC2.dts index 788d4e6c08..f951083b8f 100644 --- a/target/linux/ramips/dts/GB-PC2.dts +++ b/target/linux/ramips/dts/GB-PC2.dts @@ -81,7 +81,7 @@ m25p80 at 0 { compatible = "jedec,spi-nor"; reg = <0>; - spi-max-frequency = <10000000>; + spi-max-frequency = <50000000>; partitions { compatible = "fixed-partitions"; -- 2.17.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: have enough "real-estate". Do you maybe have some bootlogs of your 7530 device around when it's doing the pcie initialization? (Having bootlogs of both the vendor and openwrt would be great, especially openwrt in both configurations: the current, failing one and the working one). Because the fix (bigger area) should definitely be sent upstream. As for adding the pcie node: please do. I think it's fine to have it, even if the driver for the VDSL chip isn't working. > >> DECT: Dialog SC14448 > >> currently not supported > > (hm, seems to be a spi? chip) > > It seems to be UART and PCM attached. At least the AVM Firmware smashes > the Firmware for the chip over the UART while booting. There is very > little information about the Chip available only. I assume it's AVM > proprietary so i didn't bother with it. Oh ok. "Good to know". I guess this would then also require I2S support... which is non-existent at the moment. > >> WiFi2: IPQ4019 2T2R 2SS b/g/n > >> WiFi5: IPQ4019 2T2R 2SS n/ac > >> LED: - Power/DSL green > >> - WLAN green > >> - FON/DECT green > >> - Connect/WPS green > >> - Info green > >> - Info red > >> BTN: - WLAN > >> - FON > >> - WPS/Connect > >> UART: 115200n8 3.3V (located under the Dialog chip) > >> VCC - RX - TX - GND (Square is VCC) > >> [...] > >> diff --git a/target/linux/ipq40xx/base-files/etc/board.d/01_leds b/target/linux/ipq40xx/base-files/etc/board.d/01_leds > >> index 9105bf2452..39383f4fa8 100755 > >> --- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds > >> +++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds > >> @@ -28,6 +28,7 @@ engenius,eap1300) > >> ucidef_set_led_wlan "wlan5g" "WLAN5G" "${boardname}:yellow:wlan5g" "phy1tpt" > >> ucidef_set_led_default "mesh" "MESH" "${boardname}:blue:mesh" "0" > >> ;; > >> +avm,fritzbox-7530 |\ > > With this addtion, you could just move the ucidef_set_led_wlan entry in front > > of engenius,eap1300 device. > > I would prefer the above solution to keep it target-consistent. K. Keep it as is then (just move it) > >> diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts > >> new file mode 100644 > >> index 0000000000..ea2d70a8bd > >> --- /dev/null > >> +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts > >> @@ -0,0 +1,281 @@ > >> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > >> + > >> +#include "qcom-ipq4019.dtsi" > >> +#include > >> +#include > >> +#include > >> + > >> +/ { I just remembered that the rng-node was missing in the soc-subnode. Robert Marko discovered this while porting the 4.19. We didn't add it for the 4.14 because the qcom rng driver only registers with a crypto_rng device. While this is still useful (stdrng), it is not a true random number generator. But nevertheless: can you please add: rng at 22000 { status = "okay"; }; to 4.19's dts? > >> diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile > >> index a670380ab3..ca5a453b47 100644 > >> --- a/target/linux/ipq40xx/image/Makefile > >> +++ b/target/linux/ipq40xx/image/Makefile > >> @@ -97,6 +97,15 @@ define Device/avm_fritzbox-4040 > >> endef > >> TARGET_DEVICES += avm_fritzbox-4040 > >> > >> +define Device/avm_fritzbox-7530 > >> + $(call Device/FitImageLzma) > >> + DEVICE_DTS := qcom-ipq4019-fritzbox-7530 > >> + DEVICE_TITLE := AVM Fritz!Box 7530 > >> + DEVICE_PACKAGES := fritz-caldata ipq-wifi-fritz7530 > > I remember seeing a fritz_tffs_nand_read utility: > > > > https://lists.openwrt.org/pipermail/openwrt-devel/2018-March/011501.html > > maybe it could be of use? > > Yeah, i've had a modified version working with this box. There is > another effort getting the tool into OpenWRT and i commented about the > issue i faced with the 7530. Let's see if this is going somewhere. > > https://github.com/openwrt/openwrt/pull/1766/files#r254196732 Oh, boy. Well, this is a bit of a pickle. But for other reasons than you might think... Thanks, Christian [0] _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: time dd if=/dev/mtdblock3 of=/dev/null bs=64k from 41.78s to 6.15s (with upstream SPI driver). Signed-off-by: Rosen Penev --- target/linux/ramips/dts/GB-PC2.dts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/linux/ramips/dts/GB-PC2.dts b/target/linux/ramips/dts/GB-PC2.dts index 32b6f9838f..dff1b3d5f7 100644 --- a/target/linux/ramips/dts/GB-PC2.dts +++ b/target/linux/ramips/dts/GB-PC2.dts @@ -81,7 +81,8 @@ m25p80 at 0 { compatible = "jedec,spi-nor"; reg = <0>; - spi-max-frequency = <10000000>; + spi-max-frequency = <80000000>; + m25p,fast-read; partitions { compatible = "fixed-partitions"; -- 2.17.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: ath10k_pci 0000:00:00.0: firmware ver 10.1-ct-8x-__fW-022-1bbfa151 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT crc32 66e0dff7 > Which version of the Archer C7? ar71xx, or ath79? It is the ath79. > Which version of the ath10k-related packages? Which package do you mean exactly? _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: This project provides a tool which compiles BCT (Boot Configuration Table) images to place into the boot flash of a Tegra-based device. The tool will either: a) Compile a textual representation of a BCT into a binary image. b) Generate an entire boot image from a previously compiled BCT and a bootloader binary. Signed-off-by: Tomasz Maciej Nowak --- tools/Makefile | 2 ++ tools/cbootimage/Makefile | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 tools/cbootimage/Makefile diff --git a/tools/Makefile b/tools/Makefile index f7ff2db361..182821e66d 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -38,6 +38,7 @@ tools-$(BUILD_B43_TOOLS) += b43-tools tools-$(BUILD_ISL) += isl tools-$(CONFIG_USE_SPARSE) += sparse tools-$(CONFIG_TARGET_apm821xx)$(CONFIG_TARGET_gemini) += genext2fs +tools-$(CONFIG_TARGET_tegra) += cbootimage # builddir dependencies $(curdir)/bison/compile := $(curdir)/flex/compile @@ -76,6 +77,7 @@ $(curdir)/zlib/compile := $(curdir)/cmake/compile $(curdir)/wrt350nv2-builder/compile := $(curdir)/zlib/compile $(curdir)/lzma-old/compile := $(curdir)/zlib/compile $(curdir)/make-ext4fs/compile := $(curdir)/zlib/compile +$(curdir)/cbootimage/compile += $(curdir)/autoconf/compile ifneq ($(HOST_OS),Linux) $(curdir)/squashfskit4/compile += $(curdir)/coreutils/compile diff --git a/tools/cbootimage/Makefile b/tools/cbootimage/Makefile new file mode 100644 index 0000000000..42640eab36 --- /dev/null +++ b/tools/cbootimage/Makefile @@ -0,0 +1,31 @@ +# +# Copyright (c) 2017-2019 Tomasz Maciej Nowak +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME := cbootimage +PKG_VERSION := 1.8 + +PKG_SOURCE_PROTO := git +PKG_SOURCE_URL := https://github.com/NVIDIA/cbootimage.git +PKG_SOURCE_VERSION := 7c9db585d06cce9efffa2a82245f233233680060 +PKG_MIRROR_HASH := 84d9abaaa3eddde05f506dc16effe1c9e18eb94727ed59c5e0a879baeb04e0b2 + +HOST_BUILD_PARALLEL := 1 + +include $(INCLUDE_DIR)/host-build.mk + +define Host/Configure + (cd $(HOST_BUILD_DIR); autoreconf --install --symlink) + $(call Host/Configure/Default) +endef + +define Host/Clean + rm -f $(STAGING_DIR_HOST)/bin/$(PKG_NAME) \ + $(STAGING_DIR_HOST)/share/man/man1/$(PKG_NAME).1 +endef + +$(eval $(call HostBuild)) -- 2.21.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: This project provides a tool which compiles BCT (Boot Configuration Table) images to place into the boot flash of a Tegra-based device. The tool will either: a) Compile a textual representation of a BCT into a binary image. b) Generate an entire boot image from a previously compiled BCT and a bootloader binary. Signed-off-by: Tomasz Maciej Nowak --- tools/Makefile | 2 ++ tools/cbootimage/Makefile | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 tools/cbootimage/Makefile diff --git a/tools/Makefile b/tools/Makefile index f7ff2db361..182821e66d 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -38,6 +38,7 @@ tools-$(BUILD_B43_TOOLS) += b43-tools tools-$(BUILD_ISL) += isl tools-$(CONFIG_USE_SPARSE) += sparse tools-$(CONFIG_TARGET_apm821xx)$(CONFIG_TARGET_gemini) += genext2fs +tools-$(CONFIG_TARGET_tegra) += cbootimage # builddir dependencies $(curdir)/bison/compile := $(curdir)/flex/compile @@ -76,6 +77,7 @@ $(curdir)/zlib/compile := $(curdir)/cmake/compile $(curdir)/wrt350nv2-builder/compile := $(curdir)/zlib/compile $(curdir)/lzma-old/compile := $(curdir)/zlib/compile $(curdir)/make-ext4fs/compile := $(curdir)/zlib/compile +$(curdir)/cbootimage/compile += $(curdir)/autoconf/compile ifneq ($(HOST_OS),Linux) $(curdir)/squashfskit4/compile += $(curdir)/coreutils/compile diff --git a/tools/cbootimage/Makefile b/tools/cbootimage/Makefile new file mode 100644 index 0000000000..42640eab36 --- /dev/null +++ b/tools/cbootimage/Makefile @@ -0,0 +1,31 @@ +# +# Copyright (c) 2017-2019 Tomasz Maciej Nowak +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME := cbootimage +PKG_VERSION := 1.8 + +PKG_SOURCE_PROTO := git +PKG_SOURCE_URL := https://github.com/NVIDIA/cbootimage.git +PKG_SOURCE_VERSION := 7c9db585d06cce9efffa2a82245f233233680060 +PKG_MIRROR_HASH := 84d9abaaa3eddde05f506dc16effe1c9e18eb94727ed59c5e0a879baeb04e0b2 + +HOST_BUILD_PARALLEL := 1 + +include $(INCLUDE_DIR)/host-build.mk + +define Host/Configure + (cd $(HOST_BUILD_DIR); autoreconf --install --symlink) + $(call Host/Configure/Default) +endef + +define Host/Clean + rm -f $(STAGING_DIR_HOST)/bin/$(PKG_NAME) \ + $(STAGING_DIR_HOST)/share/man/man1/$(PKG_NAME).1 +endef + +$(eval $(call HostBuild)) -- 2.21.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: brcm63xx HG556a [ 1.034043] random: fast init done [ 53.820705] random: crng init done From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: brcm63xx Livebox [ 1.037346] random: fast init done [ 53.974911] random: crng init done There's another reported issue with blocking getrandom on mvebu/armada38x (Turris Omnia) in FS#1979 as well, but it's missing both numbers, just the time for fast init: [ 7.125280] random: fast init done [ ??? ] random: crng init done (I don't have this number yet) I think, that in this case the entropy is being exhausted by unbound and thus preventing crng init forever. -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: This project provides a tool which compiles BCT (Boot Configuration Table) images to place into the boot flash of a Tegra-based device. The tool will either: a) Compile a textual representation of a BCT into a binary image. b) Generate an entire boot image from a previously compiled BCT and a bootloader binary. Signed-off-by: Tomasz Maciej Nowak --- tools/Makefile | 2 ++ tools/cbootimage/Makefile | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 tools/cbootimage/Makefile diff --git a/tools/Makefile b/tools/Makefile index f7ff2db361..182821e66d 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -38,6 +38,7 @@ tools-$(BUILD_B43_TOOLS) += b43-tools tools-$(BUILD_ISL) += isl tools-$(CONFIG_USE_SPARSE) += sparse tools-$(CONFIG_TARGET_apm821xx)$(CONFIG_TARGET_gemini) += genext2fs +tools-$(CONFIG_TARGET_tegra) += cbootimage # builddir dependencies $(curdir)/bison/compile := $(curdir)/flex/compile @@ -76,6 +77,7 @@ $(curdir)/zlib/compile := $(curdir)/cmake/compile $(curdir)/wrt350nv2-builder/compile := $(curdir)/zlib/compile $(curdir)/lzma-old/compile := $(curdir)/zlib/compile $(curdir)/make-ext4fs/compile := $(curdir)/zlib/compile +$(curdir)/cbootimage/compile += $(curdir)/autoconf/compile ifneq ($(HOST_OS),Linux) $(curdir)/squashfskit4/compile += $(curdir)/coreutils/compile diff --git a/tools/cbootimage/Makefile b/tools/cbootimage/Makefile new file mode 100644 index 0000000000..42640eab36 --- /dev/null +++ b/tools/cbootimage/Makefile @@ -0,0 +1,31 @@ +# +# Copyright (c) 2017-2019 Tomasz Maciej Nowak +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME := cbootimage +PKG_VERSION := 1.8 + +PKG_SOURCE_PROTO := git +PKG_SOURCE_URL := https://github.com/NVIDIA/cbootimage.git +PKG_SOURCE_VERSION := 7c9db585d06cce9efffa2a82245f233233680060 +PKG_MIRROR_HASH := 84d9abaaa3eddde05f506dc16effe1c9e18eb94727ed59c5e0a879baeb04e0b2 + +HOST_BUILD_PARALLEL := 1 + +include $(INCLUDE_DIR)/host-build.mk + +define Host/Configure + (cd $(HOST_BUILD_DIR); autoreconf --install --symlink) + $(call Host/Configure/Default) +endef + +define Host/Clean + rm -f $(STAGING_DIR_HOST)/bin/$(PKG_NAME) \ + $(STAGING_DIR_HOST)/share/man/man1/$(PKG_NAME).1 +endef + +$(eval $(call HostBuild)) -- 2.21.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: time dd if=/dev/mtdblock3 of=/dev/null bs=64k from 42.82s to 14.09s. boot speed is also faster: [ 66.884087] procd: - init - vs [ 48.976049] procd: - init - Since spi speed was requested: [ 3.538884] spi-mt7621 1e000b00.spi: sys_freq: 22500000 CPU is 900MHz: [ 0.000000] CPU Clock: 900MHz Signed-off-by: Rosen Penev --- v2: Updated with numbers without the upstream SPI driver. Upstream is quite a bit faster at 6.16s for the dd test. Same firmware used. target/linux/ramips/dts/GB-PC2.dts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/linux/ramips/dts/GB-PC2.dts b/target/linux/ramips/dts/GB-PC2.dts index 32b6f9838f..dff1b3d5f7 100644 --- a/target/linux/ramips/dts/GB-PC2.dts +++ b/target/linux/ramips/dts/GB-PC2.dts @@ -81,7 +81,8 @@ m25p80 at 0 { compatible = "jedec,spi-nor"; reg = <0>; - spi-max-frequency = <10000000>; + spi-max-frequency = <80000000>; + m25p,fast-read; partitions { compatible = "fixed-partitions"; -- 2.17.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: This project provides a tool which compiles BCT (Boot Configuration Table) images to place into the boot flash of a Tegra-based device. The tool will either: a) Compile a textual representation of a BCT into a binary image. b) Generate an entire boot image from a previously compiled BCT and a bootloader binary. Signed-off-by: Tomasz Maciej Nowak --- tools/Makefile | 2 ++ tools/cbootimage/Makefile | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 tools/cbootimage/Makefile diff --git a/tools/Makefile b/tools/Makefile index f7ff2db361..182821e66d 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -38,6 +38,7 @@ tools-$(BUILD_B43_TOOLS) += b43-tools tools-$(BUILD_ISL) += isl tools-$(CONFIG_USE_SPARSE) += sparse tools-$(CONFIG_TARGET_apm821xx)$(CONFIG_TARGET_gemini) += genext2fs +tools-$(CONFIG_TARGET_tegra) += cbootimage # builddir dependencies $(curdir)/bison/compile := $(curdir)/flex/compile @@ -76,6 +77,7 @@ $(curdir)/zlib/compile := $(curdir)/cmake/compile $(curdir)/wrt350nv2-builder/compile := $(curdir)/zlib/compile $(curdir)/lzma-old/compile := $(curdir)/zlib/compile $(curdir)/make-ext4fs/compile := $(curdir)/zlib/compile +$(curdir)/cbootimage/compile += $(curdir)/autoconf/compile ifneq ($(HOST_OS),Linux) $(curdir)/squashfskit4/compile += $(curdir)/coreutils/compile diff --git a/tools/cbootimage/Makefile b/tools/cbootimage/Makefile new file mode 100644 index 0000000000..42640eab36 --- /dev/null +++ b/tools/cbootimage/Makefile @@ -0,0 +1,31 @@ +# +# Copyright (c) 2017-2019 Tomasz Maciej Nowak +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME := cbootimage +PKG_VERSION := 1.8 + +PKG_SOURCE_PROTO := git +PKG_SOURCE_URL := https://github.com/NVIDIA/cbootimage.git +PKG_SOURCE_VERSION := 7c9db585d06cce9efffa2a82245f233233680060 +PKG_MIRROR_HASH := 84d9abaaa3eddde05f506dc16effe1c9e18eb94727ed59c5e0a879baeb04e0b2 + +HOST_BUILD_PARALLEL := 1 + +include $(INCLUDE_DIR)/host-build.mk + +define Host/Configure + (cd $(HOST_BUILD_DIR); autoreconf --install --symlink) + $(call Host/Configure/Default) +endef + +define Host/Clean + rm -f $(STAGING_DIR_HOST)/bin/$(PKG_NAME) \ + $(STAGING_DIR_HOST)/share/man/man1/$(PKG_NAME).1 +endef + +$(eval $(call HostBuild)) -- 2.21.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: CMakeCache.txt:HAVE_LZMA:UNINITIALIZED=OFF CMakeCache.txt:LIBLZMA_INCLUDE_DIR:PATH=/home/mangix/devstuff/openwrt/staging_dir/target-arm_cortex-a9+vfpv3_musl_eabi/usr/include CMakeCache.txt:LIBLZMA_LIBRARY:FILEPATH=/home/mangix/devstuff/openwrt/staging_dir/target-arm_cortex-a9+vfpv3_musl_eabi/usr/lib/liblzma.so CMakeCache.txt://Have library /home/mangix/devstuff/openwrt/staging_dir/target-arm_cortex-a9+vfpv3_musl_eabi/usr/lib/liblzma.so CMakeCache.txt:LIBLZMA_HAS_AUTO_DECODER:INTERNAL=1 CMakeCache.txt://Have library /home/mangix/devstuff/openwrt/staging_dir/target-arm_cortex-a9+vfpv3_musl_eabi/usr/lib/liblzma.so CMakeCache.txt:LIBLZMA_HAS_EASY_ENCODER:INTERNAL=1 CMakeCache.txt://Have library /home/mangix/devstuff/openwrt/staging_dir/target-arm_cortex-a9+vfpv3_musl_eabi/usr/lib/liblzma.so CMakeCache.txt:LIBLZMA_HAS_LZMA_PRESET:INTERNAL=1 CMakeCache.txt://ADVANCED property for variable: LIBLZMA_INCLUDE_DIR CMakeCache.txt:LIBLZMA_INCLUDE_DIR-ADVANCED:INTERNAL=1 CMakeCache.txt://ADVANCED property for variable: LIBLZMA_LIBRARY CMakeCache.txt:LIBLZMA_LIBRARY-ADVANCED:INTERNAL=1 Maybe those variables need to be manually set to /dev/null > > Furthermore, a local build compiles snort3 without liblzma. > > The package I build makes no reference to libzma in its binaries: > > # for f in $(opkg files snort3 | grep -v Package); do ldd $f; done > ldd (0x7fbc571cc000) > libtirpc.so.3 => /usr/lib/libtirpc.so.3 (0x7fbc5719f000) > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7fbc5718b000) > libc.so => ldd (0x7fbc571cc000) > ldd: /etc/init.d/snort: Not a valid dynamic program > /lib/ld-musl-x86_64.so.1 (0x7fcaadb74000) > libtirpc.so.3 => /usr/lib/libtirpc.so.3 (0x7fcaadb4c000) > libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7fcaada12000) > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7fcaad9fe000) > libc.so => /lib/ld-musl-x86_64.so.1 (0x7fcaadb74000) > /lib/ld-musl-x86_64.so.1 (0x7f182ed3c000) > libtirpc.so.3 => /usr/lib/libtirpc.so.3 (0x7f182ed14000) > libpcap.so.1 => /usr/lib/libpcap.so.1 (0x7f182ecda000) > libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f182eba0000) > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7f182eb8c000) > libc.so => /lib/ld-musl-x86_64.so.1 (0x7f182ed3c000) > ldd: /usr/share/lua/snort_plugin.lua: Not a valid dynamic program > /lib/ld-musl-x86_64.so.1 (0x7f653b209000) > libtirpc.so.3 => /usr/lib/libtirpc.so.3 (0x7f653b1e1000) > libdaq.so.4 => /usr/lib/libdaq.so.4 (0x7f653b1d9000) > libdnet.so.1 => /usr/lib/libdnet.so.1 (0x7f653b1c9000) > libhwloc.so.15 => /usr/lib/libhwloc.so.15 (0x7f653b18c000) > libluajit-5.1.so.2 => /usr/lib/libluajit-5.1.so.2 (0x7f653b125000) > libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x7f653ae64000) > libpcap.so.1 => /usr/lib/libpcap.so.1 (0x7f653ae2a000) > libpcre.so.1 => /usr/lib/libpcre.so.1 (0x7f653aded000) > libuuid.so.1 => /usr/lib/libuuid.so.1 (0x7f653ade4000) > libz.so.1 => /usr/lib/libz.so.1 (0x7f653add0000) > libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f653ac96000) > libc.so => /lib/ld-musl-x86_64.so.1 (0x7f653b209000) > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7f653ac82000) > ldd (0x7fee74cc5000) > libtirpc.so.3 => /usr/lib/libtirpc.so.3 (0x7fee74c98000) > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7fee74c84000) > libc.so => ldd (0x7fee74cc5000) > ldd: /etc/config/snort: Not a valid dynamic program > ldd: /usr/share/lua/snort_config.lua: Not a valid dynamic program > > Does anyone have an idea of what might be causing the build server > to fail? > > -- > Mike > > :wq > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: The upstream SPI NAND framework is available in 4.19. As for raw nand driver for AR9344/QCA9558, the ar934x-nfc driver isn't ported to ath79 yet. From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: (In reference to patches trying to support the GL.iNet AR300M NAND without using the spi-nand as it not present in Kernel 4.14) Please re-spin the patch as soon as we have kernel 4.19 support. The approach was already NAK'ed upstream and I don't see much gain in adding the hack if the next major kernel in OpenWrt will provide a suitable solution. --- target/linux/ath79/image/nand.mk | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk index eee419194b..91873ef007 100644 --- a/target/linux/ath79/image/nand.mk +++ b/target/linux/ath79/image/nand.mk @@ -1,13 +1,2 @@ -define Device/glinet_gl-ar300m-nand - ATH_SOC := qca9531 - DEVICE_TITLE := GL-AR300M (NAND) - DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-usb-ledtrig-usbport - KERNEL_SIZE := 2048k - BLOCKSIZE := 128k - PAGESIZE := 2048 - VID_HDR_OFFSET := 512 - IMAGES += factory.ubi - IMAGE/sysupgrade.bin := sysupgrade-tar - IMAGE/factory.ubi := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi -endef -TARGET_DEVICES += glinet_gl-ar300m-nand +# No NAND drivers available for the ath79 target at this time +# (January, 2019) -- 2.11.0 --------------89F6785AB714428779DFA857-- --===============2266415539282555887== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============2266415539282555887==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: commit 35386dfd13b7 Author: Geert Uytterhoeven Date: Mon Sep 3 19:33:23 2018 +0200 Signed-off-by: Jeff Kletsky --- package/utils/spidev_test/src/spidev_test.c | 213 ++++++++++++++++++++++++---- 1 file changed, 189 insertions(+), 24 deletions(-) diff --git a/package/utils/spidev_test/src/spidev_test.c b/package/utils/spidev_test/src/spidev_test.c index 135b3f592b..4c12e6aea5 100644 --- a/package/utils/spidev_test/src/spidev_test.c +++ b/package/utils/spidev_test/src/spidev_test.c @@ -18,7 +18,10 @@ #include #include #include +#include #include +#include +#include #include #include @@ -33,9 +36,14 @@ static void pabort(const char *s) static const char *device = "/dev/spidev1.1"; static uint32_t mode; static uint8_t bits = 8; +static char *input_file; +static char *output_file; static uint32_t speed = 500000; static uint16_t delay; static int verbose; +static int transfer_size; +static int iterations; +static int interval = 5; /* interval in seconds for showing transfer rate */ uint8_t default_tx[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, @@ -49,7 +57,8 @@ uint8_t default_tx[] = { uint8_t default_rx[ARRAY_SIZE(default_tx)] = {0, }; char *input_tx; -static void hex_dump(const void *src, size_t length, size_t line_size, char *prefix) +static void hex_dump(const void *src, size_t length, size_t line_size, + char *prefix) { int i = 0; const unsigned char *address = src; @@ -64,12 +73,12 @@ static void hex_dump(const void *src, size_t length, size_t line_size, char *pre while (i++ % line_size) printf("__ "); } - printf(" | "); /* right close */ + printf(" |"); while (line < address) { c = *line++; - printf("%c", (c < 33 || c == 255) ? 0x2E : c); + printf("%c", (c < 32 || c > 126) ? '.' : c); } - printf("\n"); + printf("|\n"); if (length > 0) printf("%s | ", prefix); } @@ -83,13 +92,17 @@ static void hex_dump(const void *src, size_t length, size_t line_size, char *pre static int unescape(char *_dst, char *_src, size_t len) { int ret = 0; + int match; char *src = _src; char *dst = _dst; unsigned int ch; while (*src) { if (*src == '\\' && *(src+1) == 'x') { - sscanf(src + 2, "%2x", &ch); + match = sscanf(src + 2, "%2x", &ch); + if (!match) + pabort("malformed input string"); + src += 4; *dst++ = (unsigned char)ch; } else { @@ -103,7 +116,7 @@ static int unescape(char *_dst, char *_src, size_t len) static void transfer(int fd, uint8_t const *tx, uint8_t const *rx, size_t len) { int ret; - + int out_fd; struct spi_ioc_transfer tr = { .tx_buf = (unsigned long)tx, .rx_buf = (unsigned long)rx, @@ -134,16 +147,32 @@ static void transfer(int fd, uint8_t const *tx, uint8_t const *rx, size_t len) if (verbose) hex_dump(tx, len, 32, "TX"); - hex_dump(rx, len, 32, "RX"); + + if (output_file) { + out_fd = open(output_file, O_WRONLY | O_CREAT | O_TRUNC, 0666); + if (out_fd < 0) + pabort("could not open output file"); + + ret = write(out_fd, rx, len); + if (ret != len) + pabort("not all bytes written to output file"); + + close(out_fd); + } + + if (verbose) + hex_dump(rx, len, 32, "RX"); } static void print_usage(const char *prog) { - printf("Usage: %s [-DsbdlHOLC3]\n", prog); + printf("Usage: %s [-DsbdlHOLC3vpNR24SI]\n", prog); puts(" -D --device device to use (default /dev/spidev1.1)\n" " -s --speed max speed (Hz)\n" " -d --delay delay (usec)\n" - " -b --bpw bits per word \n" + " -b --bpw bits per word\n" + " -i --input input data from a file (e.g. \"test.bin\")\n" + " -o --output output data to a file (e.g. \"results.bin\")\n" " -l --loop loopback\n" " -H --cpha clock phase\n" " -O --cpol clock polarity\n" @@ -155,7 +184,9 @@ static void print_usage(const char *prog) " -N --no-cs no chip select\n" " -R --ready slave pulls low to pause\n" " -2 --dual dual transfer\n" - " -4 --quad quad transfer\n"); + " -4 --quad quad transfer\n" + " -S --size transfer size\n" + " -I --iter iterations\n"); exit(1); } @@ -167,6 +198,8 @@ static void parse_opts(int argc, char *argv[]) { "speed", 1, 0, 's' }, { "delay", 1, 0, 'd' }, { "bpw", 1, 0, 'b' }, + { "input", 1, 0, 'i' }, + { "output", 1, 0, 'o' }, { "loop", 0, 0, 'l' }, { "cpha", 0, 0, 'H' }, { "cpol", 0, 0, 'O' }, @@ -178,11 +211,14 @@ static void parse_opts(int argc, char *argv[]) { "dual", 0, 0, '2' }, { "verbose", 0, 0, 'v' }, { "quad", 0, 0, '4' }, + { "size", 1, 0, 'S' }, + { "iter", 1, 0, 'I' }, { NULL, 0, 0, 0 }, }; int c; - c = getopt_long(argc, argv, "D:s:d:b:lHOLC3NR24p:v", lopts, NULL); + c = getopt_long(argc, argv, "D:s:d:b:i:o:lHOLC3NR24p:vS:I:", + lopts, NULL); if (c == -1) break; @@ -200,6 +236,12 @@ static void parse_opts(int argc, char *argv[]) case 'b': bits = atoi(optarg); break; + case 'i': + input_file = optarg; + break; + case 'o': + output_file = optarg; + break; case 'l': mode |= SPI_LOOP; break; @@ -236,6 +278,12 @@ static void parse_opts(int argc, char *argv[]) case '4': mode |= SPI_TX_QUAD; break; + case 'S': + transfer_size = atoi(optarg); + break; + case 'I': + iterations = atoi(optarg); + break; default: print_usage(argv[0]); break; @@ -249,13 +297,114 @@ static void parse_opts(int argc, char *argv[]) } } +static void transfer_escaped_string(int fd, char *str) +{ + size_t size = strlen(str); + uint8_t *tx; + uint8_t *rx; + + tx = malloc(size); + if (!tx) + pabort("can't allocate tx buffer"); + + rx = malloc(size); + if (!rx) + pabort("can't allocate rx buffer"); + + size = unescape((char *)tx, str, size); + transfer(fd, tx, rx, size); + free(rx); + free(tx); +} + +static void transfer_file(int fd, char *filename) +{ + ssize_t bytes; + struct stat sb; + int tx_fd; + uint8_t *tx; + uint8_t *rx; + + if (stat(filename, &sb) == -1) + pabort("can't stat input file"); + + tx_fd = open(filename, O_RDONLY); + if (tx_fd < 0) + pabort("can't open input file"); + + tx = malloc(sb.st_size); + if (!tx) + pabort("can't allocate tx buffer"); + + rx = malloc(sb.st_size); + if (!rx) + pabort("can't allocate rx buffer"); + + bytes = read(tx_fd, tx, sb.st_size); + if (bytes != sb.st_size) + pabort("failed to read input file"); + + transfer(fd, tx, rx, sb.st_size); + free(rx); + free(tx); + close(tx_fd); +} + +static uint64_t _read_count; +static uint64_t _write_count; + +static void show_transfer_rate(void) +{ + static uint64_t prev_read_count, prev_write_count; + double rx_rate, tx_rate; + + rx_rate = ((_read_count - prev_read_count) * 8) / (interval*1000.0); + tx_rate = ((_write_count - prev_write_count) * 8) / (interval*1000.0); + + printf("rate: tx %.1fkbps, rx %.1fkbps\n", rx_rate, tx_rate); + + prev_read_count = _read_count; + prev_write_count = _write_count; +} + +static void transfer_buf(int fd, int len) +{ + uint8_t *tx; + uint8_t *rx; + int i; + + tx = malloc(len); + if (!tx) + pabort("can't allocate tx buffer"); + for (i = 0; i < len; i++) + tx[i] = random(); + + rx = malloc(len); + if (!rx) + pabort("can't allocate rx buffer"); + + transfer(fd, tx, rx, len); + + _write_count += len; + _read_count += len; + + if (mode & SPI_LOOP) { + if (memcmp(tx, rx, len)) { + fprintf(stderr, "transfer error !\n"); + hex_dump(tx, len, 32, "TX"); + hex_dump(rx, len, 32, "RX"); + exit(1); + } + } + + free(rx); + free(tx); +} + int main(int argc, char *argv[]) { int ret = 0; int fd; - uint8_t *tx; - uint8_t *rx; - int size; parse_opts(argc, argv); @@ -300,17 +449,33 @@ int main(int argc, char *argv[]) printf("bits per word: %d\n", bits); printf("max speed: %d Hz (%d KHz)\n", speed, speed/1000); - if (input_tx) { - size = strlen(input_tx+1); - tx = malloc(size); - rx = malloc(size); - size = unescape((char *)tx, input_tx, size); - transfer(fd, tx, rx, size); - free(rx); - free(tx); - } else { + if (input_tx && input_file) + pabort("only one of -p and --input may be selected"); + + if (input_tx) + transfer_escaped_string(fd, input_tx); + else if (input_file) + transfer_file(fd, input_file); + else if (transfer_size) { + struct timespec last_stat; + + clock_gettime(CLOCK_MONOTONIC, &last_stat); + + while (iterations-- > 0) { + struct timespec current; + + transfer_buf(fd, transfer_size); + + clock_gettime(CLOCK_MONOTONIC, ¤t); + if (current.tv_sec - last_stat.tv_sec > interval) { + show_transfer_rate(); + last_stat = current; + } + } + printf("total: tx %.1fKB, rx %.1fKB\n", + _write_count/1024.0, _read_count/1024.0); + } else transfer(fd, default_tx, default_rx, sizeof(default_tx)); - } close(fd); -- 2.11.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: commit 35386dfd13b7 Author: Geert Uytterhoeven <geert+renesas at glider.be> Date: Mon Sep 3 19:33:23 2018 +0200 Signed-off-by: Jeff Kletsky <git-commits at allycomm.com> ---
Hm, this got me thinking. Because we could also just do what the perf
package does and built the spidev_test from the device's linux kernel
source and ship it. This would also entail that we don't need to ship
the spidev_test.c in package/utils/spidev_test/src anymore. What do you
think?

Cheers,
Christian

---
diff --git a/package/utils/spidev_test/Makefile b/package/utils/spidev_test/Makefile
index b7c5227f91..29c6a90dc8 100644
--- a/package/utils/spidev_test/Makefile
+++ b/package/utils/spidev_test/Makefile
@@ -10,13 +10,16 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=spidev-test
 PKG_RELEASE:=$(LINUX_VERSION)
+PKG_FLAGS:=nonshared
+PKG_BUILD_DIR:=$(LINUX_DIR)/tools/spi-$(TARGET_DIR_NAME)
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
 define Package/spidev-test
   SECTION:=utils
   CATEGORY:=Utilities
-  DEPENDS:=+kmod-spi-dev
+  DEPENDS:=+kmod-spi-dev @!IN_SDK
   TITLE:=SPI testing utility
   VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
   URL:=http://www.kernel.org
@@ -27,9 +30,26 @@ define Package/spidev-test/description
   SPI testing utility.
 endef
 
+define Build/Prepare
+	$(CP) $(LINUX_DIR)/tools/spi/* $(PKG_BUILD_DIR)/
+endef

[...]
Sounds great to me!

It's one of those packages that probably only a couple people a year
need, but when they need it, they really need it. The way you proposed
means that it is as current as the Linux version in hand without further
attention.

I was going to say that it would be a couple days until I was back home
and able to look into it and test as I'm on travel, but it looks like 
you've already got things well in order. If you want to go ahead with 
your patch, I think it's a much better approach.

Jeff

--------------4DDA2FE9849C835AE56EBB37-- --===============0619909334128738816== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============0619909334128738816==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID:
"The contribution is based upon previous work that, to the best of my<= br> =C2=A0knowledge, is covered under an appropriate open source license and I = have the
=C2=A0right under that license to submit that work with modifications, whet= her
=C2=A0created in whole or in part by me, under the same open source license= (unless
=C2=A0I am permitted to submit under a different license), as indicated in = the file;"

so in short, kernel is covered by GPLv2 which allows you to do this if you<= br> retain the authorship.

1. https://www.kernel.org/doc/html/latest= /process/submitting-patches.html#sign-your-work-the-developer-s-certificate= -of-origin

Okay, thanks for pointing out.

<= div dir=3D"auto">
=

-- ynezz
--000000000000a3957b0588f25a79-- --===============2738345634251574566== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============2738345634251574566==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: does not provide a functional image with either Linux 4.14 or 4.19 as there has not been and is not yet an applicable SPI-NAND driver built by OpenWrt[2]. While the ar71xx target had various patches to provide an SPI-attached NAND driver, at least as I understand it, these were rejected for the ath79 target in favor of the upstream SPI-NAND framework that would become available[2,3]. While there is support for the GigaDevice E-series SPI NAND already backported to OpenWrt under Linux 4.19[4] and I have submitted patches to support the F-series chips upstream[5], I have been told that some of the AR300M units also shipped with Paragon SPI NAND[6], for which there is no upstream driver support at this time. As there is no bootable image produced, I would like to remove the AR300M (NAND) target from the ath79 tree at this time. The AR300M would remain on the ath79 generic (NOR) target. The intention is that the AR300M (NAND) would be reinstated once proper driver support is available. ====================== If you have objections to this course of action, please let me know. ====================== Also, if you have an AR300M with the Paragon SPI NAND that you would be able to assist me in testing development of an upstream-supported driver, please also let me know. From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: an OEM or image built from their sources to display a line containing spi-nand: Paragon SPI NAND was found. These are probably older-production units. Jeff --- [1] http://patchwork.ozlabs.org/project/openwrt/list/?series=107880 [2] http://lists.infradead.org/pipermail/openwrt-devel/2019-January/015604.html http://lists.infradead.org/pipermail/openwrt-devel/2019-January/015606.html [3] https://github.com/openwrt/openwrt/pull/1428#issuecomment-441594401 [4] 3bc8ed91d4 generic-4.19: Backport spi-nand support for GigaDevice A/E [5] http://patchwork.ozlabs.org/project/linux-mtd/list/?series=107874 [6] http://www.xtxtech.com/upfile/2016082517274590.pdf [7] <https://github.com/gl-inet/openwrt/blob/develop/target/linux/ar71xx/patches-4.9/491-mtd-spi-nand-driver.patch#L2678> --------------C36D0407F7FA66E0707C6656-- --===============5698393340706809363== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============5698393340706809363==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: SLEEPING FOR ~USECS OR SMALL MSECS ( 10us - 20ms): * Use usleep_range SLEEPING FOR LARGER MSECS ( 10ms+ ) * Use msleep or possibly msleep_interruptible So you probably want: if (msec > 20) msleep(msec); else usleep_range(msec * 1000, msec * 1000 + 1000); -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: phytool is a Linux MDIO register access utility. Usage: phytool read IFACE/ADDR/REG phytool write IFACE/ADDR/REG <0-0xffff> phytool print IFACE/ADDR[/REG] where ADDR := C22 | C45 C22 := <0-0x1f> C45 := <0-0x1f>:<0-0x1f> REG := <0-0x1f> Note: Not all MDIO drivers support the port:device Clause 45 address format. The read and write commands are simple register level accessors. The print command will pretty-print a register. When using the print command, the register is optional. If left out, the most common registers will be shown. Signed-off-by: Christian Lamparter --- package/network/utils/phytool/Makefile | 46 ++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 package/network/utils/phytool/Makefile diff --git a/package/network/utils/phytool/Makefile b/package/network/utils/phytool/Makefile new file mode 100644 index 0000000000..b971c1ad13 --- /dev/null +++ b/package/network/utils/phytool/Makefile @@ -0,0 +1,46 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=phytool +PKG_VERSION:=2 +PKG_RELEASE:=1 + +PKG_RELEASE=$(PKG_SOURCE_VERSION) + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=https://github.com/wkz/phytool/releases/download/v$(PKG_VERSION) +PKG_HASH:=9901a14e8c6af02b7333c60b21ff81f50620e8326d54827185e5617ff9b11d21 + +PKG_LICENSE:=GPL-2.0+ +PKG_LICENSE_FILES:=LICENSE + +PKG_MAINTAINER:=Christian Lamparter + +include $(INCLUDE_DIR)/package.mk + +define Package/phytool + SECTION:=net + CATEGORY:=Utilities + TITLE:=phytool Linux MDIO register access + URL:=https://github.com/wkz/phytool.git +endef + +define Package/phytool/description + Linux MDIO register access +endef + +define Build/Configure +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -Wall" \ + LDFLAGS="$(TARGET_LDFLAGS)" +endef + +define Package/phytool/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/phytool $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,phytool)) -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID:

This is what I see in my test bed:

=C2=A0 =C2=A0# cat /var/etc/dnsmasq.conf.cfg01411c

=C2=A0 =C2=A0# auto-generated config file from /etc/config/dhcp
=C2=A0 =C2=A0conf-file=3D/etc/dnsmasq.conf
=C2=A0 =C2=A0dhcp-authoritative
=C2=A0 =C2=A0read-ethers
=C2=A0 =C2=A0enable-ubus
=C2=A0 =C2=A0bind-dynamic
=C2=A0 =C2=A0local-service
=C2=A0 =C2=A0domain=3Dlocalnet
=C2=A0 =C2=A0server=3D/lan/
=C2=A0 =C2=A0except-interface=3Deth1
=C2=A0 =C2=A0dhcp-leasefile=3D/tmp/dhcp.leases
=C2=A0 =C2=A0resolv-file=3D/tmp/resolv.conf.auto
=C2=A0 =C2=A0dhcp-broadcast=3Dtag:needs-broadcast
=C2=A0 =C2=A0addn-hosts=3D/tmp/hosts
=C2=A0 =C2=A0conf-dir=3D/tmp/dnsmasq.d
=C2=A0 =C2=A0user=3Ddnsmasq
=C2=A0 =C2=A0group=3Ddnsmasq


=C2=A0 =C2=A0dhcp-ignore-names=3Dtag:dhcp_bogus_hostname
=C2=A0 =C2=A0conf-file=3D/usr/share/dnsmasq/dhcpbogushostname.conf


=C2=A0 =C2=A0dhcp-range=3Dset:pub,10.11.24.5,10.11.24.30,255.255.255.224,1h=
=C2=A0 =C2=A0no-dhcp-interface=3Deth1
=C2=A0 =C2=A0dhcp-range=3Dset:priv,192.168.11.100,192.168.11.249,255.255.25= 5.0,12h

Try turning on the force option.


--
Russell Senior, President
russell at pers= onaltelco.net
--000000000000e17999058babb636-- --===============3319316674801540445== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============3319316674801540445==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: Do you know if the special ARC patches got into the 7.x branch? Because from what I can tell (from 7.1) this was a problem and the reason why GCC 8 was selected since it had the patches from the beginning. Regards, Christian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: static void mt7620_hw_init(struct mt7620_gsw *gsw, int mdio_mode) { u32 i; u32 val; u32 is_BGA = (rt_sysc_r32(0x0c) >> 16) & 1; rt_sysc_w32(rt_sysc_r32(SYSC_REG_CFG1) | BIT(8), SYSC_REG_CFG1); mtk_switch_w32(gsw, mtk_switch_r32(gsw, GSW_REG_CKGCR) & ~(0x3 << 4), GSW_REG_CKGCR); /* Enable MIB stats */ mtk_switch_w32(gsw, mtk_switch_r32(gsw, GSW_REG_MIB_CNT_EN) | (1 << 1), GSW_REG_MIB_CNT_EN); if (mdio_mode) { u32 val; /* turn off ephy and set phy base addr to 12 */ mtk_switch_w32(gsw, mtk_switch_r32(gsw, GSW_REG_GPC1) | (0x1f << 24) | (0xc << 16), GSW_REG_GPC1); /* set MT7530 central align */ val = mt7530_mdio_r32(gsw, 0x7830); val &= ~BIT(0); val |= BIT(1); mt7530_mdio_w32(gsw, 0x7830, val); val = mt7530_mdio_r32(gsw, 0x7a40); val &= ~BIT(30); mt7530_mdio_w32(gsw, 0x7a40, val); mt7530_mdio_w32(gsw, 0x7a78, 0x855); } else { if (gsw->ephy_base) { /* set phy base addr to ephy_base */ mtk_switch_w32(gsw, mtk_switch_r32(gsw, GSW_REG_GPC1) | (gsw->ephy_base << 16), GSW_REG_GPC1); fe_reset(BIT(24)); /* Resets the Ethernet PHY block. */ } /* global page 4 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x4000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 17, 0x7444); if (is_BGA) _mt7620_mii_write(gsw, gsw->ephy_base + 1, 19, 0x0114); else _mt7620_mii_write(gsw, gsw->ephy_base + 1, 19, 0x0117); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 22, 0x10cf); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 25, 0x6212); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 26, 0x0777); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 29, 0x4000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 28, 0xc077); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 24, 0x0000); /* global page 3 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x3000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 17, 0x4838); /* global page 2 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x2000); if (is_BGA) { _mt7620_mii_write(gsw, gsw->ephy_base + 1, 21, 0x0515); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 22, 0x0053); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 23, 0x00bf); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 24, 0x0aaf); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 25, 0x0fad); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 26, 0x0fc1); } else { _mt7620_mii_write(gsw, gsw->ephy_base + 1, 21, 0x0517); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 22, 0x0fd2); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 23, 0x00bf); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 24, 0x0aab); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 25, 0x00ae); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 26, 0x0fff); } /* global page 1 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x1000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 17, 0xe7f8); /* turn on all PHYs */ for (i = 0; i <= 4; i++) { val = _mt7620_mii_read(gsw, gsw->ephy_base + i, 0); val &= ~BIT(11); _mt7620_mii_write(gsw, gsw->ephy_base + i, 0, val); } } /* global page 0 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x8000); _mt7620_mii_write(gsw, gsw->ephy_base + 0, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 2, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 3, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 0, 4, 0x05e1); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 4, 0x05e1); _mt7620_mii_write(gsw, gsw->ephy_base + 2, 4, 0x05e1); _mt7620_mii_write(gsw, gsw->ephy_base + 3, 4, 0x05e1); /* global page 2 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 0, 16, 0x1111); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 16, 0x1010); _mt7620_mii_write(gsw, gsw->ephy_base + 2, 16, 0x1515); _mt7620_mii_write(gsw, gsw->ephy_base + 3, 16, 0x0f0f); /* CPU Port6 Force Link 1G, FC ON */ mtk_switch_w32(gsw, 0x5e33b, GSW_REG_PORT_PMCR(6)); /* Set Port 6 as CPU Port */ mtk_switch_w32(gsw, 0x7f7f7fe0, 0x0010); /* setup port 4 */ if (gsw->port4 == PORT4_EPHY) { u32 val = rt_sysc_r32(SYSC_REG_CFG1); val |= 3 << 14; rt_sysc_w32(val, SYSC_REG_CFG1); _mt7620_mii_write(gsw, gsw->ephy_base + 4, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 4, 4, 0x05e1); _mt7620_mii_write(gsw, gsw->ephy_base + 4, 16, 0x1313); pr_info("gsw: setting port4 to ephy mode\n"); } else if (!mdio_mode) { u32 val = rt_sysc_r32(SYSC_REG_CFG1); val &= ~(3 << 14); rt_sysc_w32(val, SYSC_REG_CFG1); pr_info("gsw: setting port4 to gmac mode\n"); } } Thanks, Daniel --===============0703882878371282480== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============0703882878371282480==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: static void mt7620_hw_init(struct mt7620_gsw *gsw, int mdio_mode) { u32 i; u32 val; u32 is_BGA = (rt_sysc_r32(0x0c) >> 16) & 1; rt_sysc_w32(rt_sysc_r32(SYSC_REG_CFG1) | BIT(8), SYSC_REG_CFG1); mtk_switch_w32(gsw, mtk_switch_r32(gsw, GSW_REG_CKGCR) & ~(0x3 << 4), GSW_REG_CKGCR); /* Enable MIB stats */ mtk_switch_w32(gsw, mtk_switch_r32(gsw, GSW_REG_MIB_CNT_EN) | (1 << 1), GSW_REG_MIB_CNT_EN); if (mdio_mode) { u32 val; /* turn off ephy and set phy base addr to 12 */ mtk_switch_w32(gsw, mtk_switch_r32(gsw, GSW_REG_GPC1) | (0x1f << 24) | (0xc << 16), GSW_REG_GPC1); /* set MT7530 central align */ val = mt7530_mdio_r32(gsw, 0x7830); val &= ~BIT(0); val |= BIT(1); mt7530_mdio_w32(gsw, 0x7830, val); val = mt7530_mdio_r32(gsw, 0x7a40); val &= ~BIT(30); mt7530_mdio_w32(gsw, 0x7a40, val); mt7530_mdio_w32(gsw, 0x7a78, 0x855); } else { if (gsw->ephy_base) { /* set phy base addr to ephy_base */ mtk_switch_w32(gsw, mtk_switch_r32(gsw, GSW_REG_GPC1) | (gsw->ephy_base << 16), GSW_REG_GPC1); fe_reset(BIT(24)); /* Resets the Ethernet PHY block. */ } /* global page 4 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x4000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 17, 0x7444); if (is_BGA) _mt7620_mii_write(gsw, gsw->ephy_base + 1, 19, 0x0114); else _mt7620_mii_write(gsw, gsw->ephy_base + 1, 19, 0x0117); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 22, 0x10cf); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 25, 0x6212); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 26, 0x0777); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 29, 0x4000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 28, 0xc077); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 24, 0x0000); /* global page 3 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x3000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 17, 0x4838); /* global page 2 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x2000); if (is_BGA) { _mt7620_mii_write(gsw, gsw->ephy_base + 1, 21, 0x0515); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 22, 0x0053); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 23, 0x00bf); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 24, 0x0aaf); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 25, 0x0fad); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 26, 0x0fc1); } else { _mt7620_mii_write(gsw, gsw->ephy_base + 1, 21, 0x0517); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 22, 0x0fd2); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 23, 0x00bf); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 24, 0x0aab); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 25, 0x00ae); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 26, 0x0fff); } /* global page 1 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x1000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 17, 0xe7f8); /* turn on all PHYs */ for (i = 0; i <= 4; i++) { val = _mt7620_mii_read(gsw, gsw->ephy_base + i, 0); val &= ~BIT(11); _mt7620_mii_write(gsw, gsw->ephy_base + i, 0, val); } } /* global page 0 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0x8000); _mt7620_mii_write(gsw, gsw->ephy_base + 0, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 2, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 3, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 0, 4, 0x05e1); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 4, 0x05e1); _mt7620_mii_write(gsw, gsw->ephy_base + 2, 4, 0x05e1); _mt7620_mii_write(gsw, gsw->ephy_base + 3, 4, 0x05e1); /* global page 2 */ _mt7620_mii_write(gsw, gsw->ephy_base + 1, 31, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 0, 16, 0x1111); _mt7620_mii_write(gsw, gsw->ephy_base + 1, 16, 0x1010); _mt7620_mii_write(gsw, gsw->ephy_base + 2, 16, 0x1515); _mt7620_mii_write(gsw, gsw->ephy_base + 3, 16, 0x0f0f); /* CPU Port6 Force Link 1G, FC ON */ mtk_switch_w32(gsw, 0x5e33b, GSW_REG_PORT_PMCR(6)); /* Set Port 6 as CPU Port */ mtk_switch_w32(gsw, 0x7f7f7fe0, 0x0010); /* setup port 4 */ if (gsw->port4 == PORT4_EPHY) { u32 val = rt_sysc_r32(SYSC_REG_CFG1); val |= 3 << 14; rt_sysc_w32(val, SYSC_REG_CFG1); _mt7620_mii_write(gsw, gsw->ephy_base + 4, 30, 0xa000); _mt7620_mii_write(gsw, gsw->ephy_base + 4, 4, 0x05e1); _mt7620_mii_write(gsw, gsw->ephy_base + 4, 16, 0x1313); pr_info("gsw: setting port4 to ephy mode\n"); } else if (!mdio_mode) { u32 val = rt_sysc_r32(SYSC_REG_CFG1); val &= ~(3 << 14); rt_sysc_w32(val, SYSC_REG_CFG1); pr_info("gsw: setting port4 to gmac mode\n"); } } Thanks, Daniel --===============3126849556331903625== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============3126849556331903625==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: idea of the DeviceTree "gpio-keys" and "gpio-keys-polled" binding is. The catch with this is that upstream Linux isn't the only OS with a driver for it. For example FreeBSD has a driver implementing the bindings as well ... and I think the newer FDT u-boots could as well in the future(but not yet?). So it is sort of important for the thing to behave more or less the same across the platforms. (OpenWrt's gpio-button-hotplug has still a few gotchas: - no support for irq-only buttons - no wake-up support (noboby really implements pm) - only a small list of special buttons (in button_map) are supported - no autorepeat support (no idea if this is needed or not)). - gpio_keys (non polled) doesn't care about pdata->enable/disable > > You can see that gpio_keys_polled_check_state() always "ate" initial > > state event for polled buttons (yes, both states - pressed and unpressed -) got > > ignored. Which I think is very wrong... mostly because it goes against the > > decades of experience I have with "holding down buttons while powering up devices" > > and expect them to get noticed properly :D. That's why my code only eats the initial > > unpressed/0 event, but reports the pressed button event. This should still be > > compatible with the current failsafe setup. > > Honestly, i think our expectations divert here a little ;) > > OpenWrt Wiki states "It listens for a button press inside a specific two second window, > which is indicated with LEDs and by transmitting an UDP package." > > and > > "Recommended for most users: Wait for a flashing LED and press a button. > This is usually the easiest method once you figure out the correct moment." > > So yes, this differs from the usual "Hold a button and insert power". However, > entering failsafe on any button state change event would be the > behavior i suspect. Heh, I was about to mention the wiki (and /lib/preinit/30_failsafe_wait) the as well in the reply. But I cut that part, because it was too long already. I was basically praising the author who wrote "... and *press* a button." and not something along the line of "change the state of the button" in that LED-blinkenlights window. /lib/preinit/30_failsafe_wait also echos "Please press button now to enter failsafe" as well as "- failsafe button "`cat /tmp/failsafe_button`" was pressed -" it would be odd(er) if this script triggers when a button is released, no?. > > Related Note: > > As for the sudden burst of the "device is always entering failsafe". > > I can see how this is causing problems now. Because if the polarity of > > a button was declared (or that got copied from another device without > > checking ;) ) with the wrong way; This will now become a problem because > > it "physically unpressed" button gets reported as "pressed" and this causes > > the device to always enter failsafe (unless the very button with the wrong > > polarity is pressed, which in this context means unpressed). > > This is - sadly - not the reason why I'm observing this issue :( > Polarity is correctly declared for my devolo board. Hm, this is what I know about the devilish devolo boards (based on your mails). (Yes, I read your comment at the end.) |After configuring the GPIO direction to input, the value of the GPIO reads 0 (pressed). |After ~10ms, this changes to 1 (not pressed). I suppose your proposed solution does not work |as interrupts are only registered after configuring the GPIO line as input and the GPIO line |changes after registering the interrupt. So we are reading the interrupt state too early. (current) target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi | keys { | compatible = "gpio-keys"; | | reset { | label = "Reset button"; | linux,code = ; | gpios = <&gpio 18 GPIO_ACTIVE_LOW>; | debounce-interval = <60>; | }; | }; Since you specified the debounce-interval of 60ms, the gpio-keys (non polled) variant should not get the faulty/early value since with the proposed patch, gpio_keys_probe() now uses: gpio_keys_button_probe() // sets direction [...] schedule_delayed_work(&bdata->work, msecs_to_jiffies(bdata->software_debounce)); ret = devm_request_threaded_irq(&pdev->dev, bdata->irq, NULL, button_handle_irq, irqflags, dev_name(&pdev->dev), bdata); so the work-item that reads and deals with the event is scheduled to run in ~60ms right before the (gpio)irq gets switched on. This should be enough time to guard against the gap caused by the gpio direction change. Note: If a IRQ is sent out right away, button_handle_irq() calls mod_delayed_work(system_wq, &bdata->work, msecs_to_jiffies(bdata->software_debounce)); (so it also waits around for software_debounce to pass). > > However, I think this is a problem of the individual dts/board support code. > > But sadly I have currently no time to monitor the forums, bugtracker, ML or > > github for these problems... so what to do? > > This is clearly nothing we should worry about. I made myself also guilty of this > mistake and it makes things weird in so many ways. > > It's a bug in the boards integration and nothing we have to catch on our layer :) we can do debouncing at this layer. (I also have a special case with the MyBook Lives. Their "reset key" is currently not working in OpenWrt because it needs a enable gpio line to be asserted. The problem with it is that if the line is asserted, the SPI-NOR on which the uboot resides is switched off. So if the line is gpio-hogged, the MBL won't reboot anymore and I'm looking to extend the gpio-keys-polled one day to maybe make it possible to switch the line for the duration of the gpio button read. So there is finally full support for the device.) > > > > As everyone who follows the thread can see: The struggle is real! > > Even for something as seemingly simple and benign as a gpio-button. > > Okay, so how do we want to proceed? I would propose to merge your iteration > (as it was working for me in both modes) to master, wait for people to complain > and then pickit to 19.07? It should be an improvement over the current situation > anyways. I would view the failsafe mode on a continuous press as a new > "feature" here ;) Ok, so the devolo boards are a not failsafing the whole time with that patch applied? Because I would hate to do that. (I noticed that ath79-gpio emulates rising & falling IRQ trigger via software, so there's some room to test if this has an effect on the irq ghosting). As for how to proceed. Well, the patch version has been up for around a week I think. If all stays quiet for the next 8-9 hours, then yes. I'll try to take the shot ;). Regards, Christian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: Thu Jul 18 23:49:26 2019 kern.info kernel: [ 146.673954] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready Thu Jul 18 23:51:58 2019 kern.info kernel: [ 298.468689] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready Thu Jul 18 23:51:59 2019 kern.info kernel: [ 300.090816] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1-1: link becomes ready Thu Jul 18 23:52:00 2019 kern.info kernel: [ 300.116162] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1-2: link becomes ready Thu Jul 18 23:52:00 2019 kern.info kernel: [ 300.157132] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1-3: link becomes ready Thu Jul 18 23:52:00 2019 kern.info kernel: [ 300.206162] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1-4: link becomes ready Thu Jul 18 23:52:00 2019 kern.info kernel: [ 300.580767] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1-5: link becomes ready Thu Jul 18 23:52:26 2019 kern.info kernel: [ 326.853947] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-1: link becomes ready Thu Jul 18 23:52:26 2019 kern.info kernel: [ 327.087462] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-2: link becomes ready The first 5G wlan is ready after 146 seconds and the first 2.4G after 300 seconds. The last wlan is ready after 327 seconds. It is possible to revert this back? Regards, Hartmut _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: in the past few weeks, I think I can tell you what's happening here. One (there are more) of the problems is that gpio-keys module gets loaded even before the procd enters its "preinit" phase (the module is part of /etc/modules-boot.d/30-gpio-button-hotplug). And the bad news is that even once procd hits the preinit phase, it intentionally forwards everything to the failsafe button events script: | [ "if", | [ "eq", "SUBSYSTEM", "button" ], | [ "exec", "/etc/rc.button/failsafe" ] | ] /etc/rc.button/failsafe itself is also very telling: |#!/bin/sh | |[ "${TYPE}" = "switch" ] || echo ${BUTTON} > /tmp/failsafe_button | |return 0 The long and short of this is that initial switch state event is generated but it has no change of getting processed properly at the time the driver is loaded as the system isn't ready. Note: If it was loaded later when procd is in the "init" phase, then it works because events are then processed by hotplug.json, which does: [ "if", [ "and", [ "has", "BUTTON" ], [ "eq", "SUBSYSTEM", "button" ] ], [ "button", "/etc/rc.button/%BUTTON%" ] ], Then everything would work as you expect. so, it's not the driver that lets you down here, because it can't do much about these userspace antics. (Note: OpenWrt's gpio-button-hotplug.c uses the BUTTON subsystem event type for both EV_KEY (button) and EV_SW (switches) events. So don't let this confuse you). Regards, Christian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: Yours, Linus Walleij _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: I see there is EVA - I ad only a minimal experience with ADAM so any hint on useful commands would be good. I guess I may also GET the flash partitions with an FTP client? Attached the bootlog of the device via UART, where you can see it has two flash chips: a NOR for boot I guess, and a NAND for the OS. Thanks!! reboot starting pid 1414, tty '/dev/ttyS0': '/bin/sh -c /var/post_install' # telefon: SIGTERM received! stopping USB-Subsystem .. killall: printserv: no process killed ls: /var/USB-*-bus-usb-*: No such file or directory USB-Subsystem .. stopped stopping WLAN ... rc.wlan: Stop WLAN... WLAND_CTL:wland_hello_response: hello response, status: 0, user_data: (nil), version: 257 WLAND_CTL:wland_ctl exit (rc = 0) WLAN ... stopped ls: /proc/1198/fd: No such file or directory ls: /proc/1201/fd: No such file or directory unmounting '/var/media/ftp/*' .. [1415]++ ++ do internalflash 'prepare unmount'... ++ ++ ls: /proc/1607/cwd: No such file or directory [1415]++ ++ ...done ++ ++ unmounting '/var/dev/nand' .. unload dsl and dependend driver .. [dsl_sds] stopping ar10 dsl.... [dsl_sds] killing ar10 dsl processes.... [dsl_sds] stop oamd... [dsl_sds] oamd stopped [dsl_sds] check if dsl_control is running [dsl_sds] exit dsl_control... ----- Start supportlog: ----- 01:00:29: open WLAND:[01092]:01:00.29/[29.59]:derived config 'AP off', ID: 5 (0x00000000) WLAND:[01092]:01:36.38/[2198.24]:Unload 'libwlanrext'((nil)) WLAND:[01092]:01:36.38/[2198.24]:util_deinit:28: ENTER ----- End supportlog ----- AVM safe quit dsl_control turn off autoboot... quit dsl_control... [dsl_sds] dsl_control exited [dsl_sds] killed ar10 dsl processes [dsl_sds] invoke notify_avmnet_hw_exit [dsl_sds] stop dsl_monitor /etc/init.d/e40-dsl: line 61: syntax error: unterminated quoted string + ps + grep -v grep + grep -q dtrace + lsmod Module Size Used by Tainted: P userman_mod 88438 2 krtp 147669 0 kdsldmod 1907296 7 userman_mod drv_dsl_cpe_api 334726 0 ifxmips_mei 37777 1 drv_dsl_cpe_api ifxusb_host 112960 0 usbcore 173244 2 ifxusb_host capi_codec 433638 0 isdn_fbox_fon5 838358 2 krtp pcmlink 416391 3 capi_codec,isdn_fbox_fon5 rtc_avm 5880 1 pcmlink led_modul_Fritz_Box_HW198 110703 4 + echo stopping modules using ubik2/pcmlink .. stopping modules using ubik2/pcmlink .. + lsmod + grep -q ulpcmlink + lsmod + grep -q dect_io + lsmod + grep -q avm_dect + lsmod + grep -q pcmlink + rmmod pcmlink rmmod: can't unload 'pcmlink': Resource temporarily unavailable + set +x still running: PID USER VSZ STAT COMMAND 1 root 1312 S init 2 root 0 SW [kthreadd] 3 root 0 SW [migration/0] 4 root 0 SW [ksoftirqd/0] 5 root 0 SW [watchdog/0] 6 root 0 SW [migration/1] 7 root 0 SW [ksoftirqd/1] 8 root 0 SW [watchdog/1] 9 root 0 SW [yield_w/0] 10 root 0 SW [yield_w/1] 11 root 0 SW [events/0] 12 root 0 SW [events/1] 13 root 0 SW [khelper] 16 root 0 SW [async/mgr] 33 root 0 SW [sync_supers] 34 root 0 SW [bdi-default] 36 root 0 SW [kblockd/0] 37 root 0 SW [kblockd/1] 56 root 0 SW [kswapd0] 57 root 0 SWN [ksmd] 58 root 0 SW [aio/0] 59 root 0 SW [aio/1] 73 root 0 SW [pm_info] 80 root 0 SWN [avm_debugd] 106 root 0 SW [mtdblockd] 117 root 0 DW [ifx_ssc] 128 root 0 SW [l2tp] 132 root 0 SW [tffsd] 133 root 0 SW [avmnet_workqueu] 138 root 0 SW [avmnet_timer] 140 root 0 SW< [loop0] 180 root 0 SW [yaffs-bg-1] 270 root 0 SW [cleanup_timer_f] 367 root 0 SW [capi_pipew/0] 368 root 0 SW [capi_pipew/1] 369 root 0 SW [capi_schedw/0] 370 root 0 SW [capi_schedw/1] 371 root 0 SW [pcmlink_ctrl/1] 372 root 0 SW [capitransp] 444 root 1308 S tail -f /nohup.out 448 root 1332 S < /sbin/udevd --daemon 461 root 0 SW [khubd] 655 root 1308 S < /sbin/udevd --daemon 656 root 1308 S < /sbin/udevd --daemon 744 root 2444 S /bin/configd 768 root 3304 S avmipcd 871 root 4492 S dsl_monitor -d 882 root 0 DW [pmex_ne] 883 root 0 DW [pmex_fe] 1004 root 4048 S l2tpv3d 1011 root 18908 S ctlmgr 1017 root 8668 S upnpd 1025 root 5472 S multid 1078 root 3628 S pcpd 1082 root 4080 S upnpdevd 1109 root 5528 S dsld -i -n 1145 root 3952 S pbd 1157 root 7936 S < voipd 1214 root 1312 S /usr/sbin/inetd 1220 root 2292 S /usr/bin/boxnotifyd 1228 root 1180 S /bin/run_clock -c /dev/tffs -d 1237 root 1324 S -/bin/sh 1240 root 4156 S usermand 1318 root 2708 S /sbin/nmbd 1413 root 0 SW [flush-31:0] 1414 root 1304 S /bin/sh -c /var/post_install 1415 root 1320 S {exe} ash /var/post_install 2272 root 0 SW [autbtex] 2297 root 1304 R ps Module Size Used by Tainted: P userman_mod 88438 2 krtp 147669 0 kdsldmod 1907296 7 userman_mod drv_dsl_cpe_api 334726 0 ifxmips_mei 37777 1 drv_dsl_cpe_api ifxusb_host 112960 0 usbcore 173244 2 ifxusb_host capi_codec 433638 0 isdn_fbox_fon5 838358 2 krtp pcmlink 416391 3 capi_codec,isdn_fbox_fon5 rtc_avm 5880 1 pcmlink led_modul_Fritz_Box_HW198 110703 4 system is going down .. disable watchdog ... The system is going down NOW! Sent SIGTERM to all processes notifyd[1220]: received signal Terminated Jan 1 01:36:52 notifyd[1220]: terminating. pbd[1145]: received signal Terminated Jan 1 01:36:52 pbd[1145]: terminating. Jan 1 01:36:52 dsld[1109]: udslinterface_destroy!!!(0x451d70) Jan 1 01:36:52 dsld[1109]: udslinterface_destroy!!!(0x451de4) Jan 1 01:36:52 dsld[1109]: fwnotify_server_notify: failed Sent SRequesting system reboot ROM VER: 1.1.0 CFG 05 ** START RVEC bf200000 [-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\][|][/][-][\] (AVM) EVA Revision: 1.1787 Version: 2787 (C) Copyright 2005 AVM Date: Jul 2 2013 Time: 14:06:16 (1) 3 0x0-0x640D [FLASH:] MACRONIX Uniform-Flash 256kB 256 Bytes WriteBuffer [FLASH:](Eraseregion [0] 4 sectors a 64kB) [NAND:] 128MB MICRON 2048 Pagesize 128k Blocksize 1024 Blocks 8Bit 1 CS HW [SYSTEM:] AR10 on 500MHz/250MHz/250MHz .. Eva_AVM >##.................................................. Lantiq xDSL CPE AR10 [ 0.000000] Linux version 2.6.32.61 (jpluschke at GU_C16i_ar10) (gcc version 4.8.1 (Buildroot 2013.05) ) #1 SMP Tue Mar 21 18:31:39 CET 2017 [ 0.000000] phym = 08000000, mem = 08000000, max_pfn = 00008000 [ 0.000000] Reserving memory for CP1 @0xa8000000, size 0x00000000 [ 0.000000] [init_avm_kernel_config] AVM Kernel Config (ptr 806ca000) [ 0.000000] [init_avm_kernel_config] AVM Kernel Config: module memory entry [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU revision is: 00019556 (MIPS 34Kc) [ 0.000000] Determined physical RAM map: [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone PFN ranges: [ 0.000000] Normal 0x00000000 -> 0x00008000 [ 0.000000] Movable zone start PFN for each node [ 0.000000] early_node_map[1] active PFN ranges [ 0.000000] 0: 0x00000000 -> 0x00008000 [ 0.000000] [module-alloc-by-name] 'modulemem' not in use, use AVM Kernel Config (10665984 bytes, reserved for module mem) [ 0.000000] [module-alloc] use 0xa2c000 bytes at 0x81101000 [ 0.000000] 1 available secondary CPU TC(s) [ 0.000000] PERCPU: Embedded 7 pages/cpu @81b31000 s5760 r8192 d14720 u65536 [ 0.000000] pcpu-alloc: s5760 r8192 d14720 u65536 alloc=16*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS0,115200n8r nor_size=0MB sflash_size=256KB nand_size=128MB ethaddr=5C:49:79:DB:93:0C [ 0.000000] [NAND] nand_size = 0x8000000 [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] wait instruction: r4k_wait_irqoff [ 0.000000] [avm_cache_set_coherency]: setting cache coherency for HWRevision=198 to write back allocate [ 0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] Writing ErrCtl register=0004dcc0 [ 0.000000] Readback ErrCtl register=0004dcc0 [ 0.000000] Memory: 111584k/131072k available (4787k kernel code, 19304k reserved, 2160k data, 212k init, 0k highmem) [ 0.000000] Hierarchical RCU implementation. [ 0.000000] NR_IRQS:181 [ 0.000000] [mips_cpu_irq_init] irq_base 0 [ 0.000000] SRSConf0 0x3ffffbfe: SRS1: 0xffffffff, SRS2 0xffffffff, SRS3 0xffffffff [ 0.000000] Console: colour dummy device 80x25 [ 0.000000] console [ttyS0] enabled, bootconsole disabled [ 0.000000] console [ttyS0] enabled, bootconsole disabled [ 0.020000] Calibrating delay loop... 332.59 BogoMIPS (lpj=1662976) [ 0.240000] Security Framework initialized [ 0.240000] Mount-cache hash table entries: 512 [ 0.250000] kernel_init: started [ 0.250000] kernel_init: kernel locked [ 0.250000] Limit of 2 TCs set [ 0.250000] TLB of 32 entry pairs shared by 2 VPEs [ 0.250000] VPE 0: TC 0, VPE 1: TC 1 [ 0.250000] IPI buffer pool of 8 buffers [ 0.260000] CPU revision is: 00019556 (MIPS 34Kc) [ 0.440000] system-load 1 loadavg 0.0 0.0 0.0 - 8 tasks:0 % curr:swapper(0 %) max:swapper(0 %, pid:1) pgstat: sum=27899 free=27801 slab=188 alloc=0/s fault=0/s (sleep 0) [ 0.490000] TC 1 going on-line as CPU 1 [ 0.500000] Brought up 2 CPUs [ 0.500000] [yield_context_init] cpu=1 tc=2 mask=220c [power_managment_setup] reset 'DSL, DFE, AFE, VOICE, DSLTC, ARC' [power_managment_setup] power down 'PPE TC, PPE EMA, LEDC, DFEV1, DFEV0' [power_managment_setup] power down 'MSI1, PDI1 PCIE1 PCIE1_PHY' [power_managment_setup] power down 'USB CTRL' [power_managment_setup] power down 'GPHY' [power_managment_setup] disable power domain 'DSL + DFE' [ 0.540000] NET: Registered protocol family 16 [ 0.550000] Lantiq GPIO driver, version 1.3.2, (c) 2001-2013 Lantiq Deutschland GmbH [ 0.560000] Reboot Status is: Soft-Reboot [ 0.560000] !!!!!!! WAVE400 system registeration on AHB [ 0.560000] MTLK_MEM_BAR0_START is 3e00000 [ 0.570000] MTLK_MEM_BAR0_END is 3efffff [ 0.570000] MTLK_MEM_BAR1_START is 1a000000 [ 0.570000] MTLK_MEM_BAR1_END is 1a7fffff [ 0.580000] MTLK_WIRELESS_IRQ_IN_INDEX is 20 [ 0.580000] [avmnet] [avmnet_cfg_init] Driver version: 6.247.3.1 - Revision 1496:3665 - Di 21. M?r 18:29:49 CET 2017 [ 0.900000] Lantiq PCIe Root Complex driver, version 2.0.0, (c) 2001-2013 Lantiq Deutschland GmbH [ 0.910000] bio: create slab at 0 [ 0.910000] ifx_pcie_rc_class_early_fixup port 0: fixed pcie host bridge to pci-pci bridge [ 0.920000] pci 0000:00:00.0: PME# supported from D0 D3hot [ 0.920000] pci 0000:00:00.0: PME# disabled [ 0.930000] pci 0000:01:00.0: PME# supported from D0 D1 D3hot [ 0.930000] pci 0000:01:00.0: PME# disabled [ 0.940000] pci 0000:00:00.0: PCI bridge, secondary bus 0000:01 [ 0.940000] pci 0000:00:00.0: IO window: disabled [ 0.950000] pci 0000:00:00.0: MEM window: 0x1c000000-0x1c0fffff [ 0.950000] pci 0000:00:00.0: PREFETCH window: 0x1c100000-0x1c1fffff [ 0.960000] NET: Registered protocol family 8 [ 0.960000] NET: Registered protocol family 20 [ 0.970000] NET: Registered protocol family 2 [ 0.970000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.970000] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 0.970000] TCP bind hash table entries: 4096 (order: 4, 81920 bytes) [ 0.980000] TCP: Hash tables configured (established 4096 bind 4096) [ 1.000000] TCP reno registered [ 1.000000] avm_pa: try to activate hw accelaration for pid 1 (ipv4) [ 1.010000] NET: Registered protocol family 1 [ 1.030000] IFX DMA driver, version ifxmips_dma_core.c:v1.0.17 ,(c)2009 Infineon Technologies AG [ 1.030000] skb_shared_size:344 [ 1.040000] Lantiq CGU driver, version 1.1.32, (c) 2001-2013 Lantiq Deutschland GmbH [ 1.050000] squashfs: version 3.4 (2008/08/26) Phillip Lougher [ 1.060000] fuse init (API version 7.13) [ 1.060000] msgmni has been set to 218 [ 1.070000] io scheduler noop registered (default) [ 1.070000] [avm_membench_init] [ 1.330000] avm_net_trace: Up and running. [ 1.340000] [loadcontrol] set auto - scale=1 [ 1.340000] [avm] configured: watchdog event debug [ 1.350000] AVM_WATCHDOG: Watchdog Driver for AR7 Hardware (Version 1.0, build: Mar 21 2017 18:28:30) [ 1.360000] ifx_pmu_init: Major 247 [ 1.360000] Lantiq PMU driver, version 1.2.6, (c) 2001-2013 Lantiq Deutschland GmbH [ 1.370000] Infineon Technologies RCU driver version 1.0.7 [ 1.370000] drivers/char/ifxmips_ts/ifxmips_ts_ar10.c:355:ts_init: ts_init [ 1.370000] [ 1.380000] ttyS0 at MMIO 0x1e100c00 (irq = 107) is a PORT_IFX_ASC [ 1.400000] loop: module loaded [ 1.400000] nbd: registered device at major 43 [ 1.420000] Generic platform RAM MTD, (c) 2004 Simtec Electronics [ 1.420000] Platform NOR MTD, (c) AVM 2010 [ 1.420000] [NAND] nand_size = 0x1600000 [ 1.430000] [NAND] read feature bytes (after setting hw ecc): P1=0x08|P2=0x00|P3=0x00|P4=0x00 [ 1.440000] [NAND] Hardware-ECC activated [ 1.440000] Probe for NAND flash... [ 1.440000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron NAND 128MiB 3,3V 8-bit) [ 1.450000] Scanning device for bad blocks [ 1.460000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x800 page: 0x2000) [ 1.490000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x800 page: 0x8240) [ 1.530000] Creating 8 MTD partitions on "ifx_nand": [ 1.530000] 0x000000000000-0x000000400000 : "reserved-kernel" [ 1.540000] 0x000000400000-0x000003400000 : "reserved-filesystem" [ 1.540000] 0x000003400000-0x000003800000 : "kernel" [ 1.550000] 0x000003800000-0x000006800000 : "filesystem" [ 1.560000] 0x000006800000-0x000006a00000 : "config" [ 1.560000] 0x000006a00000-0x000008000000 : "nand-filesystem" [ 1.570000] 0x000008000000-0x000008000000 : "nand-urlader" [ 1.570000] mtd: partition "nand-urlader" is out of reach -- disabled [ 1.580000] 0x000008000000-0x000008000000 : "nand-tffs" [ 1.580000] mtd: partition "nand-tffs" is out of reach -- disabled [ 1.590000] Lantiq SSC driver, version 2.4.1, (c) 2001-2013 Lantiq Deutschland GmbH [ 1.600000] Creating 3 MTD partitions on "ifx_sflash": [ 1.600000] 0x000000000000-0x000000020000 : "urlader" [ 1.610000] 0x000000020000-0x000000030000 : "tffs (1)" [ 1.610000] 0x000000030000-0x000000040000 : "tffs (2)" [ 1.620000] Lantiq SPI flash driver, version 1.1.9, (c) 2001-2013 Lantiq Deutschland GmbH [ 1.620000] tun: Universal TUN/TAP device driver, 1.6 [ 1.630000] tun: (C) 1999-2004 Max Krasnyansky [ 1.640000] IFX SWITCH API, Version 1.1.8.5 [ 1.640000] SWAPI: Registered character device [switch_api] with major no [81] [ 1.650000] Switch API: PCE MicroCode loaded !! [ 1.650000] mice: PS/2 mouse device common for all mice [ 1.660000] i2c /dev entries driver [ 1.660000] CAPI Subsystem Rev 1.1.2.8 [ 1.660000] AVM PA for Linux 2.6.32.61 [ 1.670000] AVM PA skb pktinfo at offset 128 size 208 [ 1.670000] [loadcontrol]module avm_pa registered [ 1.680000] IPv4 over IPv4 tunneling driver [ 1.680000] TCP cubic registered [ 1.690000] mcfw: IGMPv3 fast forwarding [ 1.690000] NET: Registered protocol family 10 [ 1.690000] avm_pa: try to activate hw accelaration for pid 2 (ipv6) [ 1.700000] NET: Registered protocol family 17 [ 1.700000] NET: Registered protocol family 8 [ 1.710000] atmpvc_init() failed with -17 [ 1.710000] KOAM is loaded successfully. [ 1.720000] l2tp_core: L2TP core driver, V2.0 [ 1.720000] l2tp_ip: L2TP IP encapsulation support (L2TPv3) [ 1.730000] l2tp_netlink: L2TP netlink interface [ 1.730000] l2tp_eth: L2TP ethernet pseudowire support (L2TPv3) [ 1.740000] l2tp_ip6: L2TP IP encapsulation support for IPv6 (L2TPv3) [ 1.740000] [ 1.750000] TFFS: tiny flash file system driver. GPL (c) AVM Berlin (Version 2.0) [ 1.760000] mount on mtd9 and mtd10 (double buffering) [ 1.760000] TFFS Name Table L [ 1.780000] Adam2 environment variables API installed. [ 1.780000] AVM Simple Profiling enabled Version 3.0 [ 1.790000] [simple-profiling]:2 performance counters implemented, NEW_34K [ 1.790000] [simple-profiling]Enable Performance Counter 0 for Data cache load/stores (User Supervisor Kernel Exception TC-ID=0) all cores tc: 0 [ 1.810000] [simple-profiling]Enable Performance Counter 1 for Data cache load/store misses (User Supervisor Kernel Exception TC-ID=0) all cores tc: 0 [ 1.820000] [simple-profiling]Enable Performance Counter 0 for Data cache load/stores (User Supervisor Kernel Exception TC-ID=1) all cores tc: 1 [ 1.830000] [simple-profiling]Enable Performance Counter 1 for Data cache load/store misses (User Supervisor Kernel Exception TC-ID=1) all cores tc: 1 [ 1.850000] [simple-profiling]Enable Performance Counter 0 for Main pipeline stalls (P) (User Supervisor Kernel Exception TC-ID=2) all cores tc: 2 [ 1.860000] [simple-profiling]Enable Performance Counter 1 for Cycles (P) (User Supervisor Kernel Exception TC-ID=2) all cores tc: 2 [ 1.870000] [simple-profiling]all cores:performance-mode (round-robin): cpus on [ 1.880000] {avmnet_cfg_netinit} [ 1.880000] [avmnet] No config found for HWRev 198, HWSubRev 1, Profile-ID 0, trying base config for HWSubRev [ 1.890000] [avmnet] No config found for HWRev 198, HWSubRev 1, trying base config for HWRev [ 1.900000] [avmnet] [avmnet_swi_7port_init] Init on module swi_vr9 called. [ 2.060000] [avmnet] [reset_int_phy] Can not hard reset split GPHY phy_22F_2, doing MDIO reset [ 2.060000] [avmnet] [reset_int_phy] Can not hard reset split GPHY phy_22F_3, doing MDIO reset [ 2.220000] Loading AVM Net Common Datapath Driver for 7Port Switch...... [ 2.230000] [ppe_eth_init] init_hw() [ 2.230000] [init_hw] ppe_hw_init=0xff successful [ 2.240000] [ppe_eth_init] ifx_proc_file_create() [ 2.240000] [ppe_eth_init] dma_setup_init() [ 2.250000] [avmnet] [avmnet_swi_7port_disable_learning] Configuring CPU-port to receive all unknown unicast frames 0x61 [ 2.260000] [avmnet] [avmnet_swi_7port_disable_learning] Configuring CPU-port to receive all unknown multicast frames 0x61 [ 4.650000] [avmnet] [load_firmware] phy_22F_3: FE firmware already loaded into GPHY 0 [ 5.960000] avm_pa: try to activate hw accelaration for pid 1 (ipv4) [ 5.970000] drivers/net/avm_cpmac/switch/ifx/common/swi_ifx_common.c:649:ifx_ppa_alloc_virtual_tx_device: alloc virtual tx for pid 1 FAILED [ 5.980000] avm_pa: can't activate tx channel, pid 1 (ipv4) [ 5.990000] avm_pa: try to activate hw accelaration for pid 2 (ipv6) [ 5.990000] drivers/net/avm_cpmac/switch/ifx/common/swi_ifx_common.c:649:ifx_ppa_alloc_virtual_tx_device: alloc virtual tx for pid 2 FAILED [ 6.010000] avm_pa: can't activate tx channel, pid 2 (ipv6) [ 6.010000] [avmnet_set_macaddr] Setup Mac Addr for Device(eth0): 5c:49:79:db:93:0c [ 6.020000] avmnet: avm_pa: register pid eth0 [ 6.030000] [avmnet_set_macaddr] Setup Mac Addr for Device(eth1): 5c:49:79:db:93:0d [ 6.030000] avmnet: avm_pa: register pid eth1 [ 6.040000] [avmnet_set_macaddr] Setup Mac Addr for Device(eth2): 5c:49:79:db:93:10 [ 6.050000] avmnet: avm_pa: register pid eth2 [ 6.050000] [avmnet_set_macaddr] Setup Mac Addr for Device(eth3): 5c:49:79:db:93:11 [ 6.060000] avmnet: avm_pa: register pid eth3 [ 6.060000] kernel_init: basic setup done [ 6.070000] SQUASHFS error: Can't find a SQUASHFS superblock on mtdblock3 [ 6.070000] yaffs: dev is 32505859 name is "mtdblock3" ro [ 6.080000] yaffs: passed flags "" [ 6.090000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x800 page: 0x8240) [ 6.110000] VFS: Mounted root (yaffs filesystem) readonly on device 31:3. [ 6.120000] Freeing unused kernel memory: 212k freed [ 6.180000] trying /sbin/init [ 6.280000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x9910) [ 6.290000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7018) [ 6.300000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x701f) [ 6.420000] [squashfs] use zip compression [ 6.580000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8051) [ 6.600000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x806b) [ 6.650000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8021) [VR9-flash] -- Test -- starting pid 215, tty '/dev/ttyS0': '/etc/init.d/rc.S' mount: mounting proc on /proc failed: Device or resource busy tar: removing leading '/' from member names source files in group 0 ... /etc/init.d/S00-signal /etc/init.d/S05-watchdog /etc/init.d/S09-rtc /etc/init.d/S01-head /etc/init.d/S08-tffs /etc/init.d/S02-led /etc/init.d/S09-config [config-space] detected mtdmtd4: size '2097152' [ 7.000000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x86f5) modprobe: module nand not found in modules.dep [config-space][yaffs] driver is loaded [config-space] using mtd4 for /var/flash [ 7.040000] yaffs: dev is 32505860 name is "mtdblock4" rw [ 7.050000] yaffs: passed flags "" [config-space] /var/flash assigned @ /dev/mtdblock4 [ 7.580000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x77d3) [ 7.590000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x77dd) [ 7.710000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7b73) [ 7.820000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x784c) [ 7.910000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7fad) [ 7.950000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7bdf) [ 8.220000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x739f) [ 8.340000] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x9158) [ 8.470000] [module-alloc-by-name] give 0x1c000 bytes at 0x81101000 to module 'led_modul_Fritz_Box_HW198' (0xa10000 bytes left) [ 8.480000] led_modul_Fritz_Box_HW198: module license ' [ 8.480000] (C) Copyright 2012 by AVM [ 8.480000] ' taints kernel. [ 8.490000] Disabling lock debugging due to kernel taint [ 8.520000] [LED] use GPIO 5 for 'gpio_avm_led_power' [ 8.520000] [LED] use GPIO 4 for 'gpio_avm_led_lan_all' [ 8.530000] [LED] use GPIO 11 for 'gpio_avm_led_wlan' [ 8.530000] [LED] use GPIO 27 for 'gpio_avm_led_pppoe' [ 8.540000] [LED] use GPIO 25 for 'gpio_avm_led_info' [ 8.540000] [LED] use GPIO 26 for 'gpio_avm_led_info_red' [ 8.550000] [BUTTON] use GPIO 1 for 'gpio_avm_button_wlan' [ 8.550000] [BUTTON] use GPIO 0 for 'gpio_avm_button_wps' [ 8.560000] [register_bug_debug_table] name='led-modul' 0x8110ed64 - 0x8110ed78 [ 8.570000] AVM_WATCHDOG: System Init UEberwachung 120 Sekunden P-Defaults: do nothing [ 8.990000] [module-alloc-by-name] give 0x2000 bytes at 0x8111d000 to module 'rtc_avm' (0xa0e000 bytes left) [ 9.020000] rtc-avm rtc-avm.0: rtc core: registered avm as rtc0 [ 9.030000] [avm-rtc]: avm_rtc_probe: register: ret=0x87373600 [ 9.030000] [avm-rtc]: avm_rtc_probe: success exceute files in group 0 ... /etc/init.d/E05-basemodules group 0 done ... source files in group 1 ... /etc/init.d/S10-html /etc/init.d/S12-default /etc/init.d/S10-vm /etc/init.d/S15-filesys /etc/init.d/S11-config_def /etc/init.d/S17-capi /etc/init.d/S11-piglet /etc/init.d/S17-tam [ 9.200000] [ 9.200000] [avm_debug] redirecting kernel-messages (/dev/debug) modprobe: module nand not found in modules.dep [yaffs] driver is loaded [yaffs] nand-mtd: mtd5: 01600000 00020000 "nand-filesystem" [ 9.430000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x768a) [ 9.480000][1] yaffs: dev is 32505861 name is "mtdblock5" rw [ 9.480000][1] yaffs: passed flags "" [yaffs] Internal Memory assigned @ /var/media/ftp [Internal Memory] is NOT empty FRITZ [Internal Memory] initially filling skipped [ 9.550000][1] [avm_debug] redirecting kernel-messages (/dev/debug) cat: can't open '/dev/debug': Device or resource busy [ 9.630000][0] [module-alloc-by-name] give 0x66000 bytes at 0x8111f000 to module 'pcmlink' (0x9a8000 bytes left) [ 9.630000][0] [module-alloc-by-name] 0x66000 bytes used, 0x659e4 bytes expected [ 9.880000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8509) [ 9.990000][0] [module-alloc-by-name] give 0xcd000 bytes at 0x81185000 to module 'isdn_fbox_fon5' (0x8db000 bytes left) [ 9.990000][0] [module-alloc-by-name] 0xcd000 bytes used, 0xcfff8 bytes expected [ 10.450000][0] system-load 5 loadavg 0.31 0.7 0.2 - 37 tasks:77 % curr:modprobe(5 %) max:init(58 %, pid:1) pgstat: sum=27697 free=21486 slab=3948 alloc=1558/s fault=2957/s (sleep 1) [ 10.530000][0] [capi_oslib]avm_stack_attach: cpu0 -> cpu1 [ 10.530000][1] [pcmlink]chrony-support [ 10.540000][1] ifx_gptu_timer_set(0, 250000), divider = 1000000 [ 10.560000][1] [isdn]PCMLINK: svnVersion: 2496 (isdn: 3215) Codecslots=0 Slics=0 Pots=0 TE=0 NT=0 DECT=0 no HwCross DSP-EC: 0 [ 10.560000][1] [isdn]no hardware found: voip-only [ 10.660000][1] [module-alloc-by-name] give 0x6a000 bytes at 0x81252000 to module 'capi_codec' (0x871000 bytes left) [ 10.660000][1] [module-alloc-by-name] 0x6a000 bytes used, 0x6bec8 bytes expected TAM: create directory /data/tam exceute files in group 1 ... /etc/init.d/E15-device mknod led c 243 mknod tffs c 244 mknod avm_power c 253 mknod debug c 249 mknod avm_event c 251 mknod capi_oslib c 68 / group 1 done ... source files in group 2 ... /etc/init.d/S21-udev exceute files in group 2 ... group 2 done ... source files in group 3 ... [ 11.020000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x9016) /etc/init.d/S30-ledcfg exceute files in group 3 ... group 3 done ... source files in group 4 ... /etc/init.d/S42-ptest /etc/init.d/S46-usb /etc/init.d/S44-hostname /etc/init.d/S48-configd [ 11.070000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x906a) Jan 1 01:00:11 udevd[499]: specified group 'tty' unknown Jan 1 01:00:11 udevd[499]: specified group 'dialout' unknown Jan 1 01:00:11 udevd[499]: specified group 'kmem' unknown Jan 1 01:00:11 udevd[499]: specified group 'video' unknown Jan 1 01:00:11 udevd[499]: specified group 'audio' unknown Jan 1 01:00:11 udevd[499]: specified group 'lp' unknown Jan 1 01:00:11 udevd[499]: specified group 'disk' unknown Jan 1 01:00:11 udevd[499]: specified group 'floppy' unknown Jan 1 01:00:11 udevd[499]: specified group 'cdrom' unknown Jan 1 01:00:11 udevd[499]: specified group 'tape' unknown udev: starting version 151 51 [ 11.310000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8642) [ 11.350000][0] [module-alloc-by-name] give 0x2b000 bytes at 0x812bc000 to module 'usbcore' (0x846000 bytes left) [ 11.350000][0] [module-alloc-by-name] 0x2b000 bytes used, 0x2b0c8 bytes expected [ 11.500000][1] usbcore: registered new interface driver usbfs [ 11.510000][0] usbcore: registered new interface driver hub [ 11.510000][0] usbcore: registered new device driver usb [ 11.630000][0] [module-alloc-by-name] give 0x1c000 bytes at 0x812e7000 to module 'ifxusb_host' (0x82a000 bytes left) [ 11.630000][0] [module-alloc-by-name] 0x1c000 bytes used, 0x1e560 bytes expected [ 11.660000][0] IFXUSB: ifxusb_hcd: version 3.0alpha B100312 [ 11.660000][0] early VBUS switch [ 13.230000][0] IFXUSB: USB core #0 soft-reset [ 13.430000][0] IFXUSB: USB core #0 soft-reset [ 13.430000][0] IFXUSB: ifxhcd_init: req yield ret =9 [ 13.430000][0] ifxusb_hcd ifxusb_hcd: IFX USB Controller [ 13.430000][0] ifxusb_hcd ifxusb_hcd: new USB bus registered, assigned bus number 1 [ 13.430000][0] ifxusb_hcd ifxusb_hcd: irq 26, io mem 0xbe101000 [ 13.430000][0] IFXUSB: Init: Power Port (0) [ 13.440000][0] usb usb1: configuration #1 chosen from 1 choice [ 13.440000][1] hub 1-0:1.0: USB hub found [ 13.440000][1] hub 1-0:1.0: 1 port detected [ 13.440000][1] avm_net_trace: New net trace device 'usb1' registered with minor 161. [ 13.710000][1] IFXUSB: USB core #1 soft-reset [ 13.860000][1] IFXUSB: USB core #1 soft-reset [ 13.860000][1] IFXUSB: ifxhcd_init:reload_val_fast 2840 [ 13.860000][1] IFXUSB: ifxhcd_init:reload_val_normal 15625 [ 13.860000][1] IFXUSB: ifxhcd_init:reload_val_slow 2500000 [ 13.860000][1] ifx_gptu_timer_set(2, 100000), divider = 2500000 [ 13.860000][1] IFXUSB: ifxhcd_init: req yield ret =13 [ 13.860000][1] ifxusb_hcd ifxusb_hcd: IFX USB Controller [ 13.860000][1] ifxusb_hcd ifxusb_hcd: new USB bus registered, assigned bus number 2 [ 13.890000][0] ifxusb_hcd ifxusb_hcd: irq 27, io mem 0xbe106000 [ 13.890000][0] IFXUSB: Init: Power Port (0) [ 13.890000][0] usb usb2: configuration #1 chosen from 1 choice [ 13.890000][0] hub 2-0:1.0: USB hub found [ 13.890000][0] hub 2-0:1.0: 1 port detected [ 13.890000][0] avm_net_trace: New net trace device 'usb2' registered with minor 162. ifxusb_host started [ 14.050000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x72e6) [ 14.310000][1] system-load 7 loadavg 0.31 0.7 0.2 - 54 tasks:4 % curr:udevadm(1 %) max:loop0(1 %, pid:208) pgstat: sum=28028 free=20334 slab=4668 alloc=583/s fault=1383/s (sleep 1) [ 14.580000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x932d) [ 14.580000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x932e) exceute files in group 4 ... [ 15.160000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7ce8) /etc/init.d/E40-avmipc /etc/init.d/E46-net /etc/init.d/E40-dsl /etc/init.d/E47-voip [ 16.330000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8c52) [ 16.360000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8c8a) / [dsl sus] dsl line test calib factory file available [dsl get xtse] ANNEX=A [dsl get xtse] setting Annex A and M [dsl get xtse] 04 00 04 00 04 01 04 00 [dsl sus] starting ar10 dsp... [dsl sus] ANNEX=A DIAGNOSE=no [ 17.020000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x857d) [ 17.040000][1] [module-alloc-by-name] give 0xa000 bytes at 0x81303000 to module 'ifxmips_mei' (0x820000 bytes left) [ 17.040000][1] [module-alloc-by-name] 0xa000 bytes used, 0xa578 bytes expected [dsl mei] Lantiq MEI driver version: 5.06.02 [dsl mei] Lantiq MEI driver global debug_level: 0 [dsl sus] loaded ar10 mei driver: ifxmips_mei.ko with params: [ 18.190000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8240) [ 18.230000][1] [module-alloc-by-name] give 0x52000 bytes at 0x8130d000 to module 'drv_dsl_cpe_api' (0x7ce000 bytes left) [ 18.230000][1] [module-alloc-by-name] 0x52000 bytes used, 0x537d0 bytes expected [dsl drv] Lantiq CPE API Driver version: DSL CPE API V4.13.6 [dsl drv] Predefined debug level: 4 [dsl drv] dynamically registered major number 239 for drv_dsl_cpe_api [dsl sus] loaded ar10 dsl driver: drv_dsl_cpe_api.ko with params: [dsl sus] created ar10 dsl device node /dev/dsl_ar10 (major: 239 , minor: 0) [dsl sus] created ar10 mei device node /dev/ifx_mei (major: 242 , minor: 0) [dsl sus] invoke /sbin/notify_avmnet --broadband_type DSL hw_start_tm_atm [ 18.440000][1] [module-alloc-by-name] give 0x30000 bytes at 0x8135f000 to module 'ifxmips_ppa_datapath_ar10_a5' (0x79e000 bytes left) [ 18.440000][1] [module-alloc-by-name] 0x30000 bytes used, 0x318b0 bytes expected Loading A5 (MII0/1 + ATM) driver ...... [ 18.490000][1] clk=250, cfg_bits=0x10000 [ 18.510000][1] [init_communication_data_structures] write g_eth_prio_queue_map[0] = 0 to hw [ 18.510000][1] [init_communication_data_structures] write g_eth_prio_queue_map[1] = 1 to hw [ 18.510000][1] [init_communication_data_structures] write g_eth_prio_queue_map[2] = 2 to hw [ 18.510000][1] [init_communication_data_structures] write g_eth_prio_queue_map[3] = 3 to hw [ 18.510000][1] [init_communication_data_structures] write g_eth_prio_queue_map[4] = 4 to hw [ 18.510000][1] [init_communication_data_structures] write g_eth_prio_queue_map[5] = 5 to hw [ 18.510000][1] [init_communication_data_structures] write g_eth_prio_queue_map[6] = 6 to hw [ 18.510000][1] [init_communication_data_structures] write g_eth_prio_queue_map[7] = 7 to hw [ 18.510000][1] [alloc_dma] g_eth_wan_mode = 0, g_wanqos_en=0 CHIPID: 2, chipid address: 0xbf107344 [ 18.530000][1] [avmnet_swi_ar10_a5_register_xmit] setup new xmit function [ 18.530000][1] [avmnet_swi_ar10_a5_register_xmit] xmit eth0 = ifx_ppa_eth_hard_start_xmit_a5+0x0/0x640 [ifxmips_ppa_datapath_ar10_a5] [ 18.530000][1] [avmnet_swi_ar10_a5_register_xmit] xmit eth1 = ifx_ppa_eth_hard_start_xmit_a5+0x0/0x640 [ifxmips_ppa_datapath_ar10_a5] [ 18.530000][1] [avmnet_swi_ar10_a5_register_xmit] xmit eth2 = ifx_ppa_eth_hard_start_xmit_a5+0x0/0x640 [ifxmips_ppa_datapath_ar10_a5] [ 18.530000][1] [avmnet_swi_ar10_a5_register_xmit] xmit eth3 = ifx_ppa_eth_hard_start_xmit_a5+0x0/0x640 [ifxmips_ppa_datapath_ar10_a5] [ 18.530000][1] [avmnet] [avmnet_swi_7port_disable_learning] Configuring CPU-port to receive all unknown unicast frames 0x61 [ 18.530000][1] [avmnet] [avmnet_swi_7port_disable_learning] Configuring CPU-port to receive all unknown multicast frames 0x61 Succeeded! PPE datapath driver info: Version ID: 64.3.7.1.0.1.4 Family : VR9 DR Type : Normal Data Path | Indirect-Fast Path Interface : MII0 | MII1 | ATM Mode : Routing Release : 0.1.4 PPE firmware info: Version ID: 8.4.2.11.1 Family : AR10 FW Package: A5 Release : 2.11.1 PPE firmware feature: ATM/PTM TC-Layer Support Packet Acceleration Support IPv4 Support IPv6 Support 6RD Support DS-Lite Support [dsl sus] oamd loaded [dsl sus] started dsl_control (configuration: -i04_00_04_00_04_01_04_00 -f/var/dsl/dspfw/ar10-A-dsl.bin -n/etc/dsl/notify/dsl_notify.sh ) nohup: appending output to nohup.out nohup: appending output to nohup.out [ 18.600000][1] userspace registering PID [ 18.640000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x9349) 0 [dsl sus] started dsl_monitor [dsl sus] ....ar10 dsp started [ 18.890000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8276) [ 18.990000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x82cd) [ 19.090000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8366) [ 19.320000][0] [module-alloc-by-name] give 0x1d2000 bytes at 0x8138f000 to module 'kdsldmod' (0x5cc000 bytes left) [ 19.320000][0] [module-alloc-by-name] 0x1d2000 bytes used, 0x1d3dc8 bytes expected [ 20.640000][0] system-load 100% loadavg 0.93 0.21 0.7 - 78 tasks:39 % curr:modprobe(15 %) max:modprobe(15 %, pid:953) pgstat: sum=27414 free=12863 slab=8246 alloc=2245/s fault=4062/s (sleep 3) [ 23.070000][0] kdsldmod: init start (Mar 21 2017 18:53:08) sizeof(struct sk_buff)=440 [ 23.080000][0] userman: device registerd (userman_url) with major=233 kdsld: ttychannel: ldisc 8 registered [ 23.080000][0] PCP_NL: PCP netlink interface (multicast group 1) [ 23.080000][0] kdsldmod: init done (Mar 21 2017 18:53:09) Jan 1 01:00:23 l2tpv3d[1076]: starting ... 1970-01-01 01:00:23 l2tpv3d[1076]: ready (0sec) Jan 1 01:00:23 l2tpv3d[1078]: started. Jan 1 01:00:23 l2tpv3d[1078]: verbose: DISABLED [ 24.030000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7a53) [ 24.070000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7a77) Jan 1 01:00:24 ctlmgr[1083]: pcpc_create_ctx: no pcpserver found [ 24.310000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x79da) [ 24.320000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x79e8) Jan 1 01:00:24 upnpd[1089]: starting ... [ 24.510000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x79b1) Jan 1 01:00:24 ctlmgr[1085]: /var/flash/voip.cfg: is empty Jan 1 01:00:24 ctlmgr[1085]: load_config(voip): file empty - factory default loaded 1970-01-01 01:00:24 upnpd[1089]: ready (0sec) Jan 1 01:00:24 ctlmgr[1085]: /var/flash/ewnwstatus.cfg: is empty Jan 1 01:00:24 ctlmgr[1085]: load_config(ewnwstatus): file empty - factory default loaded Jan 1 01:00:25 multid[1097]: /var/flash/vpn.cfg: is empty Jan 1 01:00:25 multid[1097]: load_config(vpn): file empty - factory default loaded Jan 1 01:00:25 multid[1097]: startup ($Revision: 31261 $$CompileDate: Mar 21 2017 18:52:15 $) Jan 1 01:00:25 multid[1097]: starting ... Jan 1 01:00:25 multid[1099]: HWRevision=198 [avm_power] eth: port 0 force normal CON t0 [avm_power] eth: port 1 force throttle CON t0 [avm_power] eth: port 2 force throttle CON t0 [avm_power] eth: port 3 force throttle CON t0 Jan 1 01:00:25 multid[1099]: opt_without_tr069discover=0, tr069disc=0, AR7CFG->vinax_hsi_lan_ports=(null), multid.tcom_targetarch=0, is_eth_switch_installed()=0, multid.cpmac_no_ata_possible=0, pppoeiface=ptm0 Jan 1 01:00:25 multid[1099]: bridge_configured: nqos_bridge_active=0, bridge_port_set=0x0, igmp_flt_portset=0x0 Jan 1 01:00:26 multid[1099]: flood ratelimiting on bridge lan is NOT supported [ 26.890000][0] ADDRCONF(NETDEV_UP): lan: link is not ready [ 26.890000][0] ADDRCONF(NETDEV_UP): lan: link is not ready [ 26.890000][0] [avmnet] [avmnet_mcfw_enable] Device eth0 was enabled already [ 26.890000][0] ADDRCONF(NETDEV_UP): eth0: link is not ready Jan 1 01:00:26 multid[1099]: list[0]=lan [ 26.900000][0] device eth0 entered promiscuous mode [ 26.900000][0] [avmnet] [avmnet_mcfw_enable] Device eth1 was enabled already [ 26.900000][0] ADDRCONF(NETDEV_UP): eth1: link is not ready Jan 1 01:00:26 multid[1099]: list[0]=lan [ 26.900000][0] device eth1 entered promiscuous mode [ 26.900000][0] [avmnet] [avmnet_mcfw_enable] Device eth2 was enabled already [ 26.900000][0] ADDRCONF(NETDEV_UP): eth2: link is not ready Jan 1 01:00:26 multid[1099]: list[0]=lan [ 26.910000][0] device eth2 entered promiscuous mode [ 26.910000][0] [avmnet] [avmnet_mcfw_enable] Device eth3 was enabled already [ 26.910000][0] ADDRCONF(NETDEV_UP): eth3: link is not ready Jan 1 01:00:26 multid[1099]: list[0]=lan [ 26.910000][0] device eth3 entered promiscuous mode Jan 1 01:00:26 ctlmgr[1085]: WLANLIB: wlan_plugin_init:832: svn revision 2556 Jan 1 01:00:26 ctlmgr[1085]: WLANLIB: weak_wlan_check:73: Missing weak 'process_wlanmail'. Jan 1 01:00:26 ctlmgr[1085]: WLANLIB: weak_wlan_check:76: Missing weak 'wlan_enabled_changed'. Jan 1 01:00:27 multid[1099]: flood ratelimiting on bridge guest is NOT supported [ 27.920000][0] ADDRCONF(NETDEV_UP): guest: link is not ready [ 27.930000][0] ADDRCONF(NETDEV_UP): guest: link is not ready Jan 1 01:00:27 multid[1099]: mrouter: using IGMPv3 for upstream interface dsl Jan 1 01:00:27 multid[1099]: mrouter: using IGMPv3 for other interfaces Jan 1 01:00:27 multid[1099]: resolv.conf with 127.0.0.1 written Jan 1 01:00:27 ctlmgr[1085]: WLANLIB: wcsi_socket_connect:501: Establishing RPC connection failed with TIMEOUT Jan 1 01:00:27 multid[1099]: DHCPD on lan Jan 1 01:00:27 multid[1099]: DHCPD on lan:0 skipped, is virtual interface Jan 1 01:00:28 ctlmgr[1085]: /var/flash/stat.cfg: is empty Jan 1 01:00:28 ctlmgr[1085]: /etc/default/avme/stat.cfg: is empty Jan 1 01:00:28 ctlmgr[1085]: load_config(stat): file empty - factory default loaded Jan 1 01:00:28 multid[1099]: DHCPD on guest Jan 1 01:00:28 multid[1099]: open(/dev/userman) - No such file or directory (2) Jan 1 01:00:28 multid[1099]: open(/dev/userman) - No such file or directory (2) Jan 1 01:00:28 multid[1099]: Warning: dnsd_start: no dns server added Jan 1 01:00:28 multid[1099]: interface lo up. Jan 1 01:00:28 multid[1099]: interface lo carrier up Jan 1 01:00:28 multid[1099]: list[0]=lan Jan 1 01:00:28 multid[1099]: list[1]=guest Jan 1 01:00:28 multid[1099]: br_get_interfaces(guest)=0 Jan 1 01:00:28 multid[1099]: interface eth0 up. Jan 1 01:00:28 multid[1099]: list[0]=lan Jan 1 01:00:28 multid[1099]: list[1]=guest Jan 1 01:00:28 multid[1099]: br_get_interfaces(guest)=0 Jan 1 01:00:28 multid[1099]: interface eth1 up. Jan 1 01:00:28 multid[1099]: list[0]=lan Jan 1 01:00:28 multid[1099]: list[1]=guest Jan 1 01:00:28 multid[1099]: br_get_interfaces(guest)=0 Jan 1 01:00:28 multid[1099]: interface eth2 up. Jan 1 01:00:28 multid[1099]: list[0]=lan Jan 1 01:00:28 multid[1099]: list[1]=guest Jan 1 01:00:28 multid[1099]: br_get_interfaces(guest)=0 Jan 1 01:00:28 multid[1099]: interface eth3 up. Jan 1 01:00:28 multid[1099]: DHCPD on lan Jan 1 01:00:28 multid[1099]: interface lan up. Jan 1 01:00:28 multid[1099]: DHCPD on lan Jan 1 01:00:28 multid[1099]: mrouter: lan: vif 0 if_index 8 Jan 1 01:00:28 multid[1099]: interface guest up. Jan 1 01:00:28 multid[1099]: DHCPD on guest Jan 1 01:00:28 multid[1099]: mrouter: lan: vif 0 if_index 8 Jan 1 01:00:28 multid[1099]: mrouter: guest: vif 1 if_index 9 Jan 1 01:00:28 multid[1099]: verbose: DISABLED 1970-01-01 01:00:28 multid[1097]: ready (3sec) Jan 1 01:00:28 ddnsd[1146]: startup ($Revision: 31930 $$CompileDate: Mar 21 2017 18:52:19 $) Jan 1 01:00:28 ddnsd[1146]: starting ... Jan 1 01:00:28 ddnsd[1148]: DDNS: no valid accounts Jan 1 01:00:28 ddnsd[1148]: [1148] Start failed 1970-01-01 01:00:28 ddnsd[1146]: [1146]: Daemon start failed (0sec) FATAL: ddnsd not running after started Jan 1 01:00:28 pcpd[1150]: startup (Mar 21 2017 18:53:03) Jan 1 01:00:28 pcpd[1150]: starting ... Jan 1 01:00:28 pcpd[1152]: Local v4 address: 192.168.178.1 Jan 1 01:00:28 pcpd[1152]: verbose: DISABLED 1970-01-01 01:00:28 pcpd[1150]: ready (0sec) Jan 1 01:00:28 upnpdevd[1154]: startup ($Revision: 30509 $$CompileDate: Mar 21 2017 18:52:20 $) Jan 1 01:00:28 upnpdevd[1154]: starting ... 1970-01-01 01:00:28 upnpdevd[1154]: ready (0sec) Jan 1 01:00:28 upnpdevd[1156]: verbose: DISABLED rc.wlan: Start WLAN... [ 28.960000][1] system-load 5 loadavg 1.2 0.24 0.8 - 89 tasks:20 % curr:ctlmgr(10 %) max:ctlmgr(10 %, pid:1085) pgstat: sum=29420 free=9578 slab=8952 alloc=1089/s fault=2389/s (sleep 7) WLAND:[01165]:01:00.29/[29.0]:BUILD: Mar 21 2017, 19:04:58 Jan 1 01:00:29 ctlmgr[1085]: /var/flash/vpn.cfg: is empty Jan 1 01:00:29 ctlmgr[1085]: load_config(vpn): file empty - factory default loaded [ 29.130000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8dd8) Jan 1 01:00:29 dsld[1168]: startup ($Revision: 32621 $$CompileDate: Mar 21 2017 18:53:50 $) Jan 1 01:00:29 dsld[1168]: set_preconfig1 Jan 1 01:00:29 dsld[1168]: sync_group in ar7.cfg: Jan 1 01:00:29 dsld[1168]: sync_group:sync_dsl(enabled=1), nr=0 Jan 1 01:00:29 dsld[1168]: vcc:8/35 Jan 1 01:00:29 dsld[1168]: dsliface:internet Jan 1 01:00:29 dsld[1168]: vcc:8/36 Jan 1 01:00:29 dsld[1168]: dsliface:voip Jan 1 01:00:29 dsld[1168]: sync_group: dsl Jan 1 01:00:29 dsld[1168]: sync_dsl is igd_device Jan 1 01:00:29 ctlmgr[1085]: /var/flash/vpn.cfg: is empty Jan 1 01:00:29 ctlmgr[1085]: load_config(vpn): file empty - factory default loaded Jan 1 01:00:29 dsld[1168]: set_preconfig2 Jan 1 01:00:29 dsld[1168]: add_vcc_connection: 8/35, sync_group=dsl Jan 1 01:00:29 dsld[1168]: add_vcc_connection: 8/36, sync_group=dsl [ 29.540000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8749) Jan 1 01:00:29 dsld[1168]: starting ... Jan 1 01:00:29 dsld[1183]: DSL Mac 5c:49:79:db:93:0f Jan 1 01:00:29 dsld[1183]: VOIP Mac 5c:49:79:db:93:10 Jan 1 01:00:29 dsld[1183]: VCC2 Mac 5c:49:79:db:93:11 Jan 1 01:00:29 dsld[1183]: VCC3 Mac 5c:49:79:db:93:0d [ 29.580000][0] [module-alloc-by-name] give 0x27000 bytes at 0x81561000 to module 'aae' (0x5a5000 bytes left) [ 29.580000][0] [module-alloc-by-name] 0x27000 bytes used, 0x25590 bytes expected kdsld: kdsld_vcc_preunregister: * [ 29.600000][1] kdsld: nr_ipv4 0 nr_ipv6 0 nr_vpn 0 Jan 1 01:00:29 dsld[1183]: sync_group(prepare_interfaces): dsl: inet_nr=0 Jan 1 01:00:29 dsld[1183]: nach prepare_interfaces: dsld.dsliface_default_inet_nr=0, dsld.dsliface_voip_nr=1 Jan 1 01:00:29 dsld[1183]: queue 0: prio 0 weight 0 shrate 0 shburst 0 wan Jan 1 01:00:29 dsld[1183]: queue 1: prio 10 weight 0 shrate 0 shburst 0 wan Jan 1 01:00:29 dsld[1183]: queue 2: prio 20 weight 0 shrate 0 shburst 0 wan Jan 1 01:00:29 dsld[1183]: queue 3: prio 30 weight 0 shrate 0 shburst 0 wan Jan 1 01:00:29 dsld[1183]: queue 4: prio 100 weight 90 shrate 0 shburst 0 wan Jan 1 01:00:29 dsld[1183]: queue 5: prio 100 weight 10 shrate 0 shburst 0 wan Jan 1 01:00:29 dsld[1183]: queue 6: prio 200 weight 0 shrate 0 shburst 0 wan Jan 1 01:00:29 dsld[1183]: appl 0: sip-appl result 1 Jan 1 01:00:29 dsld[1183]: classifer: local "localmark sip" result 1 Jan 1 01:00:29 dsld[1183]: classifer: local "localmark rtp" result 1 Jan 1 01:00:29 dsld[1183]: classifer: local "localmark sip_internet" result 1 Jan 1 01:00:29 dsld[1183]: classifer: local "localmark rtp_internet" result 1 Jan 1 01:00:29 dsld[1183]: classifer: local "localmark sipdns,ntpdns,tr069dns,tr069" result 2 Jan 1 01:00:29 dsld[1183]: classifer: local "localmark igmp" result 3 Jan 1 01:00:29 dsld[1183]: classifer: local "localmark webdav" result 4 Jan 1 01:00:29 dsld[1183]: classifer: local "localmark dns" result 2 Jan 1 01:00:29 dsld[1183]: classifer: lan "udp.dport 43962,47806" result 2 Jan 1 01:00:29 dsld[1183]: classifer: lan "ip.proto IPv6-ICMP" result 2 Jan 1 01:00:29 dsld[1183]: classifer: lan "ip.proto icmp" result 2 Jan 1 01:00:29 dsld[1183]: classifer: lan "udp.dport 53" result 2 Jan 1 01:00:29 dsld[1183]: classifer: lan "udp.dport 5060" result 5 Jan 1 01:00:29 dsld[1183]: classifer: lan "tcp.dport 5060" result 5 Jan 1 01:00:29 dsld[1183]: classifer: local "localmark lcp" result 3 Jan 1 01:00:29 dsld[1183]: result 0: tos 65535 vprio 65535 queue 5 appl 65535 bridge 65535 forward 65535 Jan 1 01:00:29 dsld[1183]: result 1: tos 65535 vprio 65535 queue 2 appl 65535 bridge 65535 forward 65535 Jan 1 01:00:29 dsld[1183]: result 2: tos 65535 vprio 65535 queue 1 appl 65535 bridge 65535 forward 65535 Jan 1 01:00:29 dsld[1183]: result 3: tos 65535 vprio 65535 queue 0 appl 65535 bridge 65535 forward 65535 Jan 1 01:00:29 dsld[1183]: result 4: tos 65535 vprio 65535 queue 6 appl 65535 bridge 65535 forward 65535 Jan 1 01:00:29 dsld[1183]: result 5: tos 65535 vprio 65535 queue 2 appl 0 bridge 65535 forward 65535 [ 29.620000][1] kdsld: flushing internet sessions Jan 1 01:00:29 dsld[1183]: /var/flash/vpn.cfg: is empty Jan 1 01:00:29 dsld[1183]: load_config(vpn): file empty - factory default loaded Jan 1 01:00:29 dsld[1183]: interface lo added. Jan 1 01:00:29 dsld[1183]: interface lo up. Jan 1 01:00:29 dsld[1183]: interface lo carrier_up. Jan 1 01:00:29 dsld[1183]: interface tunl0 added. Jan 1 01:00:29 dsld[1183]: interface eth0 added. Jan 1 01:00:29 dsld[1183]: interface eth0 up. Jan 1 01:00:29 dsld[1183]: interface eth1 added. Jan 1 01:00:29 dsld[1183]: interface eth1 up. Jan 1 01:00:29 dsld[1183]: interface eth2 added. Jan 1 01:00:29 dsld[1183]: interface eth2 up. Jan 1 01:00:29 dsld[1183]: interface eth3 added. Jan 1 01:00:29 dsld[1183]: interface eth3 up. Jan 1 01:00:29 dsld[1183]: interface adsl added. Jan 1 01:00:29 dsld[1183]: interface lan added. Jan 1 01:00:29 dsld[1183]: interface lan up. Jan 1 01:00:29 dsld[1183]: interface guest added. Jan 1 01:00:29 dsld[1183]: interface guest up. Jan 1 01:00:29 dsld[1183]: /var/flash/stat.cfg: is empty Jan 1 01:00:29 dsld[1183]: /etc/default/avme/stat.cfg: is empty Jan 1 01:00:29 dsld[1183]: load_config(stat): file empty - factory default loaded Jan 1 01:00:29 dsld[1183]: start register_vccs_and_ifaces_on_kdsld for sync_dsl Jan 1 01:00:29 dsld[1183]: kdsld_preregister_vcc: predsl1 kdsld: kdsld_vcc_preregister: predsl1 kdsld: kdsld_vcc_preregister: vcc->ifaces=(null) Jan 1 01:00:29 dsld[1183]: kdsld_preregister_vcc: kdsld_vccidx=0 [ 29.700000][1] kdsld: IPv6: voip: link local fe80::5e49:79ff:fedb:9310 remote :: [ 29.700000][1] kdsld: voip: set_rcv_ipaddr: 192.168.178.1 Jan 1 01:00:29 dsld[1183]: udslcb_created: nr=1 (sync_dsl) Jan 1 01:00:29 dsld[1183]: udsliface->attached=1(0x451de4) Jan 1 01:00:29 dsld[1183]: kdsld_preregister_vcc: predsl2 kdsld: kdsld_vcc_preregister: predsl2 kdsld: kdsld_vcc_preregister: vcc->ifaces=(null) Jan 1 01:00:29 dsld[1183]: kdsld_preregister_vcc: kdsld_vccidx=1 [ 29.700000][1] kdsld: internet: set_rcv_ipaddr: 192.168.178.1 Jan 1 01:00:29 dsld[1183]: udslcb_created: nr=0 (sync_dsl) Jan 1 01:00:29 dsld[1183]: udsliface->attached=1(0x451d70) [ 29.710000][1] kdsld: route-dsl: set_snd_ipaddr: 192.168.180.1 [ 29.710000][1] kdsld: route-dsl: set_rcv_ipaddr: 192.168.180.1 1970-01-01 01:00:29 dsld[1168]: ready (0sec) Jan 1 01:00:29 dsld[1183]: verbose: DISABLED [ 29.780000][0] [wlan_config] Given config is: [ 29.780000][0] [wlan_config] hw_interface=0 chip_type=6 (osprey) offload=1 (non) [ 29.780000][0] [wlan_config] hwrev=198 hwsubrev=1 maca=5c:49:79:db:93:0c [ 29.800000][0] [wlan_eeprom] Calibration data blocks found = 1 [ 29.800000][0] [wlan_eeprom] EEPROM #1, type "AR93xx/AR95xx": [ 29.800000][0] [wlan_eeprom] Customer data="AVM3272_CAL1_V2" [ 29.800000][0] [wlan_eeprom] regDmn=0x8114 - patching to 0 [ 29.800000][0] [wlan_eeprom] MinCCAPwr thresh set to 2GHz:-70,-70,-70 5GHz:-1,0,0 [ 29.800000][0] [wlan_eeprom] Build with ART2 4.4 [ 29.800000][0] avm_net_trace: New net trace device 'WLAN Management Traffic' registered with minor 128. [ 29.860000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8d4d) Jan 1 01:00:29 cloudmsgd[1193]: starting ... [ 30.040000][0] [module-alloc-by-name] give 0x6000 bytes at 0x81588000 to module 'adf' (0x59f000 bytes left) [ 30.040000][0] [module-alloc-by-name] 0x6000 bytes used, 0x5080 bytes expected ****Address of trace_timer :8158af90 1970-01-01 01:00:30 cloudmsgd[1193]: ready (1sec) [ 30.260000][0] [module-alloc-by-name] give 0x3000 bytes at 0x8158e000 to module 'asf' (0x59c000 bytes left) [ 30.260000][0] [module-alloc-by-name] 0x3000 bytes used, 0x326c bytes expected [ 30.390000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8830) [ 30.540000][1] [module-alloc-by-name] give 0xb8000 bytes at 0x81591000 to module 'ath_hal' (0x4e4000 bytes left) [ 30.540000][1] [module-alloc-by-name] 0xb8000 bytes used, 0xb56c8 bytes expected [ 30.680000][1] ath_hal: 0.9.17.1 (AR5416, AR9380, REGOPS_FUNC, WRITE_EEPROM, TX_DATA_SWAP, RX_DATA_SWAP, 11D) [ 30.690000][0] system-load 100% loadavg 1.42 0.33 0.11 - 94 tasks:20 % curr:pbd(0 %) max:ctlmgr(8 %, pid:1085) pgstat: sum=29727 free=7099 slab=9250 alloc=604/s fault=959/s (sleep 0) [ 30.800000][0] [module-alloc-by-name] give 0x8000 bytes at 0x81649000 to module 'ath_rate_atheros' (0x4dc000 bytes left) [ 30.800000][0] [module-alloc-by-name] 0x8000 bytes used, 0x8098 bytes expected [ 30.830000][0] ath_rate_atheros: Copyright (c) 2001-2005 Atheros Communications, Inc, All Rights Reserved [ 30.920000][1] [module-alloc-by-name] give 0x12000 bytes at 0x81651000 to module 'ath_dfs' (0x4ca000 bytes left) [ 30.920000][1] [module-alloc-by-name] 0x12000 bytes used, 0x138f0 bytes expected [ 30.950000][1] ath_dfs: Version 2.0.0 Copyright (c) 2005-2006 Atheros Communications, Inc. All Rights Reserved [ 31.060000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x91dd) Jan 1 01:00:31 telefon[1219]: use clock_gettime(CLOCK_MONOTONIC)! Jan 1 01:00:31 telefon[1219]: No S0NT! Jan 1 01:00:31 telefon[1219]: NoOldMSNNames [ 31.100000][1] [module-alloc-by-name] give 0x64000 bytes at 0x81663000 to module 'ath_dev' (0x466000 bytes left) [ 31.100000][1] [module-alloc-by-name] 0x64000 bytes used, 0x638a4 bytes expected [ 31.350000][1] ath_dev: Copyright (c) 2001-2007 Atheros Communications, Inc, All Rights Reserved [ 31.410000][1] [module-alloc-by-name] give 0x16000 bytes at 0x816c7000 to module 'userman_mod' (0x450000 bytes left) [ 31.410000][1] [module-alloc-by-name] 0x16000 bytes used, 0x16df4 bytes expected [ 31.440000][1] userman: LAN Client Internet-Accounting and Blocking [ 31.440000][1] userman: device registerd with major=231 [ 31.440000][1] userman: init ok [ 31.520000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7378) [ 31.800000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7eee) [ 31.800000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x7efd) [ 31.930000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x89bb) [ 32.040000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8a35) Jan 1 01:00:32 voipd[1235]: starting ... Jan 1 01:00:32 voipd[1241]: /var/flash/voip.cfg: is empty Jan 1 01:00:32 voipd[1241]: load_config(voip): file empty - factory default loaded [ 32.140000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8ac2) [ 32.150000][0] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8ad6) [ 32.320000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8b61) Jan 1 01:00:32 telefon[1225]: NoOldMSNNames [ 32.400000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8bca) [ 32.430000][1] [module-alloc-by-name] give 0x25000 bytes at 0x816dd000 to module 'krtp' (0x42b000 bytes left) [ 32.430000][1] [module-alloc-by-name] 0x25000 bytes used, 0x267a8 bytes expected [ 32.510000][1] [ifx_nand_command_hwecc] read block is critical (status: 0xe8, column: 0x0 page: 0x8be8) Jan 1 01:00:32 voipd[1241]: internet: dns_context: internet (ref 1) Jan 1 01:00:32 voipd[1241]: internet: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: internet: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: internet: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: internet: if dsl (10) nr 0 connection 0 Jan 1 01:00:32 voipd[1241]: internet: dnscctx internet stay online 1 natstate normal Jan 1 01:00:32 voipd[1241]: internet: ipv4 no sync Jan 1 01:00:32 voipd[1241]: internet: stackmode_ipv4 Jan 1 01:00:32 voipd[1241]: internet: dns_context: internet (ref 1) Jan 1 01:00:32 voipd[1241]: internet: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: internet: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: internet: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: voip: dns_context: voip (ref 1) Jan 1 01:00:32 voipd[1241]: voip: dns_context: ipv4 only, sipdns, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: voip: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: voip: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: voip: if dsl (10) nr -1 connection 0 Jan 1 01:00:32 voipd[1241]: voip: dnscctx voip stay online 1 natstate normal Jan 1 01:00:32 voipd[1241]: voip: ipv4 no sync Jan 1 01:00:32 voipd[1241]: voip: stackmode_ipv4 Jan 1 01:00:32 voipd[1241]: voip: dns_context: voip (ref 1) Jan 1 01:00:32 voipd[1241]: voip: dns_context: ipv4 only, sipdns, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: voip: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: voip: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: mta: dns_context: mta (ref 1) Jan 1 01:00:32 voipd[1241]: mta: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: mta: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: mta: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: mta: if mta0 (0) netmark 1 Jan 1 01:00:32 voipd[1241]: mta: dnscctx mta stay online 1 natstate normal Jan 1 01:00:32 voipd[1241]: mta: ipv4 no sync Jan 1 01:00:32 voipd[1241]: mta: ipv6 no sync Jan 1 01:00:32 voipd[1241]: mta: stackmode_dual Jan 1 01:00:32 voipd[1241]: mta: dns_context: mta (ref 1) Jan 1 01:00:32 voipd[1241]: mta: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: mta: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: mta: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: homenet: dns_context: homenet (ref 1) Jan 1 01:00:32 voipd[1241]: homenet: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: homenet: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: homenet: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: homenet: dns_context: from 127.0.0.1 Jan 1 01:00:32 voipd[1241]: homenet: if lan (8) Jan 1 01:00:32 voipd[1241]: homenet: dnscctx homenet stay online 1 natstate normal Jan 1 01:00:32 voipd[1241]: homenet: ipv4 connected Jan 1 01:00:32 voipd[1241]: homenet: stackmode_ipv4 Jan 1 01:00:32 voipd[1241]: homenet: dns_context: homenet (ref 1) Jan 1 01:00:32 voipd[1241]: homenet: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: homenet: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: homenet: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: homenet: dns_context: from 127.0.0.1 Jan 1 01:00:32 voipd[1241]: vpn: dns_context: homenet (ref 1) Jan 1 01:00:32 voipd[1241]: vpn: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: vpn: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: vpn: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: vpn: dns_context: from 127.0.0.1 Jan 1 01:00:32 voipd[1241]: vpn: if dsl (10) nr 0 connection 0 Jan 1 01:00:32 voipd[1241]: vpn: dnscctx homenet stay online 1 natstate normal Jan 1 01:00:32 voipd[1241]: vpn: ipv4 no sync Jan 1 01:00:32 voipd[1241]: vpn: stackmode_ipv4 Jan 1 01:00:32 voipd[1241]: vpn: dns_context: homenet (ref 1) Jan 1 01:00:32 voipd[1241]: vpn: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: vpn: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: vpn: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: vpn: dns_context: from 127.0.0.1 Jan 1 01:00:32 voipd[1241]: tunnel: dns_context: internet (ref 1) Jan 1 01:00:32 voipd[1241]: tunnel: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: tunnel: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: tunnel: dns_context: 127.0.0.1 0 Jan 1 01:00:32 voipd[1241]: tunnel: if tun0 (0) Jan 1 01:00:32 voipd[1241]: tunnel: dnscctx internet stay online 1 natstate normal Jan 1 01:00:32 voipd[1241]: tunnel: ipv4 no sync Jan 1 01:00:32 voipd[1241]: tunnel: ipv6 no sync Jan 1 01:00:32 voipd[1241]: tunnel: stackmode_dual Jan 1 01:00:32 voipd[1241]: tunnel: dns_context: internet (ref 1) Jan 1 01:00:32 voipd[1241]: tunnel: dns_context: ipv4 only, none, 0, 2/5 300, 1 Jan 1 01:00:32 voipd[1241]: tunnel: dns_context: 1 name server: Jan 1 01:00:32 voipd[1241]: tunnel: dns_context: 127.0.0.1 0 1970-01-01 01:00:32 voipd[1235]: ready (0sec) group 4 done ... source files in group 5 ... [ 32.860000][0] [module-alloc-by-name] give 0x2f0000 bytes at 0x81702000 to module 'umac' (0x13b000 bytes left) [ 32.860000][0] [module-alloc-by-name] 0x2f0000 bytes used, 0x2f391c bytes expected exceute files in group 5 ... group 5 done ... source files in group 6 ... exceute files in group 6 ... group 6 done ... source files in group 7 ... /etc/init.d/S73-capitcp /etc/init.d/S76-media /etc/init.d/S75-inetd /etc/init.d/S79-boxnotify Jan 1 01:00:33 usermand[1244]: /var/flash/userstat.cfg: is empty Jan 1 01:00:33 usermand[1244]: /etc/default/avme/userstat.cfg: is empty Jan 1 01:00:33 usermand[1244]: load_config(userstat): file empty - factory default loaded Jan 1 01:00:33 usermand[1244]: starting ... /etc/init.d/rc.S: /etc/init.d/S76-media: line 6: /etc/init.d/rc.media: not found exceute files in group 7 ... group 7 done ... source files in group 8 ... /etc/init.d/S85-apps /etc/init.d/S89-overheat_guard exceute files in group 8 ... group 8 done ... source files in group 9 ... /etc/init.d/S99-tail run_clock demon started AVM_WATCHDOG: System Init UEberwachung abgeschlossen (95030 ms noch verfuegbar) [ 33.580000][1] SysRq : Changing Loglevel Loglevel set to 4 Info: have to stop cat /dev/debug. notifyd[1266]: received signal Hangup pbd[1214]: received signal Hangup Please press Enter to activate this console. Jan 1 01:00:34 dsld[1183]: !!!!!!!!!!!!!!!!!route_add: default: metric=2, iface=dsl Jan 1 01:00:36 ddnsd[1324]: startup ($Revision: 31930 $$CompileDate: Mar 21 2017 18:52:19 $) Jan 1 01:00:36 ddnsd[1324]: starting ... Jan 1 01:00:36 ddnsd[1326]: DDNS: no valid accounts Jan 1 01:00:36 ddnsd[1326]: [1326] Start failed Jan 1 01:00:36 pcpd[1328]: already running rc.wlan: Start WLAN... rc.wlan start: WLAN daemon already running Jan 1 01:00:36 cloudmsgd[1338]: starting ... --8323328-66850419-1566602064=:6377 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --8323328-66850419-1566602064=:6377-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: the correct choice only by reading the annotations. Thus, remove the second case and keep the first one, so behavior stays the same (as nobody seems to have complained about it). Signed-off-by: Adrian Schmutzler --- This should be backported to 19.07 and 18.06. --- target/linux/ramips/base-files/etc/board.d/02_network | 1 - 1 file changed, 1 deletion(-) 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 e19a618389..92067ac7da 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -516,7 +516,6 @@ ramips_setup_macs() netgear,wnce2001) wan_mac=$(mtd_get_mac_binary factory 0x2e) ;; - arcwireless,freestation5|\ dlink,dir-300-b7|\ dlink,dir-320-b1|\ dlink,dir-620-a1|\ -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: the correct choice only by reading the annotations. Thus, remove the second case and keep the first one, so behavior stays the same (as nobody seems to have complained about it). Signed-off-by: Adrian Schmutzler (cherry picked from commit ad4eb2241b33b05b0942a3fa7ed2e53fb6e84386) --- target/linux/ramips/base-files/etc/board.d/02_network | 1 - 1 file changed, 1 deletion(-) 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 a5cfd8343a..f3965a9507 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -514,7 +514,6 @@ ramips_setup_macs() dir-320-b1|\ dir-620-a1|\ esr-9753|\ - freestation5|\ hilink,hlk-7628n|\ hlk-rm04|\ mpr-a1|\ -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: the correct choice only by reading the annotations. Thus, remove the second case and keep the first one, so behavior stays the same (as nobody seems to have complained about it). Signed-off-by: Adrian Schmutzler (cherry picked from commit ad4eb2241b33b05b0942a3fa7ed2e53fb6e84386) --- target/linux/ramips/base-files/etc/board.d/02_network | 1 - 1 file changed, 1 deletion(-) 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 ebf40ad1fa..7a765a9a95 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -422,7 +422,6 @@ ramips_setup_macs() dir-320-b1|\ dir-620-a1|\ esr-9753|\ - freestation5|\ hlk-rm04|\ mpr-a1|\ psr-680w|\ -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: Sat Nov 2 14:07:29 2019 daemon.err uhttpd[2406]: luci: accepted login on /admin/network/routes for root from ? Sat Nov 2 14:07:32 2019 kern.info kernel: [ 1363.021778] do_page_fault(): sending SIGSEGV to rpcd for invalid read access from 00000014 Sat Nov 2 14:07:32 2019 kern.info kernel: [ 1363.030183] epc = 77d83dd1 in luci.so[77d80000+15000] Sat Nov 2 14:07:32 2019 kern.info kernel: [ 1363.035401] ra = 77d83dc9 in luci.so[77d80000+15000] Sat Nov 2 14:07:34 2019 daemon.err uhttpd[2406]: /usr/lib/lua/luci/dispatcher.lua:254: /etc/config/luci seems to be corrupt, unable to find section 'main' Sat Nov 2 14:07:34 2019 daemon.err uhttpd[2406]: stack traceback: Sat Nov 2 14:07:34 2019 daemon.err uhttpd[2406]: [C]: in function 'assert' Sat Nov 2 14:07:34 2019 daemon.err uhttpd[2406]: /usr/lib/lua/luci/dispatcher.lua:254: in function 'dispatch' Sat Nov 2 14:07:34 2019 daemon.err uhttpd[2406]: /usr/lib/lua/luci/dispatcher.lua:173: in function After restarting of rpcd, the login page is shown again. After login, the same occur again. Regards, Hartmut _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: doesn't support delayed ACKs in any form, for any packet it sends it waits for an ACK before sending the next, and I would guess that for any packet it receives it's better to wait for its ACK before sending the next (as I see plenty of duplicated ACKs from this backup server all confirming just the first packet received, and then long wait before retransmission). The problem is in the number of packets sent, not the size (so changing MTU/MSS doesn't help much). I haven't been able to find a way to trick it into behaving, sorry. -- Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software! mailto:fercerpav at gmail.com _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: preferable to switch to the new syntax entirely: - It will only change for new installations/sysupgrade -n anyway - It is more logical to extend when the user adds a member to lan manually later - No duplicate setup code - Uniform names for device nodes Please share your views on this aspect. --- package/base-files/files/bin/config_generate | 27 +++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate index 3ca035ca8b..874ce289cf 100755 --- a/package/base-files/files/bin/config_generate +++ b/package/base-files/files/bin/config_generate @@ -85,12 +85,27 @@ generate_network() { set network.$1.proto='none' EOF - [ -n "$macaddr" ] && uci -q batch <<-EOF - delete network.$1_dev - set network.$1_dev='device' - set network.$1_dev.name='$ifname' - set network.$1_dev.macaddr='$macaddr' - EOF + [ -n "$macaddr" ] && case "$ifname" in + *\ *) + uci -q delete network.$1_dev + for name in $ifname; do + uci -q batch <<-EOF + delete network.${name/./_}_dev + set network.${name/./_}_dev='device' + set network.${name/./_}_dev.name='$name' + set network.${name/./_}_dev.macaddr='$macaddr' + EOF + done + ;; + *) + uci -q batch <<-EOF + delete network.$1_dev + set network.$1_dev='device' + set network.$1_dev.name='$ifname' + set network.$1_dev.macaddr='$macaddr' + EOF + ;; + esac case "$protocol" in static) -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: that special hack was necessary due to Lantiq's pci(e?)-host silicon doing byteswaps just for 32-bit writes. The only other system that uses the owl-loader is ath79/ar71xx. This is a big-endian MIPS as well that didn't need the swap. (That said, I don't remember what was the reason for going with __raw_writel rather than "iowrite32" though. At least ath9k is using it for the pci access just fine everywhere.) Anyone fancy checking out lantiq and ath79 devices with a AR92XX without the swap above and the __raw_writel replaced by iowrite32? > > ++ > > + __raw_writel(val, mem + reg); > > + usleep_range(100, 120); > > + } Regards, Christian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: "After installing latest microcode update: version 3.20191021.1ubuntu0.18.04.2, the system is stuck in a reboot loop." model name : AMD EPYC 7542 32-Core Processor From[3] it seems like this update is exactly for those new CPUs: * Update AMD cpu microcode for processor family 17h Where 17h is Ryzen 3|5|7|9, Threadripper and EPYC. > It is fine for master, maybe, but I would not let it into a stable OpenWRT > release right now. Well, master could become next release in the one of upcoming months. If AMD don't fix the regressions until then, we might risk getting those regressions into the next stable release. If 20180524 is good for Ubuntu, it probably means, that this microcode updates probably doesn't contain any security fixes, right? I mean, we can probably skip this update as well. Anyway, I've added this patch into my staging tree[4] with some warning and will merge it unless someone NAK it in the next 14 days. 1. https://launchpad.net/ubuntu/+source/amd64-microcode/+changelog 2. https://bugs.launchpad.net/ubuntu/+source/amd64-microcode/+bug/1853614 3. https://salsa.debian.org/hmh/amd64-microcode/commit/c3cac7a69082b7494a823b263985e375999e3665 4. https://git.openwrt.org/3fd3180f5530cb26f6cc9ea316326a7a00729210 -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: ,
that special hack was necessary due to Lantiq's pci(e?)-host silicon do= ing
byteswaps just for 32-bit writes. The only other system that uses the owl-l= oader
is ath79/ar71xx. This is a big-endian MIPS as well that didn't need the= swap.

(That said, I don't remember what was the reason for going with __raw_w= ritel
rather than "iowrite32" though. At least ath9k is using it for th= e pci access
just fine everywhere.)

Anyone fancy checking out lantiq and ath79 devices with a AR92XX without th= e
swap above and the __raw_writel replaced by iowrite32?

> > ++
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0__raw_writel(val, mem += reg);
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0usleep_range(100, 120);=
> > +=C2=A0 =C2=A0}

Regards,
Christian



_______________________________________________
openwrt-devel mailing list
openwr= t-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/o= penwrt-devel
--000000000000c8af7305996ad5dd-- --===============4317726629986990712== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============4317726629986990712==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: patches on the performance and posted his results to the OpenWrt ML (google will find them). I think for this to have any chance of moving forward you'll need to pressure your ODMs and if that doesn't work: Go with a different WIFI chip vendor that supports low memory devices, or add more RAM. From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: and for the past four-five years, they certainly didn't feel pressured to add "low memory" support to ath10k. Cheers, Christian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From =3D?UTF-8?q?Petr=3D20=3DC5=3DA0tetiar?=3D Thu Jun 25 05:52:11 2020 From: =3D?UTF-8?q?Petr=3D20=3DC5=3DA0tetiar?=3D (=3D?UTF-8?q?Petr=3D20=3DC5=3DA0tetiar?=3D) Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: @true.cz" target=3D"_blank">ynezz at true.cz>
Date: Wed, 25 Dec 2019 10:27:59 +0100
Subject: [PATCH] blobmsg: fix array out of bounds GCC 10 warning
MIME-Version: 1.0
Content-Type: text/plain; charset=3DUTF-8
Content-Transfer-Encoding: 8bit

Fixes following warning reported by GCC 10.0.0 20191203:

=C2=A0blobmsg.c:234:2: error: 'strcpy' offset 6 from the object at = 'attr' is out of
the bounds of referenced subobject 'name' with type 'uint8_t[0]= ' {aka
'unsigned char[0]'} at offset 6 [-Werror=3Darray-bounds]
=C2=A0 =C2=A0234 |=C2=A0 strcpy((char *) hdr->name, (const char *)name);=
=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~

=C2=A0In file included from blobmsg.c:16:
=C2=A0blobmsg.h:42:10: note: subobject 'name' declared here
=C2=A0 =C2=A0 42 |=C2=A0 uint8_t name[];
=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~

Reported-by: Khem Raj <raj.khem at gmail.com>
Signed-off-by: Petr =C5=A0tetiar <ynezz at true.cz>
---
=C2=A0blobmsg.c | 2 +-
=C2=A01 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/blobmsg.c b/blobmsg.c
index 48dba8156d58..ef68d8ae59f7 100644
--- a/blobmsg.c
+++ b/blobmsg.c
@@ -240,7 +240,7 @@ blobmsg_new(struct blob_buf *buf, int type, const char<= br> *name, int payload_len, v
=C2=A0 =C2=A0 =C2=A0 =C2=A0 attr->id_len |=3D be32_to_cpu(BLOB_ATTR_EXTE= NDED);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 hdr =3D blob_data(attr);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 hdr->namelen =3D cpu_to_be16(namelen);
-=C2=A0 =C2=A0 =C2=A0 =C2=A0strcpy((char *) hdr->name, (const char *)nam= e);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0memcpy(hdr->name, name, namelen);

Yes if we are sure about te= rminating null then memcpy works too


=C2=A0 =C2=A0 =C2=A0 =C2=A0 pad_end =3D *data =3D blobmsg_data(attr);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 pad_start =3D (char *) &hdr->name[namele= n];
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (pad_start < pad_end)
--0000000000002580bb059a892af2-- --===============7418009348676839780== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============7418009348676839780==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: issues could be fixed in subsequent .1 even a week later if needed to be. Any delay in this timeline should be properly communicated to the development mailing list at the time we discover such release blocker. BTW it's still master + 2 stable releases which will receive the support? Once the 20.y is out, the 18.06 is EOL? > I am fine with kernel 4.19 or 5.4, but we should decide and not stay in > a limbo for log, so we can work io the right direction. There is going to be a vote about this topic soon, probably tomorrow, see bellow. > It would be nice to have jails activated by default, but there are still > problems when using an initramfs, I will probably not have the time to > investigate into this problem in the next 4 weeks. I would like to have jails as well, but it should be probably first enabled in master for some time. Is this[1] the issue you're having? > Should wpad-openssl or better wpad-wolfssl (after it works with WPA3) be > added as default wpad version now? If we do this we can also activate > https support for luci by default https support should not cost much > space when we already have an ssl library. I agree. Is there anything we can do in LuCI UI to make the errors caused by self-signed certs in the browsers less stressful? Perhaps adding one more step (until there's password set or just for the first time) while redirecting from 80 to 443, some kind of special page, where we could entertain the user about the next possible browser certificate error (show the certificate details/fingerprint for additional verification) ? Simply something which could improve the UX. I know, it's very hard. > Are there any other bigger changes planned you would like to get into > the next release? Sysupgrade image signature validation enabled by default. > Should we do a vote on the kernel version and release plan in the end? We've somehow agreed about the kernel voting on IRC. If we can formalize the release plan/rules/timeline soon, lets add it to the next combined vote as well (it doesn't matter if it's 4in1 or 5in1 voting, we're saving time), so far it looks like: - 4.19 Vs 5.4 for next release (Jow is preparing the text) - new project logo/colors (ynezz) - openwrt-announce mailing list (ynezz if needed be) - GitHub Vs self-hosted GitLab Vs whatever else (ynezz if needed be) - release timeline/rules definition (Hauke/Baptiste?) Does anyone else see any other topic which should be included in this combined vote? If so, let us know ASAP and ideally prepare the text/voting options as well. 1. https://patchwork.ozlabs.org/patch/1179527/ -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: * commit description * must have less than 75 characters per line * If you add support for new hardware: Include in your commit message a short description of the hardware and how to install OpenWrt on it. Have a look at the recent additions for some examples. > +++ b/target/linux/brcm63xx/dts/dv4210.dts > @@ -0,0 +1,102 @@ From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: Don't forget to add proper license, consider adding SPDX-License-Identifier: GPL-2.0-or-later OR MIT (details) > +/dts-v1/; > + > +#include "bcm6348.dtsi" > + > +#include > + > +/ { > + model = "Inventel DV4210"; > + compatible = "inventel,dv4210", "brcm,bcm6348"; You've a lot of common with Livebox1 DTS, so please use a DTSI to share the common bits. > + keys { > + compatible = "gpio-keys-polled"; > + #address-cells = <1>; > + #size-cells = <0>; > + poll-interval = <20>; Drop `#address-cells = <1>;` and `#size-cells = <0>;` properties, it's a copy&paste probably, needed by child node with reg property. > +&pflash { > + reg = <0x1f400000 0x800000>; > + status = "ok"; > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + cfe at 0 { > + reg = <0x000000 0x010000>; > + label = "cfe"; read-only; ? > + DEVICE_DESCRIPTION = Build firmware images for the Inventel DV4210. Board with CFE bootloader and >32MB RAM FLASH_MB := 8 ? > + DEVICE_DTS := dv4210 > + CFE_BOARD_ID := DV4210 > + CFE_CHIP_ID := 6348 > + DEVICE_PACKAGES := \ > + $(B43_PACKAGES) $(USB1_PACKAGES) > + DEFAULT := y you can drop this as DEFAULT:=y is default > +endef > +TARGET_DEVICES += DV4210 > + > ### Netgear ### > define Device/CVG834G > $(Device/bcm33xx) > diff --git a/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch b/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch > new file mode 100644 > index 0000000000..618a214d63 > --- /dev/null > +++ b/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch If I were you, I would wait some time, how the current 4.19/5.4 situation pans out and update the patch for the next kernel accordingly. It makes no sense to add support for kernel 4.14 (and 4.19 as well, but who knows) at this point of time. -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: - chmod o-rwx /var/run/hostapd-phyX.conf - chmod o-x uci # setfacl? Compromise of a service running as a different user should not result in disclosure of sensitive keys only necessary for different services. https://openwrt.org/docs/guide-user/security/security-features mentions procd jail / chroot? AFAIU, LXC is not available in the default kernel builds in any router? LXC would be an additional layer of defenses over and above chroot, which isn't seccomp On Fri, Apr 17, 2020, 5:13 AM Joel Wir=C4=81mu Pauling = wrote: > No. If you have physical access to the node and/or a valid login as Admin > then any form of PSK is vulnerable. > > If you are concerned about PSK's being exposed then you have the option t= o > run 802.1x auth and issue issues tokens out of radius/IDM that is secured > elsewhere than on the AP itself. > > On Fri, 17 Apr 2020 at 20:16, e9hack wrote: > >> Hi, >> >> the configuration files for hostapd (/var/run/hostapd-phyX.conf) are >> readable for everyone. This means everyone can read the wifi passwords. = If >> a non privileged user calls 'uci show wireless', he will also get all wi= fi >> passwords. This possible e.g. for user nobody and dnsmasq. >> >> Is this a a security issue? >> >> Regards, >> Hartmut >> >> _______________________________________________ >> openwrt-devel mailing list >> openwrt-devel at lists.openwrt.org >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel >> > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel > --0000000000009679ec05a37bff78 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
From a least privileges perspective:

- chmod o-rwx /var/run/hostapd-phyX.c= onf
- chmod o-x uci # setfacl?=C2=A0

Compromise of a service running as a = different user should not result in disclosure of sensitive keys only neces= sary for different services.=C2=A0



No. If you have physical access to the node and/or a valid log= in as Admin then any form of PSK is vulnerable.

If you are conc= erned about PSK's being exposed then you have the option to run 802.1x = auth and issue issues tokens out of radius/IDM that is secured elsewhere th= an on the AP itself.=C2=A0

On Fri, 17 Apr 2020 at 20:16, e9hack &l= t;= e9hack at gmail.com> wrote:
Hi,

the configuration files for hostapd (/var/run/hostapd-phyX.conf) are readab= le for everyone. This means everyone can read the wifi passwords. If a non = privileged user calls 'uci show wireless', he will also get all wif= i passwords. This possible e.g. for user nobody and dnsmasq.

Is this a a security issue?

Regards,
Hartmut

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman= /listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman= /listinfo/openwrt-devel
--0000000000009679ec05a37bff78-- --===============7597855316165154162== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============7597855316165154162==-- From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: To create a bootable image, the LZMA packed kernel prepared with the LZMA loader has to be packed again with LZMA. For the initramfs, it needs an LZMA compressed uImage header too. In the second LZMA compression stage I use the fastest compression ("-a0") to save some CPU power. In my previous attempt the "-d18" LZMA parameter needs 128K more space, while "-d19" and above causes LZMA ERROR 1. With this patch (LZMA loader + double LZMA compression) it needs 64K more space, compared to the snapshot image, which uses "-d23" as default. -- Regards, Szabolcs _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bogus@does.not.exist.com Thu Jun 25 05:52:11 2020 From: bogus@does.not.exist.com () Date: Thu, 25 Jun 2020 09:52:11 -0000 Subject: No subject Message-ID: > > It would be nice if OpenWrt would apply, but I do not have the time to > manage this project or act as a mentor. > > @Paul do you want to manage this? Yes, I'm on it. Best, Paul _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Mon Jun 1 06:21:21 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Mon, 1 Jun 2020 12:21:21 +0200 Subject: [OpenWrt-Devel] [PATCH v2 4/4] build: use zstd for SDK and ImageBuilder tarballs In-Reply-To: <0890d3e5-a989-5b8d-f29a-54e62707715b@universe-factory.net> References: <0f48abf2ac872957d6a4a150ead39564053f2afc.1589716209.git.mschiffer@universe-factory.net> <79845b43-f39d-c215-e968-41b93eb00b65@universe-factory.net> <0890d3e5-a989-5b8d-f29a-54e62707715b@universe-factory.net> Message-ID: <20200601102121.GE58206@meh.true.cz> Matthias Schiffer [2020-05-31 11:08:47]: Hi, > For patch 4, I'd like to have an ACK from someone familiar with the buildbot > setup. Disclaimer: I'm Buildbot setup noob, just helping occasionally with the maintenance burden, but from my limited understanding it's not just about ACK, some additional work is needed: 1. Someone has to provide patches against Buildbot[1] repo with the zstd naming changes 2. Someone has to build and publish updated Docker images for buildbot master/slave 3. Someone has to deploy this on machines under our control (having root access), we need to notify owners of the buildslave machines to upgrade their buildslaves to the updated Docker images built/published in step 2. I can probably help with 2. and 3., I would ideally done this with Buildbot version bump which is in the works[1], so we don't bother people with buildslaves upgrades that often. 1. https://git.openwrt.org/?p=buildbot.git 2. https://git.openwrt.org/?p=buildbot.git;a=shortlog;h=refs/heads/buildbot-2.4.1 -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mschiffer at universe-factory.net Mon Jun 1 08:38:16 2020 From: mschiffer at universe-factory.net (Matthias Schiffer) Date: Mon, 1 Jun 2020 14:38:16 +0200 Subject: [OpenWrt-Devel] [PATCH v2 4/4] build: use zstd for SDK and ImageBuilder tarballs In-Reply-To: <20200601102121.GE58206@meh.true.cz> References: <0f48abf2ac872957d6a4a150ead39564053f2afc.1589716209.git.mschiffer@universe-factory.net> <79845b43-f39d-c215-e968-41b93eb00b65@universe-factory.net> <0890d3e5-a989-5b8d-f29a-54e62707715b@universe-factory.net> <20200601102121.GE58206@meh.true.cz> Message-ID: <459b72d9-4e6d-65f3-afd0-c0287bd15c62@universe-factory.net> On 6/1/20 12:21 PM, Petr ?tetiar wrote: > Matthias Schiffer [2020-05-31 11:08:47]: > > Hi, > >> For patch 4, I'd like to have an ACK from someone familiar with the buildbot >> setup. > > Disclaimer: I'm Buildbot setup noob, just helping occasionally with the > maintenance burden, but from my limited understanding it's not just about ACK, > some additional work is needed: > > 1. Someone has to provide patches against Buildbot[1] repo with the zstd > naming changes I can write the patch, but it seems this is only a default value, and the config file defines the actual value - which makes sense, as only master snapshots would use the new value, while 19.07 and older would still use .xz. Where are these per-instances variables defined? Matthias > 2. Someone has to build and publish updated Docker images for buildbot master/slave > 3. Someone has to deploy this on machines under our control (having root > access), we need to notify owners of the buildslave machines to upgrade their > buildslaves to the updated Docker images built/published in step 2. > > I can probably help with 2. and 3., I would ideally done this with Buildbot > version bump which is in the works[1], so we don't bother people with > buildslaves upgrades that often. > > 1. https://git.openwrt.org/?p=buildbot.git > 2. https://git.openwrt.org/?p=buildbot.git;a=shortlog;h=refs/heads/buildbot-2.4.1 > > -- ynezz > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Mon Jun 1 09:01:44 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Mon, 1 Jun 2020 15:01:44 +0200 Subject: [OpenWrt-Devel] [PATCH v2 4/4] build: use zstd for SDK and ImageBuilder tarballs In-Reply-To: <459b72d9-4e6d-65f3-afd0-c0287bd15c62@universe-factory.net> References: <0f48abf2ac872957d6a4a150ead39564053f2afc.1589716209.git.mschiffer@universe-factory.net> <79845b43-f39d-c215-e968-41b93eb00b65@universe-factory.net> <0890d3e5-a989-5b8d-f29a-54e62707715b@universe-factory.net> <20200601102121.GE58206@meh.true.cz> <459b72d9-4e6d-65f3-afd0-c0287bd15c62@universe-factory.net> Message-ID: <20200601130144.GF58206@meh.true.cz> Matthias Schiffer [2020-06-01 14:38:16]: Hi, > On 6/1/20 12:21 PM, Petr ?tetiar wrote: > > > > 1. Someone has to provide patches against Buildbot[1] repo with the zstd > > naming changes > > I can write the patch, but it seems this is only a default value, and the > config file defines the actual value - which makes sense, as only master > snapshots would use the new value, while 19.07 and older would still use > .xz. Where are these per-instances variables defined? Ah, right, it's in roles/buildslave/templates/config.ini.j2 in ansible.git [rsync] {% if master_data.branch == "master" %} sdk_pattern = openwrt-sdk-*.tar.xz {% else %} sdk_pattern = {{ distribution }}-sdk-*.tar.xz {% endif %} I can change this Ansible part once needed. -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From champetier.etienne at gmail.com Mon Jun 1 09:39:36 2020 From: champetier.etienne at gmail.com (Etienne Champetier) Date: Mon, 1 Jun 2020 09:39:36 -0400 Subject: [OpenWrt-Devel] [PATCH v2 4/4] build: use zstd for SDK and ImageBuilder tarballs In-Reply-To: <20200601102121.GE58206@meh.true.cz> References: <0f48abf2ac872957d6a4a150ead39564053f2afc.1589716209.git.mschiffer@universe-factory.net> <79845b43-f39d-c215-e968-41b93eb00b65@universe-factory.net> <0890d3e5-a989-5b8d-f29a-54e62707715b@universe-factory.net> <20200601102121.GE58206@meh.true.cz> Message-ID: Hi Petr and Matthias Le lun. 1 juin 2020 ? 06:21, Petr ?tetiar a ?crit : > Matthias Schiffer [2020-05-31 11:08:47]: > > Hi, > > > For patch 4, I'd like to have an ACK from someone familiar with the > buildbot > > setup. > > Disclaimer: I'm Buildbot setup noob, just helping occasionally with the > maintenance burden, but from my limited understanding it's not just about > ACK, > some additional work is needed: > > 1. Someone has to provide patches against Buildbot[1] repo with the zstd > naming changes > 2. Someone has to build and publish updated Docker images for buildbot > master/slave > 3. Someone has to deploy this on machines under our control (having root > access), we need to notify owners of the buildslave machines to > upgrade their > buildslaves to the updated Docker images built/published in step 2. > 4. Fixup some of the feed repo CI https://github.com/openwrt/packages/blob/master/.circleci/config.yml#L9 https://github.com/openwrt/telephony/blob/master/.circleci/config.yml#L9 (not sure the docker image has zstd, might also need to rebuild it) Regards Etienne > I can probably help with 2. and 3., I would ideally done this with Buildbot > version bump which is in the works[1], so we don't bother people with > buildslaves upgrades that often. > > 1. https://git.openwrt.org/?p=buildbot.git > 2. > https://git.openwrt.org/?p=buildbot.git;a=shortlog;h=refs/heads/buildbot-2.4.1 > > -- ynezz > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From roman at advem.lv Mon Jun 1 11:32:26 2020 From: roman at advem.lv (Roman Yeryomin) Date: Mon, 1 Jun 2020 18:32:26 +0300 Subject: [OpenWrt-Devel] [PATCH] build: improve ccache support Message-ID: <20200601153226.15229-1-roman@advem.lv> 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 at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From tharvey at gateworks.com Mon Jun 1 12:00:10 2020 From: tharvey at gateworks.com (Tim Harvey) Date: Mon, 1 Jun 2020 09:00:10 -0700 Subject: [OpenWrt-Devel] [PATCH] octeontx: enable Cavium CPT and ZIP drivers Message-ID: <1591027210-1608-1-git-send-email-tharvey@gateworks.com> The CPT module requires firmware which we add here as well. Signed-off-by: Tim Harvey --- target/linux/octeontx/config-5.4 | 11 +++++++++++ target/linux/octeontx/files/firmware/cpt8x-mc-ae.out | Bin 0 -> 9760 bytes target/linux/octeontx/files/firmware/cpt8x-mc-se.out | Bin 0 -> 35584 bytes 3 files changed, 11 insertions(+) create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-ae.out create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-se.out diff --git a/target/linux/octeontx/config-5.4 b/target/linux/octeontx/config-5.4 index cfb8b19..9fcd12b 100644 --- a/target/linux/octeontx/config-5.4 +++ b/target/linux/octeontx/config-5.4 @@ -134,6 +134,7 @@ CONFIG_BLK_MQ_PCI=y CONFIG_BLK_MQ_VIRTIO=y CONFIG_BLK_PM=y CONFIG_BLK_SCSI_REQUEST=y +CONFIG_CAVIUM_CPT=y CONFIG_CAVIUM_ERRATUM_22375=y CONFIG_CAVIUM_ERRATUM_23144=y CONFIG_CAVIUM_ERRATUM_23154=y @@ -169,6 +170,7 @@ CONFIG_CRC16=y CONFIG_CRC7=y CONFIG_CRC_ITU_T=y CONFIG_CRC_T10DIF=y +CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_AES_ARM64=y @@ -183,6 +185,9 @@ CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRCT10DIF=y # CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set CONFIG_CRYPTO_CRYPTD=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DEV_CAVIUM_ZIP=y +CONFIG_CRYPTO_DEV_CPT=y CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_DRBG_HMAC=y CONFIG_CRYPTO_DRBG_MENU=y @@ -192,6 +197,7 @@ CONFIG_CRYPTO_GHASH_ARM64_CE=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRYPTO_MANAGER=y @@ -233,6 +239,8 @@ CONFIG_EEPROM_AT24=y CONFIG_EFI_EARLYCON=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXTRA_FIRMWARE="cpt8x-mc-ae.out cpt8x-mc-se.out" +CONFIG_EXTRA_FIRMWARE_DIR="firmware" CONFIG_F2FS_FS=y CONFIG_F2FS_FS_XATTR=y CONFIG_F2FS_STAT_FS=y @@ -536,6 +544,7 @@ CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_XILINX_PS_UART=y CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y +CONFIG_SGL_ALLOC=y CONFIG_SG_POOL=y CONFIG_SMP=y CONFIG_SPARSEMEM=y @@ -599,4 +608,6 @@ CONFIG_WATCHDOG_CORE=y CONFIG_XARRAY_MULTI=y CONFIG_XPS=y CONFIG_XXHASH=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA32=y diff --git a/target/linux/octeontx/files/firmware/cpt8x-mc-ae.out b/target/linux/octeontx/files/firmware/cpt8x-mc-ae.out new file mode 100644 index 0000000000000000000000000000000000000000..39e63398fea133f1a882ceef432adaf8f051787a GIT binary patch literal 9760 zcma(%3s at B8+A{;}%wE_*Qc2RBUD(Ua?y_VOm5F0oN4$|#URd#hc*&&y?Zn(Morht9SwIbW+pfaud9rEcK}Wsl-J?`!%{AJ(c>u-wXuxoSy%eN9LRF^4`Ap zK9FN3zwr1f$D}ci(a$(0jZU8Ih>wqdgy{1xGP}dnwKLh{hNPkA`Ro(qfKljYw_ug^QC3+AY()tdG0?~9ki6#^A zQ+MA93_xK>m5=ES6~`3a&zl#}5(K>oH4#K040tip6?7ElhD2%|b6>i{*OQ22)H>g2 z5``1!G1xT#PI#Of3D~pv4ufo8$3zSHYSqFBHgvNqw~0Z>Z2vkCW;9woEJ-5%1KS5A zLMm2V_+qc3O!PfZQx?vfeEB+L`5dU8A@*|F5XM95nx!KhjSn;pU zwrpGHne6A3_u=-=w&CTSXNLc?^I}4DXM4g^o!5uY#B264eq&XstSJ7>#2;&78G3Enb(V) z9UZNYsIPw1Pd8%Hgem=^uU_caZ$y(ky39uOiv=nk&>WT`M|5bXtZ`~p_Mk9$)I at tQ zrVKw>!g1M@<9t^LI*jU2w`DRJG1XpX^X?uk?0((BsxU5VM|&VrTzr*fhVj&uF+(+|=iVq74D_OAU5|7KM}(48W~qUZ-zlmf|LEef_^%-iDgbUR8ApTiR6 zgWP(4kala*&(<&PSM6S552NCP{2;-nP~0;s0Oe~x!<2;2k;26=fEwlquFb(bFtuww zWy&;LB}yG3_0vw5wDwON!K$@6E12mLBhP(^XEZ-a(JX0pQ^QHZDoxrU4? z)J~Dthsf&#{=+()w+FdQeE)c_q7gls;0R*)3Pg|-<`8HR7vYgQ)G@@gSJ4vNm-cSi z=eIPk2dRhHsu=q9BKDG#(icy8FH|bK8hwZCXUI&@JufsB})y1nXGg?EQxZIeW^y;y@ zNVZ!HL)OG%&{A2m6uPjMD;B1&mh`PR72X?+v^VDs^Pd$>1SxD+&S+GkAZTU2WnIIR zf(G6LU6lAi@>^Nby~SrAC1qNE09v;8(xNWw9fMD$15Dvax_}P~gY14y2+;A)uW4(& z6&OZ)M>Hu`0{YWPd-Yp$-q5$YQ`l;W)z{jB8l5}EvK3Qm*{VMa^Q5h6#H2M&pkXAY z;n75(LDh>F#^)qP2p&+g#G}u!tl~k`q2WZgW}LHXxl#qAY-wH+X?4OmwF>lt$M$C^ zX&Iu7NMtBEHc}Z29l^#2)(Y3L?`z5F_LX3Bcu&h`A}@PFc!v}3_P&v*8&fFQv{#$y zNe2vo(b}peq<)^JzyO+75u%7f=}H)p;%L;LuGFd!EsjBUx>83-I+za?$D-lzHUZ|x zqNnIenVQ2|4n at Jf!E_}mrwi%GM~|XC_(^YlDuzT90>*zS!e=vFr z(>;7BdZ!Ql1f$BK_;Z}p^P55hk+hZ|=3HXw?JjN|S32i9%WQX9*YO*K^$W6xk5#LL zbVEsQlMrqC6W?Y#Zr)~_<=tIgZ}`Fgm^MPv+BVo{Cf&0gPueWBX$$SgM@>{0INAu% z4T8YYC8>xZ=P;~#vkVg;F71H`<5y(JnjYBPIzE|0T-%)M+g*H{{h)m&t1_;$B^$RJ z&I{|TY1{$-FfAcH;Mm~Qwce8Bfb0XCDcYNK at 3oykfl8(z)X`=?ZXcX^bGT1S#(uhF z=5U`nOwrb)wfqL_I-v%z at 9&|c2fuBCPTMO9u3eFZ?YM1%ahsOr&hu%;Xsyby4bw2H zULPUpZEre{8I#>9cu%hc9Bt}?Zfw8eUdH-u4_2Vyt6%f4)AmRJS%nh at 2?t5BmOV`7B2t?L$KC-6O(6 at FvZ#eBwZQ21RnA)Hc&ns#ecF(QfV zk>xW<^ji*kAc1Cp^b#iZK!foV%*SfO at 4;|-JWc+BaP_<|hs-yna&LG8qZY*^GmOO8 zCGI+SHKK?TtvAGk`&t79D|D7*Se3d^bk`Nbg^tf)=<6GyraQ&BOSU#_S^eok z+4e)>IZ?5ZzqF$XVunm;=Bb zcm3If^P(A3ZvD=SfTuqO7@&y2RLOW%;0JCfdSUj-5C4R zMQE(DN}{;a=1L{b7_N0=n?hGGD(BzLBIb+pVwv)Dt^Mb;4UA&QxKoy|;LJW_mOBN< z4e^<7e+ZtDu8hMtfEK#aysu|u{kyf>%g~k9Qwj~(+rS8X6Hq!+p~aGIsZ}V!(FnMz z2oT;D at Wti7;3+hJr9j1=m%|ujti4cwf%$?0GwF~alOpmpo+f%*KILohH&%PT99{3XdUiu4tsC_Q1du0To4z?>A5yZ)8=OA8&W*5Lo#sO~36fi<=_&w#s_{Bm4~e zEblIZi+ at AAM0zN01Gbo?dvSkf2`NfA?oNT6uMJ`_c#5QZ_T!!=Js}Nrys7AiS~c<{ ztJ1?=xKk*EqY0w at Eubx-bd?|L0 at fVx!U}(MWqxGq9VNe|%kwGjU2nh|0s2-)A_C1# ze)vl)BYe*wL69TFpF)(W at C@9XSL7hi_Uw~$WxBj)7e(L6t zC1*+EV|1yx>{?6Wpvq(3fO03w%KR)^iqe_ZJJKCP=ATX+F*H7fv3x{FiYl-o6;jcq z-QH8q+QdW}MUALD#=@T8&R5hs(&yhqs>E at 9{Viy?H=m*-N0m^BAIxQrD&g+1%-oL? z7g#EwT45LwB{*Z at 8`BcT)%41iXqy9{xxO_bkP6O5t^rX4oRP9I? zq}To(o2_3WJ=`tbP>^4!?L^soHW$uoaK_Mn{#W#j0 at 9whER)p?rhL$?nC~VAw>GuLq-3zKLe_GEegw< zM>nCSKv-G6Qe%`gfoFw!ec?wj8=f;3{oD!=Nz at gHx`s0XmS$AugNAL!C$Qx~R@nvX>J9*WrQw~u$8RwAoArMkn5SoPdH(~(82 zs at +>+Q+cHC)Gr5KLyS;-KgAK_znOHtQuhSSr1 z6$MF$YC3jZvs{S-7#5c~8N*=rNKtwfyu)dCN=*k;nibhd zYdVDSx;;{Vd4^qm|BpY_blAu1Rjgeaiceq&`>rYc(mqsRe9Q0mAA&gP16eq*1b}AM z49=7p7~pBLo&@g?-WWViRd-CNswj|0I=V`H7P8GMaWwe1D)2v5IMylhsrJZxs<5X7 zoB=%nbpMXTYdWx$X3Y4llwz{Ep4y$mbm?zO1G!33uI=QT0!dXDVp;7Ac=yzF_{$Zp zL at VY-<|5ye3H~%5d@|54M>L=wo-*y&Bg^zFo>t*Oj at R^7iV)iP at hlw+872RQaWkVb zm1~jofN8HIjjJ|3nRHKYmmX%35+4M}9a)+mZ(RS&zKUP=fxi8ApS)`iWToA(dd at Q{ zz at c@_01Qt62DoE5$>IovcR&;xue~Wfpdpg(3CE3_`5OBTi%YK(Cc^rSRm&*E6|?lh zCzo>ImoIeZKZz_EbCA13UsUXJ(e$PIzJ68N)yKapK4+NXaTyv*f%90WgCs=bX3QUs zjgAcp<$N1drER`?entnmG^yKLdS#ietO}w7MMLPIR^ko6_=9h}An5x>MJZ$a$h_ zljDYCh*o91%cpT}=Ox1?@S9%i2|UZSc(O7bvJ1IhY zUl*b#gmqV_rAMu4)`-esag)suudRP2(HB(e`wH!;2Zc at Zvr>=DxtQAJ_f)m=x!8UvnrnbXc zXGN>9acL*4cEakl)J_c3xPRg8wEsyx>O66+HLYtB_-W&Mh|h90<8O>fR(c1t*WcLD zlzN-$sd)#`+mW9JU%luK_Lhn#%}9Mdvd31s#AO3Tjv=Ab;eq%k_lYtZEv}e?>Y{v@ zL4Hw=VX;MYJDeMWp=cw*iQpsbeQBufLA`3(#Beg$sN?gtB~RM%~|Sa86tNni5e5SYkKG;!L1#4MpbQ% zb;k`6Kue7K%U{5Ct+`sb&TZz3d5&u^UDrVz?LFNcbLG3)!z;8NTc< z3=`XCAFQtJ?RMY}rPZab)l7hnqxO+l{wja4xOfg0LdbTbeM zzbPeuZS~?>#~y?}N8egU?j#kyOBX=ygly2m at m8<-RPI1dkSK+BWmdTE_lS#7DDGjw zvs`)Rjm1xfkQhyWNh9~X9~Tc&`hCTIR76WDYW?P3I_?_d#vZwiNVGfW7M26xjQG8Gk;tgS2y6Bi9L*K zUyu^66AM98pk{%Hs&vor2=}L;a_y;C;fu`K71I>hG5HOD1L&y at Dx=HbN_rK;q at W)5 zGyy!Ub5-IW03NQHFci3j?kpr0Mo+^mg)1t^I4W_*0U7H}#Sb<-O?ww~rWdRzFpFHO zG25IO>$YU;RSUjImvk!JSHRKyUOQBRE8g|xIr8)b z-x3~Jcq6 at XMWrE2Plk^&>~g%SRo91UteL}7Jr3;*A&tH%|HQkhKYwifio)J#;d|$%vQ!~_|xjB5( z+#9w$eZW`moH6&_te4GhwJNvyrKYK=I+7vYAP7Q31Z&mtw at O3ASNg_NSEWUxcOricj?ID3yy}0zV~nh z--DvDkdqHr^bLAAMPT>X{}zeQ!u_bg;tSF8ZXX8Lt>h+1m5~~=g)5GIYb7dgE^G1z zy1#146+v&Nf^Rn1IPDb*DR<*8St&s^dVS%&*>A4gl&_(S^C>ajB2t7e(I9aLsuEwC zQ5jDWeRqe2Op~Bbp!5)x9BY`KG5$jwwxDtLKBI_nh=~gRm@{0eKhIq-$F=frN*3lW z053xz6{HBY&CfhIO$$u<}R9+%D3Q?SW}ObZdap69O8ok=|mQcamrh at T()yfYxicw;)Tj zSb^ukd7s=Lf=scy&y(k&*F$&8Yw(fim3$mTH#Ut#qgpcQlTE-OQzSEN$qHa%TeBEyA6}V at s@h4m% za6h>rGB}2`o})`m=Y;@8l$GiZNo#}`NK`&k7YbIH%MIn9<0K0Ww$mjIb`Et13>4c1 znKD`7Gklc0R1>QEN*e4wI_YO;m&IB9);O}b)RLuxzrtV+NUOl^{sUZ#I at TF~)uU}7f0cXC66`6wyr^sQOE_|Z? z9(qR5CDMm+S^i-$@A1KK#_i?qn%tNtZ at f0lohN+4ih4#UTNqV8L{BXEVcU-jzu0Cp zXL4CFnG3S($7n)y-(#wG#o4>qe at R2_Gb{cY+aKcFVO^wuqiK>l1lzUddnsBM;ywz0 zD=^Dg!+jm|o#1E1OqcBwp{wNJwZOKNxkKwy=0?@0lzhX9>N^XgN_JQVRX%1CEi1Kz zu(ewP;Cp&xAaup0`39P^u6|tqn*We5&pF+4)VVTzjVa7DNhdDsDp_vKm>6oxHfA_$ zioY#`4iSdoFP0%lSc=smy9Vwe*IUY!a*sR5Ia9a;7S0f%`$4%KxRq0uOdJnWT7 at po zr6!C|mMqqb^B=AMCLGx=BRzZ at 7=un0!Pf%Cx1lB-=}1tAYC=r&S*pjQr4aR3!^Qcw z60n$gqWYlpnr{ZqxP`*{GbT~{z4Va(FgZThvNQ9Aoyys&bE$qUx7}bBYpdf ziWVjs!)_03pJ9Gn*k;>7BCOlClhzaEGt0-4$hWO>2eZaNnpMuJv8VYdHFsh at h&^T7 zp84tK88}j~j5`n*S+u6|y?{Wsvjs1m5ML?UgU6f4>EVW*wL)OmzX_Dv6tOOT9rFCf zS9vHRC1kS;;)01r&Yk=2IQMBN+egZ`B{iW5VMBG1;Uv~G_$wd=e<_6U-{)W5v}$v| z{Bf4W{<>E#{Ix9ivS;o;#y=l*R$DQ3i;vZvIZ+ at q4=c!1(I{ASe zYV>dp at Re7|(g;E&Z at NM;8o+Mum1R5?}8tqT1~UR Q9Xc*B?r`O;myZ?vFSTF0Bme*a literal 0 HcmV?d00001 diff --git a/target/linux/octeontx/files/firmware/cpt8x-mc-se.out b/target/linux/octeontx/files/firmware/cpt8x-mc-se.out new file mode 100644 index 0000000000000000000000000000000000000000..0bf1d6786e98ce03b359fca4b30c6e5a741a800e GIT binary patch literal 35584 zcmZ^L30zah_V7)B+?$XE5!|XZ2?TDEn*?RCR at +`{eNS2!L~Si-3kc$d#f@&hav at Nn z;J&uCHVIq8>Vne6wvhyIuL4%IiXjj{#SIs@`-BtWYz2`s>rC>QzolILPEx3|NMKa{hwzHW4tV0Ic(eq$1E6wTl_O7GaL&W zFGGJUhQLTh&L|iqLoq5w&1e`>C)X)-N*$$B>C`%n&cv9R5~h?XW6GHdrjjw~%(@a? zsjf^{uB*^h>bOz5 at d8Zu%&g|34{r z4Z!Aaa02XqQtl at Ji&%dcVE>bH*8z;1I~QQdo6#H`-TW=2#HQ)c9|N%DjaMO`y>Tt1 zC-Y>GPS}XXk_E68>rsEJTyN}f&46-qEx>dDo4FB<`_;|mkdE5$4AOgO1l&A;2{&wn zeENo+kalcLf%JTyKftyC%qtJ|mzO&Q(%087fOK?j62Nu^(oJWebkb&2Z`sCM z0NVpF`v#OBz6rJVh3;EOKV2^X*j|ABv$Bl`=%!l$GXYGagIa>-%`i5BaP!ZQj^A(wU}XRc z&3z5>$?L-*wQPO{=@=c1fV&@HRe5V6pR-{ur1M- at 4ni$)s{qE|bQMYk>rss-xiUzL z^Zo;{?*Vpr!)uTqwP6aRe{OsTX~6~rI|{HD*YAb(;#vUq;u^iMCR`i9UR;M4=AC;S zU at y+~3vBsNbjJ1!|evx71uuAv+)9y&dEItsn7bI0J{sYKG$0QPs)7&uorm+JkP+!E-rm+ z at n^gkju!DWPkM4rU&caCLHfCw(8Y+arsst6A`z%h?kW at z3o-pmc-J=5{{hjskEqbx>YyTiWrE9UWR zn8HRdOb~U~;w6=epiOzTvYO$D=;T+&p4VIp{zUVg=}rC{!BSpe!k?j;ynuv1*9_u` z6aF0ggeP&Op$UKX*6_k0t>uNg(s7U;=e+{yDc)E}&+=FafBN=1&h?(3$-3A?yhQG2 zF?<%u1jO-PGRDZy8OJzk26HX1F;grfaJ at XXI$`J}$Em>qgddL<_PTO^3|0_g$lY<}+6IpyXkL`C)0Mk9_!U>~8p;WYMfYEt zIe30xB#W8w!AvZ4CTXfL at mq9!m<^JDRmT?ymNkb?7YInV^zZjRs;E(i1ITf*fC zu)d2kSiXyA4!hXo%`)aqSe&mlZWu_}O!nmZ?ksJq$-z$2(d0iv7dq`%;Swd(JvR9)K}F*$VQP!5vOUyJf2S~ zEmxdnF}9g^Fu`5Vp at A5~k;~6Kx~Eu}#Ys0DU;Z z^nQ9i2TJs|X-|tZPR-2x9LrqoGMf~7Oxz!Z!92R!8{IXNv zchq^;?}y at Fox{V97JpY>`PolOtK%ge&+oX1Rr(#~G2U-F7WRjTB$SxP1eV;%<0YIA z`$Ij5$I}}HN)|&M#u(D4>@9%WRRC2_SNV$%7SCsjk4i+R5 at pd3@_V|4{{54mRb7c}(2KaJsD#4azQc zb9oC at ued>YsxLsxK92GuWs&G(OY=?bz>C=fu4XLnkPwT>7!VTs!^5X92LF^&7}V(rPFjv^NxC+ zfEQdDRIR$98YQhI>+K=oON?KuVjLdI!KzWRtEvTs+2QG=mFJV-OS>@H_93 at 0HvyiwyUDpt>M;`(~cOmeD#7myuvINaoV zUybhpdRT^bKdq)$puNv#bT97r40i#lEow^Uy4 z6!}|}&21jxjov&(o$;U|M$_DhhaWfA(905{p|$4lbF`9<#=GjfaUH{1+z_#uOQ>!D z<*~z`^|y1k;&O-3|8B)C!2Y2shUcTSE*u=*qjW;MJ?al62MihhJ%+7?7y3u>Ozos* zNDMM3tjx2*TGc4jTEtLyYY~G`YeNPptd0>w1|_FQ_^6 at YkU@pt7XEC^FdVC`0-o8W zJ`q$Q-_&R4@>Dl8brQ2`RNx(Tme5Dlwn!bJ=@>OcqiS|~4bdQcBQ%DLf+}jhyZ4A! zU1hHtjum8i^AZyy7BF+^CG;HJ-Va~kf-mSF&1~0bW-nPOPB8H}_?5i=xLeYPl~BO+o$U{%3W#e8+vR7_D49teDMd0g|5-EL~?y9!iV#pM}J zsLrDO9r26WTDhombi at I)qC*bwd=?Ff_yNsZ#KDqViWtdOL&lJUhOImwwG}}~CplG; z(Lb9CysPw@efNIrVmJe|9H1o|sW^Mc zP#ISw;kVu!IvVjj!b{#LnWWr0PG;7*seLLoE}8m9#7?dsJ(kex2(xY~q1sX#nVnQC z8~PrRsq-=G$VPpL{oJ@{J7?T`w&huS<&B0ht(S(rsSU#!+j8v&e2X?yuca5m?(f1G zSaF~z)C#=sgWAeUvQ4o~`o+h6CX7p#H at C7Ny%H3uxM8ee0hfPuyu7V#__#u#cizxK zw7bU at 0te~#rWbm1dE-7dWFT%W+3a1V3soLsG0SEPu%Vg29|tMnBo_4rPbkhQoh=4m+$0N>&60y{7jUi6TveN?@fKMp9f^P(r%B-@(`PzU( zw2EFvzX#Oi+P&k>iP)%CaPJIk+&zs`eKqJgHAC5jC`%kW?y|V86A$=_i;c5KdJc6g zN*mWrF9t5Oj2=Ui|8NY=Rkc$+Lo>5 at vuhrnxyMpiEAIkaYGsF`I6%S9Vw_8$6JycK zsT|1QCW8YQjDcMQiQmoy&&?{Hz9`i|;qp_jz$s`<9$ ztEf3Dr_(ESj;5|-TuZ zh>`vYYwqGB5sx)ji*dyb at z>(-^%km8l~@qwjqyY>|Akkgjw|ciLV2vzI`NhnL{v+g zE%j8}X&zhXliJeO#PbjiOKm~9wkxTZ+a9J~F1;DF551AvqG!+vlIjqjE4`VNlG+ip zkE-uqiylN9sXYZ(TEn7x^cF7G9+vuu%cekn5O~PWh)qa$QCbB)NuyTEKEEUA^Ik6V zT6lA%44x*qpGc;>=GK28zfk72atOf0vxY6aIZLd%CVE5mn#h{;Y^7NAQ(qf-4kVL3 zvw~IzQM!OM)s>)%qD?7RR??)+kiqkio+N$5TaauAeYeMT&3fHg3$P~iw2~It;Qg}! z&G|pcPe at Mjd|*df6Nau_s<|q=s~IYL7VwwmgnDDZUv8{czL)=pJlD;UXT`n9k>y>6 z429Fdj*c-Ldz%#W{vwZ?k3{akX5^D?84cb%@8KZW2|x5Tt35QBoVU#_GFDwSng5x3W&r&7YX) zSXl$VIf;&0b#G&{>Pnnc2|8UAKsB1HDrfK=aV*u`?z!?JdBIpi&Xd-VGsRY_z9Veq zAI40lS3oHjTiF`vIjb!>edVow4nP7A_*-UBG_jb{Z9E^1HGXLH9Az_~P8_*v4sk$7 zsGSavRV;#M{8I6 at cnhMsRUAauFv>v`li0RO=(xEmD0+_C*~(ev3;V|W;z~aIm29&Q zTO~GKAc>$a4PVM5<-^VEBU#b!>KV0@%i?(~8WXMIvA7<3SoJ`fD*5MamTS*OPZ1u_ z38^n>PtedjX(4C^pesE4Rqk}PJRP+x$uN8+k6Z#Rn;WUE(eH9G^Lnz`j&XUblHvS4 zfu2_-{&SZ0U7X5_K7u6bRm-A3^G?=z^Q<~vV6=$nJ1St4Rv7We0#;uK)XG;n`Mks{ ztCqQ>-ycBp^m^6f|GWV;iAr6FTgMNk-EH+9^{&==qgLGcVEWlt(!{=_&%U~IV%34# zJnb}`5wI#x{9PMH0qw9 z14rhHk}_ro$D&QV!jnt3By3 zyjeR9 at pFd5VzMT-hRNTSY^IlZW3&D3?Aar{J*To}kFc{>!;>L{UIM30C_0^qr8AOssA^`_iTMBnuXdMY+bqL`_N1;~5>0Fl5WYjCaCYI=kzRNQDZ7(hse|_~VuF{oG zbfuxLlyapxD5c70uO at GbGf5wn)myx9)a=E|M&&}4v#l{UsjY2w5|Z6#FK+Xiy?Ax9 z(`)r&y$(?v;x!4G#!S^s*-quRs;1em at jd0}{o%7S;`y^P6;~At8>fO6Cx>#G-f|NR){m%dvQjw%PoJGoH4&iFv;vSDiNzvB>k*> zgJb-f*N>HFJOC?;z3_~pP+v<9Q~nAiAr^O>$s*F=+_+OakN5`jif0LPL8 zPG**AlAa-_@`*&7=*MeKC3;@CG?OghvdFJ^nA#{W;jRX&!Yd*SWZ?y(vpNmDS4~x8 zjNMaI)!U at ZvhziUdz(y?h>$too%TeS0D at hb#j-EN$B38-e z;P*CM&bd^IKVK z3dt@#bF>)2ORnA+F~4Ey*)uc^iE{P6aY!ZqB zLxK}guLjVd-EA)>=66s1Rjr@%oDeIU116K-yhE$==R7xA$+%KISe&3X;uL5cl06ky zk?yh9Q+-x)K)s%XaV{j*1{0oU(DB~7 zM1=gNW37Z(I9FDBYuV>(WrPNev~AejSHPmOJbMo8Z5JI7%>#VNG$|5l*s`(#OUguT zQMEZot(}J~T8cJ4M)<_B=guO^2Y4mnPhD(M6)dr at U0ZV1 zF=Fjns;zaT`F9>~ZYs>MM3T<)TARwx)$u7mc@@U+MdnEoNy7QHYZt7Y`SZmlbGL(= zc4dh@?TYy-4_0I?GxHdfHu5Gx+h5K+3T+q5n|W->EZAjLAOUoMf%qyH(_~OzDc9F` zXYat7zLD~_*700o?LMVb{!V5AtlVOH7H+ at pSX&}Ko|)**0rz`l?k`*qO$ISrN21xr z7;c~LNdTdINuw=|GE9KAd58Q)>7+`PgXL!>mlW$2c4R3w{2+f{K3uh4G*2fgyV^c- z?Rn8B$-gaV)L7f!SlbR(8;o~KH`W-#JFOe5Jg7Mc^k0Ya#?RzuG$(_9Q*0)is6Bj< zvRgSgAYU0vIZ7OXO#xTr?+09hx))vVvJ~5t_3ATJH{};pq~0WA^@a02fSa2LOkwI9$zxH?fpf^c z{6jiElDzwl!bv=s|Ev2%CQqu*h*;iz at pT`(8$^pR?`L4696^5F_G;RE5o=)d%KE-= z)fshL$LncJ+ at n*Rl-^Km;C(NMQjCx~q&HM&f}$7R_#iDPMY&*L4gix6pJT{U6xis*g zs6IP^$xQ<^rC=7{dG{c(8qP(JzRQ|nd^V5WcU0w&J4_BqhQdI0U3a8e#K&tAL05x) zBi3oU6*G(R;N3L^Q1TvbclG&OZJzjhn#ApzD}5uWN-m}{5RHg32DqbIkE{TsRVZE* zlJ=w`uH#YKBNJ^85qhRQLDtF-?h6TPf!ki0_T=3sd at m?_BJ{BqJS|e~D!pA%s=iQu z)8_YAF;^TXBF}!T2}mou-0u0Yw~$cnQqGV&3$#Y7W{~;=^~;JLNu})Z9mmJRG^1rd zSKj(4{o|2^-v$=uhX?wpzL9l<#pGz=8HqtvuE`3BEbpe)iUzfNz85od?0YfhTT4Fu zI1F(?E?;7%tmTQFqduNoa at oOqZ?f~@d$i$)_K_b?HhfiLmSj{qG@~Uy1VoBL`Ec4N z$^s)le$P3o{CAcAd+)*?i&gmqmT9sI!&KiQc#`bB?d9F7wF=M_KTa}k$p49g(@AA@ zj(YDiWv-$NqyXQ7tb+L<+h+!(BdMP3Qu;hAe4Dk!S3m~bL^Tw?NSf!B>&B|U+KB9{ zWu9ek1*DgH1kTT|Wij~+m1mW?)8LJgZfccaBw+QGz>n~wtnDM;GoUf)?O?UZR<^ah z^l^#lcXBG^he>n+W_7MI*H!BdPvx=`#PD);ywWx_j at qY)H)drrr{Juf&qRRTgUwhO z at NZ0v4Wv~Crfy{_m)+*^-fvti&_M0wO)70nxJ+Olx0t%^*vB^r4YF_pcbw#nQ61C{ zDu0T3`cypi+KHhiLo6?24F-3X{SlZRP5dFN8HiAML3F1Zad&;;#Z>}gHLHUxH z2>2#oGSmX7eqPz{|BPUZk9!1stoCX4)0|AVykgx87XM5a7J3*tM_#77puVDXsumP| z8QhYuEzCxC2jx3*D`-1|wuF`6K=J|DWCm at SBKcX-B|Zrr1rk}yr8m at 9ia20#-%gh7 z|5(x0<=7u7tuftN{K@`>q(cvWF{r6PsTGJjwqFxXOqvPZSPg zroxCMll{-~zfo&Tl0cSYx7HAG2LuG&dh&pv^)fs~wf?ykLLL-*6lK621P4E$oSH7h z_2AtO&jXWGNSYCBorE-&1EGowrI*`04g at ORF3wTbDPqVG0akH=m4F{W8j2>+4ARm)>^TOBzufr-J+cxM1$ck}bBXvb{LETm08B|pJ6yLM_Lt2gN z4{S7Db-r at o-D3}sWVCe=?Ehg07FccWoHr&-G&98OI>PWJ*nwkA$AGV}4{R*@GAU(i zdK`Tq9gZy)NwzbeN(7yaXvOFF_css=I=l7!F`x-)60~F&qYZE6hf at x_0!mwMNS>y-JAV zJPw>CCQv5jEwUT-UJAYkc8`i4i!;>Ql%DXQwg=jkHidty-+ at -WP3p2=FdWheKA7uz zOmQRNkh(cQtGWzlZ^+gs$nr|Y+3z02AFnz%c-vrfK75VWM)C{LZnaI~>veo{-s3wi z82Gim9t<#DKP*${hhXj<(BT=p`{20c4F^Xn>Ix1j=WkO}SCnT9vJ}(ue*#$ptQ7~< z0gdW5zR#kdZR&h2cw3rb%{BdNtp|+}z!sR8a^v8eGN+*`P+^tZPPH)m&NGk>En>k6yH<(lvbcU1$zWA$C*Rd+;xzwpq~eSP*1u6)x!10 z4X74+tG+vj?dCFC_MvNqrwmqex!Bxxf7|84tHx|Yw!Yb1f_yXw!Tv|-rRnXSN*f<~ z-VUt|v}(?&?Cu<0dFu36*Vsp9uo$q at V}b+1p?B#?0Hy1|ADhC3n1zi|DfC zya8y7mLEgoFa<`MTbUqei$WN)n1W1tc?M7=;M|P(BT#8SO&)WXqW<@=kUs!uvLFw= z2e`~d at 1|I{cf2^8MmUwwY$8eKkf|WEFdJq9 at Y=5H$12ao5fB&u|8RuuyAd|Hef#bK zOeBd27dIZ})&k%t{TyTY|8fk3l at wMIjSg{yL;H;zChR=3* zQ%;9xmA9KGS9v=|K`r3Rhn}gf2UjW`#k*aUKkU$7FdAa}U+$AQxU%?Kn{@|9aEt4e z4&cZd#F48ASfjsr@`{EXzKHh)b*Mj3RQxw*q3TtaAFo0qQ+HLpBL`|1k>6%fBw)PQKap;WO5vOQw=T*fO|B85i)#Bn`k^Oha;=*jV z?F~-Yqtc3u({9^~yipbJ995N$e8)S|k^g$f7r4DD-J-zl{r?%&4bc34N8Bcowf#7k zrD#sz?fA}n9N7EVibh3(V?@q}d6L%ca>kRApo=1QHE{ zecfuO{G56QX!bA54U3*17Rv{bAP<- at up(?BTfq+C(o0P==n$O4g9x_#oOkKbbL4q) znEp8TnT~t3L2j7A+BpQ30PN<`bLtPNbAeUz0wjSf>XjrO7Vmht!b#d8s$!V-yO5Tyq(Kl(XcZ^UC$RS3Obx&%)~riAGx?;mx!#FoPfRc>fv1d z9^O_Rudl~?A!{1`ZDyuz8jOT(z3O_NgX=)*^|#Hz;oM#R_~OIrc~s-_b%&2EZ`gSt zXgl>KA*QT}o`(<6E3%t_I=if zroL{)honusg<>@ICD#-qf_Il7dHmxZ%5NK|XjQ?kDvzyR-);9e!x3yQ? za|^$J&#mcFV5}t8Skq}a@}BXerm=Wj=e2!F#>@`Rk#(9zO>$@7u7!Wqwdd_x2PL2M zm#l at _YyYatI*QILv<3xvN7ntdZ&BK=bpTnHuQk?CnYQzAp2=;KG%=>zi&Kw$sYysq zH(fe%a#0$O5E4grDjJcckjFW)({4Gkljn(Q0sI@|k43*AkFD0~;;xT(9Wq^l8fM!% zh&z+w4tm*BzN_R%wC;c1=(@D)N7HR`u^l_|eNi3#E`F261RUxwvHtpgzP9K~(IZ=Gb5ohpNhb1Vdxc*2_(Uw+~Ib5RT_R>{HdO>nO`<+L%hl`*6Ssf~Ll~;QR zecbrC%Xg1h+E5*8y5z7_`@M)$LUgqpVYFLba$B*~!RBGr0ruy+1B&W+EQA$;|N1_{ z1>Ovej|@2UU1)V^P~?((yFHdR?2dR^Zn`9IrwXVh_vm)h#`@|==<8ole at bz^=~6;E zi>aRNUc=o{otEmTziwz6(9B2 at m&1Od+8?XfOy+;^o3x6JNnrO?F9z!Eh4`+s5Cd>B zKi6;y_TA^&OtL<3JH4Dqw1-r$rb9ro=t2?@A80&IT>ZH*QyeXWz5d20P2Wuhy$oSBGnh?`i#26ntQGqJsT zo;DLjG2%wt$nd~UDzHw}POQFcG9nE|l4v0q9P!5N$=0xHht-ya;uza--$iM6i7cxS z;u at j-Z;{qY%QK+|M~!Vd#NuRCKk2C3eKR at zTu?&vchAoSC8gYDr!<@k($sg3yBpL| zSAFW7_lxhNp0k$U^((NQQ_#y%ODsmn=7s6T$_F9aqv2B)(@}SBq~Vx+mNxUQLYtWo zEoARLRo-&L&c at uk>2A1ry)@<7I`au-UTr;KQ_Tp7{XIZn$uNQu+nhTPH^X`Wgw^yXy{ZL5AZf6ugNi7c2 zgYb$jLKLVQSAJbJT>)MI`4Qz26b3v~%w6L?;BYi?Nvhs~_^$!MX9NP6X1#9n|7$o-Af@!@1jTzIM*=4_~`msNXXX zB^QvNujQ>n=LgscfNIa3>kWFMwP!2fxK)a at g9z$F87R)v~pdaRZA< zOgwj+;Xqu*?oRyfd5Fq!)u)yCExeq?+;!yVBB at b37{!?NzXjR^!)h?5m;T%jn8#`w4dd+Bdlt5~N>1GUOP<^ceEht;opTQ#zz*RSA9)_{=iDwF z8xq_&o*(=Vj`xNF?{?wU8F6p)e~)cZT2BH<=<69yLxQGJKd!a;o+kdpy$CL=^W>#4 z5&L|EkbT)lb-9CcZ%%yVy@>^Rh(q3+Nj5J2c4J4jp+qVarF6U7*{mn z+vnrqDaLfE({eAqAj|buysL$HRQvp51QD_BEf#qs{CPQn%B;PFIGXJQz&@d=?8&vW zfEJ<y-sddmLwl)W|4WLnY zdtg>V&G}qKOW9V)rxsJUnS>o04Qo8ybqpodG)mdSR)O^Np7=S{9!)!L?~ob%PS zm$X*c=>Y+UI)TseeD3|`;iYO!`Om%6<(Hhb_fEU8IQ>_nEUR`_))YELT2uZcIsJUP zZIZ$!6ea(D={nj;_pWnA!Mut~j=FnxA at Ed4*+JEvzcujOu~a?0h681yLN-Pc(XKJ)A&((kKbQ6 z%ta#X*Haa(OBxzx6xGS=TgUXkZ^H~0L|p&xTqV~xxO!-q;_7XRtGE7VXyLV`ww}p0 zKbnG>wZoX-v7N9 at 2~Nqfy5`ym9;8WuSzN;PZakGGO)I<9ZtIEtXU3oUqj{xliyIme z{w!xR?VO$!11G@%U(U}}+!)}>08cZXOlfHNLbjdZAZrS)$Mv#kadc2 at Fggil1f$~Qr-r)ls6y) zDlWU_y`GD1d5^S#7AQ{OaaoP2{rsjmk>Ak4AFt#0bfE~{1YSTi57SP*PxePw at FBXw z(`-SUq-F||SRAkPJhe at 647)Ey`b?wL(R|+%aam(6ehZ|&TaKFhJ{bi(LV5#owSY}o zKhJSTYq;7&rwwl=o8_Q}A!KlmF=*`M(#&-v5 at eDeE1f?h)Z%X(!WTO&RX?YNmLz&9|4Vyr1Qb zTeIbjOFq57-W$$Nn5$a}(f7B4HhinTyYcHbD|*7O;yW2D*dBu1vH;Gov4Skqb+BYF zH(i2#>S0sT;H%*41_I(omy=0~t9_GJ0H+VatFLE|u4Pz`8jN|qmt!ij at byC5pj44MFOO6Ppmo+p^RMwYuw at -X99{gr}{stYNv^A0Z?{s`|T2Uyy z*d5DBC&JuBfaJxrw_FJ~0$t>PgWhioeK1kHCxAA6PsTlsTHeqUiMS_f$+qr6r0p$t zpSDRXrV_?fdkOgA62y`1mIw1|FCl2_`ldM|%xy0)(VdT*me?lU>1g_bAEe_ySPd(b?9=qMrl!x+c4EZDav5Tl{LRx22VLjNfpzH^VPC>j_E+>pYNe({jx3J8(pUOele z8aV7MJfBOu>V|R|(zRb6g7&9j#5!J_#h<2eoP%ZC at I2fXalnUD-5iei9xR8|U^(>Y z%kZ8f^yFj8m*Os5NDyLtc0h;no&4=YHPrZC$2H{?XFx4YrNyMxT1#&)Tm3MF_yBq) z at iyYa3#*}I*~3-D%nPgahv|4I)s|XtU$C=a;N?AsT7h33 at tKYQ-wF3Z4zU^HmaoZ& zL+J|BZC9jE>xHdE2pWy|&Ax8;du*n at y`LZL$;|AJ?E!AcM*H!Q at f-O;V~r_OfEky% zZ}vR{HOo_#~)LjE(2JZS?_<_wR at 4Dj(sBZ8~AJ>f~JX-x8p3>VWlQa|giQMsu z7cQW9MFB=xd7g=W51slPr4P^N*%9P7=jnC4XJ5TdTzFKR13L(ZSR*_e*+;;d3K~z< zKn-Z0?|mHnf=5&jL92xRmikJKNh!axRS%6|jfDN`R5yzm5!)erG`gbOA^d%`y4k_u zVUGsGy{@RFhe0W_=$28BM#<6^^|XwVMbBXUP7_f{wFK4@{3uwQ(r1^^V4eD>mDf-! zk7%;lK|Fe`zvje869;PcT at +w!Ox?Wf&ZB?v#L^f|i9B2KgM4@}qg>xNQgO=8k^cB- zF4t4`Ot~Rw2DuOJad=97q}zgbQ#p#$aTi)Xltm|{T=VVq6=4LS9wu)lJjpNPh)3Vb z&yc4nTaZ5CtO#pa^Jq;_q===gC)>C_VwQPJU${6CtZZOQe5BPs=H}|Szh}dJWUe>C z!yuvv;*yk>xWq at hs1FH3tgp>Oe)!^Fy&-mk>q#~T{3O38CP*#0M}ATqnQ*rl#*!KGQ^qkt8S?j)n^3z;PAYAWes1}B$?2A#e?O~f zCTK2^j1$D~^~O-~`PRpe&LX>8{vnN}cpTKP<*~#ms#w)1E@#>4N5B8x0&Ca+5gcy{ z!P at vX*6XW21|{cpW4$3B!T6?eRUe8T81d+yq7FQ(5dE!)k?t~mjcTY5k_XX^8hNJT zOSN<9Nky~r4A)aVL}M)&9as=lbWtRo6>y*YT9Lc-&P9>t5|0f!%jmwNNi_B4?;om; zsTM%AhFJNVqDMMHvq3cqcJ67kU&Ybxm;`FQF-Ca?d8Jk8=_Gnmpr?BDq{%SG!1>Yb zAb6g=ukr}EYvt2BKd3`|NW%nt&Z~8M$idnHqwk%A?7J7|D4dG7jSj_#pj|w*Zfx)S z-eka)pnWL91UT3#Hbcw-F2Lf^eV5~Wcvx>TkCASJm<%R4{bH&HVvbth;9|Y0Tt+fW zKIWrX-YoZfK^*~~@@B&gs2I)Y;A%}y?`Bh$Ia`30ev8^u`KS(Kj7nCX1d+HwWtQ?| z!71KR=mwMw&I)t4lY8;6rS{&x_*m{!Dhuul6#sLllLt{X3Oo3rT=6_8mZ#_kNvr@@ zJ=B~HP>XW~^K=3fwbc6<^YFn!V4wMVj`hU6{5}Z#0P~owhf9SXQT$Z61-WbVkryI)chsv7tCwWvN6jrkD=}3+9B;3*8|XkkOIu(;%B{|LAt$n zJGAc%abg}9_C4H(dH7X^Rbn1Pnj at OwxhSj%psWxUq|-yDWAIP#NmA`FkHX=ya&>dc zf)E~$4tf{ShR-0|{LBK&n-Gy=Ef^74Al9Sxmiz{@|2FKk7%p3~lKcwdl17Js*9S^t zTyt^29lL{~uu#m{#K8lRO4IOxNF|@?C at KoYcgY#*ytkM~$eR}ig!~)DT`7ktV^M?? zY7f>J6Z({YQue8s5ywf^2QE%*8WtlyXUOQN^NC_JinG)xse`&ME0dS2MyWSotmj^u z>#7B^JMwZ_I(V$>s2kKsab^C&fHvTq5P2Q)Ir5i;e4hVJ*{$X4LelfU0k7qCQH0o@ zluuTMz->JgvEZ|FQT?!;LFvJ?G-V*}DLKuj5^U10TVuGdyIx3TP_e7MN_5{Oq;g?w zNF}`j{MI08BTowM%Wx!>yaz!i6uE>ylGxhy8cd#HKpOhp+R zGyJAHOI at c%%F0w5VJ=8bw(3;j&%!VfX1+>b8!$6V!cx_vD7fBc6z7(}>uuJY$qz56 zCA(yIL_%tQ$^x=dte2PfHUqAq_~T4Ju(1FhEau`3Z#aM7=plUzwoF_gqrqMOhje|B^|6@$H5aVXXpB|IN&32_)%z7clW+JgMn~XKwzIJ at j_HtHn&X_~8>DT`lq=#G65K$X17_^tqx;|wP z$h+lP1`GHzz^@WW-TGsYxx6-TIoQRH8R9XfIH$dD&>=F4^btXuaBpG4LhGO(XVzX! zQ(c3bVELk|l}D0NhTnOkZ}{agck;Xnv)e|E zX)o^6c`1%iN6_7JfIfFYpSz)h9_YN5C5>tK4Jh6$V53$BENG}!@ox%vi#no&*jki# z*81XP8^o>;8yi3rBPzz2Wy5 at 5@y^kCYX%o at 7G~)p+^xuuzzo!X;x+s-Y5`-=6TGct zGpa#_*&r(&cKHXBoL2>yZpzqy39jaai+)I|z1Tu8am8#jgI)(VTQ(-Z%!NFhYST3c zePm(ne4$`$obZ*T6i7GegayCT9FTc9E|0#Q#k{(fnx!n${~ly(?-1Z)R|;6lZ`Hzz zU2M4B4=YnZ`4#L?Ru$OfgNQdaKbEpfCzEg6v9USC#JJ|Mm&rHbc_X2O=Qc7Lo_7*d zT(j at a;|kxJxLDsB at -rygJG1^`i}FChG4Q5&!279s at K2+gtcFSQkc5+>x@#@mocL3| zmF9d&7U2A=s?9DK`%B>yuwr__SiJ_uD!`^P(l>oGkoGb5H_#s9?3nLwrmJKs`t9P4 zxKQ#YQ3g?2Q}uDc4dF=+(Ul_*WbZ)vR2o`nff!rO~95e zl|?GS4{P at j9lzLu`tj`}Aus5QBSj}KwoGUF?&V^+ELivb#WNv>J-Il?^k&JMCG6t& zpsWix)Ka(?V6R0QirwYAdx4q32CKoMfMFAqt+&@cGU!0f|{tM z7?k$61~m~c8JsZT3r7vKKD58*)u?XDOxVZ$K{v)5+x!>oviITJ20H?1C?n9EhkjqXj#i=>341g?8KEUW?|ysMIp*=q6gobhJ|sxCoXLB0~xo! z>@QcD63RFe@?FmqJo}b)p%x%Q7Pwl`^F?WcVclO{8yraj)nITBp at a?JF#)(?*7~@D zw+PHI3GN86EwAEmR}OY?v!4=qXdpfjv`D|P$g1k7 at e5=#$amM#IdZ~uAHSG5IxI%O z_x7<{!eYGrP>TKpKHg$i2`w1r%DZ!zz*SGcM`bhjUu*$dfLKM~A+X~}u_+Gh8N1Yt zaDTVOFGa}0SihbM+w8X)*+`Im1Tbk_ at kQ7d9VbVA;s=(2tfLUk*NSK0zJXbweV?#f zh_bM3B98_uGA)NUoRW-$8WuBhv){ssbGAurENn+X9yd at orsSsLZF32-JSeN+yt5Uo zGrSMDeQo#@c|zEX$a*nti9M{se6 at 9WSOxJ0o3UUyBCXZpuYHJb29M5MyaX?yli{`~ z#C_DaAA62sT8iu8w#VG;$>2*GfphR&Em&c+wfG%;vli at 4+6#CoUK$_icU$YEmmy6# z>?Xbk?JC>TFuM)K+2=zH33v*i?k!x4`-a{2yN%xfsRC}dPrL_X0B_Mi4-6anAn;s$ z4lPE$Ryxo&1 at Ff5*qAKVgXIDCVt>B6UL*>7UG#}g#Q#jkkB{WC{i%uftWC5ESwukR zUFP!3!;{tJuccEGPKIwCwN>lXT9H3YwlN^re=r(pxK3k*7zNya=Hdo_U2#Nmx_Eo| zt9lEfB7Bc+4m}PxAuTmIJ$!1xclM{@k)tAw;JefBff2kijpeUfl;#gIM$taF9Z={0 zUeF`G7Ch6Wrnwat5&kI}k=_bzDM_at3r``fUBgB}tR0$*e5)*$bi|z-wVHHlJK><@c zouY*(Us$7?7*qM=`jhZ3*Bo^z&>XSDyGrcHx9I;zG28_QeEuM<=sfWM1J(+nCS7B9 zorutL``?juP~w&!)%6__;a&MwHuF(~|DS4?|1-PE9ua>3MgQlbpzuG9nJ5Z^zZra6 z+aYcT)_2IriTB{U11BTCc=?NgRkW at 9-}Sa-p*<6jE8954!(>FGk4ST`@Q}%i8-}Eb zM8U74HIAVEUgM_&Ydo;31tADavVO?xWSxGGe!pVgG}e$bc>A42X+x&E)>;(AAsxYe z=nm_UcazU)+Fza<@$Qg!(HiO*(-wMJeB_XLS4^dn35rN!f{L{$hRMCM5Igjpjv#%| zx`Ku=IAWDyJz7~fp at B-=IHI);$Q_dQQNxg(XjLP2wm*;9^s+8EamXgvJ!r+0u$p>< z7Vf&CoZPj3 at U@568?U!ko{s=M0b)G-B5bZX_yNAoU at o(Ziy<=QDbAFgLm1K at 4LN|; zEaFgq4CI`Fl|qqI5w;S0;bzb$QjnB0#P)hEoF at O@8E0bys{$5Cm)#6Fic`D&*zFuP zUP(^^OBxHf1)JemFK8zN$M}v;0J~+0D`sUMM4h4B24tf`R#DsDh^JN?;|Y>|R}P!O ztt;=M7Qg6GGW(%_16NC(eO2%For at k7|t~Q(0{|5sJjScWMO5(z`mLd)<3Xu3o%hDaM%s_PT(bSdMM6VJhP at i zOB(_XNeQ8x z4Xxm~E7k(o?KdobfGcoZgcmu?Fh+b_zn`3n&c#+1w{P5C3}U_F2-q`W?(ZGZlbKUF zY>Pi$0DK7U9I&xZyrMiIA}R3`FE$f at KGhp;*&Z;DUvdxZa_f~^b+&mIpJOgaN)b)& zZ6O;aaKl9O at 7|Wq at daZV-xp!e-=LaA9&w$b$ZIXF{HV1Go1IPRQz_Fma at g~)Acn79 zRhOE*_^fC~Zws=l#veDg&WlNn(Uu{eRdJr&C8G(<8xvwBEzb{9=gd1yjodUHm(M9_ zDSYxg$K8&+(SF`^JL+9xWNT~G`(Tgd(2KIx0NvP2TG02RkQN|IgKtN{H>8AV?q^jU zd6xWMR!hz^w~BRU{ZuS9o4Xe7>qz?+lwG4n7TBl<)-v>^FPN>zfu3T!s?Hm$IFH6b zHrXwyo9vdT9sO at CnU1Aa|1&aK;`5yH+hn8TT$Elg(qWIv7le>I?+xALZ=IraR^w=TBu>54LuPvv(aOc$(J7`P$1Q}p(=mXeL_-ciq%{E+%A z&|H!ictJD2xKj0gP^IF>r7@|u&}}VAIx$N}NK=G#(!+TV;npSCoL-4ZN}2a8^_k>A z)NPZ)**uF74AX!KRR&av8C|p~1QpoxIeSWIY at ALNs_JQ%jjkGu8BYRu8bcGp> z#S*T)0$*-f2)dgr>7nSIYb~OYNK*9{=9e0(lhRgBv%E(5)1+k;x`RRbxWDV88>ENb z$xRL1DDW4q)(OpzpSnYDlSX}SDPUp=}0UuHdm+QFlL58g$ zaRL`7&v3Dd3?W at uCr?cxSH{EL*Y#REJ`86;E6|&eW8S3Av at XxgV_wIbp#)BQ{zrmY zIzh#W&$GQ#ppOp+`lvWzt}FV*@Pm0%MTY65-BO}kxreYM9G|sRH5 at Q+Cpc!ExlVCL zK3sZIwILGvUAgqdzTm8>(vkhR4M(^MQgj00dpaRM72yUrdB zHWB6x;r{oypxwKFx64B9s?LxL^d`65)EbVWF#5HFF$lwz?FdUE6>R0%?)_zkdxWa> zT(M|!{Pl}1qBobE>1~0rgoB^a4x=hVqk@@z_r;mzS=48eevc8Y5|#AGes4b$BMORE zZB%dKa>~}5zcQN=a&uj`v% zSyu3#o&jr^)v&&^K6*5FmX7PJjeglSsU{EnYk4(C3D5ubwnb0YX4)oow8YF_HQRjM z at Kv;*`BKW6m<6jA$j`c0W-7MIOLf*zUXw at 55l&oB)hMA at cG!)5*$=8bF6qX7$r;g` zy)6vq1?-z}Ci4oex6H*EunSq_!{biJtY5WWd|IUwve0+w2o`S{*ofZ*HjfElf8u*; z at -nMHTGt=@61N}Q1aV##OA&6jaB7;6R#;P&S(RZ#8*>c>_nR^tq zGU(N5nQI>-e}A>qkip{!F at YuSdaPo#f@=}7vL|QD at O(7hS{cOS!?|mOkwO{7Ft;9? ztyq+{dWygTehr|pns)h_`0J|mvtK69*h5xFf`@-8{uLe4|1LTyKq^q3Dg1eW7ZL1| zJk=)dhdQo#J#dq^baLQ~BEzR55BS4!>ya*2!H8hxJ_kFK{(G~|R3~^#rxIeiA%$zf z7Gjyb46P}7rsgTg)j~Iq0G;xhj^IUcv1cnv9c`ypZzsIaPDT8??4&qR0-n`p`*=}& zOt42Mcy`Wof&q>WIv-Y%Q?a>nGgw)3%)3lpzECmNYC) z5dCX*M~MS||2?~-ysqNBqRBC0r+LX4Z|ve9=!8c3i!F;!t?rd~Cma_|z1C9ZSf04L zm&=K7jqP=ez1YI#m<^Q;aJ!v?n9v4ALgu=*o;AZdZ_M%0bXPc5ESkd&riDJiz3MB; zz4M1f`pg+t;ecrVS{9#-l@|5_v;tJR(p>@p_^@lu8(5}vL5H0d2J(gav zMvgbj-v{3>@S_rkBB8bCfZ09r-WK%S`sbPn^J6czXik;a1wUJsj7DABAY#K8fd;o8 zTk}rqG10$zTST5Uwk($yJ$rIZRo2|UcmI^kiD>`hzA)kqKy|LzUKc+9=^y_R&8fe~ zzourLyT+UiYc|v@&x9KrKr8D&PBo$1Dw%6))*z~cybh#O(2{G`Fd)2X*&-Id0HgqH z%@%%HN6ngVJ5B~3UGuGo&DX`zYrf{^bu_H`Ht?vq(!95(O6Za8)sD|GXZe>kP}7S1 zioUGxZa=xEs{Jzj{kf(JXcD3U<{W|4ShEA-WF75}IluN}T#m$SHfT8$N=_=sCRsk*KElv5fwIm3;|Z6KC4^5ROSgAV781t+q)Z z!J+-f(p7I z;6X*MAcs*r0PD4U&pVUUw%h){UHy?vX5N{1-sgR;_qpEcrnj-Jd+)ZaU at I=dy;)nG zfzlk6DZ(3Uw1!ASrer9vv0#>PF!1F>Pc1t9&`hT ztVGp3A^r?K<2>TOKOFb;UyM!De2$`I>le@%v|{;IWEF}8?+kF$q|U8b^^wTtLjQ(% z at IT^K=y at CPS#%6|2JrgQID~4&@s5dCD;llgTl4ijXjEVeoCy$5MypPQ?R5(PIwwml z$bZ9hGj?#XiAMcFV at KdCyegwI66kLEcR;fM3%1Mp2eEbNsalKdV!}&X>-=sC3mn`H zVMI^Q)=NDPVw;z~dG)5;7I4YWAZe6cj-}p)-oM0q#n7otfo?yxEA?(ApKv zr6!V at tC0qaXke9|nzgq zyk@^{ag1U$;sm|DYr_?ByhLM{^cAhyZ<4ezz$O^>J0Lsn_jU2ElDguXh9R&ON{ROo zU+NuBO)tF;Sd>Bp&{(u#TdGZn;w&Q}b{1w&*l(XZ>KDw{a+tgRm9f;^Ek|?5Kd!2+ zzka86jE25-3b3nGSJrakhQbYTSU+`4n^TK{tBxQ)uzOzt)k(ZHthv0lls%RzXZ)y zE-#=N at GY9vv{kECZ8 at J7*c$^dQVH*R`;Nu^J!a4?&|7jI^bZ6O9(cis)ahNlD1FS zj_CGh at JGH+=$YkKVhM=m>(PixJM&M-V>F at gZo&FGI0IH4dc2 at l{f*W>0~@6_|0{uO zON}K%d9}W;lsFgfw1#-PiKBSON-h5FX${h|(kL!dG(dzC8zI6EGNKXJM$ak9E$bBg z>rTt6oBbiiK6wBWK#NY2v9gylI%0 zS;ebG4JCcPDv$_w1ZMtzTgNehmb48Y^UqUhYJZiIKq43sHG_BDE)x(1zE1=ihKyap zD;u^Qv(Z?Y{RuV0t-XxwcM#7hpV7ZT^h#BP0{~<^EbN-yY z2Ix@}uy(_UFg54n?6($S$BaMpqM~|H|57gwPQ%wE_2=Xr%R}@+NekdOcDk_A*RsES zK_`5TbnS+#(33IylaZEVHoaBXX6W?WEim%c)pz z>`$sPW~{0}Bh7YEnlF$X~uvw?Os}X*5)p zS;Ad>^(KP;@x78YIUv zfjgo70_hrFHqF5ZCPc7e_%+ZuLs8_5^c($vEUJ24 at qnaJZsYezz;@xguPjf}D7MAb zlqbk+*3j|4nih9C5>|MO;}~2zLoaAmE}q~aADuJyr*!l67Ic` zANu3_&ESuvIWG7JU at gMG$n}EN6Qlen|M753`R=kqUmO)Y&I^`C=>~Wt6iA at 8osA?X zA-eo4M?M*w%kwtm3TnhrB?HxIqGf|E8Xs`bIMhsO z6ztW681|K2)md|o1+GRlBz{WSMys%@tWCaGwm0ca*;U~gW5&L5zvy9Wg=h65>l44| zBR8Q!Pe@?fEw?WoS07Q;5>(7Rz=n#eCqiI_ORaJUXOJ4s4*x-g=YG%sv~BefVWRw! z^rBx|b*Z*MwXn9`zDBr%-_ct&!2}h{06hlNbZ3tThFl2f8#001y##;PTLoFtC}WSf zF)v6rfaEK*54Ga~WgUVU9Kwg_JJ9NClg%Gg`G+k=pdI_H|#VR&YM?Y8!5WeSy&~i7v9cc`L at -l6OTKdfo`YR=W6QV2B zvm+1$p*A2B)T!*R-DH59?OF#;s zN5FvrjfqHxKF&fP8)0=6>cCp5P4J}y3;b37XA4h))?i;j*mXP_3(8(#!Tv4MSp5Kh zpUx_b?EC(!o`UqeAbKY3 at P9#9r>fWe+Wa9%SI+qFAg`+pc!V85_PY-k4hD0uiq6Umit06Y+_IzVvPnb{}-l=LgmSp4-piw*kL~ zHR%i`KRS-6JpA?H>P2Whc_0f>&d=|yJn--5s*iM^(|n${^XtP0Afm*)m~aOk<_uVQ zog`@r1I(m;nU~|ABTt+B67f3t7nf^mIncEsqO!|cUpY`ve}+6WD{p6i{edp(`Z!!2H_wHYIINC2Z>l+G zW}P8nWsa;S-FZ7pA9J~PTTZwN=AoHTG!}(JJ+BVI>Ea`cuoE-in|ETSU$mx)NG2Df z_5)A;Hkp77QoQ?w9A%Hf`5486qD&$jJbLF~w1dQE at FO9cN({_l2;TiS at t4q&NCw|5 z$j-dRGi2UQfE5+_!b<@!CL7w$C1cR46WaX=d{NL3oLOx83~Z$I at n%-A{VLcr!Cp#R zZI+YENiE)OsiXTNW5C`D?JZ5z at 5SU|`nP$p{rX&JeU9r(SB8Yz-pcsdCqA}R19ZF1 z%c(YrtYS@@xM_M}ijcl4=n|=fD zgcdUJ(*YdnmcXyq2?hO&fhAu;RxK7*e7M0%ehOolZ2m~e-QkKGB{tXzrcCi_Ua(*t z at fu(U_~LeW;6~i1{*)5m at dj=*4dO-%6TW%qEdL@}fuCsCTrbXHy2y33r*}sRz6ai8 zA%4gSVw_Icm~H{FU~h1mXcTVKcSxos?KWn7d6KeoLA?Z$q~5{=InnT}lT(1dbjo72 zCDt$&livfpdlR|+qzmF^sP-#+u3D-&5?C&S*q`+`5pQ)IL#!Bf@@05x7}U6RaZoC4 z?<_tlhv>TE(t;qaQ_=|c&90jsUhBmk%!47Ydl&2EOx7|r>sG|cNK=@@@>vEI`H}4t zt!&6$VBw{#p198vr-N@(*3d9?miwk-{^XzQ7f5Zlu!Av05P>YMg1E3O*dr(6WGd{h z5OEMbMNc;T6WJuCYdmrPgFV5pzWOJuueOlZlm7#@b{{l8R4wn&0rYMMPqX9HY^e`t zEvgpjxlHZJjDh&?x_(zK^JJFTEATfE<5Ld00mS)uV0)kQC6dU}h5Y2gx8WSb70~DO z3rd~&OVByg7Gerf>j`K(+tD`HM74%cOV2{43t4170dP2WvU9KUluT9rw-C zt4=;ZD at 8=tz*FCc+DkHrMANHuHKi8XhYR+zjmix0B4iNap^hpyZCG(}QoAt&t$q)& z(Pw{s)f9+8T7Ym}wGeD-1?aoK{t$bpz|TSZJ|p(0>Nr40lTFdKp#k zn7&lb1AD9w{x!Z!>9)k>P&Qhj>wDyNR+p;xZNn_w6RS#qx&=o6ThP-yusf(V=}I^G zo{53tqlV!mLjh^}<$XU(uIZ0&T(*gB?}bnlQOub3AYjY71E; z_(WszQHia1n4h%)c4{$Z9_(Pb(yMy06{@AX9vVa#?Y>OyZVjr^I*uExc0M>t_>yS9 zA>b3z*#f$SQQdMg{Kw(WE?gLo!TZAkCy;-hG`N?YW+?>5{^5mkxGjG1pcHDi*CJ;C?X z1`A~FR?4D1nD;)BzUW9b>9`RV`3u5rQeAQ2V$Rnli{lL^sqQjL)2iTB3P?^;s<% zJ5-I2?hDoLM_Q5Kg7yi(JEV-fcg1)P>42I_YTUU9`a~GeF=bQBhaC=7{kT?t4y{>p zD*^hwBMr@?_r?P5vgapFzBlHdj;KmiOW_P at AJaLL+Y;>FSWgXtJVc+>A|G6?vU%)I z$Nd?lmXQVulGuGuPba$<2cq*}?f_SrIFc$qz_#>m!~K_kfbBm3&o-;-(WoSsXvqXn zx&wK^6r=zm3&~xz?SRMqhzo#x2iQT2db|)I@*%XOAOU&9VUAWHSAg0O?0+g(dYD|W zgnRIk#H{rDQ7olFk0eS#jc&Jx^R0;ce|{lXz*0BE_qI{hS0RfAnes=x8~17X at P$Ot zpJTgoIS@?%p2LBqw1198#53>f2QW#~eYNDa;ycK*d`x+_zLTs2S+Zv!93q0S0{O!&RVPFw6(^5Oaou)=ah$$=hMZ at C;b*|D=_@#}n_w!l7EhI-QX{Qvp&gN+V; z&BaiAJHKvv!LM8T9Q?Ze9SXW%Bj}Q&fCrGHX at _7RP9jPqfgh7}EP&Erv$TMB4yqx7 zN1p-mtc4_DMga04F*lQKXjbsufVVJiivN;wt2i+iV`Fhd7UMzw9tP|MihL;VLfo at O za+{t9`I@{+c~pP!12dWh@#&4LADC(Btegi_ZTB2qJ_k{7^Jtrslk#rI<;$%3;!BWY zcuKxn&}$?gv}-~H7mQ at 7MH~xP at 3ZDhFD09e{h}2E&lrD+mMy4 z%T+$OfB8O~mE!7L7#osKV2f`7&oezjn5+M5gx#j^xR)QR$h#d6A&f(M+Zyull~N1r zsC9x!fwu?lfaGr70wi~-tD(|ZEs1nW*hg?4aMWPa8;*6Z5H!-e9j$X;j7!*W1dM(Q zd(e)aVIGAjHwIuo%!|PWSOgV25bR-n5k^5Ccqr at y=!l(a;`%&Hw$^dIsZS5;lSO?_ zewfVlW at 07TWq${4m)ZJH6oF%w;<{(^#nx`@VO#Pg>8lAX55M~ED^r+nq;G4wD{#eC z(6dis$HULQ`z$3o-Sy!fIJW|w6Gj(?KC3V8dUosCd{mQ5(w9ix%U{+9Hi3sl`Ngn4 zf~ZE29k3sQmQ=b~Ag;g^Mv~h(F!t_*s}C#S+8^;;%P67~Q&_qy36cV?!PDVt9g+ud zJ&%&g7Re>aH at tI!O34}x_;{DX`%?b6Hzs1AJ$tq~x$WWgzLqvNdgsk+A9e%AK;)k= zwQ$z6dTHOYTPOl;6n{3qj)PhhchS9|J|%tf-zM~Y_sr3Ax+}j&7 at 53g)EUmai{7O$ zjDAKyU!+Uh+<>zwv7=t9M1TTl&9L77y%LA`naQ{TarK&uO8sE|5##5uwFB#3p|W1s??E-SPMM+tOWc>>1s2yJfUa8CG&oepViX zs1`i(nu!7Z!N3ed>%h#>DrvPWDz79D>Vr@^czEEMz_o=tXc_Kb5V%9vC4yy;c&Z1+ z!QQ(EqYXn(Wk945-b~D*YGVys3^y)W@{#7K?*hNuP*2Th7ra*qlHH?S6xO_pegVc+ zl3JuuAlT@;WYaiqHLipl>Rh~w%W8H=ZJ>Qey$QzSq$<#89%{MEpv6T(b{l zua$h^4!gs+Pqee#zaD3+s-y50Cv6#4P?aKj<;H at 7^MxPC~ZWA261GNZ}KNwTty`o6kw#mRGnE*S= zLT!G7y5~S`2AA1>glc)1>(YLN>kQc3uc!eV&pP_Oja?dxA4e1JcgsJLuTEYgIyF`k z-_v=$IdxZfUZ9dAax!<^RZd!8Rf*Pg2f`^JY+Y%#=`6ZTepKWT;H zj at 9fqeXFs)#LU~1P+PLU_=`ulAT at BUuGRfBwR>3)|14eO0AY*{DxX1NNDC3~uA3M~ zF=n=wM_#a_&j8y^uPwd|)gex at x1wE?%Id({?xJf28{Q~HLL;~g!n$kRXx6prdrA(* zSswXMjH73=ncd-!ym;n`aoB6v%WmoCg0&O}yn;x7XOd^o0^`hQB1t95vq+0>zf>L;^;gBRWWGQoD+@(%$Tr3M*E5NsgE8* zra!710Q*6PZ2X0q0CXJySFfR`&@dd|2)+Twoy$ij-Y>HL3|36kk-eUrv|YxrmH&^5yd3<>7va3dN0}f z)S%x(wC<}B`HDKxh&)qK9}p`V3CMgK3wl*i*Bu_TT)IwMOrYqGpoTjrt{b#iz!12n zZua|cLw29f#)N3Y_d8vJ*6rlD+h-5$h6I(jSLeQy8)tG?x~3=KwMy9Wo1RsmLfG{i zGW0N6x?HtB)hh$CV(a>xgTRi*a&bHro$<7FLdamAYWe@)%*zm4S< zF`QiM^)bf@?YhNgM4YCd3_Yws&t_noMqUaPXOsn?b&2q=T!x^G;}dZ at zyy_U-T-dl zs+{_&^gKFY1sB#<`G)QZdpKV1zJU2KE-_HRx%Qq>IT9MtuIFc!lW=TIZC}QVc6C}=YfzNN4 zQ0E9yn>ENgMr-DrRCDGyBTa-p8%Ipr;JwiklbVqCMU*1R2#DR-mB~>3!NINbcEe6= zHNuR7FyEbE&!Y7ZDicPvaMK9K>7}rMnt~tC;2AW7G~Pgl)J)<{m`9wf#WO)VzNU1+ zGa>&6cXLz9 at g2$!@g2Y`4lyvGbi_lz^8Vg3-~GI7zXQQ_`E_}|M at K(z80dJ-7+Q&u;kFw9CP*zy)D<5CXI)sP7QYSMyF4g(t5m3<9o2;Q-y* z)!Dl#lR=-M$E6MNWD2ejA?wZ49ta48cVI)Kv at qXhsM?S|`&?Xf2!o*fb+e)BG#8{A zFsfRD_8wCsrLTfT65t7zM(P~U)MUC1{x#eI*)u*KAs))#_)H3!MB at UUlTOmQl>L36 zei_umr(-s*b(=zd2hh2O`*fRpX4|oc+KU~%qu3`m8_lK at a8w4yaZ*lh=tmrYf at n7V zJY;8}Ikr*@YYd7*KowQUZsXCSNOUi6h*Z!d~7(u-#!H_XmPP?umO~rp1D%NEY*+ z&aU^wc*|&75~Vn3N!sI}9|7@#g7}GX#LKLg*q&Ix49j*rN7ybkF|fQGj*oh-bh#7M z_u#ky7x;|#s^lG>T7(0w)~h*+SLe9!8Qgl1jZOs`{y!s*uw6KHh&GozQ;didKG)xJ z^63<%a4 at kFa{D5H&i^0qYJeY-o71C&rG;+7t at 7!T4B7Pj&!zj5wn_8p*-1)~j)Xpw zL_w~1gvOhvrsv3yV0zP1R~aB%ExpXTpk{F~7^f>QMH}K-!SE+XQF9^vxI~w%^i~-vO at rPodX8ak-#X;Z~RlNEumMnr#0z{ z)uL||X&#>nU4=_H#D>^ARyr(FB>76{NG=ZL>&8D6JyB$Ie3WED7%*AK9 zIlLTRgyJp5Qr;;MkMG54q-O_arAd^?LEODT3cHH3Fu|Oc&OugK=**=aN?DiE6D*}a z%M9c=1%$C&*v`Tvh3YmyyFyfLX7NhmIJj*DsD4tZgP z33d?RZcn~IY}pZmjwcm+!b~g5q$d4iObM0brcP>~*{&pi#_31~w$ypjS&%A1T&eiG z at q2}l&5(g-6ZlCCX!p)s7mkmI6T&#$3x_?xk=6r$rVtb6)P8vEutR(M_wO~|Y&z3F zQy3tE0&#c#{~ zM2!6UxA!f|U;TJT;p^TH@!)lj(h?4hTNcT6&H9Z^f5@=S_~$ZJ)b(ADrwK27Sn*0q zCVt}2^=mr%w*(DW=+bI at X7zpZ$7Nq6G)_I5O-_3)=1J( References: <1591027210-1608-1-git-send-email-tharvey@gateworks.com> Message-ID: <97db390b-0298-c9d9-fa59-874c1d1bb65b@hauke-m.de> On 6/1/20 6:00 PM, Tim Harvey wrote: > The CPT module requires firmware which we add here as well. > > Signed-off-by: Tim Harvey > --- > target/linux/octeontx/config-5.4 | 11 +++++++++++ > target/linux/octeontx/files/firmware/cpt8x-mc-ae.out | Bin 0 -> 9760 bytes > target/linux/octeontx/files/firmware/cpt8x-mc-se.out | Bin 0 -> 35584 bytes > 3 files changed, 11 insertions(+) > create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-ae.out > create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-se.out Please add a license file for these firmware binaries. Hauke -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at meshplusplus.com Mon Jun 1 13:11:40 2020 From: mike at meshplusplus.com (Michael Jones) Date: Mon, 1 Jun 2020 12:11:40 -0500 Subject: [OpenWrt-Devel] [PATCH] build: improve ccache support In-Reply-To: <20200601153226.15229-1-roman@advem.lv> References: <20200601153226.15229-1-roman@advem.lv> Message-ID: On Mon, Jun 1, 2020 at 10:33 AM Roman Yeryomin 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 > 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From nbd at nbd.name Mon Jun 1 14:22:43 2020 From: nbd at nbd.name (Felix Fietkau) Date: Mon, 1 Jun 2020 20:22:43 +0200 Subject: [OpenWrt-Devel] [PATCH] build: improve ccache support In-Reply-To: References: <20200601153226.15229-1-roman@advem.lv> Message-ID: <6406348b-1e10-5e6d-0c20-9e2716099833@nbd.name> On 2020-06-01 19:11, Michael Jones wrote: > > > On Mon, Jun 1, 2020 at 10:33 AM Roman Yeryomin > 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 > > > > 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 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at meshplusplus.com Mon Jun 1 14:34:51 2020 From: mike at meshplusplus.com (Michael Jones) Date: Mon, 1 Jun 2020 13:34:51 -0500 Subject: [OpenWrt-Devel] [PATCH] build: improve ccache support In-Reply-To: <6406348b-1e10-5e6d-0c20-9e2716099833@nbd.name> References: <20200601153226.15229-1-roman@advem.lv> <6406348b-1e10-5e6d-0c20-9e2716099833@nbd.name> Message-ID: 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 > > 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 >> > > > > > > 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Mon Jun 1 16:51:57 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Mon, 1 Jun 2020 22:51:57 +0200 Subject: [OpenWrt-Devel] [PATCH] build: improve ccache support In-Reply-To: <20200601153226.15229-1-roman@advem.lv> Message-ID: <20200601205157.GG58206@meh.true.cz> 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? BTW you've missed following hardcoded patterns: target/toolchain/Makefile:EXCLUDE_DIRS:=*/ccache target/sdk/Makefile:EXCLUDE_DIRS:=*/ccache/* > 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? > +++ b/include/host-build.mk > + $(if $(CONFIG_CCACHE),$(1) : export CCACHE_COMPILERCHECK:=%compiler% -dumpmachine; %compiler% -dumpversion) you've missed to describe this change > 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. 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 at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From reuben.dowle at 4rf.com Mon Jun 1 22:39:21 2020 From: reuben.dowle at 4rf.com (Reuben Dowle) Date: Tue, 2 Jun 2020 02:39:21 +0000 Subject: [OpenWrt-Devel] netifd: per-interface MTU settings vs per-route MTU settings? In-Reply-To: References: Message-ID: <6c96aba2a492468abdf5490b0051e7bf@4rf.com> When changing an interface MTU direct through ip command, netifd will get be out of sync. The netifd internally tracked MTU (discoverable through ubus call network.device status '{"name":"xxx"}' call will always show 1500 (or whatever the value was when netifd discovered/created the interface). I am not aware of any actual issues caused by this, but it is worth considering. Finding some method to update through ubus is preferable in my opinion. For the project I have been working on, we added a ubus network.device set_attr method to netifd to solve this problem ? see attached patch. Then you can use this in the protocol handler: [ -n "$mtu" ] && { echo "Setting MTU to $mtu" /sbin/ubus call network.device set_attr "{\"device\":\"$ifname\", \"mtu\":\"$mtu\"}" } ________________________________ [cid:4RFLogo(Custom)(2)_0f31a7de-6dd6-43cf-bc6a-a097a2b80b69.jpg] Reuben Dowle Software Architect Phone: Fax: E-Mail: Website: +64 4 499 6000 +64 4 473 4447 reuben.dowle at 4rf.com Https://www.4rf.com ________________________________ [cid:Family_53c410b1-7227-4a5f-9acb-f09bd7617a39.png] From: openwrt-devel On Behalf Of Michael Jones Sent: Tuesday, 26 May 2020 5:21 am To: Aleksander Morgado Cc: openwrt-devel Subject: Re: [OpenWrt-Devel] netifd: per-interface MTU settings vs per-route MTU settings? On Mon, May 25, 2020 at 8:00 AM Aleksander Morgado > wrote: Other protocol handlers, like uqmi, are also able to setup the MTU, and instead of doing it via proto_send_update, they just do it like this: [ -n "$mtu" ] && { echo "Setting MTU to $mtu" /sbin/ip link set dev $ifname mtu $mtu } I guess we can do the same in the ModemManager protocol handler. That does seem like it would work, but I'm wary of race conditions with the message sent to netifd via ubus, and further feel like it would be better to have netifd learn how to set the mtu directly, if it doesn't already know how. Are any of the netifd project's contributors able to comment on this? ________________________________ The information in this email communication (inclusive of attachments) is confidential to 4RF Limited and the intended recipient(s). If you are not the intended recipient(s), please note that any use, disclosure, distribution or copying of this information or any part thereof is strictly prohibited and that the author accepts no liability for the consequences of any action taken on the basis of the information provided. If you have received this email in error, please notify the sender immediately by return email and then delete all instances of this email from your system. 4RF Limited will not accept responsibility for any consequences associated with the use of this email (including, but not limited to, damages sustained as a result of any viruses and/or any action or lack of action taken in reliance on it). -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 4RFLogo(Custom)(2)_0f31a7de-6dd6-43cf-bc6a-a097a2b80b69.jpg Type: image/jpeg Size: 3500 bytes Desc: 4RFLogo(Custom)(2)_0f31a7de-6dd6-43cf-bc6a-a097a2b80b69.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Family_53c410b1-7227-4a5f-9acb-f09bd7617a39.png Type: image/png Size: 69144 bytes Desc: Family_53c410b1-7227-4a5f-9acb-f09bd7617a39.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: add_device_attribute_set_ubus.patch Type: application/octet-stream Size: 2061 bytes Desc: add_device_attribute_set_ubus.patch URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From roman at advem.lv Tue Jun 2 08:21:38 2020 From: roman at advem.lv (Roman Yeryomin) Date: Tue, 02 Jun 2020 15:21:38 +0300 Subject: [OpenWrt-Devel] [PATCH] build: improve ccache support In-Reply-To: References: <20200601153226.15229-1-roman@advem.lv> <6406348b-1e10-5e6d-0c20-9e2716099833@nbd.name> Message-ID: 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 > > > 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 > >> >> > >> > >> > 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 at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From roman at advem.lv Tue Jun 2 08:32:00 2020 From: roman at advem.lv (Roman Yeryomin) Date: Tue, 02 Jun 2020 15:32:00 +0300 Subject: [OpenWrt-Devel] [PATCH] build: improve ccache support In-Reply-To: <20200601205157.GG58206@meh.true.cz> References: <20200601205157.GG58206@meh.true.cz> Message-ID: 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 at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bobafetthotmail at gmail.com Tue Jun 2 10:49:25 2020 From: bobafetthotmail at gmail.com (Alberto Bursi) Date: Tue, 2 Jun 2020 16:49:25 +0200 Subject: [OpenWrt-Devel] add support for netgear R6020 In-Reply-To: References: Message-ID: <268fd91d-4884-67d7-be7b-9b8b5940c4b8@gmail.com> On 30/05/20 13:37, Evan Jobling wrote: > Hi, > > From 8a2cf974be374612e8ea32d2182226d542ebbcdf Mon Sep 17 00:00:00 2001 > From: Evan Jobling > Date: Sat, 30 May 2020 20:39:47 +1000 > Subject: [PATCH] ramips: add support for netgear r6020 > > Signed-off-by: Evan Jobling > --- You can send patches with git-send-email (mail clients tend to change formatting and that is bad). Your patch/commit lacks a short description of the hardware specifications and instructions about how to install OpenWrt on the device. See the full patch submitting rules for more details (1) 1. https://openwrt.org/submitting-patches _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From tharvey at gateworks.com Tue Jun 2 13:05:01 2020 From: tharvey at gateworks.com (Tim Harvey) Date: Tue, 2 Jun 2020 10:05:01 -0700 Subject: [OpenWrt-Devel] [PATCH v2 1/2] octeontx: refresh kernel 5.4 config Message-ID: <1591117502-28100-1-git-send-email-tharvey@gateworks.com> refresh kernel config by running make kernel_menuconfig and saving changes Signed-off-by: Tim Harvey --- v2: added kernel config refresh patch --- target/linux/octeontx/config-5.4 | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/target/linux/octeontx/config-5.4 b/target/linux/octeontx/config-5.4 index a75bf78..cfb8b19 100644 --- a/target/linux/octeontx/config-5.4 +++ b/target/linux/octeontx/config-5.4 @@ -1,6 +1,4 @@ CONFIG_64BIT=y -# CONFIG_ARCH_AGILEX is not set -# CONFIG_ARCH_BITMAIN is not set CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y @@ -83,9 +81,7 @@ CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARM64=y -# CONFIG_ARM64_16K_PAGES is not set CONFIG_ARM64_4K_PAGES=y -# CONFIG_ARM64_64K_PAGES is not set CONFIG_ARM64_CNP=y CONFIG_ARM64_CONT_SHIFT=4 CONFIG_ARM64_CRYPTO=y @@ -97,17 +93,12 @@ CONFIG_ARM64_ERRATUM_826319=y CONFIG_ARM64_ERRATUM_827319=y CONFIG_ARM64_ERRATUM_843419=y CONFIG_ARM64_HW_AFDBM=y -# CONFIG_ARM64_LSE_ATOMICS is not set CONFIG_ARM64_MODULE_PLTS=y CONFIG_ARM64_PAGE_SHIFT=12 CONFIG_ARM64_PAN=y CONFIG_ARM64_PA_BITS=48 CONFIG_ARM64_PA_BITS_48=y -# CONFIG_ARM64_PMEM is not set -# CONFIG_ARM64_PSEUDO_NMI is not set -# CONFIG_ARM64_PTDUMP_DEBUGFS is not set CONFIG_ARM64_PTR_AUTH=y -# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set CONFIG_ARM64_SSBD=y CONFIG_ARM64_SVE=y CONFIG_ARM64_TAGGED_ADDR_ABI=y @@ -131,7 +122,6 @@ CONFIG_ARM_GIC_V3_ITS_PCI=y CONFIG_ARM_PSCI_FW=y CONFIG_ARM_SBSA_WATCHDOG=y # CONFIG_ARM_SCMI_PROTOCOL is not set -# CONFIG_ARM_SP805_WATCHDOG is not set CONFIG_ATA=y # CONFIG_ATA_SFF is not set CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y @@ -167,8 +157,6 @@ CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_CS2000_CP=y CONFIG_CONFIGFS_FS=y CONFIG_CONTIG_ALLOC=y -# CONFIG_CPU_BIG_ENDIAN is not set -# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set CONFIG_CPU_IDLE=y # CONFIG_CPU_IDLE_GOV_LADDER is not set CONFIG_CPU_IDLE_GOV_MENU=y @@ -190,7 +178,6 @@ CONFIG_CRYPTO_AES_ARM64_CE_BLK=y CONFIG_CRYPTO_AES_ARM64_CE_CCM=y # CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set CONFIG_CRYPTO_ANSI_CPRNG=y -# CONFIG_CRYPTO_CHACHA20_NEON is not set CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRCT10DIF=y @@ -209,7 +196,6 @@ CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y -# CONFIG_CRYPTO_NHPOLY1305_NEON is not set CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_RNG=y @@ -247,9 +233,7 @@ CONFIG_EEPROM_AT24=y CONFIG_EFI_EARLYCON=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=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_FANOTIFY=y @@ -261,7 +245,6 @@ CONFIG_FONT_AUTOSELECT=y CONFIG_FONT_SUPPORT=y CONFIG_FRAME_POINTER=y CONFIG_FREEZER=y -# CONFIG_FSL_QDMA is not set CONFIG_FS_IOMAP=y CONFIG_FS_MBCACHE=y CONFIG_FS_POSIX_ACL=y @@ -299,7 +282,6 @@ CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_THUNDERX=y -# CONFIG_GVE is not set CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDIRQS_SW_RESEND=y @@ -372,6 +354,8 @@ CONFIG_HWSPINLOCK=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_CAVIUM=y CONFIG_HW_RANDOM_OPTEE=y +CONFIG_HZ=250 +CONFIG_HZ_250=y CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y CONFIG_I2C_BOARDINFO=y @@ -429,12 +413,8 @@ CONFIG_MDIO_DEVICE=y CONFIG_MDIO_THUNDER=y CONFIG_MEMFD_CREATE=y CONFIG_MEMORY_BALLOON=y -# CONFIG_MEMORY_HOTPLUG is not set CONFIG_MEMORY_ISOLATION=y CONFIG_MEMTEST=y -# CONFIG_MFD_LOCHNAGAR is not set -# CONFIG_MFD_ROHM_BD70528 is not set -# CONFIG_MFD_STPMIC1 is not set CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y CONFIG_MMC=y @@ -461,7 +441,6 @@ CONFIG_NUMA=y CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y CONFIG_NVMEM=y -# CONFIG_NVMEM_REBOOT_MODE is not set CONFIG_NVMEM_SYSFS=y # CONFIG_OCTEONTX2_AF is not set CONFIG_OF=y @@ -483,7 +462,6 @@ CONFIG_PCI=y CONFIG_PCIEAER=y CONFIG_PCIEPORTBUS=y # CONFIG_PCIE_AL is not set -# CONFIG_PCIE_BW is not set CONFIG_PCIE_PME=y CONFIG_PCI_ATS=y CONFIG_PCI_DOMAINS=y @@ -494,7 +472,6 @@ CONFIG_PCI_HOST_GENERIC=y CONFIG_PCI_HOST_THUNDER_ECAM=y CONFIG_PCI_HOST_THUNDER_PEM=y CONFIG_PCI_IOV=y -# CONFIG_PCI_MESON is not set CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PGTABLE_LEVELS=4 @@ -502,7 +479,6 @@ CONFIG_PHYLIB=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_PM=y CONFIG_PM_CLK=y -# CONFIG_PM_DEBUG is not set CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y CONFIG_PM_STD_PARTITION="" @@ -515,7 +491,6 @@ CONFIG_POWER_SUPPLY=y CONFIG_PROC_VMCORE=y CONFIG_QUEUED_RWLOCKS=y CONFIG_QUEUED_SPINLOCKS=y -# CONFIG_RANDOMIZE_BASE is not set CONFIG_RAS=y CONFIG_RATIONAL=y # CONFIG_RAVE_SP_CORE is not set -- 2.7.4 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From tharvey at gateworks.com Tue Jun 2 13:05:02 2020 From: tharvey at gateworks.com (Tim Harvey) Date: Tue, 2 Jun 2020 10:05:02 -0700 Subject: [OpenWrt-Devel] [PATCH v2 2/2] octeontx: enable Cavium CPT and ZIP drivers In-Reply-To: <1591117502-28100-1-git-send-email-tharvey@gateworks.com> References: <1591117502-28100-1-git-send-email-tharvey@gateworks.com> Message-ID: <1591117502-28100-2-git-send-email-tharvey@gateworks.com> The CPT module requires firmware which we add here as well. Signed-off-by: Tim Harvey --- v2: added license file for firmware --- target/linux/octeontx/config-5.4 | 11 +++++++++++ target/linux/octeontx/files/firmware/cpt8x-mc-ae.out | Bin 0 -> 9760 bytes target/linux/octeontx/files/firmware/cpt8x-mc-se.out | Bin 0 -> 35584 bytes target/linux/octeontx/files/firmware/license.txt | 11 +++++++++++ 4 files changed, 22 insertions(+) create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-ae.out create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-se.out create mode 100644 target/linux/octeontx/files/firmware/license.txt diff --git a/target/linux/octeontx/config-5.4 b/target/linux/octeontx/config-5.4 index cfb8b19..9fcd12b 100644 --- a/target/linux/octeontx/config-5.4 +++ b/target/linux/octeontx/config-5.4 @@ -134,6 +134,7 @@ CONFIG_BLK_MQ_PCI=y CONFIG_BLK_MQ_VIRTIO=y CONFIG_BLK_PM=y CONFIG_BLK_SCSI_REQUEST=y +CONFIG_CAVIUM_CPT=y CONFIG_CAVIUM_ERRATUM_22375=y CONFIG_CAVIUM_ERRATUM_23144=y CONFIG_CAVIUM_ERRATUM_23154=y @@ -169,6 +170,7 @@ CONFIG_CRC16=y CONFIG_CRC7=y CONFIG_CRC_ITU_T=y CONFIG_CRC_T10DIF=y +CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_AES_ARM64=y @@ -183,6 +185,9 @@ CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRCT10DIF=y # CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set CONFIG_CRYPTO_CRYPTD=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DEV_CAVIUM_ZIP=y +CONFIG_CRYPTO_DEV_CPT=y CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_DRBG_HMAC=y CONFIG_CRYPTO_DRBG_MENU=y @@ -192,6 +197,7 @@ CONFIG_CRYPTO_GHASH_ARM64_CE=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRYPTO_MANAGER=y @@ -233,6 +239,8 @@ CONFIG_EEPROM_AT24=y CONFIG_EFI_EARLYCON=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXTRA_FIRMWARE="cpt8x-mc-ae.out cpt8x-mc-se.out" +CONFIG_EXTRA_FIRMWARE_DIR="firmware" CONFIG_F2FS_FS=y CONFIG_F2FS_FS_XATTR=y CONFIG_F2FS_STAT_FS=y @@ -536,6 +544,7 @@ CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_XILINX_PS_UART=y CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y +CONFIG_SGL_ALLOC=y CONFIG_SG_POOL=y CONFIG_SMP=y CONFIG_SPARSEMEM=y @@ -599,4 +608,6 @@ CONFIG_WATCHDOG_CORE=y CONFIG_XARRAY_MULTI=y CONFIG_XPS=y CONFIG_XXHASH=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA32=y diff --git a/target/linux/octeontx/files/firmware/cpt8x-mc-ae.out b/target/linux/octeontx/files/firmware/cpt8x-mc-ae.out new file mode 100644 index 0000000000000000000000000000000000000000..39e63398fea133f1a882ceef432adaf8f051787a GIT binary patch literal 9760 zcma(%3s at B8+A{;}%wE_*Qc2RBUD(Ua?y_VOm5F0oN4$|#URd#hc*&&y?Zn(Morht9SwIbW+pfaud9rEcK}Wsl-J?`!%{AJ(c>u-wXuxoSy%eN9LRF^4`Ap zK9FN3zwr1f$D}ci(a$(0jZU8Ih>wqdgy{1xGP}dnwKLh{hNPkA`Ro(qfKljYw_ug^QC3+AY()tdG0?~9ki6#^A zQ+MA93_xK>m5=ES6~`3a&zl#}5(K>oH4#K040tip6?7ElhD2%|b6>i{*OQ22)H>g2 z5``1!G1xT#PI#Of3D~pv4ufo8$3zSHYSqFBHgvNqw~0Z>Z2vkCW;9woEJ-5%1KS5A zLMm2V_+qc3O!PfZQx?vfeEB+L`5dU8A@*|F5XM95nx!KhjSn;pU zwrpGHne6A3_u=-=w&CTSXNLc?^I}4DXM4g^o!5uY#B264eq&XstSJ7>#2;&78G3Enb(V) z9UZNYsIPw1Pd8%Hgem=^uU_caZ$y(ky39uOiv=nk&>WT`M|5bXtZ`~p_Mk9$)I at tQ zrVKw>!g1M@<9t^LI*jU2w`DRJG1XpX^X?uk?0((BsxU5VM|&VrTzr*fhVj&uF+(+|=iVq74D_OAU5|7KM}(48W~qUZ-zlmf|LEef_^%-iDgbUR8ApTiR6 zgWP(4kala*&(<&PSM6S552NCP{2;-nP~0;s0Oe~x!<2;2k;26=fEwlquFb(bFtuww zWy&;LB}yG3_0vw5wDwON!K$@6E12mLBhP(^XEZ-a(JX0pQ^QHZDoxrU4? z)J~Dthsf&#{=+()w+FdQeE)c_q7gls;0R*)3Pg|-<`8HR7vYgQ)G@@gSJ4vNm-cSi z=eIPk2dRhHsu=q9BKDG#(icy8FH|bK8hwZCXUI&@JufsB})y1nXGg?EQxZIeW^y;y@ zNVZ!HL)OG%&{A2m6uPjMD;B1&mh`PR72X?+v^VDs^Pd$>1SxD+&S+GkAZTU2WnIIR zf(G6LU6lAi@>^Nby~SrAC1qNE09v;8(xNWw9fMD$15Dvax_}P~gY14y2+;A)uW4(& z6&OZ)M>Hu`0{YWPd-Yp$-q5$YQ`l;W)z{jB8l5}EvK3Qm*{VMa^Q5h6#H2M&pkXAY z;n75(LDh>F#^)qP2p&+g#G}u!tl~k`q2WZgW}LHXxl#qAY-wH+X?4OmwF>lt$M$C^ zX&Iu7NMtBEHc}Z29l^#2)(Y3L?`z5F_LX3Bcu&h`A}@PFc!v}3_P&v*8&fFQv{#$y zNe2vo(b}peq<)^JzyO+75u%7f=}H)p;%L;LuGFd!EsjBUx>83-I+za?$D-lzHUZ|x zqNnIenVQ2|4n at Jf!E_}mrwi%GM~|XC_(^YlDuzT90>*zS!e=vFr z(>;7BdZ!Ql1f$BK_;Z}p^P55hk+hZ|=3HXw?JjN|S32i9%WQX9*YO*K^$W6xk5#LL zbVEsQlMrqC6W?Y#Zr)~_<=tIgZ}`Fgm^MPv+BVo{Cf&0gPueWBX$$SgM@>{0INAu% z4T8YYC8>xZ=P;~#vkVg;F71H`<5y(JnjYBPIzE|0T-%)M+g*H{{h)m&t1_;$B^$RJ z&I{|TY1{$-FfAcH;Mm~Qwce8Bfb0XCDcYNK at 3oykfl8(z)X`=?ZXcX^bGT1S#(uhF z=5U`nOwrb)wfqL_I-v%z at 9&|c2fuBCPTMO9u3eFZ?YM1%ahsOr&hu%;Xsyby4bw2H zULPUpZEre{8I#>9cu%hc9Bt}?Zfw8eUdH-u4_2Vyt6%f4)AmRJS%nh at 2?t5BmOV`7B2t?L$KC-6O(6 at FvZ#eBwZQ21RnA)Hc&ns#ecF(QfV zk>xW<^ji*kAc1Cp^b#iZK!foV%*SfO at 4;|-JWc+BaP_<|hs-yna&LG8qZY*^GmOO8 zCGI+SHKK?TtvAGk`&t79D|D7*Se3d^bk`Nbg^tf)=<6GyraQ&BOSU#_S^eok z+4e)>IZ?5ZzqF$XVunm;=Bb zcm3If^P(A3ZvD=SfTuqO7@&y2RLOW%;0JCfdSUj-5C4R zMQE(DN}{;a=1L{b7_N0=n?hGGD(BzLBIb+pVwv)Dt^Mb;4UA&QxKoy|;LJW_mOBN< z4e^<7e+ZtDu8hMtfEK#aysu|u{kyf>%g~k9Qwj~(+rS8X6Hq!+p~aGIsZ}V!(FnMz z2oT;D at Wti7;3+hJr9j1=m%|ujti4cwf%$?0GwF~alOpmpo+f%*KILohH&%PT99{3XdUiu4tsC_Q1du0To4z?>A5yZ)8=OA8&W*5Lo#sO~36fi<=_&w#s_{Bm4~e zEblIZi+ at AAM0zN01Gbo?dvSkf2`NfA?oNT6uMJ`_c#5QZ_T!!=Js}Nrys7AiS~c<{ ztJ1?=xKk*EqY0w at Eubx-bd?|L0 at fVx!U}(MWqxGq9VNe|%kwGjU2nh|0s2-)A_C1# ze)vl)BYe*wL69TFpF)(W at C@9XSL7hi_Uw~$WxBj)7e(L6t zC1*+EV|1yx>{?6Wpvq(3fO03w%KR)^iqe_ZJJKCP=ATX+F*H7fv3x{FiYl-o6;jcq z-QH8q+QdW}MUALD#=@T8&R5hs(&yhqs>E at 9{Viy?H=m*-N0m^BAIxQrD&g+1%-oL? z7g#EwT45LwB{*Z at 8`BcT)%41iXqy9{xxO_bkP6O5t^rX4oRP9I? zq}To(o2_3WJ=`tbP>^4!?L^soHW$uoaK_Mn{#W#j0 at 9whER)p?rhL$?nC~VAw>GuLq-3zKLe_GEegw< zM>nCSKv-G6Qe%`gfoFw!ec?wj8=f;3{oD!=Nz at gHx`s0XmS$AugNAL!C$Qx~R@nvX>J9*WrQw~u$8RwAoArMkn5SoPdH(~(82 zs at +>+Q+cHC)Gr5KLyS;-KgAK_znOHtQuhSSr1 z6$MF$YC3jZvs{S-7#5c~8N*=rNKtwfyu)dCN=*k;nibhd zYdVDSx;;{Vd4^qm|BpY_blAu1Rjgeaiceq&`>rYc(mqsRe9Q0mAA&gP16eq*1b}AM z49=7p7~pBLo&@g?-WWViRd-CNswj|0I=V`H7P8GMaWwe1D)2v5IMylhsrJZxs<5X7 zoB=%nbpMXTYdWx$X3Y4llwz{Ep4y$mbm?zO1G!33uI=QT0!dXDVp;7Ac=yzF_{$Zp zL at VY-<|5ye3H~%5d@|54M>L=wo-*y&Bg^zFo>t*Oj at R^7iV)iP at hlw+872RQaWkVb zm1~jofN8HIjjJ|3nRHKYmmX%35+4M}9a)+mZ(RS&zKUP=fxi8ApS)`iWToA(dd at Q{ zz at c@_01Qt62DoE5$>IovcR&;xue~Wfpdpg(3CE3_`5OBTi%YK(Cc^rSRm&*E6|?lh zCzo>ImoIeZKZz_EbCA13UsUXJ(e$PIzJ68N)yKapK4+NXaTyv*f%90WgCs=bX3QUs zjgAcp<$N1drER`?entnmG^yKLdS#ietO}w7MMLPIR^ko6_=9h}An5x>MJZ$a$h_ zljDYCh*o91%cpT}=Ox1?@S9%i2|UZSc(O7bvJ1IhY zUl*b#gmqV_rAMu4)`-esag)suudRP2(HB(e`wH!;2Zc at Zvr>=DxtQAJ_f)m=x!8UvnrnbXc zXGN>9acL*4cEakl)J_c3xPRg8wEsyx>O66+HLYtB_-W&Mh|h90<8O>fR(c1t*WcLD zlzN-$sd)#`+mW9JU%luK_Lhn#%}9Mdvd31s#AO3Tjv=Ab;eq%k_lYtZEv}e?>Y{v@ zL4Hw=VX;MYJDeMWp=cw*iQpsbeQBufLA`3(#Beg$sN?gtB~RM%~|Sa86tNni5e5SYkKG;!L1#4MpbQ% zb;k`6Kue7K%U{5Ct+`sb&TZz3d5&u^UDrVz?LFNcbLG3)!z;8NTc< z3=`XCAFQtJ?RMY}rPZab)l7hnqxO+l{wja4xOfg0LdbTbeM zzbPeuZS~?>#~y?}N8egU?j#kyOBX=ygly2m at m8<-RPI1dkSK+BWmdTE_lS#7DDGjw zvs`)Rjm1xfkQhyWNh9~X9~Tc&`hCTIR76WDYW?P3I_?_d#vZwiNVGfW7M26xjQG8Gk;tgS2y6Bi9L*K zUyu^66AM98pk{%Hs&vor2=}L;a_y;C;fu`K71I>hG5HOD1L&y at Dx=HbN_rK;q at W)5 zGyy!Ub5-IW03NQHFci3j?kpr0Mo+^mg)1t^I4W_*0U7H}#Sb<-O?ww~rWdRzFpFHO zG25IO>$YU;RSUjImvk!JSHRKyUOQBRE8g|xIr8)b z-x3~Jcq6 at XMWrE2Plk^&>~g%SRo91UteL}7Jr3;*A&tH%|HQkhKYwifio)J#;d|$%vQ!~_|xjB5( z+#9w$eZW`moH6&_te4GhwJNvyrKYK=I+7vYAP7Q31Z&mtw at O3ASNg_NSEWUxcOricj?ID3yy}0zV~nh z--DvDkdqHr^bLAAMPT>X{}zeQ!u_bg;tSF8ZXX8Lt>h+1m5~~=g)5GIYb7dgE^G1z zy1#146+v&Nf^Rn1IPDb*DR<*8St&s^dVS%&*>A4gl&_(S^C>ajB2t7e(I9aLsuEwC zQ5jDWeRqe2Op~Bbp!5)x9BY`KG5$jwwxDtLKBI_nh=~gRm@{0eKhIq-$F=frN*3lW z053xz6{HBY&CfhIO$$u<}R9+%D3Q?SW}ObZdap69O8ok=|mQcamrh at T()yfYxicw;)Tj zSb^ukd7s=Lf=scy&y(k&*F$&8Yw(fim3$mTH#Ut#qgpcQlTE-OQzSEN$qHa%TeBEyA6}V at s@h4m% za6h>rGB}2`o})`m=Y;@8l$GiZNo#}`NK`&k7YbIH%MIn9<0K0Ww$mjIb`Et13>4c1 znKD`7Gklc0R1>QEN*e4wI_YO;m&IB9);O}b)RLuxzrtV+NUOl^{sUZ#I at TF~)uU}7f0cXC66`6wyr^sQOE_|Z? z9(qR5CDMm+S^i-$@A1KK#_i?qn%tNtZ at f0lohN+4ih4#UTNqV8L{BXEVcU-jzu0Cp zXL4CFnG3S($7n)y-(#wG#o4>qe at R2_Gb{cY+aKcFVO^wuqiK>l1lzUddnsBM;ywz0 zD=^Dg!+jm|o#1E1OqcBwp{wNJwZOKNxkKwy=0?@0lzhX9>N^XgN_JQVRX%1CEi1Kz zu(ewP;Cp&xAaup0`39P^u6|tqn*We5&pF+4)VVTzjVa7DNhdDsDp_vKm>6oxHfA_$ zioY#`4iSdoFP0%lSc=smy9Vwe*IUY!a*sR5Ia9a;7S0f%`$4%KxRq0uOdJnWT7 at po zr6!C|mMqqb^B=AMCLGx=BRzZ at 7=un0!Pf%Cx1lB-=}1tAYC=r&S*pjQr4aR3!^Qcw z60n$gqWYlpnr{ZqxP`*{GbT~{z4Va(FgZThvNQ9Aoyys&bE$qUx7}bBYpdf ziWVjs!)_03pJ9Gn*k;>7BCOlClhzaEGt0-4$hWO>2eZaNnpMuJv8VYdHFsh at h&^T7 zp84tK88}j~j5`n*S+u6|y?{Wsvjs1m5ML?UgU6f4>EVW*wL)OmzX_Dv6tOOT9rFCf zS9vHRC1kS;;)01r&Yk=2IQMBN+egZ`B{iW5VMBG1;Uv~G_$wd=e<_6U-{)W5v}$v| z{Bf4W{<>E#{Ix9ivS;o;#y=l*R$DQ3i;vZvIZ+ at q4=c!1(I{ASe zYV>dp at Re7|(g;E&Z at NM;8o+Mum1R5?}8tqT1~UR Q9Xc*B?r`O;myZ?vFSTF0Bme*a literal 0 HcmV?d00001 diff --git a/target/linux/octeontx/files/firmware/cpt8x-mc-se.out b/target/linux/octeontx/files/firmware/cpt8x-mc-se.out new file mode 100644 index 0000000000000000000000000000000000000000..0bf1d6786e98ce03b359fca4b30c6e5a741a800e GIT binary patch literal 35584 zcmZ^L30zah_V7)B+?$XE5!|XZ2?TDEn*?RCR at +`{eNS2!L~Si-3kc$d#f@&hav at Nn z;J&uCHVIq8>Vne6wvhyIuL4%IiXjj{#SIs@`-BtWYz2`s>rC>QzolILPEx3|NMKa{hwzHW4tV0Ic(eq$1E6wTl_O7GaL&W zFGGJUhQLTh&L|iqLoq5w&1e`>C)X)-N*$$B>C`%n&cv9R5~h?XW6GHdrjjw~%(@a? zsjf^{uB*^h>bOz5 at d8Zu%&g|34{r z4Z!Aaa02XqQtl at Ji&%dcVE>bH*8z;1I~QQdo6#H`-TW=2#HQ)c9|N%DjaMO`y>Tt1 zC-Y>GPS}XXk_E68>rsEJTyN}f&46-qEx>dDo4FB<`_;|mkdE5$4AOgO1l&A;2{&wn zeENo+kalcLf%JTyKftyC%qtJ|mzO&Q(%087fOK?j62Nu^(oJWebkb&2Z`sCM z0NVpF`v#OBz6rJVh3;EOKV2^X*j|ABv$Bl`=%!l$GXYGagIa>-%`i5BaP!ZQj^A(wU}XRc z&3z5>$?L-*wQPO{=@=c1fV&@HRe5V6pR-{ur1M- at 4ni$)s{qE|bQMYk>rss-xiUzL z^Zo;{?*Vpr!)uTqwP6aRe{OsTX~6~rI|{HD*YAb(;#vUq;u^iMCR`i9UR;M4=AC;S zU at y+~3vBsNbjJ1!|evx71uuAv+)9y&dEItsn7bI0J{sYKG$0QPs)7&uorm+JkP+!E-rm+ z at n^gkju!DWPkM4rU&caCLHfCw(8Y+arsst6A`z%h?kW at z3o-pmc-J=5{{hjskEqbx>YyTiWrE9UWR zn8HRdOb~U~;w6=epiOzTvYO$D=;T+&p4VIp{zUVg=}rC{!BSpe!k?j;ynuv1*9_u` z6aF0ggeP&Op$UKX*6_k0t>uNg(s7U;=e+{yDc)E}&+=FafBN=1&h?(3$-3A?yhQG2 zF?<%u1jO-PGRDZy8OJzk26HX1F;grfaJ at XXI$`J}$Em>qgddL<_PTO^3|0_g$lY<}+6IpyXkL`C)0Mk9_!U>~8p;WYMfYEt zIe30xB#W8w!AvZ4CTXfL at mq9!m<^JDRmT?ymNkb?7YInV^zZjRs;E(i1ITf*fC zu)d2kSiXyA4!hXo%`)aqSe&mlZWu_}O!nmZ?ksJq$-z$2(d0iv7dq`%;Swd(JvR9)K}F*$VQP!5vOUyJf2S~ zEmxdnF}9g^Fu`5Vp at A5~k;~6Kx~Eu}#Ys0DU;Z z^nQ9i2TJs|X-|tZPR-2x9LrqoGMf~7Oxz!Z!92R!8{IXNv zchq^;?}y at Fox{V97JpY>`PolOtK%ge&+oX1Rr(#~G2U-F7WRjTB$SxP1eV;%<0YIA z`$Ij5$I}}HN)|&M#u(D4>@9%WRRC2_SNV$%7SCsjk4i+R5 at pd3@_V|4{{54mRb7c}(2KaJsD#4azQc zb9oC at ued>YsxLsxK92GuWs&G(OY=?bz>C=fu4XLnkPwT>7!VTs!^5X92LF^&7}V(rPFjv^NxC+ zfEQdDRIR$98YQhI>+K=oON?KuVjLdI!KzWRtEvTs+2QG=mFJV-OS>@H_93 at 0HvyiwyUDpt>M;`(~cOmeD#7myuvINaoV zUybhpdRT^bKdq)$puNv#bT97r40i#lEow^Uy4 z6!}|}&21jxjov&(o$;U|M$_DhhaWfA(905{p|$4lbF`9<#=GjfaUH{1+z_#uOQ>!D z<*~z`^|y1k;&O-3|8B)C!2Y2shUcTSE*u=*qjW;MJ?al62MihhJ%+7?7y3u>Ozos* zNDMM3tjx2*TGc4jTEtLyYY~G`YeNPptd0>w1|_FQ_^6 at YkU@pt7XEC^FdVC`0-o8W zJ`q$Q-_&R4@>Dl8brQ2`RNx(Tme5Dlwn!bJ=@>OcqiS|~4bdQcBQ%DLf+}jhyZ4A! zU1hHtjum8i^AZyy7BF+^CG;HJ-Va~kf-mSF&1~0bW-nPOPB8H}_?5i=xLeYPl~BO+o$U{%3W#e8+vR7_D49teDMd0g|5-EL~?y9!iV#pM}J zsLrDO9r26WTDhombi at I)qC*bwd=?Ff_yNsZ#KDqViWtdOL&lJUhOImwwG}}~CplG; z(Lb9CysPw@efNIrVmJe|9H1o|sW^Mc zP#ISw;kVu!IvVjj!b{#LnWWr0PG;7*seLLoE}8m9#7?dsJ(kex2(xY~q1sX#nVnQC z8~PrRsq-=G$VPpL{oJ@{J7?T`w&huS<&B0ht(S(rsSU#!+j8v&e2X?yuca5m?(f1G zSaF~z)C#=sgWAeUvQ4o~`o+h6CX7p#H at C7Ny%H3uxM8ee0hfPuyu7V#__#u#cizxK zw7bU at 0te~#rWbm1dE-7dWFT%W+3a1V3soLsG0SEPu%Vg29|tMnBo_4rPbkhQoh=4m+$0N>&60y{7jUi6TveN?@fKMp9f^P(r%B-@(`PzU( zw2EFvzX#Oi+P&k>iP)%CaPJIk+&zs`eKqJgHAC5jC`%kW?y|V86A$=_i;c5KdJc6g zN*mWrF9t5Oj2=Ui|8NY=Rkc$+Lo>5 at vuhrnxyMpiEAIkaYGsF`I6%S9Vw_8$6JycK zsT|1QCW8YQjDcMQiQmoy&&?{Hz9`i|;qp_jz$s`<9$ ztEf3Dr_(ESj;5|-TuZ zh>`vYYwqGB5sx)ji*dyb at z>(-^%km8l~@qwjqyY>|Akkgjw|ciLV2vzI`NhnL{v+g zE%j8}X&zhXliJeO#PbjiOKm~9wkxTZ+a9J~F1;DF551AvqG!+vlIjqjE4`VNlG+ip zkE-uqiylN9sXYZ(TEn7x^cF7G9+vuu%cekn5O~PWh)qa$QCbB)NuyTEKEEUA^Ik6V zT6lA%44x*qpGc;>=GK28zfk72atOf0vxY6aIZLd%CVE5mn#h{;Y^7NAQ(qf-4kVL3 zvw~IzQM!OM)s>)%qD?7RR??)+kiqkio+N$5TaauAeYeMT&3fHg3$P~iw2~It;Qg}! z&G|pcPe at Mjd|*df6Nau_s<|q=s~IYL7VwwmgnDDZUv8{czL)=pJlD;UXT`n9k>y>6 z429Fdj*c-Ldz%#W{vwZ?k3{akX5^D?84cb%@8KZW2|x5Tt35QBoVU#_GFDwSng5x3W&r&7YX) zSXl$VIf;&0b#G&{>Pnnc2|8UAKsB1HDrfK=aV*u`?z!?JdBIpi&Xd-VGsRY_z9Veq zAI40lS3oHjTiF`vIjb!>edVow4nP7A_*-UBG_jb{Z9E^1HGXLH9Az_~P8_*v4sk$7 zsGSavRV;#M{8I6 at cnhMsRUAauFv>v`li0RO=(xEmD0+_C*~(ev3;V|W;z~aIm29&Q zTO~GKAc>$a4PVM5<-^VEBU#b!>KV0@%i?(~8WXMIvA7<3SoJ`fD*5MamTS*OPZ1u_ z38^n>PtedjX(4C^pesE4Rqk}PJRP+x$uN8+k6Z#Rn;WUE(eH9G^Lnz`j&XUblHvS4 zfu2_-{&SZ0U7X5_K7u6bRm-A3^G?=z^Q<~vV6=$nJ1St4Rv7We0#;uK)XG;n`Mks{ ztCqQ>-ycBp^m^6f|GWV;iAr6FTgMNk-EH+9^{&==qgLGcVEWlt(!{=_&%U~IV%34# zJnb}`5wI#x{9PMH0qw9 z14rhHk}_ro$D&QV!jnt3By3 zyjeR9 at pFd5VzMT-hRNTSY^IlZW3&D3?Aar{J*To}kFc{>!;>L{UIM30C_0^qr8AOssA^`_iTMBnuXdMY+bqL`_N1;~5>0Fl5WYjCaCYI=kzRNQDZ7(hse|_~VuF{oG zbfuxLlyapxD5c70uO at GbGf5wn)myx9)a=E|M&&}4v#l{UsjY2w5|Z6#FK+Xiy?Ax9 z(`)r&y$(?v;x!4G#!S^s*-quRs;1em at jd0}{o%7S;`y^P6;~At8>fO6Cx>#G-f|NR){m%dvQjw%PoJGoH4&iFv;vSDiNzvB>k*> zgJb-f*N>HFJOC?;z3_~pP+v<9Q~nAiAr^O>$s*F=+_+OakN5`jif0LPL8 zPG**AlAa-_@`*&7=*MeKC3;@CG?OghvdFJ^nA#{W;jRX&!Yd*SWZ?y(vpNmDS4~x8 zjNMaI)!U at ZvhziUdz(y?h>$too%TeS0D at hb#j-EN$B38-e z;P*CM&bd^IKVK z3dt@#bF>)2ORnA+F~4Ey*)uc^iE{P6aY!ZqB zLxK}guLjVd-EA)>=66s1Rjr@%oDeIU116K-yhE$==R7xA$+%KISe&3X;uL5cl06ky zk?yh9Q+-x)K)s%XaV{j*1{0oU(DB~7 zM1=gNW37Z(I9FDBYuV>(WrPNev~AejSHPmOJbMo8Z5JI7%>#VNG$|5l*s`(#OUguT zQMEZot(}J~T8cJ4M)<_B=guO^2Y4mnPhD(M6)dr at U0ZV1 zF=Fjns;zaT`F9>~ZYs>MM3T<)TARwx)$u7mc@@U+MdnEoNy7QHYZt7Y`SZmlbGL(= zc4dh@?TYy-4_0I?GxHdfHu5Gx+h5K+3T+q5n|W->EZAjLAOUoMf%qyH(_~OzDc9F` zXYat7zLD~_*700o?LMVb{!V5AtlVOH7H+ at pSX&}Ko|)**0rz`l?k`*qO$ISrN21xr z7;c~LNdTdINuw=|GE9KAd58Q)>7+`PgXL!>mlW$2c4R3w{2+f{K3uh4G*2fgyV^c- z?Rn8B$-gaV)L7f!SlbR(8;o~KH`W-#JFOe5Jg7Mc^k0Ya#?RzuG$(_9Q*0)is6Bj< zvRgSgAYU0vIZ7OXO#xTr?+09hx))vVvJ~5t_3ATJH{};pq~0WA^@a02fSa2LOkwI9$zxH?fpf^c z{6jiElDzwl!bv=s|Ev2%CQqu*h*;iz at pT`(8$^pR?`L4696^5F_G;RE5o=)d%KE-= z)fshL$LncJ+ at n*Rl-^Km;C(NMQjCx~q&HM&f}$7R_#iDPMY&*L4gix6pJT{U6xis*g zs6IP^$xQ<^rC=7{dG{c(8qP(JzRQ|nd^V5WcU0w&J4_BqhQdI0U3a8e#K&tAL05x) zBi3oU6*G(R;N3L^Q1TvbclG&OZJzjhn#ApzD}5uWN-m}{5RHg32DqbIkE{TsRVZE* zlJ=w`uH#YKBNJ^85qhRQLDtF-?h6TPf!ki0_T=3sd at m?_BJ{BqJS|e~D!pA%s=iQu z)8_YAF;^TXBF}!T2}mou-0u0Yw~$cnQqGV&3$#Y7W{~;=^~;JLNu})Z9mmJRG^1rd zSKj(4{o|2^-v$=uhX?wpzL9l<#pGz=8HqtvuE`3BEbpe)iUzfNz85od?0YfhTT4Fu zI1F(?E?;7%tmTQFqduNoa at oOqZ?f~@d$i$)_K_b?HhfiLmSj{qG@~Uy1VoBL`Ec4N z$^s)le$P3o{CAcAd+)*?i&gmqmT9sI!&KiQc#`bB?d9F7wF=M_KTa}k$p49g(@AA@ zj(YDiWv-$NqyXQ7tb+L<+h+!(BdMP3Qu;hAe4Dk!S3m~bL^Tw?NSf!B>&B|U+KB9{ zWu9ek1*DgH1kTT|Wij~+m1mW?)8LJgZfccaBw+QGz>n~wtnDM;GoUf)?O?UZR<^ah z^l^#lcXBG^he>n+W_7MI*H!BdPvx=`#PD);ywWx_j at qY)H)drrr{Juf&qRRTgUwhO z at NZ0v4Wv~Crfy{_m)+*^-fvti&_M0wO)70nxJ+Olx0t%^*vB^r4YF_pcbw#nQ61C{ zDu0T3`cypi+KHhiLo6?24F-3X{SlZRP5dFN8HiAML3F1Zad&;;#Z>}gHLHUxH z2>2#oGSmX7eqPz{|BPUZk9!1stoCX4)0|AVykgx87XM5a7J3*tM_#77puVDXsumP| z8QhYuEzCxC2jx3*D`-1|wuF`6K=J|DWCm at SBKcX-B|Zrr1rk}yr8m at 9ia20#-%gh7 z|5(x0<=7u7tuftN{K@`>q(cvWF{r6PsTGJjwqFxXOqvPZSPg zroxCMll{-~zfo&Tl0cSYx7HAG2LuG&dh&pv^)fs~wf?ykLLL-*6lK621P4E$oSH7h z_2AtO&jXWGNSYCBorE-&1EGowrI*`04g at ORF3wTbDPqVG0akH=m4F{W8j2>+4ARm)>^TOBzufr-J+cxM1$ck}bBXvb{LETm08B|pJ6yLM_Lt2gN z4{S7Db-r at o-D3}sWVCe=?Ehg07FccWoHr&-G&98OI>PWJ*nwkA$AGV}4{R*@GAU(i zdK`Tq9gZy)NwzbeN(7yaXvOFF_css=I=l7!F`x-)60~F&qYZE6hf at x_0!mwMNS>y-JAV zJPw>CCQv5jEwUT-UJAYkc8`i4i!;>Ql%DXQwg=jkHidty-+ at -WP3p2=FdWheKA7uz zOmQRNkh(cQtGWzlZ^+gs$nr|Y+3z02AFnz%c-vrfK75VWM)C{LZnaI~>veo{-s3wi z82Gim9t<#DKP*${hhXj<(BT=p`{20c4F^Xn>Ix1j=WkO}SCnT9vJ}(ue*#$ptQ7~< z0gdW5zR#kdZR&h2cw3rb%{BdNtp|+}z!sR8a^v8eGN+*`P+^tZPPH)m&NGk>En>k6yH<(lvbcU1$zWA$C*Rd+;xzwpq~eSP*1u6)x!10 z4X74+tG+vj?dCFC_MvNqrwmqex!Bxxf7|84tHx|Yw!Yb1f_yXw!Tv|-rRnXSN*f<~ z-VUt|v}(?&?Cu<0dFu36*Vsp9uo$q at V}b+1p?B#?0Hy1|ADhC3n1zi|DfC zya8y7mLEgoFa<`MTbUqei$WN)n1W1tc?M7=;M|P(BT#8SO&)WXqW<@=kUs!uvLFw= z2e`~d at 1|I{cf2^8MmUwwY$8eKkf|WEFdJq9 at Y=5H$12ao5fB&u|8RuuyAd|Hef#bK zOeBd27dIZ})&k%t{TyTY|8fk3l at wMIjSg{yL;H;zChR=3* zQ%;9xmA9KGS9v=|K`r3Rhn}gf2UjW`#k*aUKkU$7FdAa}U+$AQxU%?Kn{@|9aEt4e z4&cZd#F48ASfjsr@`{EXzKHh)b*Mj3RQxw*q3TtaAFo0qQ+HLpBL`|1k>6%fBw)PQKap;WO5vOQw=T*fO|B85i)#Bn`k^Oha;=*jV z?F~-Yqtc3u({9^~yipbJ995N$e8)S|k^g$f7r4DD-J-zl{r?%&4bc34N8Bcowf#7k zrD#sz?fA}n9N7EVibh3(V?@q}d6L%ca>kRApo=1QHE{ zecfuO{G56QX!bA54U3*17Rv{bAP<- at up(?BTfq+C(o0P==n$O4g9x_#oOkKbbL4q) znEp8TnT~t3L2j7A+BpQ30PN<`bLtPNbAeUz0wjSf>XjrO7Vmht!b#d8s$!V-yO5Tyq(Kl(XcZ^UC$RS3Obx&%)~riAGx?;mx!#FoPfRc>fv1d z9^O_Rudl~?A!{1`ZDyuz8jOT(z3O_NgX=)*^|#Hz;oM#R_~OIrc~s-_b%&2EZ`gSt zXgl>KA*QT}o`(<6E3%t_I=if zroL{)honusg<>@ICD#-qf_Il7dHmxZ%5NK|XjQ?kDvzyR-);9e!x3yQ? za|^$J&#mcFV5}t8Skq}a@}BXerm=Wj=e2!F#>@`Rk#(9zO>$@7u7!Wqwdd_x2PL2M zm#l at _YyYatI*QILv<3xvN7ntdZ&BK=bpTnHuQk?CnYQzAp2=;KG%=>zi&Kw$sYysq zH(fe%a#0$O5E4grDjJcckjFW)({4Gkljn(Q0sI@|k43*AkFD0~;;xT(9Wq^l8fM!% zh&z+w4tm*BzN_R%wC;c1=(@D)N7HR`u^l_|eNi3#E`F261RUxwvHtpgzP9K~(IZ=Gb5ohpNhb1Vdxc*2_(Uw+~Ib5RT_R>{HdO>nO`<+L%hl`*6Ssf~Ll~;QR zecbrC%Xg1h+E5*8y5z7_`@M)$LUgqpVYFLba$B*~!RBGr0ruy+1B&W+EQA$;|N1_{ z1>Ovej|@2UU1)V^P~?((yFHdR?2dR^Zn`9IrwXVh_vm)h#`@|==<8ole at bz^=~6;E zi>aRNUc=o{otEmTziwz6(9B2 at m&1Od+8?XfOy+;^o3x6JNnrO?F9z!Eh4`+s5Cd>B zKi6;y_TA^&OtL<3JH4Dqw1-r$rb9ro=t2?@A80&IT>ZH*QyeXWz5d20P2Wuhy$oSBGnh?`i#26ntQGqJsT zo;DLjG2%wt$nd~UDzHw}POQFcG9nE|l4v0q9P!5N$=0xHht-ya;uza--$iM6i7cxS z;u at j-Z;{qY%QK+|M~!Vd#NuRCKk2C3eKR at zTu?&vchAoSC8gYDr!<@k($sg3yBpL| zSAFW7_lxhNp0k$U^((NQQ_#y%ODsmn=7s6T$_F9aqv2B)(@}SBq~Vx+mNxUQLYtWo zEoARLRo-&L&c at uk>2A1ry)@<7I`au-UTr;KQ_Tp7{XIZn$uNQu+nhTPH^X`Wgw^yXy{ZL5AZf6ugNi7c2 zgYb$jLKLVQSAJbJT>)MI`4Qz26b3v~%w6L?;BYi?Nvhs~_^$!MX9NP6X1#9n|7$o-Af@!@1jTzIM*=4_~`msNXXX zB^QvNujQ>n=LgscfNIa3>kWFMwP!2fxK)a at g9z$F87R)v~pdaRZA< zOgwj+;Xqu*?oRyfd5Fq!)u)yCExeq?+;!yVBB at b37{!?NzXjR^!)h?5m;T%jn8#`w4dd+Bdlt5~N>1GUOP<^ceEht;opTQ#zz*RSA9)_{=iDwF z8xq_&o*(=Vj`xNF?{?wU8F6p)e~)cZT2BH<=<69yLxQGJKd!a;o+kdpy$CL=^W>#4 z5&L|EkbT)lb-9CcZ%%yVy@>^Rh(q3+Nj5J2c4J4jp+qVarF6U7*{mn z+vnrqDaLfE({eAqAj|buysL$HRQvp51QD_BEf#qs{CPQn%B;PFIGXJQz&@d=?8&vW zfEJ<y-sddmLwl)W|4WLnY zdtg>V&G}qKOW9V)rxsJUnS>o04Qo8ybqpodG)mdSR)O^Np7=S{9!)!L?~ob%PS zm$X*c=>Y+UI)TseeD3|`;iYO!`Om%6<(Hhb_fEU8IQ>_nEUR`_))YELT2uZcIsJUP zZIZ$!6ea(D={nj;_pWnA!Mut~j=FnxA at Ed4*+JEvzcujOu~a?0h681yLN-Pc(XKJ)A&((kKbQ6 z%ta#X*Haa(OBxzx6xGS=TgUXkZ^H~0L|p&xTqV~xxO!-q;_7XRtGE7VXyLV`ww}p0 zKbnG>wZoX-v7N9 at 2~Nqfy5`ym9;8WuSzN;PZakGGO)I<9ZtIEtXU3oUqj{xliyIme z{w!xR?VO$!11G@%U(U}}+!)}>08cZXOlfHNLbjdZAZrS)$Mv#kadc2 at Fggil1f$~Qr-r)ls6y) zDlWU_y`GD1d5^S#7AQ{OaaoP2{rsjmk>Ak4AFt#0bfE~{1YSTi57SP*PxePw at FBXw z(`-SUq-F||SRAkPJhe at 647)Ey`b?wL(R|+%aam(6ehZ|&TaKFhJ{bi(LV5#owSY}o zKhJSTYq;7&rwwl=o8_Q}A!KlmF=*`M(#&-v5 at eDeE1f?h)Z%X(!WTO&RX?YNmLz&9|4Vyr1Qb zTeIbjOFq57-W$$Nn5$a}(f7B4HhinTyYcHbD|*7O;yW2D*dBu1vH;Gov4Skqb+BYF zH(i2#>S0sT;H%*41_I(omy=0~t9_GJ0H+VatFLE|u4Pz`8jN|qmt!ij at byC5pj44MFOO6Ppmo+p^RMwYuw at -X99{gr}{stYNv^A0Z?{s`|T2Uyy z*d5DBC&JuBfaJxrw_FJ~0$t>PgWhioeK1kHCxAA6PsTlsTHeqUiMS_f$+qr6r0p$t zpSDRXrV_?fdkOgA62y`1mIw1|FCl2_`ldM|%xy0)(VdT*me?lU>1g_bAEe_ySPd(b?9=qMrl!x+c4EZDav5Tl{LRx22VLjNfpzH^VPC>j_E+>pYNe({jx3J8(pUOele z8aV7MJfBOu>V|R|(zRb6g7&9j#5!J_#h<2eoP%ZC at I2fXalnUD-5iei9xR8|U^(>Y z%kZ8f^yFj8m*Os5NDyLtc0h;no&4=YHPrZC$2H{?XFx4YrNyMxT1#&)Tm3MF_yBq) z at iyYa3#*}I*~3-D%nPgahv|4I)s|XtU$C=a;N?AsT7h33 at tKYQ-wF3Z4zU^HmaoZ& zL+J|BZC9jE>xHdE2pWy|&Ax8;du*n at y`LZL$;|AJ?E!AcM*H!Q at f-O;V~r_OfEky% zZ}vR{HOo_#~)LjE(2JZS?_<_wR at 4Dj(sBZ8~AJ>f~JX-x8p3>VWlQa|giQMsu z7cQW9MFB=xd7g=W51slPr4P^N*%9P7=jnC4XJ5TdTzFKR13L(ZSR*_e*+;;d3K~z< zKn-Z0?|mHnf=5&jL92xRmikJKNh!axRS%6|jfDN`R5yzm5!)erG`gbOA^d%`y4k_u zVUGsGy{@RFhe0W_=$28BM#<6^^|XwVMbBXUP7_f{wFK4@{3uwQ(r1^^V4eD>mDf-! zk7%;lK|Fe`zvje869;PcT at +w!Ox?Wf&ZB?v#L^f|i9B2KgM4@}qg>xNQgO=8k^cB- zF4t4`Ot~Rw2DuOJad=97q}zgbQ#p#$aTi)Xltm|{T=VVq6=4LS9wu)lJjpNPh)3Vb z&yc4nTaZ5CtO#pa^Jq;_q===gC)>C_VwQPJU${6CtZZOQe5BPs=H}|Szh}dJWUe>C z!yuvv;*yk>xWq at hs1FH3tgp>Oe)!^Fy&-mk>q#~T{3O38CP*#0M}ATqnQ*rl#*!KGQ^qkt8S?j)n^3z;PAYAWes1}B$?2A#e?O~f zCTK2^j1$D~^~O-~`PRpe&LX>8{vnN}cpTKP<*~#ms#w)1E@#>4N5B8x0&Ca+5gcy{ z!P at vX*6XW21|{cpW4$3B!T6?eRUe8T81d+yq7FQ(5dE!)k?t~mjcTY5k_XX^8hNJT zOSN<9Nky~r4A)aVL}M)&9as=lbWtRo6>y*YT9Lc-&P9>t5|0f!%jmwNNi_B4?;om; zsTM%AhFJNVqDMMHvq3cqcJ67kU&Ybxm;`FQF-Ca?d8Jk8=_Gnmpr?BDq{%SG!1>Yb zAb6g=ukr}EYvt2BKd3`|NW%nt&Z~8M$idnHqwk%A?7J7|D4dG7jSj_#pj|w*Zfx)S z-eka)pnWL91UT3#Hbcw-F2Lf^eV5~Wcvx>TkCASJm<%R4{bH&HVvbth;9|Y0Tt+fW zKIWrX-YoZfK^*~~@@B&gs2I)Y;A%}y?`Bh$Ia`30ev8^u`KS(Kj7nCX1d+HwWtQ?| z!71KR=mwMw&I)t4lY8;6rS{&x_*m{!Dhuul6#sLllLt{X3Oo3rT=6_8mZ#_kNvr@@ zJ=B~HP>XW~^K=3fwbc6<^YFn!V4wMVj`hU6{5}Z#0P~owhf9SXQT$Z61-WbVkryI)chsv7tCwWvN6jrkD=}3+9B;3*8|XkkOIu(;%B{|LAt$n zJGAc%abg}9_C4H(dH7X^Rbn1Pnj at OwxhSj%psWxUq|-yDWAIP#NmA`FkHX=ya&>dc zf)E~$4tf{ShR-0|{LBK&n-Gy=Ef^74Al9Sxmiz{@|2FKk7%p3~lKcwdl17Js*9S^t zTyt^29lL{~uu#m{#K8lRO4IOxNF|@?C at KoYcgY#*ytkM~$eR}ig!~)DT`7ktV^M?? zY7f>J6Z({YQue8s5ywf^2QE%*8WtlyXUOQN^NC_JinG)xse`&ME0dS2MyWSotmj^u z>#7B^JMwZ_I(V$>s2kKsab^C&fHvTq5P2Q)Ir5i;e4hVJ*{$X4LelfU0k7qCQH0o@ zluuTMz->JgvEZ|FQT?!;LFvJ?G-V*}DLKuj5^U10TVuGdyIx3TP_e7MN_5{Oq;g?w zNF}`j{MI08BTowM%Wx!>yaz!i6uE>ylGxhy8cd#HKpOhp+R zGyJAHOI at c%%F0w5VJ=8bw(3;j&%!VfX1+>b8!$6V!cx_vD7fBc6z7(}>uuJY$qz56 zCA(yIL_%tQ$^x=dte2PfHUqAq_~T4Ju(1FhEau`3Z#aM7=plUzwoF_gqrqMOhje|B^|6@$H5aVXXpB|IN&32_)%z7clW+JgMn~XKwzIJ at j_HtHn&X_~8>DT`lq=#G65K$X17_^tqx;|wP z$h+lP1`GHzz^@WW-TGsYxx6-TIoQRH8R9XfIH$dD&>=F4^btXuaBpG4LhGO(XVzX! zQ(c3bVELk|l}D0NhTnOkZ}{agck;Xnv)e|E zX)o^6c`1%iN6_7JfIfFYpSz)h9_YN5C5>tK4Jh6$V53$BENG}!@ox%vi#no&*jki# z*81XP8^o>;8yi3rBPzz2Wy5 at 5@y^kCYX%o at 7G~)p+^xuuzzo!X;x+s-Y5`-=6TGct zGpa#_*&r(&cKHXBoL2>yZpzqy39jaai+)I|z1Tu8am8#jgI)(VTQ(-Z%!NFhYST3c zePm(ne4$`$obZ*T6i7GegayCT9FTc9E|0#Q#k{(fnx!n${~ly(?-1Z)R|;6lZ`Hzz zU2M4B4=YnZ`4#L?Ru$OfgNQdaKbEpfCzEg6v9USC#JJ|Mm&rHbc_X2O=Qc7Lo_7*d zT(j at a;|kxJxLDsB at -rygJG1^`i}FChG4Q5&!279s at K2+gtcFSQkc5+>x@#@mocL3| zmF9d&7U2A=s?9DK`%B>yuwr__SiJ_uD!`^P(l>oGkoGb5H_#s9?3nLwrmJKs`t9P4 zxKQ#YQ3g?2Q}uDc4dF=+(Ul_*WbZ)vR2o`nff!rO~95e zl|?GS4{P at j9lzLu`tj`}Aus5QBSj}KwoGUF?&V^+ELivb#WNv>J-Il?^k&JMCG6t& zpsWix)Ka(?V6R0QirwYAdx4q32CKoMfMFAqt+&@cGU!0f|{tM z7?k$61~m~c8JsZT3r7vKKD58*)u?XDOxVZ$K{v)5+x!>oviITJ20H?1C?n9EhkjqXj#i=>341g?8KEUW?|ysMIp*=q6gobhJ|sxCoXLB0~xo! z>@QcD63RFe@?FmqJo}b)p%x%Q7Pwl`^F?WcVclO{8yraj)nITBp at a?JF#)(?*7~@D zw+PHI3GN86EwAEmR}OY?v!4=qXdpfjv`D|P$g1k7 at e5=#$amM#IdZ~uAHSG5IxI%O z_x7<{!eYGrP>TKpKHg$i2`w1r%DZ!zz*SGcM`bhjUu*$dfLKM~A+X~}u_+Gh8N1Yt zaDTVOFGa}0SihbM+w8X)*+`Im1Tbk_ at kQ7d9VbVA;s=(2tfLUk*NSK0zJXbweV?#f zh_bM3B98_uGA)NUoRW-$8WuBhv){ssbGAurENn+X9yd at orsSsLZF32-JSeN+yt5Uo zGrSMDeQo#@c|zEX$a*nti9M{se6 at 9WSOxJ0o3UUyBCXZpuYHJb29M5MyaX?yli{`~ z#C_DaAA62sT8iu8w#VG;$>2*GfphR&Em&c+wfG%;vli at 4+6#CoUK$_icU$YEmmy6# z>?Xbk?JC>TFuM)K+2=zH33v*i?k!x4`-a{2yN%xfsRC}dPrL_X0B_Mi4-6anAn;s$ z4lPE$Ryxo&1 at Ff5*qAKVgXIDCVt>B6UL*>7UG#}g#Q#jkkB{WC{i%uftWC5ESwukR zUFP!3!;{tJuccEGPKIwCwN>lXT9H3YwlN^re=r(pxK3k*7zNya=Hdo_U2#Nmx_Eo| zt9lEfB7Bc+4m}PxAuTmIJ$!1xclM{@k)tAw;JefBff2kijpeUfl;#gIM$taF9Z={0 zUeF`G7Ch6Wrnwat5&kI}k=_bzDM_at3r``fUBgB}tR0$*e5)*$bi|z-wVHHlJK><@c zouY*(Us$7?7*qM=`jhZ3*Bo^z&>XSDyGrcHx9I;zG28_QeEuM<=sfWM1J(+nCS7B9 zorutL``?juP~w&!)%6__;a&MwHuF(~|DS4?|1-PE9ua>3MgQlbpzuG9nJ5Z^zZra6 z+aYcT)_2IriTB{U11BTCc=?NgRkW at 9-}Sa-p*<6jE8954!(>FGk4ST`@Q}%i8-}Eb zM8U74HIAVEUgM_&Ydo;31tADavVO?xWSxGGe!pVgG}e$bc>A42X+x&E)>;(AAsxYe z=nm_UcazU)+Fza<@$Qg!(HiO*(-wMJeB_XLS4^dn35rN!f{L{$hRMCM5Igjpjv#%| zx`Ku=IAWDyJz7~fp at B-=IHI);$Q_dQQNxg(XjLP2wm*;9^s+8EamXgvJ!r+0u$p>< z7Vf&CoZPj3 at U@568?U!ko{s=M0b)G-B5bZX_yNAoU at o(Ziy<=QDbAFgLm1K at 4LN|; zEaFgq4CI`Fl|qqI5w;S0;bzb$QjnB0#P)hEoF at O@8E0bys{$5Cm)#6Fic`D&*zFuP zUP(^^OBxHf1)JemFK8zN$M}v;0J~+0D`sUMM4h4B24tf`R#DsDh^JN?;|Y>|R}P!O ztt;=M7Qg6GGW(%_16NC(eO2%For at k7|t~Q(0{|5sJjScWMO5(z`mLd)<3Xu3o%hDaM%s_PT(bSdMM6VJhP at i zOB(_XNeQ8x z4Xxm~E7k(o?KdobfGcoZgcmu?Fh+b_zn`3n&c#+1w{P5C3}U_F2-q`W?(ZGZlbKUF zY>Pi$0DK7U9I&xZyrMiIA}R3`FE$f at KGhp;*&Z;DUvdxZa_f~^b+&mIpJOgaN)b)& zZ6O;aaKl9O at 7|Wq at daZV-xp!e-=LaA9&w$b$ZIXF{HV1Go1IPRQz_Fma at g~)Acn79 zRhOE*_^fC~Zws=l#veDg&WlNn(Uu{eRdJr&C8G(<8xvwBEzb{9=gd1yjodUHm(M9_ zDSYxg$K8&+(SF`^JL+9xWNT~G`(Tgd(2KIx0NvP2TG02RkQN|IgKtN{H>8AV?q^jU zd6xWMR!hz^w~BRU{ZuS9o4Xe7>qz?+lwG4n7TBl<)-v>^FPN>zfu3T!s?Hm$IFH6b zHrXwyo9vdT9sO at CnU1Aa|1&aK;`5yH+hn8TT$Elg(qWIv7le>I?+xALZ=IraR^w=TBu>54LuPvv(aOc$(J7`P$1Q}p(=mXeL_-ciq%{E+%A z&|H!ictJD2xKj0gP^IF>r7@|u&}}VAIx$N}NK=G#(!+TV;npSCoL-4ZN}2a8^_k>A z)NPZ)**uF74AX!KRR&av8C|p~1QpoxIeSWIY at ALNs_JQ%jjkGu8BYRu8bcGp> z#S*T)0$*-f2)dgr>7nSIYb~OYNK*9{=9e0(lhRgBv%E(5)1+k;x`RRbxWDV88>ENb z$xRL1DDW4q)(OpzpSnYDlSX}SDPUp=}0UuHdm+QFlL58g$ zaRL`7&v3Dd3?W at uCr?cxSH{EL*Y#REJ`86;E6|&eW8S3Av at XxgV_wIbp#)BQ{zrmY zIzh#W&$GQ#ppOp+`lvWzt}FV*@Pm0%MTY65-BO}kxreYM9G|sRH5 at Q+Cpc!ExlVCL zK3sZIwILGvUAgqdzTm8>(vkhR4M(^MQgj00dpaRM72yUrdB zHWB6x;r{oypxwKFx64B9s?LxL^d`65)EbVWF#5HFF$lwz?FdUE6>R0%?)_zkdxWa> zT(M|!{Pl}1qBobE>1~0rgoB^a4x=hVqk@@z_r;mzS=48eevc8Y5|#AGes4b$BMORE zZB%dKa>~}5zcQN=a&uj`v% zSyu3#o&jr^)v&&^K6*5FmX7PJjeglSsU{EnYk4(C3D5ubwnb0YX4)oow8YF_HQRjM z at Kv;*`BKW6m<6jA$j`c0W-7MIOLf*zUXw at 55l&oB)hMA at cG!)5*$=8bF6qX7$r;g` zy)6vq1?-z}Ci4oex6H*EunSq_!{biJtY5WWd|IUwve0+w2o`S{*ofZ*HjfElf8u*; z at -nMHTGt=@61N}Q1aV##OA&6jaB7;6R#;P&S(RZ#8*>c>_nR^tq zGU(N5nQI>-e}A>qkip{!F at YuSdaPo#f@=}7vL|QD at O(7hS{cOS!?|mOkwO{7Ft;9? ztyq+{dWygTehr|pns)h_`0J|mvtK69*h5xFf`@-8{uLe4|1LTyKq^q3Dg1eW7ZL1| zJk=)dhdQo#J#dq^baLQ~BEzR55BS4!>ya*2!H8hxJ_kFK{(G~|R3~^#rxIeiA%$zf z7Gjyb46P}7rsgTg)j~Iq0G;xhj^IUcv1cnv9c`ypZzsIaPDT8??4&qR0-n`p`*=}& zOt42Mcy`Wof&q>WIv-Y%Q?a>nGgw)3%)3lpzECmNYC) z5dCX*M~MS||2?~-ysqNBqRBC0r+LX4Z|ve9=!8c3i!F;!t?rd~Cma_|z1C9ZSf04L zm&=K7jqP=ez1YI#m<^Q;aJ!v?n9v4ALgu=*o;AZdZ_M%0bXPc5ESkd&riDJiz3MB; zz4M1f`pg+t;ecrVS{9#-l@|5_v;tJR(p>@p_^@lu8(5}vL5H0d2J(gav zMvgbj-v{3>@S_rkBB8bCfZ09r-WK%S`sbPn^J6czXik;a1wUJsj7DABAY#K8fd;o8 zTk}rqG10$zTST5Uwk($yJ$rIZRo2|UcmI^kiD>`hzA)kqKy|LzUKc+9=^y_R&8fe~ zzourLyT+UiYc|v@&x9KrKr8D&PBo$1Dw%6))*z~cybh#O(2{G`Fd)2X*&-Id0HgqH z%@%%HN6ngVJ5B~3UGuGo&DX`zYrf{^bu_H`Ht?vq(!95(O6Za8)sD|GXZe>kP}7S1 zioUGxZa=xEs{Jzj{kf(JXcD3U<{W|4ShEA-WF75}IluN}T#m$SHfT8$N=_=sCRsk*KElv5fwIm3;|Z6KC4^5ROSgAV781t+q)Z z!J+-f(p7I z;6X*MAcs*r0PD4U&pVUUw%h){UHy?vX5N{1-sgR;_qpEcrnj-Jd+)ZaU at I=dy;)nG zfzlk6DZ(3Uw1!ASrer9vv0#>PF!1F>Pc1t9&`hT ztVGp3A^r?K<2>TOKOFb;UyM!De2$`I>le@%v|{;IWEF}8?+kF$q|U8b^^wTtLjQ(% z at IT^K=y at CPS#%6|2JrgQID~4&@s5dCD;llgTl4ijXjEVeoCy$5MypPQ?R5(PIwwml z$bZ9hGj?#XiAMcFV at KdCyegwI66kLEcR;fM3%1Mp2eEbNsalKdV!}&X>-=sC3mn`H zVMI^Q)=NDPVw;z~dG)5;7I4YWAZe6cj-}p)-oM0q#n7otfo?yxEA?(ApKv zr6!V at tC0qaXke9|nzgq zyk@^{ag1U$;sm|DYr_?ByhLM{^cAhyZ<4ezz$O^>J0Lsn_jU2ElDguXh9R&ON{ROo zU+NuBO)tF;Sd>Bp&{(u#TdGZn;w&Q}b{1w&*l(XZ>KDw{a+tgRm9f;^Ek|?5Kd!2+ zzka86jE25-3b3nGSJrakhQbYTSU+`4n^TK{tBxQ)uzOzt)k(ZHthv0lls%RzXZ)y zE-#=N at GY9vv{kECZ8 at J7*c$^dQVH*R`;Nu^J!a4?&|7jI^bZ6O9(cis)ahNlD1FS zj_CGh at JGH+=$YkKVhM=m>(PixJM&M-V>F at gZo&FGI0IH4dc2 at l{f*W>0~@6_|0{uO zON}K%d9}W;lsFgfw1#-PiKBSON-h5FX${h|(kL!dG(dzC8zI6EGNKXJM$ak9E$bBg z>rTt6oBbiiK6wBWK#NY2v9gylI%0 zS;ebG4JCcPDv$_w1ZMtzTgNehmb48Y^UqUhYJZiIKq43sHG_BDE)x(1zE1=ihKyap zD;u^Qv(Z?Y{RuV0t-XxwcM#7hpV7ZT^h#BP0{~<^EbN-yY z2Ix@}uy(_UFg54n?6($S$BaMpqM~|H|57gwPQ%wE_2=Xr%R}@+NekdOcDk_A*RsES zK_`5TbnS+#(33IylaZEVHoaBXX6W?WEim%c)pz z>`$sPW~{0}Bh7YEnlF$X~uvw?Os}X*5)p zS;Ad>^(KP;@x78YIUv zfjgo70_hrFHqF5ZCPc7e_%+ZuLs8_5^c($vEUJ24 at qnaJZsYezz;@xguPjf}D7MAb zlqbk+*3j|4nih9C5>|MO;}~2zLoaAmE}q~aADuJyr*!l67Ic` zANu3_&ESuvIWG7JU at gMG$n}EN6Qlen|M753`R=kqUmO)Y&I^`C=>~Wt6iA at 8osA?X zA-eo4M?M*w%kwtm3TnhrB?HxIqGf|E8Xs`bIMhsO z6ztW681|K2)md|o1+GRlBz{WSMys%@tWCaGwm0ca*;U~gW5&L5zvy9Wg=h65>l44| zBR8Q!Pe@?fEw?WoS07Q;5>(7Rz=n#eCqiI_ORaJUXOJ4s4*x-g=YG%sv~BefVWRw! z^rBx|b*Z*MwXn9`zDBr%-_ct&!2}h{06hlNbZ3tThFl2f8#001y##;PTLoFtC}WSf zF)v6rfaEK*54Ga~WgUVU9Kwg_JJ9NClg%Gg`G+k=pdI_H|#VR&YM?Y8!5WeSy&~i7v9cc`L at -l6OTKdfo`YR=W6QV2B zvm+1$p*A2B)T!*R-DH59?OF#;s zN5FvrjfqHxKF&fP8)0=6>cCp5P4J}y3;b37XA4h))?i;j*mXP_3(8(#!Tv4MSp5Kh zpUx_b?EC(!o`UqeAbKY3 at P9#9r>fWe+Wa9%SI+qFAg`+pc!V85_PY-k4hD0uiq6Umit06Y+_IzVvPnb{}-l=LgmSp4-piw*kL~ zHR%i`KRS-6JpA?H>P2Whc_0f>&d=|yJn--5s*iM^(|n${^XtP0Afm*)m~aOk<_uVQ zog`@r1I(m;nU~|ABTt+B67f3t7nf^mIncEsqO!|cUpY`ve}+6WD{p6i{edp(`Z!!2H_wHYIINC2Z>l+G zW}P8nWsa;S-FZ7pA9J~PTTZwN=AoHTG!}(JJ+BVI>Ea`cuoE-in|ETSU$mx)NG2Df z_5)A;Hkp77QoQ?w9A%Hf`5486qD&$jJbLF~w1dQE at FO9cN({_l2;TiS at t4q&NCw|5 z$j-dRGi2UQfE5+_!b<@!CL7w$C1cR46WaX=d{NL3oLOx83~Z$I at n%-A{VLcr!Cp#R zZI+YENiE)OsiXTNW5C`D?JZ5z at 5SU|`nP$p{rX&JeU9r(SB8Yz-pcsdCqA}R19ZF1 z%c(YrtYS@@xM_M}ijcl4=n|=fD zgcdUJ(*YdnmcXyq2?hO&fhAu;RxK7*e7M0%ehOolZ2m~e-QkKGB{tXzrcCi_Ua(*t z at fu(U_~LeW;6~i1{*)5m at dj=*4dO-%6TW%qEdL@}fuCsCTrbXHy2y33r*}sRz6ai8 zA%4gSVw_Icm~H{FU~h1mXcTVKcSxos?KWn7d6KeoLA?Z$q~5{=InnT}lT(1dbjo72 zCDt$&livfpdlR|+qzmF^sP-#+u3D-&5?C&S*q`+`5pQ)IL#!Bf@@05x7}U6RaZoC4 z?<_tlhv>TE(t;qaQ_=|c&90jsUhBmk%!47Ydl&2EOx7|r>sG|cNK=@@@>vEI`H}4t zt!&6$VBw{#p198vr-N@(*3d9?miwk-{^XzQ7f5Zlu!Av05P>YMg1E3O*dr(6WGd{h z5OEMbMNc;T6WJuCYdmrPgFV5pzWOJuueOlZlm7#@b{{l8R4wn&0rYMMPqX9HY^e`t zEvgpjxlHZJjDh&?x_(zK^JJFTEATfE<5Ld00mS)uV0)kQC6dU}h5Y2gx8WSb70~DO z3rd~&OVByg7Gerf>j`K(+tD`HM74%cOV2{43t4170dP2WvU9KUluT9rw-C zt4=;ZD at 8=tz*FCc+DkHrMANHuHKi8XhYR+zjmix0B4iNap^hpyZCG(}QoAt&t$q)& z(Pw{s)f9+8T7Ym}wGeD-1?aoK{t$bpz|TSZJ|p(0>Nr40lTFdKp#k zn7&lb1AD9w{x!Z!>9)k>P&Qhj>wDyNR+p;xZNn_w6RS#qx&=o6ThP-yusf(V=}I^G zo{53tqlV!mLjh^}<$XU(uIZ0&T(*gB?}bnlQOub3AYjY71E; z_(WszQHia1n4h%)c4{$Z9_(Pb(yMy06{@AX9vVa#?Y>OyZVjr^I*uExc0M>t_>yS9 zA>b3z*#f$SQQdMg{Kw(WE?gLo!TZAkCy;-hG`N?YW+?>5{^5mkxGjG1pcHDi*CJ;C?X z1`A~FR?4D1nD;)BzUW9b>9`RV`3u5rQeAQ2V$Rnli{lL^sqQjL)2iTB3P?^;s<% zJ5-I2?hDoLM_Q5Kg7yi(JEV-fcg1)P>42I_YTUU9`a~GeF=bQBhaC=7{kT?t4y{>p zD*^hwBMr@?_r?P5vgapFzBlHdj;KmiOW_P at AJaLL+Y;>FSWgXtJVc+>A|G6?vU%)I z$Nd?lmXQVulGuGuPba$<2cq*}?f_SrIFc$qz_#>m!~K_kfbBm3&o-;-(WoSsXvqXn zx&wK^6r=zm3&~xz?SRMqhzo#x2iQT2db|)I@*%XOAOU&9VUAWHSAg0O?0+g(dYD|W zgnRIk#H{rDQ7olFk0eS#jc&Jx^R0;ce|{lXz*0BE_qI{hS0RfAnes=x8~17X at P$Ot zpJTgoIS@?%p2LBqw1198#53>f2QW#~eYNDa;ycK*d`x+_zLTs2S+Zv!93q0S0{O!&RVPFw6(^5Oaou)=ah$$=hMZ at C;b*|D=_@#}n_w!l7EhI-QX{Qvp&gN+V; z&BaiAJHKvv!LM8T9Q?Ze9SXW%Bj}Q&fCrGHX at _7RP9jPqfgh7}EP&Erv$TMB4yqx7 zN1p-mtc4_DMga04F*lQKXjbsufVVJiivN;wt2i+iV`Fhd7UMzw9tP|MihL;VLfo at O za+{t9`I@{+c~pP!12dWh@#&4LADC(Btegi_ZTB2qJ_k{7^Jtrslk#rI<;$%3;!BWY zcuKxn&}$?gv}-~H7mQ at 7MH~xP at 3ZDhFD09e{h}2E&lrD+mMy4 z%T+$OfB8O~mE!7L7#osKV2f`7&oezjn5+M5gx#j^xR)QR$h#d6A&f(M+Zyull~N1r zsC9x!fwu?lfaGr70wi~-tD(|ZEs1nW*hg?4aMWPa8;*6Z5H!-e9j$X;j7!*W1dM(Q zd(e)aVIGAjHwIuo%!|PWSOgV25bR-n5k^5Ccqr at y=!l(a;`%&Hw$^dIsZS5;lSO?_ zewfVlW at 07TWq${4m)ZJH6oF%w;<{(^#nx`@VO#Pg>8lAX55M~ED^r+nq;G4wD{#eC z(6dis$HULQ`z$3o-Sy!fIJW|w6Gj(?KC3V8dUosCd{mQ5(w9ix%U{+9Hi3sl`Ngn4 zf~ZE29k3sQmQ=b~Ag;g^Mv~h(F!t_*s}C#S+8^;;%P67~Q&_qy36cV?!PDVt9g+ud zJ&%&g7Re>aH at tI!O34}x_;{DX`%?b6Hzs1AJ$tq~x$WWgzLqvNdgsk+A9e%AK;)k= zwQ$z6dTHOYTPOl;6n{3qj)PhhchS9|J|%tf-zM~Y_sr3Ax+}j&7 at 53g)EUmai{7O$ zjDAKyU!+Uh+<>zwv7=t9M1TTl&9L77y%LA`naQ{TarK&uO8sE|5##5uwFB#3p|W1s??E-SPMM+tOWc>>1s2yJfUa8CG&oepViX zs1`i(nu!7Z!N3ed>%h#>DrvPWDz79D>Vr@^czEEMz_o=tXc_Kb5V%9vC4yy;c&Z1+ z!QQ(EqYXn(Wk945-b~D*YGVys3^y)W@{#7K?*hNuP*2Th7ra*qlHH?S6xO_pegVc+ zl3JuuAlT@;WYaiqHLipl>Rh~w%W8H=ZJ>Qey$QzSq$<#89%{MEpv6T(b{l zua$h^4!gs+Pqee#zaD3+s-y50Cv6#4P?aKj<;H at 7^MxPC~ZWA261GNZ}KNwTty`o6kw#mRGnE*S= zLT!G7y5~S`2AA1>glc)1>(YLN>kQc3uc!eV&pP_Oja?dxA4e1JcgsJLuTEYgIyF`k z-_v=$IdxZfUZ9dAax!<^RZd!8Rf*Pg2f`^JY+Y%#=`6ZTepKWT;H zj at 9fqeXFs)#LU~1P+PLU_=`ulAT at BUuGRfBwR>3)|14eO0AY*{DxX1NNDC3~uA3M~ zF=n=wM_#a_&j8y^uPwd|)gex at x1wE?%Id({?xJf28{Q~HLL;~g!n$kRXx6prdrA(* zSswXMjH73=ncd-!ym;n`aoB6v%WmoCg0&O}yn;x7XOd^o0^`hQB1t95vq+0>zf>L;^;gBRWWGQoD+@(%$Tr3M*E5NsgE8* zra!710Q*6PZ2X0q0CXJySFfR`&@dd|2)+Twoy$ij-Y>HL3|36kk-eUrv|YxrmH&^5yd3<>7va3dN0}f z)S%x(wC<}B`HDKxh&)qK9}p`V3CMgK3wl*i*Bu_TT)IwMOrYqGpoTjrt{b#iz!12n zZua|cLw29f#)N3Y_d8vJ*6rlD+h-5$h6I(jSLeQy8)tG?x~3=KwMy9Wo1RsmLfG{i zGW0N6x?HtB)hh$CV(a>xgTRi*a&bHro$<7FLdamAYWe@)%*zm4S< zF`QiM^)bf@?YhNgM4YCd3_Yws&t_noMqUaPXOsn?b&2q=T!x^G;}dZ at zyy_U-T-dl zs+{_&^gKFY1sB#<`G)QZdpKV1zJU2KE-_HRx%Qq>IT9MtuIFc!lW=TIZC}QVc6C}=YfzNN4 zQ0E9yn>ENgMr-DrRCDGyBTa-p8%Ipr;JwiklbVqCMU*1R2#DR-mB~>3!NINbcEe6= zHNuR7FyEbE&!Y7ZDicPvaMK9K>7}rMnt~tC;2AW7G~Pgl)J)<{m`9wf#WO)VzNU1+ zGa>&6cXLz9 at g2$!@g2Y`4lyvGbi_lz^8Vg3-~GI7zXQQ_`E_}|M at K(z80dJ-7+Q&u;kFw9CP*zy)D<5CXI)sP7QYSMyF4g(t5m3<9o2;Q-y* z)!Dl#lR=-M$E6MNWD2ejA?wZ49ta48cVI)Kv at qXhsM?S|`&?Xf2!o*fb+e)BG#8{A zFsfRD_8wCsrLTfT65t7zM(P~U)MUC1{x#eI*)u*KAs))#_)H3!MB at UUlTOmQl>L36 zei_umr(-s*b(=zd2hh2O`*fRpX4|oc+KU~%qu3`m8_lK at a8w4yaZ*lh=tmrYf at n7V zJY;8}Ikr*@YYd7*KowQUZsXCSNOUi6h*Z!d~7(u-#!H_XmPP?umO~rp1D%NEY*+ z&aU^wc*|&75~Vn3N!sI}9|7@#g7}GX#LKLg*q&Ix49j*rN7ybkF|fQGj*oh-bh#7M z_u#ky7x;|#s^lG>T7(0w)~h*+SLe9!8Qgl1jZOs`{y!s*uw6KHh&GozQ;didKG)xJ z^63<%a4 at kFa{D5H&i^0qYJeY-o71C&rG;+7t at 7!T4B7Pj&!zj5wn_8p*-1)~j)Xpw zL_w~1gvOhvrsv3yV0zP1R~aB%ExpXTpk{F~7^f>QMH}K-!SE+XQF9^vxI~w%^i~-vO at rPodX8ak-#X;Z~RlNEumMnr#0z{ z)uL||X&#>nU4=_H#D>^ARyr(FB>76{NG=ZL>&8D6JyB$Ie3WED7%*AK9 zIlLTRgyJp5Qr;;MkMG54q-O_arAd^?LEODT3cHH3Fu|Oc&OugK=**=aN?DiE6D*}a z%M9c=1%$C&*v`Tvh3YmyyFyfLX7NhmIJj*DsD4tZgP z33d?RZcn~IY}pZmjwcm+!b~g5q$d4iObM0brcP>~*{&pi#_31~w$ypjS&%A1T&eiG z at q2}l&5(g-6ZlCCX!p)s7mkmI6T&#$3x_?xk=6r$rVtb6)P8vEutR(M_wO~|Y&z3F zQy3tE0&#c#{~ zM2!6UxA!f|U;TJT;p^TH@!)lj(h?4hTNcT6&H9Z^f5@=S_~$ZJ)b(ADrwK27Sn*0q zCVt}2^=mr%w*(DW=+bI at X7zpZ$7Nq6G)_I5O-_3)=1J( References: <20200528164930.61513-1-freifunk@adrianschmutzler.de> Message-ID: Hi Adrian. W dniu 28.05.2020 o?18:49, Adrian Schmutzler pisze: > Last reports with kernel 5.4 have all been positive [1], so let's open > this to a wider range of testers. Switching kernel version needs this: https://patchwork.ozlabs.org/project/openwrt/patch/20200420174711.52387-1-tomek_n at o2.pl to be pulled with it, otherwise SATA and USB ports won't work for some users. > > [1] https://github.com/openwrt/openwrt/pull/2804 > > Signed-off-by: Adrian Schmutzler > > --- > > I consider merging the DSA PR shortly after the kernel bump: > https://github.com/openwrt/openwrt/pull/2935 > --- > target/linux/mvebu/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/linux/mvebu/Makefile b/target/linux/mvebu/Makefile > index b954a88f6d..b9a6a79fe5 100644 > --- a/target/linux/mvebu/Makefile > +++ b/target/linux/mvebu/Makefile > @@ -11,7 +11,7 @@ BOARDNAME:=Marvell EBU Armada > FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part > SUBTARGETS:=cortexa9 cortexa53 cortexa72 > > -KERNEL_PATCHVER:=4.19 > +KERNEL_PATCHVER:=5.4 > KERNEL_TESTING_PATCHVER:=5.4 > > include $(INCLUDE_DIR)/target.mk > -- TMN _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Tue Jun 2 16:29:27 2020 From: rosenp at gmail.com (Rosen Penev) Date: Tue, 2 Jun 2020 13:29:27 -0700 Subject: [OpenWrt-Devel] [PATCH 1/1] toolchain: remove gcc libssp and use libc variant In-Reply-To: References: <20200526022009.2545101-1-iancooper@hotmail.com> Message-ID: On Mon, May 25, 2020 at 7:20 PM Ian Cooper wrote: > > Removes the standalone implementation of stack smashing protection > in gcc's libssp in favour of the native implementation in musl, > glibc and uClibc and introduces a uniform configuration interface. > > This also makes kernel-level stack smashing protection available > for builds using non-musl libc (subject to architecture support). > > Signed-off-by: Ian Cooper I tested this. I noticed two problems. It breaks make menuconfig by moving some advanced developer options to the front. It also breaks some packages that used libssp. I noticed this with my latest version bump of pkgconf with certain platforms. > --- > config/Config-build.in | 4 ---- > toolchain/Config.in | 2 +- > toolchain/binutils/Makefile | 8 -------- > toolchain/gcc/Config.in | 6 +----- > toolchain/glibc/common.mk | 3 ++- > 5 files changed, 4 insertions(+), 19 deletions(-) > > diff --git a/config/Config-build.in b/config/Config-build.in > index 61a9265ad7..ac1e05d2ff 100644 > --- a/config/Config-build.in > +++ b/config/Config-build.in > @@ -249,7 +249,6 @@ menu "Global build settings" > > choice > prompt "User space Stack-Smashing Protection" > - depends on USE_MUSL > default PKG_CC_STACKPROTECTOR_REGULAR > help > Enable GCC Stack Smashing Protection (SSP) for userspace applications > @@ -257,18 +256,15 @@ menu "Global build settings" > bool "None" > config PKG_CC_STACKPROTECTOR_REGULAR > bool "Regular" > - select GCC_LIBSSP if !USE_MUSL > depends on KERNEL_CC_STACKPROTECTOR_REGULAR > config PKG_CC_STACKPROTECTOR_STRONG > bool "Strong" > - select GCC_LIBSSP if !USE_MUSL > depends on KERNEL_CC_STACKPROTECTOR_STRONG > endchoice > > choice > prompt "Kernel space Stack-Smashing Protection" > default KERNEL_CC_STACKPROTECTOR_REGULAR > - depends on USE_MUSL || !(x86_64 || i386) > help > Enable GCC Stack-Smashing Protection (SSP) for the kernel > config KERNEL_CC_STACKPROTECTOR_NONE > diff --git a/toolchain/Config.in b/toolchain/Config.in > index 762f4e10d7..cb557d4ad3 100644 > --- a/toolchain/Config.in > +++ b/toolchain/Config.in > @@ -284,7 +284,7 @@ config USE_MUSL > bool > > config SSP_SUPPORT > - default y if USE_MUSL || GCC_LIBSSP > + default y if !PKG_CC_STACKPROTECTOR_NONE > bool > > config USE_EXTERNAL_LIBC > diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile > index c5c8bf588c..6eee77eaa9 100644 > --- a/toolchain/binutils/Makefile > +++ b/toolchain/binutils/Makefile > @@ -54,14 +54,6 @@ HOST_CONFIGURE_ARGS = \ > $(SOFT_FLOAT_CONFIG_OPTION) \ > $(call qstrip,$(CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS)) > > -ifneq ($(CONFIG_SSP_SUPPORT),) > - HOST_CONFIGURE_ARGS+= \ > - --enable-libssp > -else > - HOST_CONFIGURE_ARGS+= \ > - --disable-libssp > -endif > - > ifneq ($(CONFIG_EXTRA_TARGET_ARCH),) > HOST_CONFIGURE_ARGS+= \ > --enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-$(TARGET_SUFFIX) > diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in > index 7d7f34210a..c481af88d0 100644 > --- a/toolchain/gcc/Config.in > +++ b/toolchain/gcc/Config.in > @@ -49,11 +49,7 @@ config GCC_DEFAULT_SSP > > config GCC_LIBSSP > bool > - prompt "Build gcc libssp" if TOOLCHAINOPTS > - depends on !USE_MUSL > - default y if !USE_MUSL > - help > - Enable Stack-Smashing Protection support > + default n > > config SJLJ_EXCEPTIONS > bool > diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk > index 768ff19060..b908afc50f 100644 > --- a/toolchain/glibc/common.mk > +++ b/toolchain/glibc/common.mk > @@ -39,7 +39,6 @@ ifeq ($(ARCH),mips64) > endif > endif > > - > # -Os miscompiles w. 2.24 gcc5/gcc6 > # only -O2 tested by upstream changeset > # "Optimize i386 syscall inlining for GCC 5" > @@ -61,6 +60,8 @@ GLIBC_CONFIGURE:= \ > --without-cvs \ > --enable-add-ons \ > --$(if $(CONFIG_SOFT_FLOAT),without,with)-fp \ > + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_REGULAR),--enable-stack-protector=yes,) \ > + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_STRONG),--enable-stack-protector=strong,) \ > --enable-kernel=4.14.0 > > export libc_cv_ssp=no > -- > 2.25.1 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From hauke at hauke-m.de Tue Jun 2 18:21:03 2020 From: hauke at hauke-m.de (Hauke Mehrtens) Date: Wed, 3 Jun 2020 00:21:03 +0200 Subject: [OpenWrt-Devel] [PATCH v2 2/2] octeontx: enable Cavium CPT and ZIP drivers In-Reply-To: <1591117502-28100-2-git-send-email-tharvey@gateworks.com> References: <1591117502-28100-1-git-send-email-tharvey@gateworks.com> <1591117502-28100-2-git-send-email-tharvey@gateworks.com> Message-ID: On 6/2/20 7:05 PM, Tim Harvey wrote: > The CPT module requires firmware which we add here as well. > > Signed-off-by: Tim Harvey > --- > v2: added license file for firmware > --- > target/linux/octeontx/config-5.4 | 11 +++++++++++ > target/linux/octeontx/files/firmware/cpt8x-mc-ae.out | Bin 0 -> 9760 bytes > target/linux/octeontx/files/firmware/cpt8x-mc-se.out | Bin 0 -> 35584 bytes > target/linux/octeontx/files/firmware/license.txt | 11 +++++++++++ > 4 files changed, 22 insertions(+) > create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-ae.out > create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-se.out > create mode 100644 target/linux/octeontx/files/firmware/license.txt > > diff --git a/target/linux/octeontx/config-5.4 b/target/linux/octeontx/config-5.4 > index cfb8b19..9fcd12b 100644 > --- a/target/linux/octeontx/config-5.4 > +++ b/target/linux/octeontx/config-5.4 ...... > @@ -233,6 +239,8 @@ CONFIG_EEPROM_AT24=y > CONFIG_EFI_EARLYCON=y > CONFIG_EXT4_FS=y > CONFIG_EXT4_FS_POSIX_ACL=y > +CONFIG_EXTRA_FIRMWARE="cpt8x-mc-ae.out cpt8x-mc-se.out" > +CONFIG_EXTRA_FIRMWARE_DIR="firmware" > CONFIG_F2FS_FS=y > CONFIG_F2FS_FS_XATTR=y > CONFIG_F2FS_STAT_FS=y .... > > diff --git a/target/linux/octeontx/files/firmware/license.txt b/target/linux/octeontx/files/firmware/license.txt > new file mode 100644 > index 0000000..531eaba > --- /dev/null > +++ b/target/linux/octeontx/files/firmware/license.txt Hi, I think this is not compatible with the OpenWrt license or at least goes into a gray area. > @@ -0,0 +1,11 @@ > +Copyright (C) 2019 Marvell International Ltd. > + > +The software package is subject to the Marvell binary license that prohibits the > +licensee to modify the software, in any manner and that prohibits to distribute > +the software as a stand-alone product. Is the distribution in target/linux/octeontx/files/firmware/cpt8x-mc-se.out not a standalone product? You can create a link to https://git.openwrt.org where you can directly download it when we push it into openwrt master. > +Any use of the software, in all or in > +part, shall not be made subject to or otherwise contaminated by, a copyleft open > +source license (as defined by the Open Source Initiative), such as without > +limitation, GNU GPL or LGPL licenses. Adding this file in CONFIG_EXTRA_FIRMWARE could be seen as bundeling it with GPL code. The CONFIG_EXTRA_FIRMWARE option says this: WARNING: If you include additional firmware files into your binary kernel image that are not available under the terms of the GPL, then it may be a violation of the GPL to distribute the resulting image since it combines both GPL and non-GPL work. You should consult a lawyer of your own before distributing such an image. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/firmware_loader/Kconfig#n32 > +Any software which integrates this code or any part of it thereof, should > +include in its header the above license. We would have to extend the license information for all our octeontx binaries to add this information. If this firmware contains cryptography we could also violate some export control regulation, but normally no one cares. I am not a lawyer, so please correct me if you see some of this different or actually asked a lawyer. Hauke -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Tue Jun 2 18:53:37 2020 From: rosenp at gmail.com (Rosen Penev) Date: Tue, 2 Jun 2020 15:53:37 -0700 Subject: [OpenWrt-Devel] [PATCH 1/2] libcxxabi: add Message-ID: <20200602225338.2234702-1-rosenp@gmail.com> This will be used for libcxx. Signed-off-by: Rosen Penev --- package/libs/libcxxabi/Makefile | 64 +++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 package/libs/libcxxabi/Makefile diff --git a/package/libs/libcxxabi/Makefile b/package/libs/libcxxabi/Makefile new file mode 100644 index 0000000000..bde77c250a --- /dev/null +++ b/package/libs/libcxxabi/Makefile @@ -0,0 +1,64 @@ + +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libcxxabi +PKG_VERSION:=10.0.0 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz +PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION) +PKG_HASH:=e71bac75a88c9dde455ad3f2a2b449bf745eafd41d2d8432253b2964e0ca14e1 +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src + +PKG_MAINTAINER:=Rosen Penev +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE.txt + +PKG_BUILD_PARALLEL:=1 +CMAKE_BINARY_SUBDIR:=build + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/libcxxabi + SECTION:=libs + CATEGORY:=Libraries + TITLE:=LLVM lib++abi + URL:=https://libcxxabi.llvm.org/ + DEPENDS:=+libpthread + BUILDONLY:=1 +endef + +define Package/libcxxabi/description + libc++abi is a new implementation of low level support for a standard C++ library. +endef + +CMAKE_OPTIONS += \ + -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ + -DLIBCXXABI_ENABLE_PEDANTIC=OFF \ + -DLIBCXXABI_ENABLE_PIC=ON \ + -DLIBCXXABI_ENABLE_WERROR=OFF \ + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \ + -DLIBCXXABI_USE_COMPILER_RT=OFF \ + -DLIBCXXABI_ENABLE_THREADS=ON \ + -DLIBCXXABI_HAS_PTHREAD_API=ON \ + -DLIBCXXABI_INCLUDE_TESTS=OFF \ + -DLIBCXXABI_LIBDIR_SUFFIX="" \ + -DLIBCXXABI_INSTALL_LIBRARY=ON \ + -DLIBCXXABI_ENABLE_SHARED=OFF + +TARGET_CXXFLAGS += -flto +TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed + +define Build/InstallDev + $(call Build/InstallDev/cmake,$(1)) + $(INSTALL_DIR) $(1)/usr/include/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/ +endef + +$(eval $(call BuildPackage,libcxxabi)) -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Tue Jun 2 18:53:38 2020 From: rosenp at gmail.com (Rosen Penev) Date: Tue, 2 Jun 2020 15:53:38 -0700 Subject: [OpenWrt-Devel] [PATCH 2/2] libcxx: update to 10.0.0 In-Reply-To: <20200602225338.2234702-1-rosenp@gmail.com> References: <20200602225338.2234702-1-rosenp@gmail.com> Message-ID: <20200602225338.2234702-2-rosenp@gmail.com> Switched to upstream tarballs. Switched to libcxxabi as using libsupc++ is quite wonky. Fixed description. Removed patches. The fixes are cosmetic. Added ssp patch. This one is needed for some platforms. Signed-off-by: Rosen Penev --- package/libs/libcxx/Makefile | 18 +++++------ package/libs/libcxx/files/g++-libcxx | 2 +- package/libs/libcxx/patches/010-cxx17.patch | 14 --------- package/libs/libcxx/patches/010-ssp.patch | 11 +++++++ package/libs/libcxx/patches/020-fixes.patch | 35 --------------------- 5 files changed, 21 insertions(+), 59 deletions(-) delete mode 100644 package/libs/libcxx/patches/010-cxx17.patch create mode 100644 package/libs/libcxx/patches/010-ssp.patch delete mode 100644 package/libs/libcxx/patches/020-fixes.patch diff --git a/package/libs/libcxx/Makefile b/package/libs/libcxx/Makefile index 8343cbb427..3809bea651 100644 --- a/package/libs/libcxx/Makefile +++ b/package/libs/libcxx/Makefile @@ -7,19 +7,20 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libcxx -PKG_VERSION:=9.0.1 -PKG_RELEASE:=4 +PKG_VERSION:=10.0.0 +PKG_RELEASE:=1 -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://git.llvm.org/git/libcxx -PKG_SOURCE_VERSION:=2076f539f410805ef88692b9c0ce0a0b882a7680 -PKG_MIRROR_HASH:=d527880a18dec9109575c76717cf5288fb91c11381b9d261cae2e5bebcbdab2e +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz +PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION) +PKG_HASH:=270f8a3f176f1981b0f6ab8aa556720988872ec2b48ed3b605d0ced8d09156c7 +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src PKG_MAINTAINER:=Rosen Penev PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt PKG_BUILD_PARALLEL:=1 +PKG_BUILD_DEPENDS:=libcxxabi CMAKE_BINARY_SUBDIR:=build include $(INCLUDE_DIR)/package.mk @@ -34,12 +35,11 @@ define Package/libcxx endef define Package/libcxx/description - LLVM C++ library targeting C++11 and above + libc++ is an implementation of the C++ standard library, targeting C++11, C++14 and above. endef CMAKE_OPTIONS += \ - -DLIBCXX_CXX_ABI="libsupc++" \ - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/include/c++/$(CONFIG_GCC_VERSION);$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/include/c++/$(CONFIG_GCC_VERSION)/$(REAL_GNU_TARGET_NAME)" \ + -DLIBCXX_CXX_ABI="libcxxabi" \ -DLIBCXX_ENABLE_ASSERTIONS=OFF \ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF \ -DLIBCXX_INCLUDE_BENCHMARKS=OFF \ diff --git a/package/libs/libcxx/files/g++-libcxx b/package/libs/libcxx/files/g++-libcxx index 81ca46eb0e..f37afb2fd5 100755 --- a/package/libs/libcxx/files/g++-libcxx +++ b/package/libs/libcxx/files/g++-libcxx @@ -13,7 +13,7 @@ do -static) [ "$WRAPPER_LIBS" != "-lc -lgcc_s -lssp_nonshared -lgcc_eh" ] && WRAPPER_LIBS="-lc -lgcc_s -lssp_nonshared -lgcc_eh" ;; esac done -[ "$WRAPPER_INCLIB" = "Y" ] && WRAPPER_OPTIONS="-nodefaultlibs $WRAPPER_LIBDIR -lc++ -lsupc++ $WRAPPER_LIBS" +[ "$WRAPPER_INCLIB" = "Y" ] && WRAPPER_OPTIONS="-nodefaultlibs $WRAPPER_LIBDIR -lc++ -lc++abi $WRAPPER_LIBS" exec CXX -fno-builtin -nostdinc++ -DGCC_HASCLASSVISIBILITY "$WRAPPER_INCLUDEDIR" "$@" $WRAPPER_OPTIONS diff --git a/package/libs/libcxx/patches/010-cxx17.patch b/package/libs/libcxx/patches/010-cxx17.patch deleted file mode 100644 index dceec9d4f3..0000000000 --- a/package/libs/libcxx/patches/010-cxx17.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -524,9 +524,9 @@ remove_flags(-Wno-pedantic -pedantic-err - if (LIBCXX_HAS_MUSL_LIBC OR LIBCXX_TARGETING_CLANG_CL) - # musl's pthread implementations uses volatile types in their structs which is - # not a constexpr in C++11 but is in C++14, so we use C++14 with musl. -- set(LIBCXX_STANDARD_VER c++14 CACHE STRING "internal option to change build dialect") -+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect") - else() -- set(LIBCXX_STANDARD_VER c++11 CACHE STRING "internal option to change build dialect") -+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect") - endif() - add_compile_flags_if_supported(-std=${LIBCXX_STANDARD_VER}) - add_compile_flags_if_supported("/std:${LIBCXX_STANDARD_VER}") diff --git a/package/libs/libcxx/patches/010-ssp.patch b/package/libs/libcxx/patches/010-ssp.patch new file mode 100644 index 0000000000..f1618e57e8 --- /dev/null +++ b/package/libs/libcxx/patches/010-ssp.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -760,6 +760,8 @@ function(cxx_link_system_libraries target) + target_link_libraries(${target} PRIVATE atomic) + endif() + ++ target_link_libraries(${target} PRIVATE ssp_nonshared) ++ + if (MINGW) + target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}") + endif() diff --git a/package/libs/libcxx/patches/020-fixes.patch b/package/libs/libcxx/patches/020-fixes.patch deleted file mode 100644 index 22ac494c04..0000000000 --- a/package/libs/libcxx/patches/020-fixes.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/include/cmath -+++ b/include/cmath -@@ -615,7 +615,7 @@ _Fp __lerp(_Fp __a, _Fp __b, _Fp __t) no - - if (__t == 1) return __b; - const _Fp __x = __a + __t * (__b - __a); -- if (__t > 1 == __b > __a) -+ if ((__t > 1) == (__b > __a)) - return __b < __x ? __x : __b; - else - return __x < __b ? __x : __b; ---- a/include/memory -+++ b/include/memory -@@ -1696,7 +1696,7 @@ struct _LIBCPP_TEMPLATE_VIS allocator_tr - ptrdiff_t _Np = __end1 - __begin1; - __end2 -= _Np; - if (_Np > 0) -- _VSTD::memcpy(__end2, __begin1, _Np * sizeof(_Tp)); -+ __end2 = __begin1; - } - - private: ---- a/src/filesystem/filesystem_common.h -+++ b/src/filesystem/filesystem_common.h -@@ -197,8 +197,8 @@ private: - using chrono::duration; - using chrono::duration_cast; - --using TimeSpec = struct ::timespec; --using StatT = struct ::stat; -+using TimeSpec = struct timespec; -+using StatT = struct stat; - - template ::value> -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From wyygrowing1224 at 163.com Wed Jun 3 04:06:24 2020 From: wyygrowing1224 at 163.com (=?GBK?B?zrrR3tHe?=) Date: Wed, 3 Jun 2020 16:06:24 +0800 (CST) Subject: [OpenWrt-Devel] uci API wrong Message-ID: <495a9f6b.5f4a.17279379229.Coremail.wyygrowing1224@163.com> Dear! I've tried to write configurations using UCI API in my projects, but they often cause my processes to crash, I don't know why?I hope you can help me? 1?platform?X86 This is the information that my Program crashed (gdb) where #0 0x00007fef72046277 in raise () from /lib64/libc.so.6 #1 0x00007fef72047968 in abort () from /lib64/libc.so.6 #2 0x00007fef72088d37 in __libc_message () from /lib64/libc.so.6 #3 0x00007fef72091499 in _int_free () from /lib64/libc.so.6 #4 0x00007fef723df3ef in uci_free_element (e=0xa63d50) at /home/uci/list.c:72 #5 0x00007fef723df573 in uci_free_package (package=package at entry=0xa63380) at /home/uci/list.c:283 #6 0x00007fef723dfb0d in uci_cleanup (ctx=0xa64300) at /home/uci/libuci.c:126 #7 0x00007fef723dfb6b in uci_free_context (ctx=0xa64300) at /home/uci/libuci.c:80 #8 0x0000000000402876 in uci_set_value (path=0x40cf59 "/tmp/DataCollection/MODMAN", config=0x40cf51 "rundata", section=0x40cf43 "modmanruninfo", option=0x40cfbf "akMODMANVTxMuteOpenAMIP", value=0x61b780 "0") at ft_uci.c:446 #9 0x0000000000403dec in Write_Mcast_Data (def=1) at ft_daq.c:166 #10 0x000000000040426e in main (argc=1, argv=0x7ffe84fa78c8) at ft_daq.c:264 2?This is the function that writes the configuration file,My program calls uci_set_value function 20 times for 1s. /*****************************************************************/ void uci_set_value(char *path, char *config, char *section, char *option, char *value) { struct uci_context *ctx = NULL; struct uci_ptr ptr; int ret = UCI_OK; char str[128] = {0}; char filepath[128] = {0}; ctx = uci_alloc_context(); if (!ctx) { ULOG_ERR("uci_alloc_context error, config=%s,section=%s,option=%s,value=%s\n", config, section, option, value); return; } if (NULL != path) { uci_set_confdir(ctx, path); } memset(&ptr, 0, sizeof(ptr)); memset(str, 0 , sizeof(str)); sprintf(str, "%s.%s.%s=%s", config, section, option, value); if (uci_lookup_ptr(ctx, &ptr, str, true) != 0) { ULOG_ERR("uci_lookup_ptr error, str=%s\n", str); uci_free_context(ctx); return; } memset(filepath, 0, sizeof(filepath)); sprintf(filepath, "%s/%s", path, config); if ((0 != strcmp(ctx->confdir, path)) || (0 != strcmp(filepath, ptr.p->path))) { if (ptr.p) { uci_unload(ctx, ptr.p); } uci_free_context(ctx); return; } ret = uci_set(ctx, &ptr); if (0 == ret) { ret = uci_commit(ctx, &ptr.p, false); } else { ULOG_ERR("uci_set error, str=%s\n", str); } if (ptr.p) { uci_unload(ctx, ptr.p); } // Program terminated with signal 6, Aborted. uci_free_context(ctx); return ; } /*****************************************************************/ 3?My config file config modman 'modmanruninfo' option akTestDID 'unknown' option akTestUptime 'unknown' option akTestSatelliteNetworkID 'unknown' akMODMANVTxMuteOpenAMIP 'unknown' -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 05:43:51 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 11:43:51 +0200 Subject: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds In-Reply-To: References: Message-ID: <20200603094351.GB36571@meh.true.cz> R. Diez via openwrt-devel [2020-04-12 17:37:13]: > The sender domain has a DMARC Reject/Quarantine policy which disallows > sending mailing list messages using the original "From" header. > > To mitigate this problem, the original message has been wrapped > automatically by the mailing list software. > Date: Sun, 12 Apr 2020 17:37:13 +0200 > From: "R. Diez" > To: openwrt-devel at lists.openwrt.org > Subject: [PATCH] Do not hard-code IS_TTY in script scripts/feeds > User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 > Thunderbird/68.4.1 > X-Mailer: WebService/1.1.15620 hermes Apache-HttpAsyncClient/4.1.4 > (Java/11.0.6) > Message-ID: > > Hi all: > > Please find attached a patch in order to avoid hard-coding IS_TTY in script scripts/feeds . > > For related information, see here: > > https://bugs.openwrt.org/index.php?do=details&task_id=2086 > > Best regards, > rdiez Hi, please resend it as a proper patch, for details see https://openwrt.org/submitting-patches, thanks! -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From jo at mein.io Wed Jun 3 05:52:50 2020 From: jo at mein.io (Jo-Philipp Wich) Date: Wed, 3 Jun 2020 11:52:50 +0200 Subject: [OpenWrt-Devel] [PATCH v2 4/4] build: use zstd for SDK and ImageBuilder tarballs In-Reply-To: <0f48abf2ac872957d6a4a150ead39564053f2afc.1589716209.git.mschiffer@universe-factory.net> References: <0f48abf2ac872957d6a4a150ead39564053f2afc.1589716209.git.mschiffer@universe-factory.net> Message-ID: <2df1e89f-ff30-2b79-f271-cae79d8ff3fc@wwsnet.net> Hi, I tend to NAK this as it has the potential to interrupt a lot of downstream tooling. Up until now I also never heard about about Zstd - while this doesn't mean anything in the grand scheme of things I think it is a bit too "new" to be used widely yet. Seems tar only supports it since beginning of 2019. ~ Jo -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From patchwork at patchwork.ozlabs.org Wed Jun 3 06:00:01 2020 From: patchwork at patchwork.ozlabs.org (Patchwork) Date: Wed, 03 Jun 2020 10:00:01 -0000 Subject: [OpenWrt-Devel] [openwrt] Patch notification: 1 patch updated Message-ID: <159117840179.17051.16691698619063804263@bilbo.ozlabs.org> Hello, The following patch (submitted by you) has been updated in Patchwork: * openwrt: [OpenWrt-Devel] Do not hard-code IS_TTY in script scripts/feeds - http://patchwork.ozlabs.org/project/openwrt/patch/mailman.2840.1586705844.2542.openwrt-devel at lists.openwrt.org/ - for: OpenWrt development was: New now: Changes Requested This email is a notification only - you do not need to respond. Happy patchworking. -- This is an automated mail sent by the Patchwork system at patchwork.ozlabs.org. To stop receiving these notifications, edit your mail settings at: http://patchwork.ozlabs.org/mail/ _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 06:03:20 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 12:03:20 +0200 Subject: [OpenWrt-Devel] Subject: [PATCH 1/1] blobmsg_json: allow to add full json files In-Reply-To: References: Message-ID: <20200603100320.GA3056@meh.true.cz> Hi, next time please do: $ git format-patch -s1 --subject-prefix "PATCH libubox" ... as described in https://openwrt.org/submitting-patches Adrian Panella [2020-02-22 20:11:28]: > Current function "blobmsg_add_json_from_file" only adds json file if it is > an object, and it only returns the properties, not a full object attribute. > This version allows to read any valid json file and returns the complete > corresponding attribute. ... > } > whitespace issue > +bool blobmsg_add_json_file(struct blob_buf *b, const char *name, const char *file) > +{ > + struct json_object *obj; > + bool ret; > + whitespace issue Apart from this whitespace nitpicks which I could fix by myself as well, I would like to ask you for adding test case under tests directory for this new function, so we can later assure on CI, that there are no memleaks or other issues in this code and spot any regression later as well. Please note, that test cases are not mandatory, but it is going to help merge your valuable contribution faster :-) Thanks! -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 06:16:58 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 12:16:58 +0200 Subject: [OpenWrt-Devel] new functionality for service shell function In-Reply-To: References: Message-ID: <20200603101658.GB3056@meh.true.cz> Stan Grishin [2020-04-13 04:16:25]: Hi, > I've been using something similar on my system and propose the following > patch (first submission to the list, be gentle ;)): no worries, just read https://openwrt.org/submitting-patches and try again :-) Commit subject should be "base-files: ..." and mail "Subject: [PATCH] base-files: ...", easily done with `git format-patch -s1 ...`, then `git send-email` and you're done. Please add as well some proper commit description. Thanks. -- ynezz > diff --git a/package/base-files/files/etc/profile > b/package/base-files/files/etc/profile > index 0beff1608f..e8350cfd6a 100644 > --- a/package/base-files/files/etc/profile > +++ b/package/base-files/files/etc/profile > @@ -38,3 +38,24 @@ in order to prevent unauthorized SSH logins. > -------------------------------------------------- > EOF > fi > + > +service() { > + if [ "$1" = "list-enabled" ]; then > + for F in /etc/init.d/* ; do > + $F enabled && echo "$F enabled" > + done; > + elif [ "$1" = "list-disabled" ]; then > + for F in /etc/init.d/* ; do > + $F enabled || echo "$F disabled" > + done; > + elif [ -f "/etc/init.d/$1" ]; then > + /etc/init.d/$@ > + else > + echo "Usage: service list-disabled|list-enabled| > [command]" > + if [ -n "$1" ]; then > + echo "service "'"'"$1"'"'" not found, the > following services are available:" > + ls "/etc/init.d" > + fi > + return 1 > + fi > +} > diff --git a/package/base-files/files/etc/rc.common > b/package/base-files/files/etc/rc.common > index 7c11544405..c44614d757 100755 > --- a/package/base-files/files/etc/rc.common > +++ b/package/base-files/files/etc/rc.common > @@ -67,13 +67,14 @@ help() { > Syntax: $initscript [command] > > Available commands: > - start Start the service > - stop Stop the service > - restart Restart the service > - reload Reload configuration files (or restart if service does not > implement reload) > - enable Enable service autostart > - disable Disable service autostart > - enabled Check if service is started on boot > + start Start the service > + stop Stop the service > + restart Restart the service > + reload Reload configuration files (or restart if service does not > implement reload) > + enable Enable service autostart > + disable Disable service autostart > + enabled Check if service is started on boot > + status-ubus Show ubus info for the service > $EXTRA_HELP > EOF > } > @@ -165,6 +166,13 @@ ${EXTRA_HELP}" > } > } > > -ALL_COMMANDS="start stop reload restart boot shutdown enable disable > enabled depends ${EXTRA_COMMANDS}" > -list_contains ALL_COMMANDS "$action" || action=help > +status_ubus() { > + name="$(basename "${initscript}")" > + /bin/ubus call service list "{'name': '$name'}" > + return 0 > +} > + > +ALL_COMMANDS="start stop reload restart boot shutdown enable disable > enabled depends status-ubus ${EXTRA_COMMANDS}" > +list_contains ALL_COMMANDS "$action" && action="${action/-/_}" || > action=help > $action "$@" > + _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 06:35:25 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 12:35:25 +0200 Subject: [OpenWrt-Devel] [PATCH] Add basic instance support to nsd init script In-Reply-To: <20200426124645.7457-1-emss@free.fr> References: <20200426124645.7457-1-emss@free.fr> Message-ID: <20200603103525.GC3056@meh.true.cz> Hi, please follow https://github.com/openwrt/packages/blob/master/CONTRIBUTING.md -- ynezz Eric Masson [2020-04-26 14:46:45]: > From: Eric Masson > > --- > net/nsd/files/nsd.init | 31 +++++++++++++++++++++++++++---- > 1 file changed, 27 insertions(+), 4 deletions(-) > > diff --git a/net/nsd/files/nsd.init b/net/nsd/files/nsd.init > index 8b1cf1deb..69fdce512 100644 > --- a/net/nsd/files/nsd.init > +++ b/net/nsd/files/nsd.init > @@ -5,12 +5,35 @@ START=60 > USE_PROCD=1 > PROG=/usr/sbin/nsd > > +append_arg() { > + local cfg="$1" > + local var="$2" > + local opt="$3" > + local def="$4" > + local val > + > + config_get val "$cfg" "$var" > + [ -n "$val" -o -n "$def" ] && procd_append_param command "$opt" "${val:-$def}" > +} > + > +start_instance() > +{ > + local cfg="$1" > + procd_open_instance > + procd_set_param respawn > + procd_set_param stderr 1 > + procd_set_param command "$PROG" -d > + append_arg "$cfg" config_file "-c" > + append_arg "$cfg" db_file "-f" > + append_arg "$cfg" pid_file "-P" > + procd_close_instance > +} > + > start_service() { > mkdir -p /var/db/nsd > chown network /var/db/nsd > chmod 640 /etc/nsd/*.conf 2>/dev/null > chgrp network /etc/nsd/*.conf 2>/dev/null > - procd_open_instance > - procd_set_param command "$PROG" -d > - procd_close_instance > -} > + config_load nsd > + config_foreach start_instance nsd > +} > \ No newline at end of file > -- > 2.26.2 > > -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From patchwork at patchwork.ozlabs.org Wed Jun 3 06:50:03 2020 From: patchwork at patchwork.ozlabs.org (Patchwork) Date: Wed, 03 Jun 2020 10:50:03 -0000 Subject: [OpenWrt-Devel] [openwrt] Patch notification: 1 patch updated Message-ID: <159118140399.13772.7642450897995048960@bilbo.ozlabs.org> Hello, The following patch (submitted by you) has been updated in Patchwork: * openwrt: [OpenWrt-Devel] iwinfo: add device id for Mikrotik R11e-5HacD miniPCIe card - http://patchwork.ozlabs.org/project/openwrt/patch/mailman.1406.1586210362.2542.openwrt-devel at lists.openwrt.org/ - for: OpenWrt development was: New now: Under Review This email is a notification only - you do not need to respond. Happy patchworking. -- This is an automated mail sent by the Patchwork system at patchwork.ozlabs.org. To stop receiving these notifications, edit your mail settings at: http://patchwork.ozlabs.org/mail/ _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 07:24:15 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 13:24:15 +0200 Subject: [OpenWrt-Devel] [PATCH] iwinfo: add device id for Mikrotik R11e-5HacD miniPCIe card In-Reply-To: References: Message-ID: <20200603112415.GC36571@meh.true.cz> Hi, please next time don't forget to add commit description as it's mandatory. Thanks. Johann Neuhauser via openwrt-devel [2020-04-06 23:58:43]: From: Johann Neuhauser > To: openwrt-devel at lists.openwrt.org > Cc: Johann Neuhauser > Subject: [PATCH] iwinfo: add device id for Mikrotik R11e-5HacD miniPCIe card > Message-Id: <20200406215843.24125-1-johann at it-neuhauser.de> > > Signed-off-by: Johann Neuhauser > --- > hardware.txt | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hardware.txt b/hardware.txt > index 07f61b7..c511395 100644 > --- a/hardware.txt > +++ b/hardware.txt > @@ -159,6 +159,7 @@ > 0x168c 0x003c 0x168c 0x3223 0 0 "Qualcomm Atheros" "QCA9880" > 0x168c 0x003c 0x1a56 0x1420 0 0 "Qualcomm Atheros" "QCA9862" > 0x168c 0x003c 0x19b6 0xd03c 0 0 "Mikrotik" "R11e-5HacT" > +0x168c 0x003c 0x19b6 0xd075 0 0 "Mikrotik" "R11e-5HacD" > 0x168c 0x0040 0x168c 0x0002 0 0 "Qualcomm Atheros" "QCA9990" > 0x168c 0x0046 0x168c 0xcafe 0 0 "Qualcomm Atheros" "QCA9984" > 0x168c 0x0050 0x0000 0x0000 0 0 "Qualcomm Atheros" "QCA9887" > -- > 2.20.1 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 07:30:01 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 13:30:01 +0200 Subject: [OpenWrt-Devel] [PATCH iwinfo] iwinfo: add device id for Marvell 88W8997 SDIO wifi card In-Reply-To: <20200520123305.30994-1-pali@kernel.org> References: <20200520123305.30994-1-pali@kernel.org> Message-ID: <20200603113001.GA9798@meh.true.cz> Pali Roh?r [2020-05-20 14:33:05]: Hi, please next time don't forget to add commit description as it's mandatory. Thanks. > Signed-off-by: Pali Roh?r > --- > hardware.txt | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hardware.txt b/hardware.txt > index 07f61b7..64ab708 100644 > --- a/hardware.txt > +++ b/hardware.txt > @@ -174,6 +174,7 @@ > 0x11ab 0x2a55 0x11ab 0x0000 0 0 "Marvell" "88W8864" > 0x02df 0x9135 0x0000 0x0000 0 0 "Marvell" "88W8887" > 0x11ab 0x2b40 0x11ab 0x0000 0 0 "Marvell" "88W8964" > +0x02df 0x9141 0x0000 0x0000 0 0 "Marvell" "88W8997" > 0x14c3 0x7603 0x14c3 0x7603 0 0 "MediaTek" "MT7603E" > 0x14c3 0x7610 0x14c3 0x7610 0 0 "MediaTek" "MT7610E" > 0x14c3 0x7612 0x14c3 0x7612 0 0 "MediaTek" "MT7612E" > -- > 2.20.1 > > -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 07:35:17 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 13:35:17 +0200 Subject: [OpenWrt-Devel] [PATCH v2 1/1] ramips: mt7621: use higher SPI clock speed on Mikrotik rbm11g and rbm33g In-Reply-To: <20200409130955.161319-2-t.schramm@manjaro.org> References: <20200409130955.161319-1-t.schramm@manjaro.org> <20200409130955.161319-2-t.schramm@manjaro.org> Message-ID: <20200603113517.GA10257@meh.true.cz> Tobias Schramm [2020-04-09 15:09:55]: > Previously the dts were using a value determined by empirical testing, > because of a spi driver/clock bug. The bug was fixed quite some time > ago. 33 MHz is the default clock frequency used by RouterBOOT and thus > safe. Saved patch to OpenWrt-Devel-v2-1-1-ramips-mt7621-use-higher-SPI-clock-speed-on-Mikrotik-rbm11g-and-rbm33g Applying: ramips: mt7621: use higher SPI clock speed on Mikrotik rbm11g and rbm33g error: target/linux/ramips/dts/mt7621_mikrotik_rbm11g.dts: does not exist in index error: target/linux/ramips/dts/mt7621_mikrotik_rbm33g.dts: does not exist in index Patch failed at 0001 ramips: mt7621: use higher SPI clock speed on Mikrotik rbm11g and rbm33g -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From patchwork at patchwork.ozlabs.org Wed Jun 3 07:40:01 2020 From: patchwork at patchwork.ozlabs.org (Patchwork) Date: Wed, 03 Jun 2020 11:40:01 -0000 Subject: [OpenWrt-Devel] [openwrt] Patch notification: 1 patch updated Message-ID: <159118440175.16181.9478776237851500311@bilbo.ozlabs.org> Hello, The following patch (submitted by you) has been updated in Patchwork: * openwrt: [OpenWrt-Devel] iwinfo: add device id for Mikrotik R11e-5HacD miniPCIe card - http://patchwork.ozlabs.org/project/openwrt/patch/mailman.1406.1586210362.2542.openwrt-devel at lists.openwrt.org/ - for: OpenWrt development was: Under Review now: Accepted This email is a notification only - you do not need to respond. Happy patchworking. -- This is an automated mail sent by the Patchwork system at patchwork.ozlabs.org. To stop receiving these notifications, edit your mail settings at: http://patchwork.ozlabs.org/mail/ _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stangri at melmac.net Wed Jun 3 07:42:30 2020 From: stangri at melmac.net (Stan Grishin) Date: Wed, 3 Jun 2020 04:42:30 -0700 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile Message-ID: Implement service list-enabled and service list-disabled to provide an easy way for users to list enabled/disabled services from CLI. Signed-off-by: Stan Grishin --- package/base-files/files/etc/profile | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile index 0beff1608f..e8350cfd6a 100644 --- a/package/base-files/files/etc/profile +++ b/package/base-files/files/etc/profile @@ -38,3 +38,24 @@ in order to prevent unauthorized SSH logins. -------------------------------------------------- EOF fi + +service() { + if [ "$1" = "list-enabled" ]; then + for F in /etc/init.d/* ; do + $F enabled && echo "$F enabled" + done; + elif [ "$1" = "list-disabled" ]; then + for F in /etc/init.d/* ; do + $F enabled || echo "$F disabled" + done; + elif [ -f "/etc/init.d/$1" ]; then + /etc/init.d/$@ + else + echo "Usage: service list-disabled|list-enabled| [command]" + if [ -n "$1" ]; then + echo "service "'"'"$1"'"'" not found, the following services are available:" + ls "/etc/init.d" + fi + return 1 + fi +} -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stangri at melmac.net Wed Jun 3 07:47:45 2020 From: stangri at melmac.net (Stan Grishin) Date: Wed, 3 Jun 2020 04:47:45 -0700 Subject: [OpenWrt-Devel] [PATCH] base-files: add status-ubus to init script parameters in /etc/rc.common Message-ID: Implement $initscript status-ubus as a short-hand for ubus call service list "{'name': '$initscript'}" Signed-off-by: Stan Grishin --- package/base-files/files/etc/rc.common | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common index 7c11544405..f57895c822 100755 --- a/package/base-files/files/etc/rc.common +++ b/package/base-files/files/etc/rc.common @@ -67,13 +67,14 @@ help() { Syntax: $initscript [command] Available commands: - start Start the service - stop Stop the service - restart Restart the service - reload Reload configuration files (or restart if service does not implement reload) - enable Enable service autostart - disable Disable service autostart + start Start the service + stop Stop the service + restart Restart the service + reload Reload configuration files (or restart if service does not implement reload) + enable Enable service autostart + disable Disable service autostart enabled Check if service is started on boot + status-ubus Show ubus info for the service $EXTRA_HELP EOF } @@ -165,6 +166,13 @@ ${EXTRA_HELP}" } } -ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}" -list_contains ALL_COMMANDS "$action" || action=help +status_ubus() { + name="$(basename "${initscript}")" + /bin/ubus call service list "{'name': '$name'}" + return 0 +} + +ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends status-ubus ${EXTRA_COMMANDS}" +list_contains ALL_COMMANDS "$action" && action="${action/-/_}" || action=help $action "$@" + -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 08:24:19 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 14:24:19 +0200 Subject: [OpenWrt-Devel] [PATCH] imx6: add I2C retries for ventana i2c1 In-Reply-To: <1590674204-26618-1-git-send-email-tharvey@gateworks.com> References: <1590674204-26618-1-git-send-email-tharvey@gateworks.com> Message-ID: <20200603122419.GA13801@meh.true.cz> Tim Harvey [2020-05-28 06:56:44]: Hi, > The GSC sitting on i2c1 can NAK I2C transactions if it is busy > performing an ADC cycle. Allow enough retries to work around this. this looks like you either need to keep in your own vendor tree or try to fix properly upstream, thanks. So I'm not going to accept this as this would become just another maintenance burden during kernel version bumps etc. -- ynezz > Signed-off-by: Tim Harvey > --- > ...x-add-retries-for-NAK-s-on-ventana-boards.patch | 42 ++++++++++++++++++++++ > 1 file changed, 42 insertions(+) > create mode 100644 target/linux/imx6/patches-5.4/200-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch > > diff --git a/target/linux/imx6/patches-5.4/200-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch b/target/linux/imx6/patches-5.4/200-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch > new file mode 100644 > index 0000000..5f45342 > --- /dev/null > +++ b/target/linux/imx6/patches-5.4/200-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch > @@ -0,0 +1,42 @@ > +From be183fc2af49e6020bb0b1ac8359351707383f63 Mon Sep 17 00:00:00 2001 > +From: Tim Harvey > +Date: Tue, 12 May 2020 12:41:32 -0700 > +Subject: [PATCH] i2c: imx: add retries for NAK's on ventana boards > + > +Ventana boards have a Gateworks System Controller (gsc) module that can > +nak i2c transactions when its busy in an ADC loop. In order to not have to > +hack up the pca953x and ds1672 device drivers which the GSC emulates we will > +just add i2c retries around NAK's. > + > +Signed-off-by: Tim Harvey > +--- > + drivers/i2c/busses/i2c-imx.c | 6 ++++++ > + 1 file changed, 6 insertions(+) > + > +diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c > +index a3b6133..b2378d8 100644 > +--- a/drivers/i2c/busses/i2c-imx.c > ++++ b/drivers/i2c/busses/i2c-imx.c > +@@ -467,6 +467,8 @@ static int i2c_imx_acked(struct imx_i2c_struct *i2c_imx) > + { > + if (imx_i2c_read_reg(i2c_imx, IMX_I2C_I2SR) & I2SR_RXAK) { > + dev_dbg(&i2c_imx->adapter.dev, "<%s> No ACK\n", __func__); > ++ if (i2c_imx->adapter.retries) > ++ return -EAGAIN; > + return -ENXIO; /* No ACK */ > + } > + > +@@ -1097,6 +1099,10 @@ static int i2c_imx_probe(struct platform_device *pdev) > + i2c_imx->adapter.dev.of_node = pdev->dev.of_node; > + i2c_imx->base = base; > + ACPI_COMPANION_SET(&i2c_imx->adapter.dev, ACPI_COMPANION(&pdev->dev)); > ++ if (of_machine_is_compatible("gw,ventana") && phy_addr == 0x021a0000) { > ++ dev_info(&pdev->dev, "Adding retries for Ventana GSC\n"); > ++ i2c_imx->adapter.retries = 3; > ++ } > + > + /* Get I2C clock */ > + i2c_imx->clk = devm_clk_get(&pdev->dev, NULL); > +-- > +2.7.4 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From pali at kernel.org Wed Jun 3 08:48:23 2020 From: pali at kernel.org (Pali =?utf-8?B?Um9ow6Fy?=) Date: Wed, 3 Jun 2020 14:48:23 +0200 Subject: [OpenWrt-Devel] [PATCH iwinfo] iwinfo: add device id for Marvell 88W8997 SDIO wifi card In-Reply-To: <20200603113001.GA9798@meh.true.cz> References: <20200520123305.30994-1-pali@kernel.org> <20200603113001.GA9798@meh.true.cz> Message-ID: <20200603124823.5zgu4nncgzmeembn@pali> On Wednesday 03 June 2020 13:30:01 Petr ?tetiar wrote: > Pali Roh?r [2020-05-20 14:33:05]: > > Hi, please next time don't forget to add commit description as it's mandatory. Thanks. Hello Petr, thank you for taking these patches! What do you suggest to put into commit description of such small change where commit title already contains description of the whole change? > > Signed-off-by: Pali Roh?r > > --- > > hardware.txt | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/hardware.txt b/hardware.txt > > index 07f61b7..64ab708 100644 > > --- a/hardware.txt > > +++ b/hardware.txt > > @@ -174,6 +174,7 @@ > > 0x11ab 0x2a55 0x11ab 0x0000 0 0 "Marvell" "88W8864" > > 0x02df 0x9135 0x0000 0x0000 0 0 "Marvell" "88W8887" > > 0x11ab 0x2b40 0x11ab 0x0000 0 0 "Marvell" "88W8964" > > +0x02df 0x9141 0x0000 0x0000 0 0 "Marvell" "88W8997" > > 0x14c3 0x7603 0x14c3 0x7603 0 0 "MediaTek" "MT7603E" > > 0x14c3 0x7610 0x14c3 0x7610 0 0 "MediaTek" "MT7610E" > > 0x14c3 0x7612 0x14c3 0x7612 0 0 "MediaTek" "MT7612E" > > -- > > 2.20.1 > > > > > > -- > ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 08:53:14 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 14:53:14 +0200 Subject: [OpenWrt-Devel] [PATCH iwinfo] iwinfo: add device id for Marvell 88W8997 SDIO wifi card In-Reply-To: <20200603124823.5zgu4nncgzmeembn@pali> References: <20200520123305.30994-1-pali@kernel.org> <20200603113001.GA9798@meh.true.cz> <20200603124823.5zgu4nncgzmeembn@pali> Message-ID: <20200603125314.GD36571@meh.true.cz> Pali Roh?r [2020-06-03 14:48:23]: > What do you suggest to put into commit description of such small change > where commit title already contains description of the whole change? lspci output as in your other patch, simply something, otherwise it means additional work for me -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From t.schramm at manjaro.org Wed Jun 3 09:10:39 2020 From: t.schramm at manjaro.org (Tobias Schramm) Date: Wed, 3 Jun 2020 15:10:39 +0200 Subject: [OpenWrt-Devel] [PATCH v3 0/1] Increase SPI speed on Mikrotik rbm11g and rbm33g Message-ID: <20200603131040.3098579-1-t.schramm@manjaro.org> This patch increases the SPI clock speed on the rbm11g and rbm33g to 33 MHz. Initially it was set to a empirically determined value. The bug necessitating the empirical testing has since been resolved. 33 MHz is the default used by RouterBOOT. It is well within spec of the SPI flashes used. I've also verified that signal integrity is not an issue, the clock edges are still pretty good. v3 is just a rebase on an up-to-date OpenWrt tree due to moved files. Tobias Changelog: v2: - Remove m25p,fast-read from dts v3: - Rebase for renamed dts files Tobias Schramm (1): ramips: mt7621: use higher SPI clock speed on Mikrotik rbm11g and rbm33g target/linux/ramips/dts/mt7621_mikrotik_routerboard-m11g.dts | 3 +-- target/linux/ramips/dts/mt7621_mikrotik_routerboard-m33g.dts | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) -- 2.26.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From t.schramm at manjaro.org Wed Jun 3 09:10:40 2020 From: t.schramm at manjaro.org (Tobias Schramm) Date: Wed, 3 Jun 2020 15:10:40 +0200 Subject: [OpenWrt-Devel] [PATCH v3 1/1] ramips: mt7621: use higher SPI clock speed on Mikrotik rbm11g and rbm33g In-Reply-To: <20200603131040.3098579-1-t.schramm@manjaro.org> References: <20200603131040.3098579-1-t.schramm@manjaro.org> Message-ID: <20200603131040.3098579-2-t.schramm@manjaro.org> Previously the dts were using a value determined by empirical testing, because of a spi driver/clock bug. The bug was fixed quite some time ago. 33 MHz is the default clock frequency used by RouterBOOT and thus safe. Signed-off-by: Tobias Schramm --- target/linux/ramips/dts/mt7621_mikrotik_routerboard-m11g.dts | 3 +-- target/linux/ramips/dts/mt7621_mikrotik_routerboard-m33g.dts | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/target/linux/ramips/dts/mt7621_mikrotik_routerboard-m11g.dts b/target/linux/ramips/dts/mt7621_mikrotik_routerboard-m11g.dts index 2b05f1c2f2..cb13590017 100644 --- a/target/linux/ramips/dts/mt7621_mikrotik_routerboard-m11g.dts +++ b/target/linux/ramips/dts/mt7621_mikrotik_routerboard-m11g.dts @@ -83,8 +83,7 @@ flash at 0 { compatible = "jedec,spi-nor"; reg = <0>; - // XXX empiric value to obtain actual 10MHz SCK at the chip - spi-max-frequency = <3125000>; + spi-max-frequency = <33000000>; partitions { compatible = "fixed-partitions"; diff --git a/target/linux/ramips/dts/mt7621_mikrotik_routerboard-m33g.dts b/target/linux/ramips/dts/mt7621_mikrotik_routerboard-m33g.dts index 490f507fa9..ebe85b09a1 100644 --- a/target/linux/ramips/dts/mt7621_mikrotik_routerboard-m33g.dts +++ b/target/linux/ramips/dts/mt7621_mikrotik_routerboard-m33g.dts @@ -93,7 +93,7 @@ flash at 0 { compatible = "jedec,spi-nor"; reg = <0>; - spi-max-frequency = <3125000>; + spi-max-frequency = <33000000>; partitions { compatible = "fixed-partitions"; @@ -139,8 +139,7 @@ flash at 1 { compatible = "jedec,spi-nor"; reg = <1>; - // XXX empiric value to obtain actual 10MHz SCK at the chip - spi-max-frequency = <3125000>; + spi-max-frequency = <33000000>; partitions { compatible = "fixed-partitions"; -- 2.26.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From josef.schlehofer at nic.cz Wed Jun 3 09:50:59 2020 From: josef.schlehofer at nic.cz (Josef Schlehofer) Date: Wed, 3 Jun 2020 15:50:59 +0200 Subject: [OpenWrt-Devel] [PATCH iwinfo] iwinfo: add device id for Marvell 88W8997 SDIO wifi card In-Reply-To: <20200603125314.GD36571@meh.true.cz> References: <20200520123305.30994-1-pali@kernel.org> <20200603113001.GA9798@meh.true.cz> <20200603124823.5zgu4nncgzmeembn@pali> <20200603125314.GD36571@meh.true.cz> Message-ID: Hello, On 03. 06. 20 14:53, Petr ?tetiar wrote: > Pali Roh?r [2020-06-03 14:48:23]: > >> What do you suggest to put into commit description of such small change >> where commit title already contains description of the whole change? > lspci output as in your other patch, simply something, otherwise it means > additional work for me I am looking into previous commits in iwinfo and there are not many commits which have the description, which you suggested at all. So, what has been changed? Other guys who have commit access it seems that they are not doing that and merging it as I think in the commit message is everything that you need. I think that your policy should be applied to all not just someone and should be followed by everyone. Just my two cents. For example, I was looking into these commits: https://git.openwrt.org/?p=project/iwinfo.git;a=commit;h=eba5a204f776f49b9948b41e41c03560dbd307c8 https://git.openwrt.org/?p=project/iwinfo.git;a=commit;h=bb216982951698833bbdf4a88872e9b5ccd026a5 https://git.openwrt.org/?p=project/iwinfo.git;a=commit;h=e59f9253aa09a340d235dac074a10a4fe48b62fd and many others as well. Regards, Josef > > -- ynezz > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 10:34:17 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 16:34:17 +0200 Subject: [OpenWrt-Devel] [PATCH iwinfo] iwinfo: add device id for Marvell 88W8997 SDIO wifi card In-Reply-To: References: <20200520123305.30994-1-pali@kernel.org> <20200603113001.GA9798@meh.true.cz> <20200603124823.5zgu4nncgzmeembn@pali> <20200603125314.GD36571@meh.true.cz> Message-ID: <20200603143417.GE36571@meh.true.cz> Josef Schlehofer [2020-06-03 15:50:59]: Hi, > Other guys who have commit access it seems that they are not doing that and > merging it fine with me, it's their decision. > I think that your policy should be applied to all not just someone and > should be followed by everyone. it's not mine policy, it's a good habbit, best practice and I can go on for next dozen lines or more. Anyway, I'm just trying to be consistent so I do the same and demand the same. If in doubt, read project's Patch checklist[1]. 1. https://openwrt.org/submitting-patches#patch_checklist -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From tharvey at gateworks.com Wed Jun 3 11:25:54 2020 From: tharvey at gateworks.com (Tim Harvey) Date: Wed, 3 Jun 2020 08:25:54 -0700 Subject: [OpenWrt-Devel] [PATCH] imx6: add I2C retries for ventana i2c1 In-Reply-To: <20200603122419.GA13801@meh.true.cz> References: <1590674204-26618-1-git-send-email-tharvey@gateworks.com> <20200603122419.GA13801@meh.true.cz> Message-ID: On Wed, Jun 3, 2020 at 5:24 AM Petr ?tetiar wrote: > > Tim Harvey [2020-05-28 06:56:44]: > > Hi, > > > The GSC sitting on i2c1 can NAK I2C transactions if it is busy > > performing an ADC cycle. Allow enough retries to work around this. > > this looks like you either need to keep in your own vendor tree or try to fix > properly upstream, thanks. So I'm not going to accept this as this would > become just another maintenance burden during kernel version bumps etc. > What do you mean by keep it in my own vendor tree? Is there something in OpenWrt you are talking about or are you simply saying it's not upstream and therefore not accepted? To be completely fair how does this differ from the 38 patches in target/linux/generic/hack-5.4? Thanks, Tim _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 3 11:44:56 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Wed, 3 Jun 2020 17:44:56 +0200 Subject: [OpenWrt-Devel] [PATCH] imx6: add I2C retries for ventana i2c1 In-Reply-To: References: <1590674204-26618-1-git-send-email-tharvey@gateworks.com> <20200603122419.GA13801@meh.true.cz> Message-ID: <20200603154456.GF36571@meh.true.cz> Tim Harvey [2020-06-03 08:25:54]: Hi, > are you simply saying it's not upstream and therefore not accepted? yes, that's my view/decision. BTW I didn't rejected the patch, just changed the status from "Under review" to "Needs review/ACK", but I'm not going to merge it as it means additional workload and it can be fixed properly as you've hinted anyway :-) -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at meshplusplus.com Wed Jun 3 14:02:21 2020 From: mike at meshplusplus.com (Michael Jones) Date: Wed, 3 Jun 2020 13:02:21 -0500 Subject: [OpenWrt-Devel] uci API wrong In-Reply-To: <495a9f6b.5f4a.17279379229.Coremail.wyygrowing1224@163.com> References: <495a9f6b.5f4a.17279379229.Coremail.wyygrowing1224@163.com> Message-ID: On Wed, Jun 3, 2020 at 3:22 AM ??? wrote: > Dear! > I've tried to write configurations using UCI API in my projects, but > they often cause my processes to crash, I don't know why?I hope you can > help me? > 1?platform?X86 > This is the information that my Program crashed > (gdb) where > #0 0x00007fef72046277 in raise () from /lib64/libc.so.6 > #1 0x00007fef72047968 in abort () from /lib64/libc.so.6 > #2 0x00007fef72088d37 in __libc_message () from /lib64/libc.so.6 > #3 0x00007fef72091499 in _int_free () from /lib64/libc.so.6 > #4 0x00007fef723df3ef in uci_free_element (e=0xa63d50) at > /home/uci/list.c:72 > #5 0x00007fef723df573 in uci_free_package (package=package at entry=0xa63380) > at /home/uci/list.c:283 > #6 0x00007fef723dfb0d in uci_cleanup (ctx=0xa64300) at > /home/uci/libuci.c:126 > #7 0x00007fef723dfb6b in uci_free_context (ctx=0xa64300) at > /home/uci/libuci.c:80 > #8 0x0000000000402876 in uci_set_value (path=0x40cf59 > "/tmp/DataCollection/MODMAN", config=0x40cf51 "rundata", section=0x40cf43 > "modmanruninfo", > option=0x40cfbf "akMODMANVTxMuteOpenAMIP", value=0x61b780 > "0") at ft_uci.c:446 > #9 0x0000000000403dec in Write_Mcast_Data (def=1) at ft_daq.c:166 > #10 0x000000000040426e in main (argc=1, argv=0x7ffe84fa78c8) at > ft_daq.c:264 > > 2?This is the function that writes the configuration file,My program calls > uci_set_value function 20 times for 1s. > /*****************************************************************/ > void uci_set_value(char *path, char *config, char *section, char *option, > char *value) > { > struct uci_context *ctx = NULL; > struct uci_ptr ptr; > int ret = UCI_OK; > char str[128] = {0}; > char filepath[128] = {0}; > > ctx = uci_alloc_context(); > if (!ctx) > { > ULOG_ERR("uci_alloc_context error, > config=%s,section=%s,option=%s,value=%s\n", config, section, option, value); > return; > } > if (NULL != path) > { > uci_set_confdir(ctx, path); > } > > memset(&ptr, 0, sizeof(ptr)); > memset(str, 0 , sizeof(str)); > sprintf(str, "%s.%s.%s=%s", config, section, option, value); > > if (uci_lookup_ptr(ctx, &ptr, str, true) != 0) > { > ULOG_ERR("uci_lookup_ptr error, str=%s\n", str); > uci_free_context(ctx); > return; > } > memset(filepath, 0, sizeof(filepath)); > sprintf(filepath, "%s/%s", path, config); > > if ((0 != strcmp(ctx->confdir, path)) || (0 != strcmp(filepath, > ptr.p->path))) > { > if (ptr.p) > { > uci_unload(ctx, ptr.p); > } > uci_free_context(ctx); > return; > } > > ret = uci_set(ctx, &ptr); > if (0 == ret) > { > ret = uci_commit(ctx, &ptr.p, false); > } > else > { > ULOG_ERR("uci_set error, str=%s\n", str); > } > > if (ptr.p) > { > uci_unload(ctx, ptr.p); > } > // Program terminated with signal 6, Aborted. > uci_free_context(ctx); > > return ; > } > /*****************************************************************/ > > 3?My config file > config modman 'modmanruninfo' > option akTestDID 'unknown' > option akTestUptime 'unknown' > option akTestSatelliteNetworkID 'unknown' > akMODMANVTxMuteOpenAMIP 'unknown' > I don't know what's wrong with your code above, and I haven't tried to analyze it for mistakes. I'm replying to you because I wrote a C++ wrapper around UCI a while ago, that involved documenting some of the conventions of the libuci API. I'm providing it here as use-at-your-own-risk, and will not provide updates, bug fixes, security fixes, or really anything, pertaining to this code. There are almost certainly bugs in this code, because I do not use it. I abandoned this approach to interacting with the UCI subsystem in favor of the rpcd UCI module. Released under the same license as libUCI itself (LGPL 2.1). It may help you understand the libuci c API. It may not. /** \file * */ #include #include #include #include #include "uci.h" #ifndef LIBUCIXX_PARSE_UCI_CONFIG_FILE_H_A2CD8106_1003_4A6D_9A46_4A128EA83262 #define LIBUCIXX_PARSE_UCI_CONFIG_FILE_H_A2CD8106_1003_4A6D_9A46_4A128EA83262 #pragma once namespace libucixx { namespace impl { /** \class ScopeGuard * The class \c ScopeGuard provides a mechanism to call \c operator() on the object * provided as the constructor parameter for the \c ScopeGuard object when \c ScopeGuard * has it's destructor called. This provides a guaranteed, exception safe, way of ensuring * that cleanup operations are called at end of scope. */ template struct ScopeGuard final { /** * Does nothing more than store the parameter in a member variable. */ ScopeGuard(T t) : m_t(std::move(t)) { } /** * Calls the stored object's \c operator() function. */ ~ScopeGuard() { m_t(); } private: T m_t; ///< The stored object to invoke on destruction. }; // struct ScopeGuard /** * Template deduction guide for \c ScopeGuard that avoids the need for a factory function. */ template ScopeGuard(T t) -> ScopeGuard; //----------------------------------------------------------------------------- /** * Extracts error string from the \c uci_context provided, * and throws a runtime exception with its contents. */ inline void throw_uci_error(uci_context & ctx) { char * dest = nullptr; const ScopeGuard destGuard([&dest](void){ free(dest); }); uci_get_errorstr(&ctx, &dest, nullptr); if(dest) { throw std::runtime_error(dest); } else { throw std::runtime_error("Unknown UCI error"); } } // throw_uci_error() //----------------------------------------------------------------------------- /** * Assert that the provided \c std::string_view is nul terminated. */ inline void assert_nul_terminated(std::string_view str) { assert(str.data() + str.size() == '\0'); } } // namespace impl //----------------------------------------------------------------------------- /** * Forward declare types. */ struct UciOption; struct UciSection; struct UciPackage; struct UciContext; //----------------------------------------------------------------------------- /** \class UciOption * */ struct UciOption { private: friend struct UciSection; struct constructor_access{}; ///< Provides access to the constructor for friends. public: /** * Constructs \c UciOption. Use \c UciSection::get_option() to acquire a \c UciOption. * * \param key - The \c constructor_access type that's only visible to friend classes. * Used to guard against improper use of \c UciOption. * \param pSec - The \c UciSection that this \c UciOption belongs to. * \param pUciOpt - The \c uci_option from libuci. */ UciOption(constructor_access key, std::shared_ptr pSec, uci_option * pUciOpt); /** * \note The returned \c std::string_view's lifetime is the same as the * lifetime of the \c UciPackage that this \c UciOption belongs to. * * \return The name of the this option. */ std::string_view get_name(void); /** * \return TRUE - This option represents a list of values * FALSE - This option represents a scalar value */ bool is_list(void); /** * \note The returned \c std::string_view's lifetime is the same as the * lifetime of the \c UciPackage that this option belongs to. * * \return The value of the this option. */ std::string_view get_value(void); /** * \param value - Nul terminated value to set this option to. */ void set_value(std::string_view value); /** * \note The returned \c std::string_view's lifetime is the same as the * lifetime of the \c UciPackage that this option belongs to. * * \return The value of the this option as a list of values. */ std::vector get_list(void); /** * \param list - vector of nul terminated \c std::string_views to * replace the current list of option values with. */ void set_list(std::vector list); /** * \param value - Nul terminated value to add to this option's list. */ void add_to_list(std::string_view); /** * \param value - Nul terminated value to remove from this option's list. */ void remove_from_list(std::string_view); private: /** * \return The \c uci_context held by the \c UciContext class * used to acquire this UciOption via the \c UciSection and * \c UciPackage shared pointers. */ uci_context * get_uci_context(void); private: uci_option * m_pUciOpt; ///< The \c struct uci_option from libuci. Lifetime managed by the associated \c UciPackage object. std::shared_ptr m_pSec; ///< Shared pointer to \c UciSection that this option belongs to. Keeps data retrieved from libuci alive. }; // UciOption //----------------------------------------------------------------------------- /** \class UciSection * */ struct UciSection : public std::enable_shared_from_this { private: friend struct UciPackage; struct constructor_access{}; ///< Provides access to the constructor for friends. public: /** * Constructs \c UciSection. Use \c UciPackage::get_section() to acquire a \c UciSection. * * \param key - The \c constructor_access type that's only visible to friend classes. * Used to guard against improper use of \c UciSection. * \param pSec - The \c UciPackage that this \c UciSection belongs to. * \param pUciOpt - The \c uci_section from libuci. */ UciSection(constructor_access key, std::shared_ptr pPkg, uci_section * pUciSec); /** * \note The returned \c std::string_view's lifetime is the same as the * lifetime of the \c UciPackage that this \c UciSection belongs to. * * \return The name of the this section. */ std::string_view get_name(void); /** * \note The returned \c std::string_view's lifetime is the same as the * lifetime of the \c UciPackage that this \c UciSection belongs to. * * \return The type of this section. */ std::string_view get_type(void); /** * \note The returned \c std::string_view's lifetime is the same as the * lifetime of the \c UciPackage that this \c UciSection belongs to. * * \return The list of options that this section contains. */ std::vector list_options(void); /** * Looks up the UciOption associated with the provided nul-terminated name. * * \param name - the name of the option. */ std::shared_ptr get_option(std::string_view name); /** * Creates and inserts a new string-type option with the provided value. * * \param name - the name of the option. * \param value - the value of the option. */ std::shared_ptr add_option(std::string_view name, std::string_view value); /** * Creates and inserts a new list-type option with the provided value. * * \param name - the name of the option. * \param value - the values of the option. */ std::shared_ptr add_option(std::string_view name, std::list value); /** * Deletes the option with the provided name. * * \param name - the option to delete. */ void delete_option(std::string_view name); /** * Change the index of this section. * * \param the index to change this section to. */ void set_section_index(int idx); private: friend struct UciOption; /** * \return The \c uci_context held by the \c UciContext class used * to acquire this \c UciSection via the \c UciPackage shared pointer. */ uci_context * get_uci_context(void); private: uci_section * m_pUciSec; ///< std::shared_ptr m_pPkg; ///< }; // struct UciSection //----------------------------------------------------------------------------- /** \class UciPackage * */ struct UciPackage : public std::enable_shared_from_this { private: friend struct UciContext; struct constructor_access{}; ///< Provides access to the constructor for friends. public: /** * \param key - The \c constructor_access type that's only visible to friend classes. * Used to guard against improper use of \c UciPackage. * \param pSec - The \c UciContext that this UciPackage belongs to. * \param pUciOpt - The \c uci_package from libuci. */ UciPackage(constructor_access key, std::shared_ptr pCtx, uci_package * pUciPkg); /** * Ensures that this UciPackage, and everything that's associated with it, is unloaded from libuci. */ ~UciPackage(void); /** * \note The returned \c std::string_view's lifetime is the same as the * lifetime of this \c UciPackage. * * \return The name of this package. */ std::string_view get_name(void); /** * \note The returned \c std::string_view's lifetime is the same as the * lifetime of the \c UciPackage that this \c UciSection belongs to. * * \return A collection of section names. */ std::vector list_sections(void); /** * \param name - A nul-terminated string indicating the desired section name. * \return a UciSection representing the section indicated by name. */ std::shared_ptr get_section(std::string_view name); /** * \param name - A nul-terminated string indicating the desired section name. * \return a UciSection representing the newly added section. */ std::shared_ptr add_section(std::string_view type, std::string_view name = std::string_view()); /** * Delete a section by name. * * \param name - A nul-terminated string indicating the desired section name. */ void delete_section(std::string_view name); /** * Saves the changes that have been made to this UciPackage to disk as a delta. * Use \c UciPackage::commit() to apply these changes. */ void save(void); /** * Applies all deltas saved to disk to this package'S config file. * * \note Warning! Invalidates all UciSections and UciOptions derived from this UciPackage * * \param overwrite - ??? */ void commit(bool overwrite = true); private: friend struct UciSection; /** * \return The \c uci_context held by the \c UciContext class * used to acquire this \c UciPackage shared pointer. */ uci_context * get_uci_context(void); private: uci_package * m_pUciPkg; ///< std::shared_ptr m_pCtx; ///< }; // struct UciPackage //----------------------------------------------------------------------------- /** \class UciContext * */ struct UciContext : public std::enable_shared_from_this { /** * Allocates a libuci \c struct uci_context. */ UciContext(void); /** * Frees the libuci \c struct uci_context. */ ~UciContext(void); /** * \return List of UCI packages available in the configured config directory. */ std::vector list_packages(void); /** * \param name - the desired package name. * * \note When the UciPackage's shared pointer is deleted, the named package will * be unloaded from libuci. * * \return A shared pointer to a UciPackage representing the indicated package name. */ std::shared_ptr load_package(std::string_view name); /** * Sets the directory that libuci will use to save deltas. * * \param dir - the indicated, nul-terminatred, directory. */ void set_save_dir(std::string_view dir); /** * Sets the directory that libuci will search from config files. * * \param dir - the indicated, nul-terminatred, directory. */ void set_config_dir(std::string_view dir); /** * Adds an additional directory that libuci will use to search for deltas. * * \param dir - the indicated, nul-terminatred, directory. */ void add_delta_path(std::string_view dir); /** * Sets the backend that libuci will use for storage. * * \param backend - the indicated, nul-terminatred, backend. */ void set_backend(std::string_view backend); private: friend struct UciPackage; /** * \return the libuci \c struct uci_context. */ uci_context * get_uci_context(void); private: uci_context * m_pUciCtx; ///< }; // struct UciContext //----------------------------------------------------------------------------- // Inline functions //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // Inlines of UciOption //----------------------------------------------------------------------------- inline UciOption::UciOption(constructor_access, std::shared_ptr pSec, uci_option * pUciOpt) : m_pSec(std::move(pSec)) , m_pUciOpt(pUciOpt) { assert(nullptr != m_pSec); assert(nullptr != m_pUciOpt); } inline std::string_view UciOption::get_name(void) { return m_pUciOpt->e.name; } inline bool UciOption::is_list(void) { return UCI_TYPE_LIST == m_pUciOpt->type; } inline std::string_view UciOption::get_value(void) { return m_pUciOpt->v.string; } inline void UciOption::set_value(std::string_view value) { assert(false); uci_ptr ptr; // Set values to ... something? if(UCI_OK != uci_add_list(get_uci_context(), &ptr)) { impl::throw_uci_error(*get_uci_context()); } } inline std::vector UciOption::get_list(void) { std::vector list; { /* * List is a list of uci_elements, and in the context of * a uci_option with type list, each such element's name * is a value in the list. */ uci_element *e = nullptr; uci_foreach_element(&(m_pUciOpt->v.list), e) { list.emplace_back(e->name); } } return list; } inline void UciOption::set_list(std::vector list) { assert(false); //TODO: // Delete all items and add all the new ones? No clear API option } inline void UciOption::add_to_list(std::string_view) { assert(false); uci_ptr ptr; // Set values to ... something? if(UCI_OK != uci_add_list(get_uci_context(), &ptr)) { impl::throw_uci_error(*get_uci_context()); } } inline void UciOption::remove_from_list(std::string_view) { assert(false); uci_ptr ptr; // Set values to ... something? if(UCI_OK != uci_del_list(get_uci_context(), &ptr)) { impl::throw_uci_error(*get_uci_context()); } } inline uci_context * UciOption::get_uci_context(void) { return m_pSec->get_uci_context(); } //----------------------------------------------------------------------------- // Inlines of UciSection //----------------------------------------------------------------------------- inline UciSection::UciSection(constructor_access, std::shared_ptr pPkg, uci_section * pUciSec) : m_pPkg(std::move(pPkg)) , m_pUciSec(pUciSec) { assert(nullptr != m_pPkg); assert(nullptr != m_pUciSec); } inline std::string_view UciSection::get_name(void) { return m_pUciSec->e.name; } inline std::string_view UciSection::get_type(void) { return m_pUciSec->type; } inline std::vector UciSection::list_options(void) { std::vector sections; { uci_element *e = nullptr; uci_foreach_element(&(m_pUciSec->options), e) { uci_option *o = uci_to_option(e); sections.emplace_back(o->e.name); } } return sections; } inline std::shared_ptr UciSection::get_option(std::string_view name) { impl::assert_nul_terminated(name); if(uci_option * pOpt = uci_lookup_option(get_uci_context(), m_pUciSec, name.data()); pOpt != nullptr) { return std::make_shared(UciOption::constructor_access(), this->shared_from_this(), pOpt); } else { return {}; } } inline std::shared_ptr UciSection::add_option(std::string_view name, std::string_view value) { assert(false); uci_ptr ptr; // Set values to ... something? if(UCI_OK != uci_set(get_uci_context(), &ptr)) { impl::throw_uci_error(*get_uci_context()); } } inline std::shared_ptr UciSection::add_option(std::string_view name, std::list value) { assert(false); uci_ptr ptr; // Set values to ... something? if(UCI_OK != uci_set(get_uci_context(), &ptr)) { impl::throw_uci_error(*get_uci_context()); } } inline void UciSection::delete_option(std::string_view name) { assert(false); uci_ptr ptr; // Set values to ... something? if(UCI_OK != uci_delete(get_uci_context(), &ptr)) { impl::throw_uci_error(*get_uci_context()); } } inline void UciSection::set_section_index(int idx) { if(UCI_OK != uci_reorder_section(get_uci_context(), m_pUciSec, idx)) { impl::throw_uci_error(*get_uci_context()); } } inline uci_context * UciSection::get_uci_context(void) { return m_pPkg->get_uci_context(); } //----------------------------------------------------------------------------- // Inlines of UciPackage //----------------------------------------------------------------------------- inline UciPackage::UciPackage(constructor_access, std::shared_ptr pCtx, uci_package * pUciPkg) : m_pCtx(std::move(pCtx)) , m_pUciPkg(pUciPkg) { assert(nullptr != m_pCtx); assert(nullptr != m_pUciPkg); } inline UciPackage::~UciPackage() { if(UCI_OK != uci_unload(get_uci_context(), m_pUciPkg)) { impl::throw_uci_error(*get_uci_context()); } } inline std::string_view UciPackage::get_name(void) { return m_pUciPkg->e.name; } inline std::vector UciPackage::list_sections(void) { std::vector sections; { uci_element *e = nullptr; uci_foreach_element( &m_pUciPkg->sections, e) { uci_section *s = uci_to_section(e); sections.emplace_back(s->e.name); } } return sections; } inline std::shared_ptr UciPackage::get_section(std::string_view name) { impl::assert_nul_terminated(name); if(uci_section * pSec = uci_lookup_section(get_uci_context(), m_pUciPkg, name.data()); pSec != nullptr) { return std::make_shared(UciSection::constructor_access(), this->shared_from_this(), pSec); } else { return {}; } } inline std::shared_ptr UciPackage::add_section(std::string_view type, std::string_view name) { uci_section * pSec = nullptr; if(UCI_OK != uci_add_section(get_uci_context(), m_pUciPkg, type.data(), &pSec)) { impl::throw_uci_error(*get_uci_context()); } if( ! name.empty()) { uci_ptr ptr; // Set values to ... something? if(UCI_OK != uci_rename(get_uci_context(), &ptr)) { impl::throw_uci_error(*get_uci_context()); } } return std::make_shared(UciSection::constructor_access(), this->shared_from_this(), pSec); } inline void UciPackage::delete_section(std::string_view name) { assert(false); uci_ptr ptr; // Set values to ... something? if(UCI_OK != uci_delete(get_uci_context(), &ptr)) { impl::throw_uci_error(*get_uci_context()); } } inline void UciPackage::save(void) { if(UCI_OK != uci_save(get_uci_context(), m_pUciPkg)) { impl::throw_uci_error(*get_uci_context()); } } inline void UciPackage::commit(bool overwrite) { if(UCI_OK != uci_commit(get_uci_context(), &m_pUciPkg, overwrite)) { impl::throw_uci_error(*get_uci_context()); } } inline uci_context * UciPackage::UciPackage::get_uci_context(void) { return m_pCtx->get_uci_context(); } //----------------------------------------------------------------------------- // Inlines of UciContext //----------------------------------------------------------------------------- inline UciContext::UciContext(void) : m_pUciCtx(uci_alloc_context()) { assert(nullptr != m_pUciCtx); } inline UciContext::~UciContext(void) { uci_free_context(m_pUciCtx); } inline std::vector UciContext::list_packages(void) { char **configs = nullptr; const impl::ScopeGuard configGuard([&configs](void){ free(configs); }); if((UCI_OK != uci_list_configs(m_pUciCtx, &configs)) || ! configs) { impl::throw_uci_error(*m_pUciCtx); } std::vector configvect; for(char ** p = configs; *p; ++p) { configvect.emplace_back(*p); } return configvect; } inline std::shared_ptr UciContext::load_package(std::string_view name) { // TODO: It would be ideal if there was a way to ensure a UciPackage loaded twice had the // same lifetime. probably need a std::map>; impl::assert_nul_terminated(name); uci_package * pUciPkg = nullptr; if(UCI_OK != uci_load(m_pUciCtx, name.data(), &pUciPkg) || ! pUciPkg) { impl::throw_uci_error(*m_pUciCtx); } return std::make_shared(UciPackage::constructor_access(), this->shared_from_this(), pUciPkg); } inline void UciContext::set_save_dir(std::string_view dir) { impl::assert_nul_terminated(dir); if(UCI_OK != uci_set_savedir(m_pUciCtx, dir.data())) { impl::throw_uci_error(*m_pUciCtx); } } inline void UciContext::set_config_dir(std::string_view dir) { impl::assert_nul_terminated(dir); if(UCI_OK != uci_set_confdir(m_pUciCtx, dir.data())) { impl::throw_uci_error(*m_pUciCtx); } } inline void UciContext::add_delta_path(std::string_view dir) { impl::assert_nul_terminated(dir); if(UCI_OK != uci_add_delta_path(m_pUciCtx, dir.data())) { impl::throw_uci_error(*m_pUciCtx); } } inline void UciContext::set_backend(std::string_view backend) { impl::assert_nul_terminated(backend); if(UCI_OK != uci_set_backend(m_pUciCtx, backend.data())) { impl::throw_uci_error(*m_pUciCtx); } } inline uci_context * UciContext::get_uci_context(void) { return m_pUciCtx; } } // namespace libucixx #endif // LIBUCIXX_PARSE_UCI_CONFIG_FILE_H_A2CD8106_1003_4A6D_9A46_4A128EA83262 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at meshplusplus.com Wed Jun 3 14:33:51 2020 From: mike at meshplusplus.com (Michael Jones) Date: Wed, 3 Jun 2020 13:33:51 -0500 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile In-Reply-To: References: Message-ID: On Wed, Jun 3, 2020 at 6:42 AM Stan Grishin wrote: > Implement service list-enabled and service list-disabled to provide an > easy way > for users to list enabled/disabled services from CLI. > > Signed-off-by: Stan Grishin > --- > package/base-files/files/etc/profile | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/package/base-files/files/etc/profile > b/package/base-files/files/etc/profile > index 0beff1608f..e8350cfd6a 100644 > --- a/package/base-files/files/etc/profile > +++ b/package/base-files/files/etc/profile > @@ -38,3 +38,24 @@ in order to prevent unauthorized SSH logins. > -------------------------------------------------- > EOF > fi > + > +service() { > + if [ "$1" = "list-enabled" ]; then > + for F in /etc/init.d/* ; do > + $F enabled && echo "$F enabled" > + done; > + elif [ "$1" = "list-disabled" ]; then > + for F in /etc/init.d/* ; do > + $F enabled || echo "$F disabled" > + done; > + elif [ -f "/etc/init.d/$1" ]; then > + /etc/init.d/$@ > + else > + echo "Usage: service > list-disabled|list-enabled| [command]" > + if [ -n "$1" ]; then > + echo "service "'"'"$1"'"'" not found, the > following services are available:" > + ls "/etc/init.d" > + fi > + return 1 > + fi > +} > -- > 2.25.1 > > Could you provide examples of how this would be used? What about "list-start" and "list-stop" as well? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Wed Jun 3 14:42:22 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Wed, 3 Jun 2020 20:42:22 +0200 Subject: [OpenWrt-Devel] [PATCH] mvebu: drop WiFi migration script Message-ID: <20200603184222.14201-1-freifunk@adrianschmutzler.de> From: DENG Qingfang This migration script is meant for migration between 17.01 and newer releases. Since 17.01 is EOL for quite some time already, let's just drop it. Signed-off-by: DENG Qingfang [extend commit message] Signed-off-by: Adrian Schmutzler --- .../ieee80211/00-wifi-config-migrate | 41 ------------------- 1 file changed, 41 deletions(-) delete mode 100644 target/linux/mvebu/base-files/etc/hotplug.d/ieee80211/00-wifi-config-migrate diff --git a/target/linux/mvebu/base-files/etc/hotplug.d/ieee80211/00-wifi-config-migrate b/target/linux/mvebu/base-files/etc/hotplug.d/ieee80211/00-wifi-config-migrate deleted file mode 100644 index a8173b3117..0000000000 --- a/target/linux/mvebu/base-files/etc/hotplug.d/ieee80211/00-wifi-config-migrate +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -# The pcie-controller device was renamed to pcie in Linux kernel 4.14 -# commit 28fbb9c539e2 ("ARM: dts: marvell: fix PCI bus dtc warnings"). -# This script migrates the path in the UCI configuration from the old -# name to the new name and also back, when am upgrade or downgrade is -# done. It checks if the name exists before changing the configuration. -# This has to be done before the 10-wifi-detect script from mac80211 is -# executed because this would add the devices again under the new path -# name. - -. /lib/functions.sh - -PATH_CHANGED=0 - -rename_wifi_path() { - local path_old=$(uci get wireless.${1}.path) - local path_new=$(echo ${path_old} | sed "${2}") - - if [ -e "/sys/devices/platform/${path_new}" ] && [ ${path_old} != ${path_new} ] - then - uci set wireless.${1}.path=${path_new} - PATH_CHANGED=1 - fi -} - -rename_wifi_path_list() { - # migration from kernel 4.9 to 4.14 - rename_wifi_path $1 "s/soc:pcie-controller/soc:pcie/" - # migration from kernel 4.14 to 4.9 - rename_wifi_path $1 "s/soc:pcie/soc:pcie-controller/" -} - -[ "${ACTION}" = "add" ] && { - [ ! -e /etc/config/wireless ] && return - - config_load wireless - config_foreach rename_wifi_path_list wifi-device - - [ "$PATH_CHANGED" = "1" ] && uci commit wireless -} -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From tharvey at gateworks.com Wed Jun 3 16:16:17 2020 From: tharvey at gateworks.com (Tim Harvey) Date: Wed, 3 Jun 2020 13:16:17 -0700 Subject: [OpenWrt-Devel] [PATCH v2 2/2] octeontx: enable Cavium CPT and ZIP drivers In-Reply-To: References: <1591117502-28100-1-git-send-email-tharvey@gateworks.com> <1591117502-28100-2-git-send-email-tharvey@gateworks.com> Message-ID: On Tue, Jun 2, 2020 at 3:21 PM Hauke Mehrtens wrote: > > On 6/2/20 7:05 PM, Tim Harvey wrote: > > The CPT module requires firmware which we add here as well. > > > > Signed-off-by: Tim Harvey > > --- > > v2: added license file for firmware > > --- > > target/linux/octeontx/config-5.4 | 11 +++++++++++ > > target/linux/octeontx/files/firmware/cpt8x-mc-ae.out | Bin 0 -> 9760 bytes > > target/linux/octeontx/files/firmware/cpt8x-mc-se.out | Bin 0 -> 35584 bytes > > target/linux/octeontx/files/firmware/license.txt | 11 +++++++++++ > > 4 files changed, 22 insertions(+) > > create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-ae.out > > create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-se.out > > create mode 100644 target/linux/octeontx/files/firmware/license.txt > > > > diff --git a/target/linux/octeontx/config-5.4 b/target/linux/octeontx/config-5.4 > > index cfb8b19..9fcd12b 100644 > > --- a/target/linux/octeontx/config-5.4 > > +++ b/target/linux/octeontx/config-5.4 > ...... > > @@ -233,6 +239,8 @@ CONFIG_EEPROM_AT24=y > > CONFIG_EFI_EARLYCON=y > > CONFIG_EXT4_FS=y > > CONFIG_EXT4_FS_POSIX_ACL=y > > +CONFIG_EXTRA_FIRMWARE="cpt8x-mc-ae.out cpt8x-mc-se.out" > > +CONFIG_EXTRA_FIRMWARE_DIR="firmware" > > CONFIG_F2FS_FS=y > > CONFIG_F2FS_FS_XATTR=y > > CONFIG_F2FS_STAT_FS=y > .... > > > > diff --git a/target/linux/octeontx/files/firmware/license.txt b/target/linux/octeontx/files/firmware/license.txt > > new file mode 100644 > > index 0000000..531eaba > > --- /dev/null > > +++ b/target/linux/octeontx/files/firmware/license.txt > > Hi, > > I think this is not compatible with the OpenWrt license or at least goes > into a gray area. > > > @@ -0,0 +1,11 @@ > > +Copyright (C) 2019 Marvell International Ltd. > > + > > +The software package is subject to the Marvell binary license that prohibits the > > +licensee to modify the software, in any manner and that prohibits to distribute > > +the software as a stand-alone product. > > Is the distribution in > target/linux/octeontx/files/firmware/cpt8x-mc-se.out not a standalone > product? Hauke, I agree that this is a gray area for sure. I don't like the wording at all either. > You can create a link to https://git.openwrt.org where you can directly > download it when we push it into openwrt master. > I'm not sure what you mean by this. Are you saying we can still push the firmware binaries 'somewhere' on https://git.openwrt.org but not include the build process? > > +Any use of the software, in all or in > > +part, shall not be made subject to or otherwise contaminated by, a copyleft open > > +source license (as defined by the Open Source Initiative), such as without > > +limitation, GNU GPL or LGPL licenses. > > Adding this file in CONFIG_EXTRA_FIRMWARE could be seen as bundeling it > with GPL code. > > The CONFIG_EXTRA_FIRMWARE option says this: > WARNING: If you include additional firmware files into your binary > kernel image that are not available under the terms of the GPL, > then it may be a violation of the GPL to distribute the resulting > image since it combines both GPL and non-GPL work. You should > consult a lawyer of your own before distributing such an image. > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/firmware_loader/Kconfig#n32 > > > +Any software which integrates this code or any part of it thereof, should > > +include in its header the above license. > > We would have to extend the license information for all our octeontx > binaries to add this information. > I can replace this with a patch that enables the cpt driver as a module to make it easier for people to use but they will have to go get firmware and place it in their /lib/firmware on their rootfs this way. > > If this firmware contains cryptography we could also violate some export > control regulation, but normally no one cares. > agreed. Tim _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Wed Jun 3 16:55:07 2020 From: rosenp at gmail.com (Rosen Penev) Date: Wed, 3 Jun 2020 13:55:07 -0700 Subject: [OpenWrt-Devel] [PATCH 1/2] libcxxabi: add In-Reply-To: References: <20200602225338.2234702-1-rosenp@gmail.com> Message-ID: On Wed, Jun 3, 2020 at 1:33 PM Ian Cooper wrote: > Use Reply All to get this posted to the mailing list. > > I got your libcxx-abi compiled. I just put together a quick hack so I didn't have to create new package makefiles for llvm-project or worry too much about versions in the name of the libcxx source, so it's up to you to create the dependencies and make sure the sources are available in the right location at package build time. > > It needs the llvm-project source and location of the libcxx source and includes. The llvm-project source is a gigantic 2GB git repo. That's a no go. > > $ du -h -d 1 . > 2.0G ./llvm-project > > Adding the three lines at the bottom to the CMAKE_OPTIONS got it to compile. > > CMAKE_OPTIONS += \ > -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ > -DLIBCXXABI_ENABLE_PEDANTIC=OFF \ > -DLIBCXXABI_ENABLE_PIC=ON \ > -DLIBCXXABI_ENABLE_WERROR=OFF \ > -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \ > -DLIBCXXABI_USE_COMPILER_RT=OFF \ > -DLIBCXXABI_ENABLE_THREADS=ON \ > -DLIBCXXABI_HAS_PTHREAD_API=ON \ > -DLIBCXXABI_INCLUDE_TESTS=OFF \ > -DLIBCXXABI_LIBDIR_SUFFIX="" \ > -DLIBCXXABI_INSTALL_LIBRARY=ON \ > -DLIBCXXABI_ENABLE_SHARED=OFF \ > -DLLVM_PATH=$(TOPDIR)/ian/llvm-project \ I don't think this is needed. > -DLIBCXXABI_LIBCXX_SRC_DIR=$(BUILD_DIR)/libcxx-10.0.0.src \ > -DLIBCXXABI_LIBCXX_INCLUDES=$(BUILD_DIR)/libcxx-10.0.0.src/include This sounds like it can work. However, libcxx depends on libcxxabi. I think the way to get around this is to make a junk HostBuild that places the headers in staging_dir. > > > > -----Original Message----- > > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > > On Behalf Of Rosen Penev > > Sent: 02 June 2020 23:54 > > To: openwrt-devel at lists.openwrt.org > > Subject: [OpenWrt-Devel] [PATCH 1/2] libcxxabi: add > > > > This will be used for libcxx. > > > > Signed-off-by: Rosen Penev > > --- > > package/libs/libcxxabi/Makefile | 64 > > +++++++++++++++++++++++++++++++++ > > 1 file changed, 64 insertions(+) > > create mode 100644 package/libs/libcxxabi/Makefile > > > > diff --git a/package/libs/libcxxabi/Makefile b/package/libs/libcxxabi/Makefile > > new file mode 100644 index 0000000000..bde77c250a > > --- /dev/null > > +++ b/package/libs/libcxxabi/Makefile > > @@ -0,0 +1,64 @@ > > + > > +# > > +# This is free software, licensed under the GNU General Public License v2. > > +# See /LICENSE for more information. > > +# > > + > > +include $(TOPDIR)/rules.mk > > + > > +PKG_NAME:=libcxxabi > > +PKG_VERSION:=10.0.0 > > +PKG_RELEASE:=1 > > + > > +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz > > +PKG_SOURCE_URL:=https://github.com/llvm/llvm- > > project/releases/download/ > > +llvmorg-$(PKG_VERSION) > > +PKG_HASH:=e71bac75a88c9dde455ad3f2a2b449bf745eafd41d2d8432253b2 > > 964e0ca1 > > +4e1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src > > + > > +PKG_MAINTAINER:=Rosen Penev > > PKG_LICENSE:=MIT > > +PKG_LICENSE_FILES:=LICENSE.txt > > + > > +PKG_BUILD_PARALLEL:=1 > > +CMAKE_BINARY_SUBDIR:=build > > + > > +include $(INCLUDE_DIR)/package.mk > > +include $(INCLUDE_DIR)/cmake.mk > > + > > +define Package/libcxxabi > > + SECTION:=libs > > + CATEGORY:=Libraries > > + TITLE:=LLVM lib++abi > > + URL:=https://libcxxabi.llvm.org/ > > + DEPENDS:=+libpthread > > + BUILDONLY:=1 > > +endef > > + > > +define Package/libcxxabi/description > > + libc++abi is a new implementation of low level support for a standard C++ > > library. > > +endef > > + > > +CMAKE_OPTIONS += \ > > + -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ > > + -DLIBCXXABI_ENABLE_PEDANTIC=OFF \ > > + -DLIBCXXABI_ENABLE_PIC=ON \ > > + -DLIBCXXABI_ENABLE_WERROR=OFF \ > > + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \ > > + -DLIBCXXABI_USE_COMPILER_RT=OFF \ > > + -DLIBCXXABI_ENABLE_THREADS=ON \ > > + -DLIBCXXABI_HAS_PTHREAD_API=ON \ > > + -DLIBCXXABI_INCLUDE_TESTS=OFF \ > > + -DLIBCXXABI_LIBDIR_SUFFIX="" \ > > + -DLIBCXXABI_INSTALL_LIBRARY=ON \ > > + -DLIBCXXABI_ENABLE_SHARED=OFF > > + > > +TARGET_CXXFLAGS += -flto > > +TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed > > + > > +define Build/InstallDev > > + $(call Build/InstallDev/cmake,$(1)) > > + $(INSTALL_DIR) $(1)/usr/include/ > > + $(INSTALL_DATA) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/ > > endef > > + > > +$(eval $(call BuildPackage,libcxxabi)) > > -- > > 2.26.2 > > > > > > _______________________________________________ > > openwrt-devel mailing list > > openwrt-devel at lists.openwrt.org > > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Wed Jun 3 18:48:04 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Thu, 04 Jun 2020 00:48:04 +0200 Subject: [OpenWrt-Devel] [PATCH 1/4] bcm63xx: kernel: add BCM63167 cpuid variant Message-ID: <27337945.e8MvIYFJh0@tool> The BCM63167 is a BCM63268 SoC with a different physical packaging. Add the CPU ID to allow supporting routers with this SoC (i.e Sercomm H500-s) Signed-off-by: Daniel Gonz?lez Cabanelas --- ...IPS-BCM63XX-add-support-for-BCM63268.patch | 18 ++++++++------ ...MIPS-BCM63XX-add-support-for-BCM6318.patch | 10 ++++---- .../431-MIPS-BCM63XX-add-nand-rset.patch | 24 +++++++++---------- 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch index efd5f10534..aba4b9415a 100644 --- a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch +++ b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch @@ -242,10 +242,11 @@ Signed-off-by: Jonas Gorski switch (bcm63xx_cpu_id) { case BCM3368_CPU_ID: -@@ -400,6 +442,15 @@ void __init bcm63xx_cpu_init(void) +@@ -400,6 +442,16 @@ void __init bcm63xx_cpu_init(void) /* BCM6369 is a BCM6368 without xDSL, so treat it the same */ bcm63xx_cpu_id = BCM6368_CPU_ID; break; ++ case BCM63167_CPU_ID: + case BCM63168_CPU_ID: + case BCM63169_CPU_ID: + case BCM63268_CPU_ID: @@ -353,10 +354,11 @@ Signed-off-by: Jonas Gorski return 0; --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -22,6 +22,10 @@ +@@ -22,6 +22,11 @@ #define BCM6362_CPU_ID 0x6362 #define BCM6368_CPU_ID 0x6368 #define BCM6369_CPU_ID 0x6369 ++#define BCM63167_CPU_ID 0x63167 +#define BCM63168_CPU_ID 0x63168 +#define BCM63169_CPU_ID 0x63169 +#define BCM63268_CPU_ID 0x63268 @@ -364,7 +366,7 @@ Signed-off-by: Jonas Gorski void __init bcm63xx_cpu_init(void); u32 bcm63xx_get_cpu_variant(void); -@@ -62,6 +66,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -62,6 +67,10 @@ static inline u32 __pure __bcm63xx_get_c #ifdef CONFIG_BCM63XX_CPU_6368 case BCM6368_CPU_ID: #endif @@ -375,7 +377,7 @@ Signed-off-by: Jonas Gorski break; default: unreachable(); -@@ -87,6 +95,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -87,6 +96,7 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_IS_6358() (bcm63xx_get_cpu_id() == BCM6358_CPU_ID) #define BCMCPU_IS_6362() (bcm63xx_get_cpu_id() == BCM6362_CPU_ID) #define BCMCPU_IS_6368() (bcm63xx_get_cpu_id() == BCM6368_CPU_ID) @@ -383,10 +385,12 @@ Signed-off-by: Jonas Gorski #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) -@@ -110,6 +119,14 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -110,6 +120,16 @@ static inline u32 __pure bcm63xx_get_cpu (bcm63xx_get_cpu_variant() == BCM6368_CPU_ID) #define BCMCPU_VARIANT_IS_6369() \ (bcm63xx_get_cpu_variant() == BCM6369_CPU_ID) ++#define BCMCPU_VARIANT_IS_63167() \ ++ (bcm63xx_get_cpu_variant() == BCM63167_CPU_ID) +#define BCMCPU_VARIANT_IS_63168() \ + (bcm63xx_get_cpu_variant() == BCM63168_CPU_ID) +#define BCMCPU_VARIANT_IS_63169() \ @@ -398,7 +402,7 @@ Signed-off-by: Jonas Gorski /* * While registers sets are (mostly) the same across 63xx CPU, base -@@ -574,6 +591,52 @@ enum bcm63xx_regs_set { +@@ -574,6 +594,52 @@ enum bcm63xx_regs_set { #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -451,7 +455,7 @@ Signed-off-by: Jonas Gorski extern const unsigned long *bcm63xx_regs_base; -@@ -1042,6 +1105,73 @@ enum bcm63xx_irq { +@@ -1042,6 +1108,73 @@ enum bcm63xx_irq { #define BCM_6368_EXT_IRQ4 (IRQ_INTERNAL_BASE + 24) #define BCM_6368_EXT_IRQ5 (IRQ_INTERNAL_BASE + 25) diff --git a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch index 5b05fa6bd5..a022f8c5f0 100644 --- a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch +++ b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch @@ -327,7 +327,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCM6328_CPU_ID 0x6328 #define BCM63281_CPU_ID 0x63281 #define BCM63283_CPU_ID 0x63283 -@@ -39,6 +40,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -40,6 +41,10 @@ static inline u32 __pure __bcm63xx_get_c case BCM3368_CPU_ID: #endif @@ -338,7 +338,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #ifdef CONFIG_BCM63XX_CPU_6328 case BCM6328_CPU_ID: #endif -@@ -88,6 +93,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -89,6 +94,7 @@ static inline u32 __pure bcm63xx_get_cpu } #define BCMCPU_IS_3368() (bcm63xx_get_cpu_id() == BCM3368_CPU_ID) @@ -346,7 +346,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_IS_6328() (bcm63xx_get_cpu_id() == BCM6328_CPU_ID) #define BCMCPU_IS_6338() (bcm63xx_get_cpu_id() == BCM6338_CPU_ID) #define BCMCPU_IS_6345() (bcm63xx_get_cpu_id() == BCM6345_CPU_ID) -@@ -99,6 +105,8 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -100,6 +106,8 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) @@ -355,7 +355,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_VARIANT_IS_63281() \ (bcm63xx_get_cpu_variant() == BCM63281_CPU_ID) #define BCMCPU_VARIANT_IS_63283() \ -@@ -253,6 +261,56 @@ enum bcm63xx_regs_set { +@@ -256,6 +264,56 @@ enum bcm63xx_regs_set { #define BCM_3368_MISC_BASE (0xdeadbeef) /* @@ -412,7 +412,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 * 6328 register sets base address */ #define BCM_6328_DSL_LMEM_BASE (0xdeadbeef) -@@ -775,6 +833,55 @@ enum bcm63xx_irq { +@@ -778,6 +836,55 @@ enum bcm63xx_irq { #define BCM_3368_EXT_IRQ2 (IRQ_INTERNAL_BASE + 27) #define BCM_3368_EXT_IRQ3 (IRQ_INTERNAL_BASE + 28) diff --git a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch index 1172b23197..090ffeb43c 100644 --- a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch +++ b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch @@ -1,6 +1,6 @@ --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -181,7 +181,8 @@ enum bcm63xx_regs_set { +@@ -184,7 +184,8 @@ enum bcm63xx_regs_set { RSET_PCMDMAC, RSET_PCMDMAS, RSET_RNG, @@ -10,7 +10,7 @@ }; #define RSET_DSL_LMEM_SIZE (64 * 1024 * 4) -@@ -259,6 +260,7 @@ enum bcm63xx_regs_set { +@@ -262,6 +263,7 @@ enum bcm63xx_regs_set { #define BCM_3368_PCMDMAS_BASE (0xdeadbeef) #define BCM_3368_RNG_BASE (0xdeadbeef) #define BCM_3368_MISC_BASE (0xdeadbeef) @@ -18,7 +18,7 @@ /* * 6318 register sets base address -@@ -306,6 +308,7 @@ enum bcm63xx_regs_set { +@@ -309,6 +311,7 @@ enum bcm63xx_regs_set { #define BCM_6318_PCMDMAS_BASE (0xdeadbeef) #define BCM_6318_RNG_BASE (0xdeadbeef) #define BCM_6318_MISC_BASE (0xb0000280) @@ -26,7 +26,7 @@ #define BCM_6318_OTP_BASE (0xdeadbeef) #define BCM_6318_STRAP_BASE (0xb0000900) -@@ -356,6 +359,7 @@ enum bcm63xx_regs_set { +@@ -359,6 +362,7 @@ enum bcm63xx_regs_set { #define BCM_6328_PCMDMAS_BASE (0xdeadbeef) #define BCM_6328_RNG_BASE (0xdeadbeef) #define BCM_6328_MISC_BASE (0xb0001800) @@ -34,7 +34,7 @@ #define BCM_6328_OTP_BASE (0xb0000600) /* -@@ -405,6 +409,7 @@ enum bcm63xx_regs_set { +@@ -408,6 +412,7 @@ enum bcm63xx_regs_set { #define BCM_6338_PCMDMAS_BASE (0xdeadbeef) #define BCM_6338_RNG_BASE (0xdeadbeef) #define BCM_6338_MISC_BASE (0xdeadbeef) @@ -42,7 +42,7 @@ /* * 6345 register sets base address -@@ -453,6 +458,7 @@ enum bcm63xx_regs_set { +@@ -456,6 +461,7 @@ enum bcm63xx_regs_set { #define BCM_6345_PCMDMAS_BASE (0xdeadbeef) #define BCM_6345_RNG_BASE (0xdeadbeef) #define BCM_6345_MISC_BASE (0xdeadbeef) @@ -50,7 +50,7 @@ /* * 6348 register sets base address -@@ -499,6 +505,7 @@ enum bcm63xx_regs_set { +@@ -502,6 +508,7 @@ enum bcm63xx_regs_set { #define BCM_6348_PCMDMAS_BASE (0xdeadbeef) #define BCM_6348_RNG_BASE (0xdeadbeef) #define BCM_6348_MISC_BASE (0xdeadbeef) @@ -58,7 +58,7 @@ /* * 6358 register sets base address -@@ -545,7 +552,7 @@ enum bcm63xx_regs_set { +@@ -548,7 +555,7 @@ enum bcm63xx_regs_set { #define BCM_6358_PCMDMAS_BASE (0xfffe1a00) #define BCM_6358_RNG_BASE (0xdeadbeef) #define BCM_6358_MISC_BASE (0xdeadbeef) @@ -67,7 +67,7 @@ /* * 6362 register sets base address -@@ -593,6 +600,7 @@ enum bcm63xx_regs_set { +@@ -596,6 +603,7 @@ enum bcm63xx_regs_set { #define BCM_6362_PCMDMAS_BASE (0xdeadbeef) #define BCM_6362_RNG_BASE (0xdeadbeef) #define BCM_6362_MISC_BASE (0xb0001800) @@ -75,7 +75,7 @@ #define BCM_6362_NAND_REG_BASE (0xb0000200) #define BCM_6362_NAND_CACHE_BASE (0xb0000600) -@@ -648,6 +656,7 @@ enum bcm63xx_regs_set { +@@ -651,6 +659,7 @@ enum bcm63xx_regs_set { #define BCM_6368_PCMDMAS_BASE (0xb0005c00) #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -83,7 +83,7 @@ /* * 63268 register sets base address -@@ -695,6 +704,7 @@ enum bcm63xx_regs_set { +@@ -698,6 +707,7 @@ enum bcm63xx_regs_set { #define BCM_63268_PCMDMAS_BASE (0xdeadbeef) #define BCM_63268_RNG_BASE (0xdeadbeef) #define BCM_63268_MISC_BASE (0xb0001800) @@ -91,7 +91,7 @@ extern const unsigned long *bcm63xx_regs_base; -@@ -740,6 +750,7 @@ extern const unsigned long *bcm63xx_regs +@@ -743,6 +753,7 @@ extern const unsigned long *bcm63xx_regs [RSET_PCMDMAS] = BCM_## __cpu ##_PCMDMAS_BASE, \ [RSET_RNG] = BCM_## __cpu ##_RNG_BASE, \ [RSET_MISC] = BCM_## __cpu ##_MISC_BASE, \ -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Wed Jun 3 18:48:13 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Thu, 04 Jun 2020 00:48:13 +0200 Subject: [OpenWrt-Devel] [PATCH 2/4] bcm63xx: image: don't add the CFE to the sercomm factory Message-ID: <3608830.1HcjCr2GE9@tool> There is no need to include the CFE bootloader in the Sercomm factory images. There might be a case when this could be useful: - We are running the stock firmware on the first Sercomm image - The second partition storing the botloader was erased (unlikely) Even in this case flashing an image without a bootlader is harmless. Don't include the bootloader in the factory image creation and rid of the risk of flashing factory images with an untested bootloader partition. Signed-off-by: Daniel Gonz?lez Cabanelas --- target/linux/bcm63xx/image/Makefile | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index eb4b78b06a..e57b99391f 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -242,20 +242,8 @@ define Build/cfe-sercomm-part --part-name rootfs_lib \ --part-version $(SERCOMM_VERSION) - rm -rf $@-bootloader - mkdir -p $@-bootloader - cp $(KDIR)/bcm63xx-cfe/$(CFE_RAM_FILE) $@-bootloader/$(CFE_RAM_JFFS2_NAME) - $(call Build/cfe-jffs2,$@-bootloader) - $(call Build/pad-to,$(BLOCKSIZE)) - $(TOPDIR)/scripts/sercomm-partition-tag.py \ - --input-file $@ \ - --output-file $@.bootloader \ - --part-name bootloader \ - --part-version $(SERCOMM_VERSION) - mv $@.kernel_rootfs $@ dd if=$@.rootfs_lib >> $@ - dd if=$@.bootloader >> $@ endef define Build/cfe-sercomm-load -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Wed Jun 3 18:48:18 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Thu, 04 Jun 2020 00:48:18 +0200 Subject: [OpenWrt-Devel] [PATCH 3/4] bcm63xx: image: allow to pass the addr to the NAND kernel header Message-ID: <13459882.VCOgWE8nHm@tool> Not all CFEs will need to relocate the kernel (i.e H500-s), thererefore we'll need to pass a different address and not the LOADER_ENTRY Let to pass the addr to the image creation when neccessary. Signed-off-by: Daniel Gonz?lez Cabanelas --- target/linux/bcm63xx/image/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index e57b99391f..88de71319c 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -196,8 +196,8 @@ define Build/cfe-jffs2-kernel $(TOPDIR)/scripts/cfe-bin-header.py \ --input-file $@ \ --output-file $@-kernel/vmlinux.lz \ - --load-addr $(LOADER_ENTRY) \ - --entry-addr $(LOADER_ENTRY) + --load-addr $(if $(1),$(1),$(LOADER_ENTRY)) \ + --entry-addr $(if $(1),$(1),$(LOADER_ENTRY)) # The JFFS2 partition creation should result in the following # layout: -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Wed Jun 3 18:48:21 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Thu, 04 Jun 2020 00:48:21 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4] bcm63xx: add support for the Sercomm H500-s Message-ID: <4768801.tSdryXJzMK@tool> Sercomm H500-s is an xDSL dual band wireless router based on Broadcom BCM63167 SoC Hardware: SoC: Broadcom BCM63167 CPU: BMIPS4350 V8.0, 400 MHz, 2 cores Flash: NAND 128 MiB RAM: DDR3 128 MiB Ethernet: 4x 10/100/1000 Mbps Switch: BCM53134S Wireless: 802.11b/g/n: BCM435f (integrated) 802.11ac: Quantenna QT3740BC (onboard SoC) USB: 1x 2.0 LEDs/Buttons: 11x / 2x Flash instruction, web UI: 1. Reset to defaults using the reset button if the admin password is unknown 2. Login into the web UI as admin. Address: http://192.168.0.1 User: admin Password: VF-ESad1018 3. Go to Settings -> Firmware Update, and select the Openwrt factory firmware 4. Update the firmware. 5. Wait until it finish, the device will reboot with Openwrt installed on the alternative image partitions keeping the stock firmware in the former. Notes: - The patch also adds support for the lowi version. Only the factory firmware is different. - The integrated Wifi in the Broadcom Soc isn't still supported. - The Quantenna 802.11ac wifi works ok, but needs to be configured with the Quantenna client application. It can't be configured with Luci nor any iw command since it's a separated subsystem linked via ethernet. Signed-off-by: Daniel Gonz?lez Cabanelas --- .../bcm63xx/base-files/etc/board.d/01_leds | 3 + .../bcm63xx/base-files/etc/board.d/02_network | 3 + .../base-files/lib/upgrade/platform.sh | 3 +- .../bcm63xx/dts/bcm63167-sercomm-h500s.dts | 201 ++++++++++++++++++ target/linux/bcm63xx/image/bcm63xx_nand.mk | 53 +++++ .../bcm63xx/patches-5.4/568-board-H500s.patch | 72 +++++++ 6 files changed, 334 insertions(+), 1 deletion(-) create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts create mode 100644 target/linux/bcm63xx/patches-5.4/568-board-H500s.patch diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds b/target/linux/bcm63xx/base-files/etc/board.d/01_leds index 91d67f0c0b..5894108457 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds @@ -100,6 +100,9 @@ sercomm,ad1018) sercomm,ad1018-nor) ucidef_set_led_netdev "wlan0" "WLAN" "AD1018:green:wifi" "wlan0" ;; +sercomm,h500s) + ucidef_set_led_netdev "wan" "WAN" "$model:green:internet" "eth0.2" + ;; telsey,cpva502plus) ucidef_set_led_netdev "lan" "LAN" "CPVA502+:amber:link" "eth0" ;; diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network b/target/linux/bcm63xx/base-files/etc/board.d/02_network index 784af29cb4..30649b3abe 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network @@ -142,6 +142,9 @@ sercomm,ad1018-nor) ucidef_add_switch "switch0" \ "1:lan:3" "2:lan:2" "3:lan:1" "0:wan" "8t at eth0" ;; +sercomm,h500s) + ucidef_add_switch "switch0" "4:lan" "3:wan" "8t at eth0" + ;; sfr,neufbox-6-sercomm-r0) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9t at eth0" diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh index 7d416297dd..cea66f63ef 100644 --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh @@ -69,7 +69,8 @@ platform_do_upgrade() { comtrend,vr-3032u|\ huawei,hg253s-v2|\ netgear,dgnd3700-v2|\ - sercomm,ad1018) + sercomm,ad1018|\ + sercomm,h500s) REQUIRE_IMAGE_METADATA=1 cfe_jffs2_upgrade_tar "$1" ;; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts new file mode 100644 index 0000000000..5a999ef24e --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts @@ -0,0 +1,201 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63268.dtsi" + +#include + +/ { + model = "Sercomm H500-s"; + compatible = "sercomm,h500s", "brcm,bcm63268"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + chosen { + bootargs = "rootfstype=squashfs,ubifs noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 34 1>; + linux,code = ; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 35 1>; + linux,code = ; + debounce-interval = <60>; + }; + }; +}; + +&leds { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + led at 0 { + reg = <0>; + label = "h500s:red:mobile"; + }; + + led at 1 { + reg = <1>; + label = "h500s:green:mobile"; + }; + + led_power_red: led at 8 { + reg = <8>; + label = "h500s:red:power"; + }; + + led at 9 { + reg = <9>; + label = "h500s:green:wifi"; + }; + + led at 12 { + reg = <12>; + label = "h500s:red:phone"; + }; + + led at 13 { + reg = <13>; + label = "h500s:red:wifi"; + }; + + led at 14 { + reg = <14>; + label = "h500s:red:internet"; + }; + + led at 15 { + reg = <15>; + label = "h500s:green:internet"; + }; + + led at 16 { + reg = <16>; + label = "h500s:green:phone"; + }; + + led_power_green: led at 17 { + reg = <17>; + label = "h500s:green:power"; + default-state = "on"; + }; + + led at 23 { + reg = <23>; + label = "h500s:blue:mobile"; + }; +}; + +&nflash { + status = "ok"; + + nandcs at 0 { + compatible = "brcm,nandcs"; + reg = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_nand>; + + nand-on-flash-bbt; + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + brcm,nand-oob-sector-size = <64>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "cferom"; + reg = <0x0000000 0x0020000>; /* 128 KiB */ + read-only; + }; + + partition at 20000 { + label = "part_map"; + reg = <0x0020000 0x00a0000>; /* 640 KiB */ + read-only; + }; + + partition at c0000 { + label = "cferam1"; + reg = <0x00c0000 0x0140000>; /* 1280 KiB */ + read-only; + }; + + partition at 200000 { + label = "cferam2"; + reg = <0x0200000 0x0140000>; /* 1280 KiB */ + read-only; + }; + + partition at 6920000 { + label = "bootflag1"; + reg = <0x6920000 0x0140000>; /* 1280 KiB */ + }; + + partition at 6a60000 { + label = "bootflag2"; + reg = <0x6a60000 0x0140000>; /* 1280 KiB */ + }; + + partition at 520000 { + compatible = "sercomm,wfi"; + label = "wfi"; + reg = <0x0520000 0x6400000>; /* 2 images, 97152 KiB */ + }; + + partition at 6ba0000 { + label = "xml_cfg"; + reg = <0x6ba0000 0x0280000>; /* 2560 KiB */ + read-only; + }; + + partition at 6e20000 { + label = "app_data"; + reg = <0x6e20000 0x0280000>; /* 2560 KiB */ + read-only; + }; + }; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio0", "gpio1", "gpio8", "gpio9", + "gpio12", "gpio13", "gpio14", "gpio15", + "gpio16", "gpio17", "gpio23"; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk b/target/linux/bcm63xx/image/bcm63xx_nand.mk index 74f23f52af..5cc3f34f0c 100644 --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk @@ -150,3 +150,56 @@ define Device/sercomm_ad1018 SERCOMM_VERSION := 1001 endef TARGET_DEVICES += sercomm_ad1018 + +define Device/sercomm_h500s + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + IMAGES := factory.img sysupgrade.bin + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(B43_PACKAGES) $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500s + +define Device/sercomm_h500s_lowi + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s lowi + DEVICE_DTS := bcm63167-sercomm-h500s + IMAGES := factory.img sysupgrade.bin + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(B43_PACKAGES) $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500s_lowi diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch new file mode 100644 index 0000000000..f14e29bfba --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch @@ -0,0 +1,72 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -2867,10 +2867,45 @@ + }, + + }, + }, + }; ++ ++static struct board_info __initdata board_H500s = { ++ .name = "BXK00C-1.6", ++ .expected_cpu_id = 0x63268, ++ ++ .has_pci = 0, ++ .use_fallback_sprom = 0, ++ ++ .has_ehci0 = 1, ++ .has_ohci0 = 1, ++ .num_usbh_ports = 1, ++ ++ .has_enetsw = 1, ++ ++ .enetsw = { ++ .used_ports = { ++ [3] = { ++ .used = 1, ++ .phy_id = 12, ++ .name = "WAN", ++ }, ++ ++ [4] = { ++ .used = 1, ++ .phy_id = 0, ++ .bypass_link = 1, ++ .force_speed = 1000, ++ .force_duplex_full = 1, ++ .mii_override = 1, ++ .timing_sel = 1, ++ .name = "RGMII", ++ }, ++ }, ++ }, ++}; + #endif /* CONFIG_BCM63XX_CPU_63268 */ + + /* + * all boards + */ +@@ -2981,10 +3016,11 @@ + &board_963269bhr, + &board_VG8050, + &board_VR3032u, + &board_vw6339gu, + &board_BSKYB_63168, ++ &board_H500s, + #endif + }; + + static struct of_device_id const bcm963xx_boards_dt[] = { + #ifdef CONFIG_OF +@@ -3099,10 +3135,11 @@ + { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, }, + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, ++ { .compatible = "sercomm,h500s", .data = &board_H500s, }, + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, + #endif + #endif /* CONFIG_OF */ + { }, + }; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stangri at melmac.net Wed Jun 3 19:21:42 2020 From: stangri at melmac.net (Stan Grishin) Date: Wed, 3 Jun 2020 16:21:42 -0700 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile In-Reply-To: References: Message-ID: To obtain the list of enabled (for autostart) services, you'd type service list-enabled. For disabled services service list-disabled. It is useful when you need to quickly check which services are enabled/disabled or when helping other users troubleshoot. An alternative to list-enabled/list-disabled that I have considered was to output the enabled status of available services below the usage output, ie replace: if [ -n "$1" ]; then echo "service "'"'"$1"'"'" not found, the following services are available:" ls "/etc/init.d" fi with if [ -n "$1" ]; then echo "service "'"'"$1"'"'" not found, the following services are available:" for F in /etc/init.d/* ; do $F enabled && echo "$F (autostart enabled)" || echo "$F (autostart **disabled**)" done; fi Please elaborate on the list-start and list-stop question, I'm not sure I understand the purpose of those. On Wed, Jun 3, 2020 at 11:34 AM Michael Jones wrote: > > > > On Wed, Jun 3, 2020 at 6:42 AM Stan Grishin wrote: >> >> Implement service list-enabled and service list-disabled to provide an easy way >> for users to list enabled/disabled services from CLI. >> >> Signed-off-by: Stan Grishin >> --- >> package/base-files/files/etc/profile | 21 +++++++++++++++++++++ >> 1 file changed, 21 insertions(+) >> >> diff --git a/package/base-files/files/etc/profile >> b/package/base-files/files/etc/profile >> index 0beff1608f..e8350cfd6a 100644 >> --- a/package/base-files/files/etc/profile >> +++ b/package/base-files/files/etc/profile >> @@ -38,3 +38,24 @@ in order to prevent unauthorized SSH logins. >> -------------------------------------------------- >> EOF >> fi >> + >> +service() { >> + if [ "$1" = "list-enabled" ]; then >> + for F in /etc/init.d/* ; do >> + $F enabled && echo "$F enabled" >> + done; >> + elif [ "$1" = "list-disabled" ]; then >> + for F in /etc/init.d/* ; do >> + $F enabled || echo "$F disabled" >> + done; >> + elif [ -f "/etc/init.d/$1" ]; then >> + /etc/init.d/$@ >> + else >> + echo "Usage: service >> list-disabled|list-enabled| [command]" >> + if [ -n "$1" ]; then >> + echo "service "'"'"$1"'"'" not found, the >> following services are available:" >> + ls "/etc/init.d" >> + fi >> + return 1 >> + fi >> +} >> -- >> 2.25.1 >> > > Could you provide examples of how this would be used? > > What about "list-start" and "list-stop" as well? _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ianchi74 at outlook.com Wed Jun 3 19:38:30 2020 From: ianchi74 at outlook.com (Adrian Panella) Date: Wed, 3 Jun 2020 23:38:30 +0000 Subject: [OpenWrt-Devel] Subject: [PATCH 1/1] blobmsg_json: allow to add full json files In-Reply-To: <20200603100320.GA3056@meh.true.cz> References: <20200603100320.GA3056@meh.true.cz> Message-ID: Hi, Is there any documentation on the testing infrastructure being used, and what kind of unit test are expected. I couldn't find any guide on the wiki, and I'm more familiarized with the Node JS based workflows, and if there is some guide it will be faster than going thru the code. If you point me in the right direction I can add the corresponding tests. Adri?n -----Original Message----- From: Petr ?tetiar Sent: mi?rcoles, 3 de junio de 2020 05:03 a. m. To: Adrian Panella Cc: openwrt-devel at lists.openwrt.org Subject: Re: [OpenWrt-Devel] Subject: [PATCH 1/1] blobmsg_json: allow to add full json files Hi, next time please do: $ git format-patch -s1 --subject-prefix "PATCH libubox" ... as described in https://openwrt.org/submitting-patches Adrian Panella [2020-02-22 20:11:28]: > Current function "blobmsg_add_json_from_file" only adds json file if > it is an object, and it only returns the properties, not a full object attribute. > This version allows to read any valid json file and returns the > complete corresponding attribute. ... > } > whitespace issue > +bool blobmsg_add_json_file(struct blob_buf *b, const char *name, > +const char *file) { > + struct json_object *obj; > + bool ret; > + whitespace issue Apart from this whitespace nitpicks which I could fix by myself as well, I would like to ask you for adding test case under tests directory for this new function, so we can later assure on CI, that there are no memleaks or other issues in this code and spot any regression later as well. Please note, that test cases are not mandatory, but it is going to help merge your valuable contribution faster :-) Thanks! -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at meshplusplus.com Wed Jun 3 19:53:13 2020 From: mike at meshplusplus.com (Michael Jones) Date: Wed, 3 Jun 2020 18:53:13 -0500 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile In-Reply-To: References: Message-ID: On Wed, Jun 3, 2020 at 6:21 PM Stan Grishin wrote: > To obtain the list of enabled (for autostart) services, you'd type > service list-enabled. For disabled services service list-disabled. It > is useful when you need to quickly check which services are > enabled/disabled or when helping other users troubleshoot. > > An alternative to list-enabled/list-disabled that I have considered > was to output the enabled status of available services below the usage > output, ie replace: > if [ -n "$1" ]; then > echo "service "'"'"$1"'"'" not found, the > following services are available:" > ls "/etc/init.d" > fi > > with > > if [ -n "$1" ]; then > echo "service "'"'"$1"'"'" not found, the > following services are available:" > for F in /etc/init.d/* ; do > $F enabled && echo "$F (autostart enabled)" || > echo "$F (autostart **disabled**)" > done; > fi > > > Please elaborate on the list-start and list-stop question, I'm not > sure I understand the purpose of those. > Originally I asked that question because I misunderstood what the goal of this change was. I thought that you were proposing to add the ability to enable / disable multiple services at the same time, so I was asking about the ability to start / stop multiple services at the same time. It's clear not that's not what you were trying to propose. So instead, what about listing the services that are running, and also listing the services that are configured, but not running? I don't know that that provides a lot of value, so it may not be worth doing. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From setatek at setatek.cn Wed Jun 3 21:53:31 2020 From: setatek at setatek.cn (=?UTF-8?B?Iue9keaYk+W4kOWPt+S4reW/gyI=?=) Date: 03 Jun 2020 18:53:31 -0700 Subject: [OpenWrt-Devel] =?utf-8?b?572R5piT6YKu566x5biQ5Y+35a+G56CB5o+Q?= =?utf-8?b?6YaS?= Message-ID: <20200603185330.AA866E02AC05854A@setatek.cn> An HTML attachment was scrubbed... URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dengqf6 at mail2.sysu.edu.cn Thu Jun 4 00:00:44 2020 From: dengqf6 at mail2.sysu.edu.cn (DENG Qingfang) Date: Thu, 4 Jun 2020 12:00:44 +0800 Subject: [OpenWrt-Devel] [PATCH] ramips: mt7621: refactor set affinity script Message-ID: <20200604040044.5612-1-dengqf6@mail2.sysu.edu.cn> The current one only looks for mt76x2e and mt7603e, and does not work for 2 or more same Wi-Fi chips. Refactor the script to cover those cases. Signed-off-by: DENG Qingfang --- .../mt7621/base-files/etc/init.d/set-irq-affinity | 26 ++++++---------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/target/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity b/target/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity index 9a3afefa5a..c118d928a7 100755 --- a/target/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity +++ b/target/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity @@ -2,30 +2,18 @@ START=99 -get_irq() { - local name="$1" - grep -m 1 "$name" /proc/interrupts | cut -d: -f1 | sed 's, *,,' -} - -set_irq_affinity() { - local name="$1" - local val="$2" - local irq="$(get_irq "$name")" - [ -n "$irq" ] || return - echo "$val" > "/proc/irq/$irq/smp_affinity" -} - start() { if grep -q 'processor.*: 2' /proc/cpuinfo; then - mask1=4 - mask2=8 + mask=4 elif grep -q 'processor.*: 1' /proc/cpuinfo; then - mask1=2 - mask2=2 + mask=2 else return fi - set_irq_affinity mt76x2e $mask1 - set_irq_affinity mt7603e $mask2 + for irq in $(grep "mt76..e" /proc/interrupts | cut -d: -f1 | sed 's, *,,') + do + echo "$mask" > "/proc/irq/$irq/smp_affinity" + [ $mask = 4 ] && mask=8 + done } -- 2.16.6 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dengqf6 at mail2.sysu.edu.cn Thu Jun 4 00:30:19 2020 From: dengqf6 at mail2.sysu.edu.cn (DENG Qingfang) Date: Thu, 4 Jun 2020 12:30:19 +0800 Subject: [OpenWrt-Devel] [PATCH] mvebu: remove Linksys WRT and ClearFog Pro SUPPORTED_DEVICES Message-ID: <20200604043019.6413-1-dengqf6@mail2.sysu.edu.cn> A direct upgrade from previous swconfig version with incompatible settings to DSA will break the internet. Remove SUPPORTED_DEVICES so users cannot upgrade directly. Signed-off-by: DENG Qingfang --- target/linux/mvebu/image/cortexa9.mk | 7 ------- 1 file changed, 7 deletions(-) diff --git a/target/linux/mvebu/image/cortexa9.mk b/target/linux/mvebu/image/cortexa9.mk index 4c7bbcd758..a7b1083ff6 100644 --- a/target/linux/mvebu/image/cortexa9.mk +++ b/target/linux/mvebu/image/cortexa9.mk @@ -65,7 +65,6 @@ define Device/linksys_wrt1200ac DEVICE_ALT0_MODEL := Caiman DEVICE_DTS := armada-385-linksys-caiman DEVICE_PACKAGES += mwlwifi-firmware-88w8864 - SUPPORTED_DEVICES := armada-385-linksys-caiman linksys,caiman endef TARGET_DEVICES += linksys_wrt1200ac @@ -80,7 +79,6 @@ define Device/linksys_wrt1900acs DEVICE_ALT1_MODEL := Shelby DEVICE_DTS := armada-385-linksys-shelby DEVICE_PACKAGES += mwlwifi-firmware-88w8864 - SUPPORTED_DEVICES := armada-385-linksys-shelby linksys,shelby endef TARGET_DEVICES += linksys_wrt1900acs @@ -93,7 +91,6 @@ define Device/linksys_wrt1900ac DEVICE_DTS := armada-xp-linksys-mamba DEVICE_PACKAGES += mwlwifi-firmware-88w8864 KERNEL_SIZE := 3072k - SUPPORTED_DEVICES := armada-xp-linksys-mamba linksys,mamba endef TARGET_DEVICES += linksys_wrt1900ac @@ -105,7 +102,6 @@ define Device/linksys_wrt1900acv2 DEVICE_ALT0_MODEL := Cobra DEVICE_DTS := armada-385-linksys-cobra DEVICE_PACKAGES += mwlwifi-firmware-88w8864 - SUPPORTED_DEVICES := armada-385-linksys-cobra linksys,cobra endef TARGET_DEVICES += linksys_wrt1900acv2 @@ -116,7 +112,6 @@ define Device/linksys_wrt3200acm DEVICE_ALT0_MODEL := Rango DEVICE_DTS := armada-385-linksys-rango DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964 - SUPPORTED_DEVICES := armada-385-linksys-rango linksys,rango endef TARGET_DEVICES += linksys_wrt3200acm @@ -129,7 +124,6 @@ define Device/linksys_wrt32x DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964 KERNEL_SIZE := 3072k KERNEL := kernel-bin | append-dtb - SUPPORTED_DEVICES := armada-385-linksys-venom linksys,venom endef TARGET_DEVICES += linksys_wrt32x @@ -227,7 +221,6 @@ define Device/solidrun_clearfog-pro-a1 IMAGES := sdcard.img.gz IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base - SUPPORTED_DEVICES += armada-388-clearfog armada-388-clearfog-pro UBOOT := clearfog-u-boot-spl.kwb BOOT_SCRIPT := clearfog endef -- 2.16.6 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From noltari at gmail.com Thu Jun 4 03:03:24 2020 From: noltari at gmail.com (=?utf-8?Q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=) Date: Thu, 4 Jun 2020 09:03:24 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4] bcm63xx: add support for the Sercomm H500-s In-Reply-To: <4768801.tSdryXJzMK@tool> References: <4768801.tSdryXJzMK@tool> Message-ID: <4695F8F1-4A65-4E6C-AD5E-8A51AF9650BF@gmail.com> Hi Daniel, Please, find my comments below: > El 4 jun 2020, a las 0:48, Daniel Gonz?lez Cabanelas escribi?: > > Sercomm H500-s is an xDSL dual band wireless router based on Broadcom > BCM63167 SoC > > Hardware: > SoC: Broadcom BCM63167 > CPU: BMIPS4350 V8.0, 400 MHz, 2 cores > Flash: NAND 128 MiB > RAM: DDR3 128 MiB > Ethernet: 4x 10/100/1000 Mbps > Switch: BCM53134S > Wireless: 802.11b/g/n: BCM435f (integrated) > 802.11ac: Quantenna QT3740BC (onboard SoC) > USB: 1x 2.0 > LEDs/Buttons: 11x / 2x > > Flash instruction, web UI: > 1. Reset to defaults using the reset button if the admin password is > unknown > 2. Login into the web UI as admin. > Address: http://192.168.0.1 > User: admin > Password: VF-ESad1018 VF-ESad1018? :P > 3. Go to Settings -> Firmware Update, and select the Openwrt factory > firmware > 4. Update the firmware. > 5. Wait until it finish, the device will reboot with Openwrt installed > on the alternative image partitions keeping the stock firmware in > the former. > > Notes: > - The patch also adds support for the lowi version. Only the factory > firmware is different. > - The integrated Wifi in the Broadcom Soc isn't still supported. > - The Quantenna 802.11ac wifi works ok, but needs to be configured with > the Quantenna client application. It can't be configured with Luci > nor any iw command since it's a separated subsystem linked via > ethernet. > > Signed-off-by: Daniel Gonz?lez Cabanelas > --- > .../bcm63xx/base-files/etc/board.d/01_leds | 3 + > .../bcm63xx/base-files/etc/board.d/02_network | 3 + > .../base-files/lib/upgrade/platform.sh | 3 +- > .../bcm63xx/dts/bcm63167-sercomm-h500s.dts | 201 ++++++++++++++++++ > target/linux/bcm63xx/image/bcm63xx_nand.mk | 53 +++++ > .../bcm63xx/patches-5.4/568-board-H500s.patch | 72 +++++++ > 6 files changed, 334 insertions(+), 1 deletion(-) > create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts > create mode 100644 target/linux/bcm63xx/patches-5.4/568-board-H500s.patch > > diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds b/target/linux/bcm63xx/base-files/etc/board.d/01_leds > index 91d67f0c0b..5894108457 100755 > --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds > +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds > @@ -100,6 +100,9 @@ sercomm,ad1018) > sercomm,ad1018-nor) > ucidef_set_led_netdev "wlan0" "WLAN" "AD1018:green:wifi" "wlan0" > ;; > +sercomm,h500s) > + ucidef_set_led_netdev "wan" "WAN" "$model:green:internet" "eth0.2" > + ;; > telsey,cpva502plus) > ucidef_set_led_netdev "lan" "LAN" "CPVA502+:amber:link" "eth0" > ;; > diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network b/target/linux/bcm63xx/base-files/etc/board.d/02_network > index 784af29cb4..30649b3abe 100755 > --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network > +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network > @@ -142,6 +142,9 @@ sercomm,ad1018-nor) > ucidef_add_switch "switch0" \ > "1:lan:3" "2:lan:2" "3:lan:1" "0:wan" "8t at eth0" > ;; > +sercomm,h500s) > + ucidef_add_switch "switch0" "4:lan" "3:wan" "8t at eth0" > + ;; Here we?re only exposing the internal switch, can we add the external one to the DTS even if it?s commented out? > sfr,neufbox-6-sercomm-r0) > ucidef_add_switch "switch0" \ > "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9t at eth0" > diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > index 7d416297dd..cea66f63ef 100644 > --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > @@ -69,7 +69,8 @@ platform_do_upgrade() { > comtrend,vr-3032u|\ > huawei,hg253s-v2|\ > netgear,dgnd3700-v2|\ > - sercomm,ad1018) > + sercomm,ad1018|\ > + sercomm,h500s) > REQUIRE_IMAGE_METADATA=1 > cfe_jffs2_upgrade_tar "$1" > ;; > diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts > new file mode 100644 > index 0000000000..5a999ef24e > --- /dev/null > +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts > @@ -0,0 +1,201 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Device Tree file for Sercomm H500-s > + * > + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas > + */ > + > +/dts-v1/; > + > +#include "bcm63268.dtsi" > + > +#include > + > +/ { > + model = "Sercomm H500-s"; > + compatible = "sercomm,h500s", "brcm,bcm63268"; > + > + aliases { > + led-boot = &led_power_green; > + led-failsafe = &led_power_red; > + led-running = &led_power_green; > + led-upgrade = &led_power_green; > + }; > + > + chosen { > + bootargs = "rootfstype=squashfs,ubifs noinitrd console=ttyS0,115200"; > + stdout-path = "serial0:115200n8"; > + }; > + > + keys { > + compatible = "gpio-keys-polled"; > + #address-cells = <1>; > + #size-cells = <0>; > + poll-interval = <20>; > + > + wps { > + label = "wps"; > + gpios = <&pinctrl 34 1>; > + linux,code = ; > + debounce-interval = <60>; > + }; > + > + reset { > + label = "reset"; > + gpios = <&pinctrl 35 1>; > + linux,code = ; > + debounce-interval = <60>; > + }; > + }; > +}; > + > +&leds { > + status = "ok"; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_leds>; > + > + led at 0 { > + reg = <0>; > + label = "h500s:red:mobile"; > + }; > + > + led at 1 { > + reg = <1>; > + label = "h500s:green:mobile"; > + }; > + > + led_power_red: led at 8 { > + reg = <8>; > + label = "h500s:red:power"; > + }; > + > + led at 9 { > + reg = <9>; > + label = "h500s:green:wifi"; > + }; > + > + led at 12 { > + reg = <12>; > + label = "h500s:red:phone"; > + }; > + > + led at 13 { > + reg = <13>; > + label = "h500s:red:wifi"; > + }; > + > + led at 14 { > + reg = <14>; > + label = "h500s:red:internet"; > + }; > + > + led at 15 { > + reg = <15>; > + label = "h500s:green:internet"; > + }; > + > + led at 16 { > + reg = <16>; > + label = "h500s:green:phone"; > + }; > + > + led_power_green: led at 17 { > + reg = <17>; > + label = "h500s:green:power"; > + default-state = "on"; > + }; > + > + led at 23 { > + reg = <23>; > + label = "h500s:blue:mobile"; > + }; > +}; > + > +&nflash { > + status = "ok"; > + > + nandcs at 0 { > + compatible = "brcm,nandcs"; > + reg = <0>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_nand>; > + > + nand-on-flash-bbt; > + nand-ecc-strength = <4>; > + nand-ecc-step-size = <512>; > + brcm,nand-oob-sector-size = <64>; > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition at 0 { > + label = "cferom"; > + reg = <0x0000000 0x0020000>; /* 128 KiB */ > + read-only; > + }; > + > + partition at 20000 { > + label = "part_map"; > + reg = <0x0020000 0x00a0000>; /* 640 KiB */ > + read-only; > + }; > + > + partition at c0000 { > + label = "cferam1"; > + reg = <0x00c0000 0x0140000>; /* 1280 KiB */ > + read-only; > + }; > + > + partition at 200000 { > + label = "cferam2"; > + reg = <0x0200000 0x0140000>; /* 1280 KiB */ > + read-only; > + }; > + > + partition at 6920000 { > + label = "bootflag1"; > + reg = <0x6920000 0x0140000>; /* 1280 KiB */ > + }; > + > + partition at 6a60000 { > + label = "bootflag2"; > + reg = <0x6a60000 0x0140000>; /* 1280 KiB */ > + }; > + > + partition at 520000 { > + compatible = "sercomm,wfi"; > + label = "wfi"; > + reg = <0x0520000 0x6400000>; /* 2 images, 97152 KiB */ > + }; > + > + partition at 6ba0000 { > + label = "xml_cfg"; > + reg = <0x6ba0000 0x0280000>; /* 2560 KiB */ > + read-only; > + }; > + > + partition at 6e20000 { > + label = "app_data"; > + reg = <0x6e20000 0x0280000>; /* 2560 KiB */ > + read-only; > + }; > + }; > + }; > +}; > + > +&pinctrl { > + pinctrl_leds: leds { > + function = "led"; > + pins = "gpio0", "gpio1", "gpio8", "gpio9", > + "gpio12", "gpio13", "gpio14", "gpio15", > + "gpio16", "gpio17", "gpio23"; > + }; > +}; > + > +&uart0 { > + status = "ok"; > +}; > diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk b/target/linux/bcm63xx/image/bcm63xx_nand.mk > index 74f23f52af..5cc3f34f0c 100644 > --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk > +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk > @@ -150,3 +150,56 @@ define Device/sercomm_ad1018 > SERCOMM_VERSION := 1001 > endef > TARGET_DEVICES += sercomm_ad1018 > + > +define Device/sercomm_h500s > + $(Device/sercomm-nand) > + DEVICE_VENDOR := Sercomm > + DEVICE_MODEL := H500-s > + IMAGES := factory.img sysupgrade.bin IMAGES is already set to factory.img and sysupgrade.bin, so you can drop this line. > + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) > + CHIP_ID := 63268 > + SOC := bcm63167 > + BLOCKSIZE := 128k > + PAGESIZE := 2048 > + SUBPAGESIZE := 512 > + VID_HDR_OFFSET := 2048 > + DEVICE_PACKAGES += $(B43_PACKAGES) $(USB2_PACKAGES) B43_PACKAGES isn't really needed since internal wifi is not supported. > + SERCOMM_PID := \ > + 30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \ > + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > + SERCOMM_VERSION := 1001 > +endef > +TARGET_DEVICES += sercomm_h500s > + > +define Device/sercomm_h500s_lowi > + $(Device/sercomm-nand) > + DEVICE_VENDOR := Sercomm > + DEVICE_MODEL := H500-s lowi Maybe we could add a DEVICE_VARIANT instead of defining it on the DEVICE_MODEL? DEVICE_VARIANT := Lowi > + DEVICE_DTS := bcm63167-sercomm-h500s > + IMAGES := factory.img sysupgrade.bin IMAGES is already set to factory.img and sysupgrade.bin, so you can drop this line. > + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) > + CHIP_ID := 63268 > + SOC := bcm63167 > + BLOCKSIZE := 128k > + PAGESIZE := 2048 > + SUBPAGESIZE := 512 > + VID_HDR_OFFSET := 2048 > + DEVICE_PACKAGES += $(B43_PACKAGES) $(USB2_PACKAGES) B43_PACKAGES isn't really needed since internal wifi is not supported. > + SERCOMM_PID := \ > + 30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \ > + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > + SERCOMM_VERSION := 1001 > +endef > +TARGET_DEVICES += sercomm_h500s_lowi I think you?re missing LOADER_ENTRY definition for both of the devices, since this device has its CFE loaded at 0x80a0000, which is now the lzma-loader address. You should probably add LOADER_ENTRY := 0x80010000 in order to get working ramdisks on these devices. > diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch > new file mode 100644 > index 0000000000..f14e29bfba > --- /dev/null > +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch > @@ -0,0 +1,72 @@ > +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c > ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c > +@@ -2867,10 +2867,45 @@ > + }, > + > + }, > + }, > + }; > ++ > ++static struct board_info __initdata board_H500s = { > ++ .name = "BXK00C-1.6", > ++ .expected_cpu_id = 0x63268, > ++ > ++ .has_pci = 0, > ++ .use_fallback_sprom = 0, > ++ > ++ .has_ehci0 = 1, > ++ .has_ohci0 = 1, > ++ .num_usbh_ports = 1, > ++ > ++ .has_enetsw = 1, > ++ NIT, can you remove this line? > ++ .enetsw = { > ++ .used_ports = { > ++ [3] = { > ++ .used = 1, > ++ .phy_id = 12, > ++ .name = "WAN", > ++ }, > ++ > ++ [4] = { > ++ .used = 1, > ++ .phy_id = 0, > ++ .bypass_link = 1, > ++ .force_speed = 1000, > ++ .force_duplex_full = 1, > ++ .mii_override = 1, > ++ .timing_sel = 1, > ++ .name = "RGMII", > ++ }, > ++ }, > ++ }, > ++}; > + #endif /* CONFIG_BCM63XX_CPU_63268 */ > + > + /* > + * all boards > + */ > +@@ -2981,10 +3016,11 @@ > + &board_963269bhr, > + &board_VG8050, > + &board_VR3032u, > + &board_vw6339gu, > + &board_BSKYB_63168, > ++ &board_H500s, > + #endif > + }; > + > + static struct of_device_id const bcm963xx_boards_dt[] = { > + #ifdef CONFIG_OF > +@@ -3099,10 +3135,11 @@ > + { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, }, > + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, > + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, > + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, > + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, > ++ { .compatible = "sercomm,h500s", .data = &board_H500s, }, > + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, > + #endif > + #endif /* CONFIG_OF */ > + { }, > + }; > -- > 2.27.0 > > > > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From noltari at gmail.com Thu Jun 4 03:04:36 2020 From: noltari at gmail.com (=?utf-8?Q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=) Date: Thu, 4 Jun 2020 09:04:36 +0200 Subject: [OpenWrt-Devel] [PATCH 2/4] bcm63xx: image: don't add the CFE to the sercomm factory In-Reply-To: <3608830.1HcjCr2GE9@tool> References: <3608830.1HcjCr2GE9@tool> Message-ID: <4EB1FA8F-58E3-479F-BBB4-F0F5EED93273@gmail.com> Ok, I assume it?s safe to drop this, since the bootloader is on a separate partition and all Sercomm devices seem to have both bootloaders available from factory. > El 4 jun 2020, a las 0:48, Daniel Gonz?lez Cabanelas escribi?: > > There is no need to include the CFE bootloader in the Sercomm factory > images. > > There might be a case when this could be useful: > - We are running the stock firmware on the first Sercomm image > - The second partition storing the botloader was erased (unlikely) > Even in this case flashing an image without a bootlader is harmless. > > Don't include the bootloader in the factory image creation and rid of the > risk of flashing factory images with an untested bootloader partition. > > Signed-off-by: Daniel Gonz?lez Cabanelas > --- > target/linux/bcm63xx/image/Makefile | 12 ------------ > 1 file changed, 12 deletions(-) > > diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile > index eb4b78b06a..e57b99391f 100644 > --- a/target/linux/bcm63xx/image/Makefile > +++ b/target/linux/bcm63xx/image/Makefile > @@ -242,20 +242,8 @@ define Build/cfe-sercomm-part > --part-name rootfs_lib \ > --part-version $(SERCOMM_VERSION) > > - rm -rf $@-bootloader > - mkdir -p $@-bootloader > - cp $(KDIR)/bcm63xx-cfe/$(CFE_RAM_FILE) $@-bootloader/$(CFE_RAM_JFFS2_NAME) > - $(call Build/cfe-jffs2,$@-bootloader) > - $(call Build/pad-to,$(BLOCKSIZE)) > - $(TOPDIR)/scripts/sercomm-partition-tag.py \ > - --input-file $@ \ > - --output-file $@.bootloader \ > - --part-name bootloader \ > - --part-version $(SERCOMM_VERSION) > - > mv $@.kernel_rootfs $@ > dd if=$@.rootfs_lib >> $@ > - dd if=$@.bootloader >> $@ > endef > > define Build/cfe-sercomm-load > -- > 2.27.0 > > > > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From koen.vandeputte at ncentric.com Thu Jun 4 03:34:14 2020 From: koen.vandeputte at ncentric.com (Koen Vandeputte) Date: Thu, 4 Jun 2020 09:34:14 +0200 Subject: [OpenWrt-Devel] cns3xxx and kernel 5.4 Message-ID: <5aadf921-9bbb-8f08-2c12-1507c6c6d98e@ncentric.com> Hi All, I've tried to bump this target to kernel 5.4 but failed to do so twice. This target is not DT aware at all and the amount of efforts required to do so are tremendous, which I cannot justify internally here. Giving the facts that: - The huge amount of effort required - The SoC itself reached EoL at Cavium for some time now. - Upstream removed some important parts as it's also slowly getting EoL over there - Internally in the company here, the product that used this will fade out shortly - The amount of download for this binary suggest that the target is not that popular I have decided to not invest more time in this one myself. I would like to propose to either remove it for the next release, or make it source-only for some time excluded from the builds should someone else would like to invest more time in it. Either way, this target is the last one without 5.4 support and it should not delay the process any further. Regards, Koen _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Thu Jun 4 03:39:08 2020 From: mail at adrianschmutzler.de (Adrian Schmutzler) Date: Thu, 4 Jun 2020 09:39:08 +0200 Subject: [OpenWrt-Devel] [PATCH] mvebu: remove Linksys WRT and ClearFog Pro SUPPORTED_DEVICES In-Reply-To: <20200604043019.6413-1-dengqf6@mail2.sysu.edu.cn> References: <20200604043019.6413-1-dengqf6@mail2.sysu.edu.cn> Message-ID: <004901d63a43$3e856e00$bb904a00$@adrianschmutzler.de> Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of DENG Qingfang > Sent: Donnerstag, 4. Juni 2020 06:30 > To: openwrt-devel at lists.openwrt.org > Cc: Adrian Schmutzler ; Tomasz Maciej > Nowak > Subject: [OpenWrt-Devel] [PATCH] mvebu: remove Linksys WRT and > ClearFog Pro SUPPORTED_DEVICES > > A direct upgrade from previous swconfig version with incompatible settings > to DSA will break the internet. > Remove SUPPORTED_DEVICES so users cannot upgrade directly. I plan to apply Paul Spooren's device rename patches for the Linksys devices today or tomorrow, which should achieve the same for these. Best Adrian > > Signed-off-by: DENG Qingfang > --- > target/linux/mvebu/image/cortexa9.mk | 7 ------- > 1 file changed, 7 deletions(-) > > diff --git a/target/linux/mvebu/image/cortexa9.mk > b/target/linux/mvebu/image/cortexa9.mk > index 4c7bbcd758..a7b1083ff6 100644 > --- a/target/linux/mvebu/image/cortexa9.mk > +++ b/target/linux/mvebu/image/cortexa9.mk > @@ -65,7 +65,6 @@ define Device/linksys_wrt1200ac > DEVICE_ALT0_MODEL := Caiman > DEVICE_DTS := armada-385-linksys-caiman > DEVICE_PACKAGES += mwlwifi-firmware-88w8864 > - SUPPORTED_DEVICES := armada-385-linksys-caiman linksys,caiman endef > TARGET_DEVICES += linksys_wrt1200ac > > @@ -80,7 +79,6 @@ define Device/linksys_wrt1900acs > DEVICE_ALT1_MODEL := Shelby > DEVICE_DTS := armada-385-linksys-shelby > DEVICE_PACKAGES += mwlwifi-firmware-88w8864 > - SUPPORTED_DEVICES := armada-385-linksys-shelby linksys,shelby endef > TARGET_DEVICES += linksys_wrt1900acs > > @@ -93,7 +91,6 @@ define Device/linksys_wrt1900ac > DEVICE_DTS := armada-xp-linksys-mamba > DEVICE_PACKAGES += mwlwifi-firmware-88w8864 > KERNEL_SIZE := 3072k > - SUPPORTED_DEVICES := armada-xp-linksys-mamba linksys,mamba endef > TARGET_DEVICES += linksys_wrt1900ac > > @@ -105,7 +102,6 @@ define Device/linksys_wrt1900acv2 > DEVICE_ALT0_MODEL := Cobra > DEVICE_DTS := armada-385-linksys-cobra > DEVICE_PACKAGES += mwlwifi-firmware-88w8864 > - SUPPORTED_DEVICES := armada-385-linksys-cobra linksys,cobra endef > TARGET_DEVICES += linksys_wrt1900acv2 > > @@ -116,7 +112,6 @@ define Device/linksys_wrt3200acm > DEVICE_ALT0_MODEL := Rango > DEVICE_DTS := armada-385-linksys-rango > DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware- > 88w8964 > - SUPPORTED_DEVICES := armada-385-linksys-rango linksys,rango endef > TARGET_DEVICES += linksys_wrt3200acm > > @@ -129,7 +124,6 @@ define Device/linksys_wrt32x > DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware- > 88w8964 > KERNEL_SIZE := 3072k > KERNEL := kernel-bin | append-dtb > - SUPPORTED_DEVICES := armada-385-linksys-venom linksys,venom endef > TARGET_DEVICES += linksys_wrt32x > > @@ -227,7 +221,6 @@ define Device/solidrun_clearfog-pro-a1 > IMAGES := sdcard.img.gz > IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | > append-metadata > DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base > - SUPPORTED_DEVICES += armada-388-clearfog armada-388-clearfog-pro > UBOOT := clearfog-u-boot-spl.kwb > BOOT_SCRIPT := clearfog > endef > -- > 2.16.6 > > > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Thu Jun 4 03:58:20 2020 From: mail at adrianschmutzler.de (Adrian Schmutzler) Date: Thu, 4 Jun 2020 09:58:20 +0200 Subject: [OpenWrt-Devel] [RFC] device compat version Message-ID: <004f01d63a45$ea621820$bf264860$@adrianschmutzler.de> Hi, we regularly encounter the situation that devices are subject to changes that will make them incompatible to previous versions. Removing SUPPORTED_DEVICES will not really be helpful in most of these cases, as this only helps after a rename. An easy way to address this would be the introduction of a DEVICE_COMPAT_VERSION to the build parameters of a device (and to DEVICE_VARS). This could be put into image.mk with a default value of 1, and therefore would be applied to all devices in the tree automatically. It could then be inserted into the image metadata, and effectively lead to a similar comparison (and message) like done for SUPPORTED_DEVICES now. If an incompatible change without migration was introduced (i.e. swconfig->DSA, sector size chance, whatever ...), one could just bump the DEVICE_COMPAT_VERSION in image/Makefile to the next integer only for the affected devices. All older images without a defined compat_version would just be assumed to be "1" or "0". This should provide an easy option to indicate an incompatible change to the user, without having to bloat configuration too much, as most devices will just stick to the default forever. Since I'm not an expert of the sysupgrade mechanics, though, I'd be happy about pointers on whether/how that could be implemented. Best Adrian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Thu Jun 4 04:16:12 2020 From: mail at adrianschmutzler.de (Adrian Schmutzler) Date: Thu, 4 Jun 2020 10:16:12 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4] bcm63xx: add support for the Sercomm H500-s In-Reply-To: <4768801.tSdryXJzMK@tool> References: <4768801.tSdryXJzMK@tool> Message-ID: <005101d63a48$767195a0$6354c0e0$@adrianschmutzler.de> Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Daniel Gonz?lez Cabanelas > Sent: Donnerstag, 4. Juni 2020 00:48 > To: openwrt-devel at lists.openwrt.org > Cc: noltari at gmail.com > Subject: [OpenWrt-Devel] [PATCH 4/4] bcm63xx: add support for the > Sercomm H500-s > > Sercomm H500-s is an xDSL dual band wireless router based on Broadcom > BCM63167 SoC > > Hardware: > SoC: Broadcom BCM63167 > CPU: BMIPS4350 V8.0, 400 MHz, 2 cores > Flash: NAND 128 MiB > RAM: DDR3 128 MiB > Ethernet: 4x 10/100/1000 Mbps > Switch: BCM53134S > Wireless: 802.11b/g/n: BCM435f (integrated) > 802.11ac: Quantenna QT3740BC (onboard SoC) > USB: 1x 2.0 > LEDs/Buttons: 11x / 2x > > Flash instruction, web UI: > 1. Reset to defaults using the reset button if the admin password is > unknown > 2. Login into the web UI as admin. > Address: http://192.168.0.1 > User: admin > Password: VF-ESad1018 > 3. Go to Settings -> Firmware Update, and select the Openwrt factory > firmware > 4. Update the firmware. > 5. Wait until it finish, the device will reboot with Openwrt installed > on the alternative image partitions keeping the stock firmware in > the former. > > Notes: > - The patch also adds support for the lowi version. Only the factory > firmware is different. > - The integrated Wifi in the Broadcom Soc isn't still supported. > - The Quantenna 802.11ac wifi works ok, but needs to be configured with > the Quantenna client application. It can't be configured with Luci > nor any iw command since it's a separated subsystem linked via > ethernet. > > Signed-off-by: Daniel Gonz?lez Cabanelas > --- > .../bcm63xx/base-files/etc/board.d/01_leds | 3 + > .../bcm63xx/base-files/etc/board.d/02_network | 3 + > .../base-files/lib/upgrade/platform.sh | 3 +- > .../bcm63xx/dts/bcm63167-sercomm-h500s.dts | 201 > ++++++++++++++++++ > target/linux/bcm63xx/image/bcm63xx_nand.mk | 53 +++++ > .../bcm63xx/patches-5.4/568-board-H500s.patch | 72 +++++++ > 6 files changed, 334 insertions(+), 1 deletion(-) create mode 100644 > target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts > create mode 100644 target/linux/bcm63xx/patches-5.4/568-board- > H500s.patch > > diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds > b/target/linux/bcm63xx/base-files/etc/board.d/01_leds > index 91d67f0c0b..5894108457 100755 > --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds > +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds > @@ -100,6 +100,9 @@ sercomm,ad1018) > sercomm,ad1018-nor) > ucidef_set_led_netdev "wlan0" "WLAN" "AD1018:green:wifi" > "wlan0" > ;; > +sercomm,h500s) > + ucidef_set_led_netdev "wan" "WAN" "$model:green:internet" > "eth0.2" > + ;; > telsey,cpva502plus) > ucidef_set_led_netdev "lan" "LAN" "CPVA502+:amber:link" "eth0" > ;; > diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network > b/target/linux/bcm63xx/base-files/etc/board.d/02_network > index 784af29cb4..30649b3abe 100755 > --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network > +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network > @@ -142,6 +142,9 @@ sercomm,ad1018-nor) > ucidef_add_switch "switch0" \ > "1:lan:3" "2:lan:2" "3:lan:1" "0:wan" "8t at eth0" > ;; > +sercomm,h500s) > + ucidef_add_switch "switch0" "4:lan" "3:wan" "8t at eth0" > + ;; > sfr,neufbox-6-sercomm-r0) > ucidef_add_switch "switch0" \ > "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9t at eth0" > diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > index 7d416297dd..cea66f63ef 100644 > --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > @@ -69,7 +69,8 @@ platform_do_upgrade() { > comtrend,vr-3032u|\ > huawei,hg253s-v2|\ > netgear,dgnd3700-v2|\ > - sercomm,ad1018) > + sercomm,ad1018|\ > + sercomm,h500s) > REQUIRE_IMAGE_METADATA=1 > cfe_jffs2_upgrade_tar "$1" > ;; > diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts > b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts > new file mode 100644 > index 0000000000..5a999ef24e > --- /dev/null > +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts > @@ -0,0 +1,201 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Device Tree file for Sercomm H500-s > + * > + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas */ > + > +/dts-v1/; > + > +#include "bcm63268.dtsi" > + > +#include > + > +/ { > + model = "Sercomm H500-s"; > + compatible = "sercomm,h500s", "brcm,bcm63268"; If the model name is H500-s, then the compatible, device node name etc. should also be "sercomm,h500-s" > + > + aliases { > + led-boot = &led_power_green; > + led-failsafe = &led_power_red; > + led-running = &led_power_green; > + led-upgrade = &led_power_green; > + }; > + > + chosen { > + bootargs = "rootfstype=squashfs,ubifs noinitrd > console=ttyS0,115200"; > + stdout-path = "serial0:115200n8"; > + }; > + > + keys { > + compatible = "gpio-keys-polled"; > + #address-cells = <1>; > + #size-cells = <0>; > + poll-interval = <20>; > + > + wps { > + label = "wps"; > + gpios = <&pinctrl 34 1>; > + linux,code = ; > + debounce-interval = <60>; > + }; > + > + reset { > + label = "reset"; > + gpios = <&pinctrl 35 1>; > + linux,code = ; > + debounce-interval = <60>; > + }; > + }; > +}; > + > +&leds { > + status = "ok"; ok -> okay > + > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_leds>; > + > + led at 0 { As stated earlier, it's common in OpenWrt to use the relevant parts of the label for the node name, i.e. "mobile_red" or something similar in this case. I noticed that Noltari also used this notation here during a recent change, so maybe he can give an update if the old common syntax shouldn't be used for this setup. > + reg = <0>; > + label = "h500s:red:mobile"; > + }; > + > + led at 1 { > + reg = <1>; > + label = "h500s:green:mobile"; > + }; > + > + led_power_red: led at 8 { > + reg = <8>; > + label = "h500s:red:power"; > + }; > + > + led at 9 { > + reg = <9>; > + label = "h500s:green:wifi"; > + }; > + > + led at 12 { > + reg = <12>; > + label = "h500s:red:phone"; > + }; > + > + led at 13 { > + reg = <13>; > + label = "h500s:red:wifi"; > + }; > + > + led at 14 { > + reg = <14>; > + label = "h500s:red:internet"; > + }; > + > + led at 15 { > + reg = <15>; > + label = "h500s:green:internet"; > + }; > + > + led at 16 { > + reg = <16>; > + label = "h500s:green:phone"; > + }; > + > + led_power_green: led at 17 { > + reg = <17>; > + label = "h500s:green:power"; > + default-state = "on"; > + }; > + > + led at 23 { > + reg = <23>; > + label = "h500s:blue:mobile"; > + }; > +}; > + > +&nflash { > + status = "ok"; okay > + > + nandcs at 0 { > + compatible = "brcm,nandcs"; > + reg = <0>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_nand>; > + > + nand-on-flash-bbt; > + nand-ecc-strength = <4>; > + nand-ecc-step-size = <512>; > + brcm,nand-oob-sector-size = <64>; > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition at 0 { > + label = "cferom"; > + reg = <0x0000000 0x0020000>; /* 128 KiB */ Personally, I don't think the size comments are necessary, and would drop them completely. > + read-only; > + }; > + > + partition at 20000 { > + label = "part_map"; > + reg = <0x0020000 0x00a0000>; /* 640 KiB */ > + read-only; > + }; > + > + partition at c0000 { > + label = "cferam1"; > + reg = <0x00c0000 0x0140000>; /* 1280 KiB */ > + read-only; > + }; > + > + partition at 200000 { > + label = "cferam2"; > + reg = <0x0200000 0x0140000>; /* 1280 KiB */ > + read-only; > + }; > + > + partition at 6920000 { > + label = "bootflag1"; > + reg = <0x6920000 0x0140000>; /* 1280 KiB */ > + }; > + > + partition at 6a60000 { > + label = "bootflag2"; > + reg = <0x6a60000 0x0140000>; /* 1280 KiB */ > + }; > + > + partition at 520000 { > + compatible = "sercomm,wfi"; > + label = "wfi"; > + reg = <0x0520000 0x6400000>; /* 2 images, > 97152 KiB */ > + }; Can somebody enlighten me why this ordering is used (also in other recent patches)? > + > + partition at 6ba0000 { > + label = "xml_cfg"; > + reg = <0x6ba0000 0x0280000>; /* 2560 KiB */ > + read-only; > + }; > + > + partition at 6e20000 { > + label = "app_data"; > + reg = <0x6e20000 0x0280000>; /* 2560 KiB */ > + read-only; > + }; > + }; > + }; > +}; > + > +&pinctrl { > + pinctrl_leds: leds { > + function = "led"; > + pins = "gpio0", "gpio1", "gpio8", "gpio9", > + "gpio12", "gpio13", "gpio14", "gpio15", > + "gpio16", "gpio17", "gpio23"; > + }; > +}; > + > +&uart0 { > + status = "ok"; okay > +}; > diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk > b/target/linux/bcm63xx/image/bcm63xx_nand.mk > index 74f23f52af..5cc3f34f0c 100644 > --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk > +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk > @@ -150,3 +150,56 @@ define Device/sercomm_ad1018 > SERCOMM_VERSION := 1001 > endef > TARGET_DEVICES += sercomm_ad1018 > + > +define Device/sercomm_h500s As stated above, this should be sercomm_h500-s > + $(Device/sercomm-nand) > + DEVICE_VENDOR := Sercomm > + DEVICE_MODEL := H500-s > + IMAGES := factory.img sysupgrade.bin > + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel > +$$(KERNEL_LOADADDR) > + CHIP_ID := 63268 > + SOC := bcm63167 > + BLOCKSIZE := 128k > + PAGESIZE := 2048 > + SUBPAGESIZE := 512 > + VID_HDR_OFFSET := 2048 > + DEVICE_PACKAGES += $(B43_PACKAGES) $(USB2_PACKAGES) > + SERCOMM_PID := \ > + 30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \ > + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > + SERCOMM_VERSION := 1001 > +endef > +TARGET_DEVICES += sercomm_h500s > + > +define Device/sercomm_h500s_lowi Should be sercomm_h500-s-lowi then. > + $(Device/sercomm-nand) > + DEVICE_VENDOR := Sercomm > + DEVICE_MODEL := H500-s lowi I agree with the device variant. > + DEVICE_DTS := bcm63167-sercomm-h500s Classic sysupgrade won't work with this approach (as SUPPORTED_DEVICES would not match compatible here), but I don't think that's relevant for bcm63xx? Personally, I'd prefer a DTSI and separate DTSes for both devices, so the compatible can be matched with the device name. Best Adrian > + IMAGES := factory.img sysupgrade.bin > + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel > +$$(KERNEL_LOADADDR) > + CHIP_ID := 63268 > + SOC := bcm63167 > + BLOCKSIZE := 128k > + PAGESIZE := 2048 > + SUBPAGESIZE := 512 > + VID_HDR_OFFSET := 2048 > + DEVICE_PACKAGES += $(B43_PACKAGES) $(USB2_PACKAGES) > + SERCOMM_PID := \ > + 30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \ > + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > + SERCOMM_VERSION := 1001 > +endef > +TARGET_DEVICES += sercomm_h500s_lowi > diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch > b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch > new file mode 100644 > index 0000000000..f14e29bfba > --- /dev/null > +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch > @@ -0,0 +1,72 @@ > +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c > ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c > +@@ -2867,10 +2867,45 @@ > + }, > + > + }, > + }, > + }; > ++ > ++static struct board_info __initdata board_H500s = { > ++ .name = "BXK00C-1.6", > ++ .expected_cpu_id = 0x63268, > ++ > ++ .has_pci = 0, > ++ .use_fallback_sprom = 0, > ++ > ++ .has_ehci0 = 1, > ++ .has_ohci0 = 1, > ++ .num_usbh_ports = 1, > ++ > ++ .has_enetsw = 1, > ++ > ++ .enetsw = { > ++ .used_ports = { > ++ [3] = { > ++ .used = 1, > ++ .phy_id = 12, > ++ .name = "WAN", > ++ }, > ++ > ++ [4] = { > ++ .used = 1, > ++ .phy_id = 0, > ++ .bypass_link = 1, > ++ .force_speed = 1000, > ++ .force_duplex_full = 1, > ++ .mii_override = 1, > ++ .timing_sel = 1, > ++ .name = "RGMII", > ++ }, > ++ }, > ++ }, > ++}; > + #endif /* CONFIG_BCM63XX_CPU_63268 */ > + > + /* > + * all boards > + */ > +@@ -2981,10 +3016,11 @@ > + &board_963269bhr, > + &board_VG8050, > + &board_VR3032u, > + &board_vw6339gu, > + &board_BSKYB_63168, > ++ &board_H500s, > + #endif > + }; > + > + static struct of_device_id const bcm963xx_boards_dt[] = { #ifdef > +CONFIG_OF @@ -3099,10 +3135,11 @@ > + { .compatible = "brcm,bcm963268bu-p300", .data = > &board_963268bu_p300, }, > + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, > + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, > + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, > + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, > ++ { .compatible = "sercomm,h500s", .data = &board_H500s, }, > + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, #endif > + #endif /* CONFIG_OF */ > + { }, > + }; > -- > 2.27.0 > > > > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From paweldembicki at gmail.com Thu Jun 4 04:31:14 2020 From: paweldembicki at gmail.com (=?UTF-8?Q?Pawe=C5=82_Dembicki?=) Date: Thu, 4 Jun 2020 10:31:14 +0200 Subject: [OpenWrt-Devel] [RFC] device compat version In-Reply-To: <004f01d63a45$ea621820$bf264860$@adrianschmutzler.de> References: <004f01d63a45$ea621820$bf264860$@adrianschmutzler.de> Message-ID: On 04.062020 at 09:58 Adrian Schmutzler wrote: > > Hi, > Hi Adrian, > we regularly encounter the situation that devices are subject to changes > that will make them incompatible to previous versions. > Removing SUPPORTED_DEVICES will not really be helpful in most of these > cases, as this only helps after a rename. > I think about it when kirkwood was migrated to DSA[1] and when was possibility, to broke sysupgrade images in EA3500 and EA4500 [2]. > An easy way to address this would be the introduction of a > DEVICE_COMPAT_VERSION to the build parameters of a device (and to > DEVICE_VARS). > This could be put into image.mk with a default value of 1, and therefore > would be applied to all devices in the tree automatically. It could then be > inserted into the image metadata, and effectively lead to a similar > comparison (and message) like done for SUPPORTED_DEVICES now. > IMO it should have three stages: 1. unconditional sysupgrade 2. sysupgrade -n required 3. no sysupgrade possible Some devices need only new config like switching to DSA [1]. Another need back to stock and reflash with factory [2][3]. > If an incompatible change without migration was introduced (i.e. > swconfig->DSA, sector size chance, whatever ...), one could just bump the > DEVICE_COMPAT_VERSION in image/Makefile to the next integer only for the > affected devices. > All older images without a defined compat_version would just be assumed to > be "1" or "0". > I suggest use X.Y notation. Default will be 1.0. When Y was changed, only sysupgrade -n is possible. When X was changed, only sysupgrade -F should be possible. > This should provide an easy option to indicate an incompatible change to the > user, without having to bloat configuration too much, as most devices will > just stick to the default forever. > > Since I'm not an expert of the sysupgrade mechanics, though, I'd be happy > about pointers on whether/how that could be implemented. > > Best > > Adrian [1] https://github.com/openwrt/openwrt/commit/4fd7e539e4f90128bdd7cb71c729a4b32f5de86e [2] https://github.com/openwrt/openwrt/pull/2977 [3] https://github.com/openwrt/openwrt/commit/1680ae7eae2602dd85463a71f88d0012b236bff7#diff-896e162a6bfaabcbd8f0214d7894109c Best regards, Pawel Dembicki _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From noltari at gmail.com Thu Jun 4 05:12:39 2020 From: noltari at gmail.com (=?utf-8?Q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?=) Date: Thu, 4 Jun 2020 11:12:39 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4] bcm63xx: add support for the Sercomm H500-s In-Reply-To: <005101d63a48$767195a0$6354c0e0$@adrianschmutzler.de> References: <4768801.tSdryXJzMK@tool> <005101d63a48$767195a0$6354c0e0$@adrianschmutzler.de> Message-ID: <82E4B829-47CA-4E55-A7D6-1A30400D43BD@gmail.com> Hi Adrian, > El 4 jun 2020, a las 10:16, Adrian Schmutzler escribi?: > > Hi, > >> -----Original Message----- >> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] >> On Behalf Of Daniel Gonz?lez Cabanelas >> Sent: Donnerstag, 4. Juni 2020 00:48 >> To: openwrt-devel at lists.openwrt.org >> Cc: noltari at gmail.com >> Subject: [OpenWrt-Devel] [PATCH 4/4] bcm63xx: add support for the >> Sercomm H500-s >> >> Sercomm H500-s is an xDSL dual band wireless router based on Broadcom >> BCM63167 SoC >> >> Hardware: >> SoC: Broadcom BCM63167 >> CPU: BMIPS4350 V8.0, 400 MHz, 2 cores >> Flash: NAND 128 MiB >> RAM: DDR3 128 MiB >> Ethernet: 4x 10/100/1000 Mbps >> Switch: BCM53134S >> Wireless: 802.11b/g/n: BCM435f (integrated) >> 802.11ac: Quantenna QT3740BC (onboard SoC) >> USB: 1x 2.0 >> LEDs/Buttons: 11x / 2x >> >> Flash instruction, web UI: >> 1. Reset to defaults using the reset button if the admin password is >> unknown >> 2. Login into the web UI as admin. >> Address: http://192.168.0.1 >> User: admin >> Password: VF-ESad1018 >> 3. Go to Settings -> Firmware Update, and select the Openwrt factory >> firmware >> 4. Update the firmware. >> 5. Wait until it finish, the device will reboot with Openwrt installed >> on the alternative image partitions keeping the stock firmware in >> the former. >> >> Notes: >> - The patch also adds support for the lowi version. Only the factory >> firmware is different. >> - The integrated Wifi in the Broadcom Soc isn't still supported. >> - The Quantenna 802.11ac wifi works ok, but needs to be configured with >> the Quantenna client application. It can't be configured with Luci >> nor any iw command since it's a separated subsystem linked via >> ethernet. >> >> Signed-off-by: Daniel Gonz?lez Cabanelas >> --- >> .../bcm63xx/base-files/etc/board.d/01_leds | 3 + >> .../bcm63xx/base-files/etc/board.d/02_network | 3 + >> .../base-files/lib/upgrade/platform.sh | 3 +- >> .../bcm63xx/dts/bcm63167-sercomm-h500s.dts | 201 >> ++++++++++++++++++ >> target/linux/bcm63xx/image/bcm63xx_nand.mk | 53 +++++ >> .../bcm63xx/patches-5.4/568-board-H500s.patch | 72 +++++++ >> 6 files changed, 334 insertions(+), 1 deletion(-) create mode 100644 >> target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts >> create mode 100644 target/linux/bcm63xx/patches-5.4/568-board- >> H500s.patch >> >> diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds >> b/target/linux/bcm63xx/base-files/etc/board.d/01_leds >> index 91d67f0c0b..5894108457 100755 >> --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds >> +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds >> @@ -100,6 +100,9 @@ sercomm,ad1018) >> sercomm,ad1018-nor) >> ucidef_set_led_netdev "wlan0" "WLAN" "AD1018:green:wifi" >> "wlan0" >> ;; >> +sercomm,h500s) >> + ucidef_set_led_netdev "wan" "WAN" "$model:green:internet" >> "eth0.2" >> + ;; >> telsey,cpva502plus) >> ucidef_set_led_netdev "lan" "LAN" "CPVA502+:amber:link" "eth0" >> ;; >> diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network >> b/target/linux/bcm63xx/base-files/etc/board.d/02_network >> index 784af29cb4..30649b3abe 100755 >> --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network >> +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network >> @@ -142,6 +142,9 @@ sercomm,ad1018-nor) >> ucidef_add_switch "switch0" \ >> "1:lan:3" "2:lan:2" "3:lan:1" "0:wan" "8t at eth0" >> ;; >> +sercomm,h500s) >> + ucidef_add_switch "switch0" "4:lan" "3:wan" "8t at eth0" >> + ;; >> sfr,neufbox-6-sercomm-r0) >> ucidef_add_switch "switch0" \ >> "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9t at eth0" >> diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh >> b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh >> index 7d416297dd..cea66f63ef 100644 >> --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh >> +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh >> @@ -69,7 +69,8 @@ platform_do_upgrade() { >> comtrend,vr-3032u|\ >> huawei,hg253s-v2|\ >> netgear,dgnd3700-v2|\ >> - sercomm,ad1018) >> + sercomm,ad1018|\ >> + sercomm,h500s) >> REQUIRE_IMAGE_METADATA=1 >> cfe_jffs2_upgrade_tar "$1" >> ;; >> diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts >> b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts >> new file mode 100644 >> index 0000000000..5a999ef24e >> --- /dev/null >> +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500s.dts >> @@ -0,0 +1,201 @@ >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) >> +/* >> + * Device Tree file for Sercomm H500-s >> + * >> + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas */ >> + >> +/dts-v1/; >> + >> +#include "bcm63268.dtsi" >> + >> +#include >> + >> +/ { >> + model = "Sercomm H500-s"; >> + compatible = "sercomm,h500s", "brcm,bcm63268"; > > If the model name is H500-s, then the compatible, device node name etc. should also be "sercomm,h500-s" > >> + >> + aliases { >> + led-boot = &led_power_green; >> + led-failsafe = &led_power_red; >> + led-running = &led_power_green; >> + led-upgrade = &led_power_green; >> + }; >> + >> + chosen { >> + bootargs = "rootfstype=squashfs,ubifs noinitrd >> console=ttyS0,115200"; >> + stdout-path = "serial0:115200n8"; >> + }; >> + >> + keys { >> + compatible = "gpio-keys-polled"; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + poll-interval = <20>; >> + >> + wps { >> + label = "wps"; >> + gpios = <&pinctrl 34 1>; >> + linux,code = ; >> + debounce-interval = <60>; >> + }; >> + >> + reset { >> + label = "reset"; >> + gpios = <&pinctrl 35 1>; >> + linux,code = ; >> + debounce-interval = <60>; >> + }; >> + }; >> +}; >> + >> +&leds { >> + status = "ok"; > > ok -> okay > >> + >> + pinctrl-names = "default"; >> + pinctrl-0 = <&pinctrl_leds>; >> + >> + led at 0 { > > As stated earlier, it's common in OpenWrt to use the relevant parts of the label for the node name, i.e. "mobile_red" or something similar in this case. > > I noticed that Noltari also used this notation here during a recent change, so maybe he can give an update if the old common syntax shouldn't be used for this setup. > >> + reg = <0>; >> + label = "h500s:red:mobile"; >> + }; >> + >> + led at 1 { >> + reg = <1>; >> + label = "h500s:green:mobile"; >> + }; >> + >> + led_power_red: led at 8 { >> + reg = <8>; >> + label = "h500s:red:power"; >> + }; >> + >> + led at 9 { >> + reg = <9>; >> + label = "h500s:green:wifi"; >> + }; >> + >> + led at 12 { >> + reg = <12>; >> + label = "h500s:red:phone"; >> + }; >> + >> + led at 13 { >> + reg = <13>; >> + label = "h500s:red:wifi"; >> + }; >> + >> + led at 14 { >> + reg = <14>; >> + label = "h500s:red:internet"; >> + }; >> + >> + led at 15 { >> + reg = <15>; >> + label = "h500s:green:internet"; >> + }; >> + >> + led at 16 { >> + reg = <16>; >> + label = "h500s:green:phone"; >> + }; >> + >> + led_power_green: led at 17 { >> + reg = <17>; >> + label = "h500s:green:power"; >> + default-state = "on"; >> + }; >> + >> + led at 23 { >> + reg = <23>; >> + label = "h500s:blue:mobile"; >> + }; >> +}; >> + >> +&nflash { >> + status = "ok"; > > okay > >> + >> + nandcs at 0 { >> + compatible = "brcm,nandcs"; >> + reg = <0>; >> + >> + pinctrl-names = "default"; >> + pinctrl-0 = <&pinctrl_nand>; >> + >> + nand-on-flash-bbt; >> + nand-ecc-strength = <4>; >> + nand-ecc-step-size = <512>; >> + brcm,nand-oob-sector-size = <64>; >> + >> + partitions { >> + compatible = "fixed-partitions"; >> + #address-cells = <1>; >> + #size-cells = <1>; >> + >> + partition at 0 { >> + label = "cferom"; >> + reg = <0x0000000 0x0020000>; /* 128 KiB */ > > Personally, I don't think the size comments are necessary, and would drop them completely. > >> + read-only; >> + }; >> + >> + partition at 20000 { >> + label = "part_map"; >> + reg = <0x0020000 0x00a0000>; /* 640 KiB */ >> + read-only; >> + }; >> + >> + partition at c0000 { >> + label = "cferam1"; >> + reg = <0x00c0000 0x0140000>; /* 1280 KiB */ >> + read-only; >> + }; >> + >> + partition at 200000 { >> + label = "cferam2"; >> + reg = <0x0200000 0x0140000>; /* 1280 KiB */ >> + read-only; >> + }; >> + >> + partition at 6920000 { >> + label = "bootflag1"; >> + reg = <0x6920000 0x0140000>; /* 1280 KiB */ >> + }; >> + >> + partition at 6a60000 { >> + label = "bootflag2"; >> + reg = <0x6a60000 0x0140000>; /* 1280 KiB */ >> + }; >> + >> + partition at 520000 { >> + compatible = "sercomm,wfi"; >> + label = "wfi"; >> + reg = <0x0520000 0x6400000>; /* 2 images, >> 97152 KiB */ >> + }; > > Can somebody enlighten me why this ordering is used (also in other recent patches)? These bootflag partitions indicate which rootfs is being booted (the one with the highest number). The mtdsplit driver relies on these partitions to read both bootflags and create the kernel/rootfs partitions accordingly: https://github.com/openwrt/openwrt/blob/master/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_bcm_wfi.c#L423 Therefore, the partitions must be defined before the WFI partition, since defining them after the WFI partition would fail when calling get_mtd_device_nm(). > >> + >> + partition at 6ba0000 { >> + label = "xml_cfg"; >> + reg = <0x6ba0000 0x0280000>; /* 2560 KiB */ >> + read-only; >> + }; >> + >> + partition at 6e20000 { >> + label = "app_data"; >> + reg = <0x6e20000 0x0280000>; /* 2560 KiB */ >> + read-only; >> + }; >> + }; >> + }; >> +}; >> + >> +&pinctrl { >> + pinctrl_leds: leds { >> + function = "led"; >> + pins = "gpio0", "gpio1", "gpio8", "gpio9", >> + "gpio12", "gpio13", "gpio14", "gpio15", >> + "gpio16", "gpio17", "gpio23"; >> + }; >> +}; >> + >> +&uart0 { >> + status = "ok"; > > okay > >> +}; >> diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk >> b/target/linux/bcm63xx/image/bcm63xx_nand.mk >> index 74f23f52af..5cc3f34f0c 100644 >> --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk >> +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk >> @@ -150,3 +150,56 @@ define Device/sercomm_ad1018 >> SERCOMM_VERSION := 1001 >> endef >> TARGET_DEVICES += sercomm_ad1018 >> + >> +define Device/sercomm_h500s > > As stated above, this should be sercomm_h500-s > >> + $(Device/sercomm-nand) >> + DEVICE_VENDOR := Sercomm >> + DEVICE_MODEL := H500-s >> + IMAGES := factory.img sysupgrade.bin >> + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel >> +$$(KERNEL_LOADADDR) >> + CHIP_ID := 63268 >> + SOC := bcm63167 >> + BLOCKSIZE := 128k >> + PAGESIZE := 2048 >> + SUBPAGESIZE := 512 >> + VID_HDR_OFFSET := 2048 >> + DEVICE_PACKAGES += $(B43_PACKAGES) $(USB2_PACKAGES) >> + SERCOMM_PID := \ >> + 30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \ >> + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> + SERCOMM_VERSION := 1001 >> +endef >> +TARGET_DEVICES += sercomm_h500s >> + >> +define Device/sercomm_h500s_lowi > > Should be sercomm_h500-s-lowi then. > >> + $(Device/sercomm-nand) >> + DEVICE_VENDOR := Sercomm >> + DEVICE_MODEL := H500-s lowi > > I agree with the device variant. > >> + DEVICE_DTS := bcm63167-sercomm-h500s > > Classic sysupgrade won't work with this approach (as SUPPORTED_DEVICES would not match compatible here), but I don't think that's relevant for bcm63xx? > > Personally, I'd prefer a DTSI and separate DTSes for both devices, so the compatible can be matched with the device name. > > Best > > Adrian > >> + IMAGES := factory.img sysupgrade.bin >> + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel >> +$$(KERNEL_LOADADDR) >> + CHIP_ID := 63268 >> + SOC := bcm63167 >> + BLOCKSIZE := 128k >> + PAGESIZE := 2048 >> + SUBPAGESIZE := 512 >> + VID_HDR_OFFSET := 2048 >> + DEVICE_PACKAGES += $(B43_PACKAGES) $(USB2_PACKAGES) >> + SERCOMM_PID := \ >> + 30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ >> + 30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \ >> + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> + SERCOMM_VERSION := 1001 >> +endef >> +TARGET_DEVICES += sercomm_h500s_lowi >> diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch >> b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch >> new file mode 100644 >> index 0000000000..f14e29bfba >> --- /dev/null >> +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch >> @@ -0,0 +1,72 @@ >> +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c >> ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c >> +@@ -2867,10 +2867,45 @@ >> + }, >> + >> + }, >> + }, >> + }; >> ++ >> ++static struct board_info __initdata board_H500s = { >> ++ .name = "BXK00C-1.6", >> ++ .expected_cpu_id = 0x63268, >> ++ >> ++ .has_pci = 0, >> ++ .use_fallback_sprom = 0, >> ++ >> ++ .has_ehci0 = 1, >> ++ .has_ohci0 = 1, >> ++ .num_usbh_ports = 1, >> ++ >> ++ .has_enetsw = 1, >> ++ >> ++ .enetsw = { >> ++ .used_ports = { >> ++ [3] = { >> ++ .used = 1, >> ++ .phy_id = 12, >> ++ .name = "WAN", >> ++ }, >> ++ >> ++ [4] = { >> ++ .used = 1, >> ++ .phy_id = 0, >> ++ .bypass_link = 1, >> ++ .force_speed = 1000, >> ++ .force_duplex_full = 1, >> ++ .mii_override = 1, >> ++ .timing_sel = 1, >> ++ .name = "RGMII", >> ++ }, >> ++ }, >> ++ }, >> ++}; >> + #endif /* CONFIG_BCM63XX_CPU_63268 */ >> + >> + /* >> + * all boards >> + */ >> +@@ -2981,10 +3016,11 @@ >> + &board_963269bhr, >> + &board_VG8050, >> + &board_VR3032u, >> + &board_vw6339gu, >> + &board_BSKYB_63168, >> ++ &board_H500s, >> + #endif >> + }; >> + >> + static struct of_device_id const bcm963xx_boards_dt[] = { #ifdef >> +CONFIG_OF @@ -3099,10 +3135,11 @@ >> + { .compatible = "brcm,bcm963268bu-p300", .data = >> &board_963268bu_p300, }, >> + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, >> + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, >> + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, >> + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, >> ++ { .compatible = "sercomm,h500s", .data = &board_H500s, }, >> + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, #endif >> + #endif /* CONFIG_OF */ >> + { }, >> + }; >> -- >> 2.27.0 >> >> >> >> >> >> _______________________________________________ >> openwrt-devel mailing list >> openwrt-devel at lists.openwrt.org >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel Best regards, ?lvaro. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stangri at melmac.net Thu Jun 4 05:56:31 2020 From: stangri at melmac.net (Stan Grishin) Date: Thu, 4 Jun 2020 02:56:31 -0700 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile In-Reply-To: References: Message-ID: On Wed, Jun 3, 2020 at 4:53 PM Michael Jones wrote: > > > > On Wed, Jun 3, 2020 at 6:21 PM Stan Grishin wrote: >> >> To obtain the list of enabled (for autostart) services, you'd type >> service list-enabled. For disabled services service list-disabled. It >> is useful when you need to quickly check which services are >> enabled/disabled or when helping other users troubleshoot. >> >> An alternative to list-enabled/list-disabled that I have considered >> was to output the enabled status of available services below the usage >> output, ie replace: >> if [ -n "$1" ]; then >> echo "service "'"'"$1"'"'" not found, the >> following services are available:" >> ls "/etc/init.d" >> fi >> >> with >> >> if [ -n "$1" ]; then >> echo "service "'"'"$1"'"'" not found, the >> following services are available:" >> for F in /etc/init.d/* ; do >> $F enabled && echo "$F (autostart enabled)" || >> echo "$F (autostart **disabled**)" >> done; >> fi >> >> >> Please elaborate on the list-start and list-stop question, I'm not >> sure I understand the purpose of those. > > > Originally I asked that question because I misunderstood what the goal of this change was. > > I thought that you were proposing to add the ability to enable / disable multiple services at the same time, so I was asking about the ability to start / stop multiple services at the same time. > > It's clear not that's not what you were trying to propose. > > So instead, what about listing the services that are running, and also listing the services that are configured, but not running? Is there an easy universal way to determine if the service is running? > I don't know that that provides a lot of value, so it may not be worth doing. If there's a one/two liner to figure out if a service is running or not, it may be better to implement `service list` which would print the table of available init scripts, wherever they are enabled or not and wherever they are running or not. If that is deemed to be a better approach I can resubmit the patch. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From preventivi at italianasoftware.it Thu Jun 4 06:16:11 2020 From: preventivi at italianasoftware.it (Distribuzione software) Date: Thu, 4 Jun 2020 12:16:11 +0200 Subject: [OpenWrt-Devel] Comunicazione LICENZE originali Message-ID: Gentile Utente, distribuiamo Licenze originali ESD, COA, CARD e STICKERS Microsoft, Adobe, Autodesk .. ( Direttiva n. 2009/24/CE e L.C.E.C. -128/2011 ) Esempi: MS. Office 2019 Pro da Euro 25,00 MS. Server 2016 standard da Euro 46,00 MS. Win 10 Pro da Euro 12,00 MS. Win 10 Pro Stickers da Euro 40,00 (sconti per rivenditori, Fatturazione E ) Buon lavoro NETOS italianasoftware.it TEL 06 92958576 Protocollo 37890 Le informazioni, i dati e le notizie contenute nella presente comunicazione e i relativi allegati sono di natura privata e come tali possono essere riservate e sono, comunque, destinate esclusivamente ai destinatari indicati in epigrafe. La diffusione, distribuzione e/o la copiatura del documento trasmesso da parte di qualsiasi soggetto diverso dal destinatario ? proibita, sia ai sensi dell'art. 616 c.p., sia ai sensi del D.Lgs. n. 196/2003. Se avete ricevuto questo messaggio per errore, vi preghiamo di distruggerlo e di darcene immediata comunicazione anche inviando un messaggio di ritorno all'indirizzo e-mail del mittente. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Thu Jun 4 08:55:30 2020 From: openwrt-devel at lists.openwrt.org (R. Diez via openwrt-devel) Date: Thu, 4 Jun 2020 14:55:30 +0200 Subject: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds In-Reply-To: <20200603094351.GB36571@meh.true.cz> References: <20200603094351.GB36571@meh.true.cz> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: "R. Diez" Subject: Re: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds Date: Thu, 4 Jun 2020 14:55:30 +0200 Size: 5818 URL: From rdiezmail-openwrt at yahoo.com Thu Jun 4 08:44:22 2020 From: rdiezmail-openwrt at yahoo.com (R. Diez) Date: Thu, 4 Jun 2020 14:44:22 +0200 Subject: [PATCH] build: do not hard-code IS_TTY in script scripts/feeds Message-ID: The script was previously assuming that stdin is always a TTY. Signed-off-by: R. Diez --- scripts/feeds | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/feeds b/scripts/feeds index 69ab60278a..56a690e4a7 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -128,8 +128,11 @@ sub update_index($) -d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or return 1; system("$mk -s prepare-mk OPENWRT_BUILD= TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); - system("$mk -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"packageinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"package\" SCAN_DEPTH=5 SCAN_EXTRA=\"\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); - system("$mk -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"targetinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"target\" SCAN_DEPTH=5 SCAN_EXTRA=\"\" SCAN_MAKEOPTS=\"TARGET_BUILD=1\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); + + my $is_tty = -t STDOUT ? 1 : 0; + system("$mk -s -f include/scan.mk IS_TTY=$is_tty SCAN_TARGET=\"packageinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"package\" SCAN_DEPTH=5 SCAN_EXTRA=\"\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); + system("$mk -s -f include/scan.mk IS_TTY=$is_tty SCAN_TARGET=\"targetinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"target\" SCAN_DEPTH=5 SCAN_EXTRA=\"\" SCAN_MAKEOPTS=\"TARGET_BUILD=1\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); + system("ln -sf $name.tmp/.packageinfo ./feeds/$name.index"); system("ln -sf $name.tmp/.targetinfo ./feeds/$name.targetindex"); -- 2.26.2 --------------40DA37CD97D0789E8025B6C2-- --===============5106046204043389831== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel --===============5106046204043389831==-- From fercerpav at gmail.com Thu Jun 4 09:02:46 2020 From: fercerpav at gmail.com (Paul Fertser) Date: Thu, 4 Jun 2020 16:02:46 +0300 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile In-Reply-To: References: Message-ID: <20200604130245.GO24504@home.paul.comp> On Thu, Jun 04, 2020 at 02:56:31AM -0700, Stan Grishin wrote: > If there's a one/two liner to figure out if a service is running or > not, ubus call service list '{ "verbose": true, "name": "openvpn" }' | \ jsonfilter -e '@.openvpn.instances["foo"].running -- Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software! mailto:fercerpav at gmail.com _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bjorn at mork.no Thu Jun 4 09:06:37 2020 From: bjorn at mork.no (=?utf-8?Q?Bj=C3=B8rn_Mork?=) Date: Thu, 04 Jun 2020 15:06:37 +0200 Subject: [OpenWrt-Devel] DSA vlan configuration Message-ID: <87pnafyo82.fsf@miraculix.mork.no> Did some quick experiments on my WRT1900ACv1 (Mamba) now that DSA is finally in master... I wonder if I have understood this correctly: 1) vlan_filtering is required when bridging tagged and untagged DSA ports, and 2) all bridge ports, including the wireless VIFs, must be configured with the correct VIDs when vlan_filtering is enabled An if so, how are we supposed to configure that? I guess a real example helps illustrating the problem. My example network has 3 bridges, each connecting a set of untagged ports/VIFs with one specific tagged vlan on the "wan" port: config interface 'lan' option type 'bridge' option ifname 'wan.7 lan2 lan3 lan4' option proto 'none' config interface 'antiboks' option ifname 'wan.8' option type 'bridge' option proto 'none' config interface 'oob' option ifname 'wan.203 lan1' option type 'bridge' option proto 'static' option ipaddr '192.168.99.2' option netmask '255.255.255.0' option dns '192.168.99.1' option dns_search 'mork.no' (I realize that this could be merged to a single bridge wth vlan_filtering, but that doesn't really change the configuration problem.) For now I have just hardcoded bridge, port and VIF names in a simple script. But this is obviously not a workable permanent solution.. # 1. enable vlan filtering on all bridges for b in lan antiboks oob; do echo 1 >/sys/class/net/br-$b/bridge/vlan_filtering done # 2. configure the vlans for each bridge port for p in wan.7 wlan0 wlan1 lan2 lan3 lan4; do bridge vlan add vid 7 pvid untagged dev $p bridge vlan del vid 1 dev $p done for p in wan.8 wlan0-1 wlan1-1; do bridge vlan add vid 8 pvid untagged dev $p bridge vlan del vid 1 dev $p done for p in wan.203 wlan0-2 lan1; do bridge vlan add vid 203 pvid untagged dev $p bridge vlan del vid 1 dev $p done # 3. configure vlan for local bridge interfaces bridge vlan add vid 203 pvid untagged dev br-oob self bridge vlan del vid 1 dev br-oob self The working result is: root at wrt1900ac-1:/# brctl show bridge name bridge id STP enabled interfaces br-antiboks 7fff.b4750e60b7e5 no wlan0-1 wan.8 wlan1-1 br-lan 7fff.b4750e60b7e5 no lan4 lan2 wan.7 wlan0 lan3 wlan1 br-oob 7fff.b4750e60b7e5 no wlan0-2 wan.203 lan1 root at wrt1900ac-1:/# grep . /sys/class/net/*/bridge/vlan_filtering /sys/class/net/br-antiboks/bridge/vlan_filtering:1 /sys/class/net/br-lan/bridge/vlan_filtering:1 /sys/class/net/br-oob/bridge/vlan_filtering:1 root at wrt1900ac-1:/# bridge vlan port vlan ids lan4 7 PVID Egress Untagged lan3 7 PVID Egress Untagged lan2 7 PVID Egress Untagged lan1 203 PVID Egress Untagged br-antiboks 1 PVID Egress Untagged wan.8 8 PVID Egress Untagged br-lan 1 PVID Egress Untagged wan.7 7 PVID Egress Untagged br-oob 203 PVID Egress Untagged wan.203 203 PVID Egress Untagged wlan1 7 PVID Egress Untagged wlan0 7 PVID Egress Untagged wlan0-1 8 PVID Egress Untagged wlan0-2 203 PVID Egress Untagged wlan1-1 8 PVID Egress Untagged Bj?rn _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stangri at melmac.net Thu Jun 4 09:31:36 2020 From: stangri at melmac.net (Stan Grishin) Date: Thu, 4 Jun 2020 06:31:36 -0700 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile In-Reply-To: <20200604130245.GO24504@home.paul.comp> References: <20200604130245.GO24504@home.paul.comp> Message-ID: Thanks. Should I replace list-enabled and list-disabled with list, doing this: if [ "$1" = "list" ]; then for F in /etc/init.d/* ; do printf "%-30s\t%10s\t%10s\n" "$F" \ $( $($F enabled) && echo "enabled" || echo "disabled" ) \ $( [ "$(ubus call service list "{ 'verbose': true, 'name': '$(basename $F)' }" \ | jsonfilter -q -e "@.$(basename $F).instances[*].running")" = "true" ] \ && echo "running" || echo "stopped" ) done; fi ? On Thu, Jun 4, 2020 at 6:02 AM Paul Fertser wrote: > > On Thu, Jun 04, 2020 at 02:56:31AM -0700, Stan Grishin wrote: > > If there's a one/two liner to figure out if a service is running or > > not, > > ubus call service list '{ "verbose": true, "name": "openvpn" }' | \ > jsonfilter -e '@.openvpn.instances["foo"].running > > -- > Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software! > mailto:fercerpav at gmail.com _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fercerpav at gmail.com Thu Jun 4 09:46:32 2020 From: fercerpav at gmail.com (Paul Fertser) Date: Thu, 4 Jun 2020 16:46:32 +0300 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile In-Reply-To: References: <20200604130245.GO24504@home.paul.comp> Message-ID: <20200604134632.GQ24504@home.paul.comp> On Thu, Jun 04, 2020 at 06:31:36AM -0700, Stan Grishin wrote: > Thanks. Should I replace list-enabled and list-disabled with list, doing this: I'm not sure it's anywhere close to the optimal solution with ubus and jsonfilter, but I'm not well-versed in the area enough to suggest a proper one, sorry. -- Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software! mailto:fercerpav at gmail.com _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Thu Jun 4 13:44:38 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Thu, 04 Jun 2020 19:44:38 +0200 Subject: [OpenWrt-Devel] [PATCH 1/4 v2] bcm63xx: kernel: add BCM63167 cpuid variant Message-ID: <3144434.7DoR2xqlez@tool> The BCM63167 is a BCM63268 SoC with a different physical packaging. Add the CPU ID to allow supporting routers with this SoC (i.e Sercomm H500-s) Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: none ...IPS-BCM63XX-add-support-for-BCM63268.patch | 18 ++++++++------ ...MIPS-BCM63XX-add-support-for-BCM6318.patch | 10 ++++---- .../431-MIPS-BCM63XX-add-nand-rset.patch | 24 +++++++++---------- 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch index efd5f10534..aba4b9415a 100644 --- a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch +++ b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch @@ -242,10 +242,11 @@ Signed-off-by: Jonas Gorski switch (bcm63xx_cpu_id) { case BCM3368_CPU_ID: -@@ -400,6 +442,15 @@ void __init bcm63xx_cpu_init(void) +@@ -400,6 +442,16 @@ void __init bcm63xx_cpu_init(void) /* BCM6369 is a BCM6368 without xDSL, so treat it the same */ bcm63xx_cpu_id = BCM6368_CPU_ID; break; ++ case BCM63167_CPU_ID: + case BCM63168_CPU_ID: + case BCM63169_CPU_ID: + case BCM63268_CPU_ID: @@ -353,10 +354,11 @@ Signed-off-by: Jonas Gorski return 0; --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -22,6 +22,10 @@ +@@ -22,6 +22,11 @@ #define BCM6362_CPU_ID 0x6362 #define BCM6368_CPU_ID 0x6368 #define BCM6369_CPU_ID 0x6369 ++#define BCM63167_CPU_ID 0x63167 +#define BCM63168_CPU_ID 0x63168 +#define BCM63169_CPU_ID 0x63169 +#define BCM63268_CPU_ID 0x63268 @@ -364,7 +366,7 @@ Signed-off-by: Jonas Gorski void __init bcm63xx_cpu_init(void); u32 bcm63xx_get_cpu_variant(void); -@@ -62,6 +66,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -62,6 +67,10 @@ static inline u32 __pure __bcm63xx_get_c #ifdef CONFIG_BCM63XX_CPU_6368 case BCM6368_CPU_ID: #endif @@ -375,7 +377,7 @@ Signed-off-by: Jonas Gorski break; default: unreachable(); -@@ -87,6 +95,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -87,6 +96,7 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_IS_6358() (bcm63xx_get_cpu_id() == BCM6358_CPU_ID) #define BCMCPU_IS_6362() (bcm63xx_get_cpu_id() == BCM6362_CPU_ID) #define BCMCPU_IS_6368() (bcm63xx_get_cpu_id() == BCM6368_CPU_ID) @@ -383,10 +385,12 @@ Signed-off-by: Jonas Gorski #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) -@@ -110,6 +119,14 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -110,6 +120,16 @@ static inline u32 __pure bcm63xx_get_cpu (bcm63xx_get_cpu_variant() == BCM6368_CPU_ID) #define BCMCPU_VARIANT_IS_6369() \ (bcm63xx_get_cpu_variant() == BCM6369_CPU_ID) ++#define BCMCPU_VARIANT_IS_63167() \ ++ (bcm63xx_get_cpu_variant() == BCM63167_CPU_ID) +#define BCMCPU_VARIANT_IS_63168() \ + (bcm63xx_get_cpu_variant() == BCM63168_CPU_ID) +#define BCMCPU_VARIANT_IS_63169() \ @@ -398,7 +402,7 @@ Signed-off-by: Jonas Gorski /* * While registers sets are (mostly) the same across 63xx CPU, base -@@ -574,6 +591,52 @@ enum bcm63xx_regs_set { +@@ -574,6 +594,52 @@ enum bcm63xx_regs_set { #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -451,7 +455,7 @@ Signed-off-by: Jonas Gorski extern const unsigned long *bcm63xx_regs_base; -@@ -1042,6 +1105,73 @@ enum bcm63xx_irq { +@@ -1042,6 +1108,73 @@ enum bcm63xx_irq { #define BCM_6368_EXT_IRQ4 (IRQ_INTERNAL_BASE + 24) #define BCM_6368_EXT_IRQ5 (IRQ_INTERNAL_BASE + 25) diff --git a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch index 5b05fa6bd5..a022f8c5f0 100644 --- a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch +++ b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch @@ -327,7 +327,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCM6328_CPU_ID 0x6328 #define BCM63281_CPU_ID 0x63281 #define BCM63283_CPU_ID 0x63283 -@@ -39,6 +40,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -40,6 +41,10 @@ static inline u32 __pure __bcm63xx_get_c case BCM3368_CPU_ID: #endif @@ -338,7 +338,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #ifdef CONFIG_BCM63XX_CPU_6328 case BCM6328_CPU_ID: #endif -@@ -88,6 +93,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -89,6 +94,7 @@ static inline u32 __pure bcm63xx_get_cpu } #define BCMCPU_IS_3368() (bcm63xx_get_cpu_id() == BCM3368_CPU_ID) @@ -346,7 +346,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_IS_6328() (bcm63xx_get_cpu_id() == BCM6328_CPU_ID) #define BCMCPU_IS_6338() (bcm63xx_get_cpu_id() == BCM6338_CPU_ID) #define BCMCPU_IS_6345() (bcm63xx_get_cpu_id() == BCM6345_CPU_ID) -@@ -99,6 +105,8 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -100,6 +106,8 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) @@ -355,7 +355,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_VARIANT_IS_63281() \ (bcm63xx_get_cpu_variant() == BCM63281_CPU_ID) #define BCMCPU_VARIANT_IS_63283() \ -@@ -253,6 +261,56 @@ enum bcm63xx_regs_set { +@@ -256,6 +264,56 @@ enum bcm63xx_regs_set { #define BCM_3368_MISC_BASE (0xdeadbeef) /* @@ -412,7 +412,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 * 6328 register sets base address */ #define BCM_6328_DSL_LMEM_BASE (0xdeadbeef) -@@ -775,6 +833,55 @@ enum bcm63xx_irq { +@@ -778,6 +836,55 @@ enum bcm63xx_irq { #define BCM_3368_EXT_IRQ2 (IRQ_INTERNAL_BASE + 27) #define BCM_3368_EXT_IRQ3 (IRQ_INTERNAL_BASE + 28) diff --git a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch index 1172b23197..090ffeb43c 100644 --- a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch +++ b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch @@ -1,6 +1,6 @@ --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -181,7 +181,8 @@ enum bcm63xx_regs_set { +@@ -184,7 +184,8 @@ enum bcm63xx_regs_set { RSET_PCMDMAC, RSET_PCMDMAS, RSET_RNG, @@ -10,7 +10,7 @@ }; #define RSET_DSL_LMEM_SIZE (64 * 1024 * 4) -@@ -259,6 +260,7 @@ enum bcm63xx_regs_set { +@@ -262,6 +263,7 @@ enum bcm63xx_regs_set { #define BCM_3368_PCMDMAS_BASE (0xdeadbeef) #define BCM_3368_RNG_BASE (0xdeadbeef) #define BCM_3368_MISC_BASE (0xdeadbeef) @@ -18,7 +18,7 @@ /* * 6318 register sets base address -@@ -306,6 +308,7 @@ enum bcm63xx_regs_set { +@@ -309,6 +311,7 @@ enum bcm63xx_regs_set { #define BCM_6318_PCMDMAS_BASE (0xdeadbeef) #define BCM_6318_RNG_BASE (0xdeadbeef) #define BCM_6318_MISC_BASE (0xb0000280) @@ -26,7 +26,7 @@ #define BCM_6318_OTP_BASE (0xdeadbeef) #define BCM_6318_STRAP_BASE (0xb0000900) -@@ -356,6 +359,7 @@ enum bcm63xx_regs_set { +@@ -359,6 +362,7 @@ enum bcm63xx_regs_set { #define BCM_6328_PCMDMAS_BASE (0xdeadbeef) #define BCM_6328_RNG_BASE (0xdeadbeef) #define BCM_6328_MISC_BASE (0xb0001800) @@ -34,7 +34,7 @@ #define BCM_6328_OTP_BASE (0xb0000600) /* -@@ -405,6 +409,7 @@ enum bcm63xx_regs_set { +@@ -408,6 +412,7 @@ enum bcm63xx_regs_set { #define BCM_6338_PCMDMAS_BASE (0xdeadbeef) #define BCM_6338_RNG_BASE (0xdeadbeef) #define BCM_6338_MISC_BASE (0xdeadbeef) @@ -42,7 +42,7 @@ /* * 6345 register sets base address -@@ -453,6 +458,7 @@ enum bcm63xx_regs_set { +@@ -456,6 +461,7 @@ enum bcm63xx_regs_set { #define BCM_6345_PCMDMAS_BASE (0xdeadbeef) #define BCM_6345_RNG_BASE (0xdeadbeef) #define BCM_6345_MISC_BASE (0xdeadbeef) @@ -50,7 +50,7 @@ /* * 6348 register sets base address -@@ -499,6 +505,7 @@ enum bcm63xx_regs_set { +@@ -502,6 +508,7 @@ enum bcm63xx_regs_set { #define BCM_6348_PCMDMAS_BASE (0xdeadbeef) #define BCM_6348_RNG_BASE (0xdeadbeef) #define BCM_6348_MISC_BASE (0xdeadbeef) @@ -58,7 +58,7 @@ /* * 6358 register sets base address -@@ -545,7 +552,7 @@ enum bcm63xx_regs_set { +@@ -548,7 +555,7 @@ enum bcm63xx_regs_set { #define BCM_6358_PCMDMAS_BASE (0xfffe1a00) #define BCM_6358_RNG_BASE (0xdeadbeef) #define BCM_6358_MISC_BASE (0xdeadbeef) @@ -67,7 +67,7 @@ /* * 6362 register sets base address -@@ -593,6 +600,7 @@ enum bcm63xx_regs_set { +@@ -596,6 +603,7 @@ enum bcm63xx_regs_set { #define BCM_6362_PCMDMAS_BASE (0xdeadbeef) #define BCM_6362_RNG_BASE (0xdeadbeef) #define BCM_6362_MISC_BASE (0xb0001800) @@ -75,7 +75,7 @@ #define BCM_6362_NAND_REG_BASE (0xb0000200) #define BCM_6362_NAND_CACHE_BASE (0xb0000600) -@@ -648,6 +656,7 @@ enum bcm63xx_regs_set { +@@ -651,6 +659,7 @@ enum bcm63xx_regs_set { #define BCM_6368_PCMDMAS_BASE (0xb0005c00) #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -83,7 +83,7 @@ /* * 63268 register sets base address -@@ -695,6 +704,7 @@ enum bcm63xx_regs_set { +@@ -698,6 +707,7 @@ enum bcm63xx_regs_set { #define BCM_63268_PCMDMAS_BASE (0xdeadbeef) #define BCM_63268_RNG_BASE (0xdeadbeef) #define BCM_63268_MISC_BASE (0xb0001800) @@ -91,7 +91,7 @@ extern const unsigned long *bcm63xx_regs_base; -@@ -740,6 +750,7 @@ extern const unsigned long *bcm63xx_regs +@@ -743,6 +753,7 @@ extern const unsigned long *bcm63xx_regs [RSET_PCMDMAS] = BCM_## __cpu ##_PCMDMAS_BASE, \ [RSET_RNG] = BCM_## __cpu ##_RNG_BASE, \ [RSET_MISC] = BCM_## __cpu ##_MISC_BASE, \ -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Thu Jun 4 13:46:00 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Thu, 04 Jun 2020 19:46:00 +0200 Subject: [OpenWrt-Devel] [PATCH 2/4 v2] bcm63xx: image: don't add the CFE to the sercomm factory Message-ID: <3728185.vRv2hRhR9W@tool> There is no need to include the CFE bootloader in the Sercomm factory images. There might be a case when this could be useful: - We are running the stock firmware on the first Sercomm image - The second partition storing the botloader was erased (unlikely) Even in this case flashing an image without a bootlader is harmless. Don't include the bootloader in the factory image creation and rid of the risk of flashing factory images with an untested bootloader partition. Signed-off-by: Daniel Gonz?lez Cabanelas Reviewed-by: ?lvaro Fern?ndez Rojas --- Changes in v2: refresh target/linux/bcm63xx/image/Makefile | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index 0593dacb44..5ec31f6207 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -218,20 +218,8 @@ define Build/cfe-sercomm-part --part-name rootfs_lib \ --part-version $(SERCOMM_VERSION) - rm -rf $@-bootloader - mkdir -p $@-bootloader - cp $(KDIR)/bcm63xx-cfe/$(CFE_RAM_FILE) $@-bootloader/$(CFE_RAM_JFFS2_NAME) - $(call Build/cfe-jffs2,$@-bootloader) - $(call Build/pad-to,$(BLOCKSIZE)) - $(TOPDIR)/scripts/sercomm-partition-tag.py \ - --input-file $@ \ - --output-file $@.bootloader \ - --part-name bootloader \ - --part-version $(SERCOMM_VERSION) - mv $@.kernel_rootfs $@ dd if=$@.rootfs_lib >> $@ - dd if=$@.bootloader >> $@ endef define Build/cfe-sercomm-load -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Thu Jun 4 13:46:14 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Thu, 04 Jun 2020 19:46:14 +0200 Subject: [OpenWrt-Devel] [PATCH 3/4 v2] bcm63xx: image: allow to pass the addr to the NAND kernel header Message-ID: <3928196.Luy1bn5URE@tool> Not all CFEs will need to relocate the kernel (i.e H500-s), thererefore we'll need to pass a different address and not the LOADER_ENTRY. Let to pass the addr to the image creation when neccessary. Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: refresh target/linux/bcm63xx/image/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index c962e531a9..0593dacb44 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -172,8 +172,8 @@ define Build/cfe-jffs2-kernel $(TOPDIR)/scripts/cfe-bin-header.py \ --input-file $@ \ --output-file $@-kernel/vmlinux.lz \ - --load-addr $(LOADER_ENTRY) \ - --entry-addr $(LOADER_ENTRY) + --load-addr $(if $(1),$(1),$(LOADER_ENTRY)) \ + --entry-addr $(if $(1),$(1),$(LOADER_ENTRY)) # The JFFS2 partition creation should result in the following # layout: -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Thu Jun 4 13:46:43 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Thu, 04 Jun 2020 19:46:43 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4 v2] bcm63xx: add support for the Sercomm H500-s Message-ID: <5632296.MCBETrNQTy@tool> Sercomm H500-s is an xDSL dual band wireless router based on Broadcom BCM63167 SoC. Hardware: SoC: Broadcom BCM63167 CPU: BMIPS4350 V8.0, 400 MHz, 2 cores Flash: NAND 128 MiB RAM: DDR3 128 MiB Ethernet: 4x 10/100/1000 Mbps Switch: BCM53134S Wireless: 802.11b/g/n: BCM435f (integrated) 802.11ac: Quantenna QT3740BC (onboard SoC) USB: 1x 2.0 LEDs/Buttons: 11x / 2x Flash instruction, web UI: 1. Reset to defaults using the reset button if the admin password is unknown 2. Login into the web UI as admin. Address: http://192.168.0.1 User: admin Password: VF-ESVodafone-H-500-s or l033i-h500s 3. Go to Settings -> Firmware Update, and select the Openwrt factory firmware 4. Update the firmware. 5. Wait until it finish, the device will reboot with Openwrt installed on the alternative image partitions keeping the stock firmware in the former. Notes: - The patch also adds support for the lowi version. Only the factory firmware is different. - The integrated Wifi in the Broadcom Soc isn't still supported. - The Quantenna 802.11ac wifi works ok, but needs to be configured with the Quantenna client application. It can't be configured with Luci nor any iw command since it's a separated subsystem linked via ethernet. Signed-off-by: Daniel Gonz?lez Cabanelas Reviewed-by: ?lvaro Fern?ndez Rojas Reviewed-by: Adrian Schmutzler --- Changes in v2: - Fixed passwords in commit log - Added unsupported switch in dts - Added custom LOADER_ENTRY to fix the ramdisk for this specific device - Removed unneded b43 package - Cosmetic changes --- .../bcm63xx/base-files/etc/board.d/01_leds | 3 + .../bcm63xx/base-files/etc/board.d/02_network | 3 + .../base-files/lib/upgrade/platform.sh | 6 +- .../bcm63xx/dts/bcm63167-sercomm-h500-s.dts | 260 ++++++++++++++++++ target/linux/bcm63xx/image/bcm63xx_nand.mk | 54 ++++ .../bcm63xx/patches-5.4/568-board-H500s.patch | 71 +++++ 6 files changed, 395 insertions(+), 2 deletions(-) create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dts create mode 100644 target/linux/bcm63xx/patches-5.4/568-board-H500s.patch diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds b/target/linux/bcm63xx/base-files/etc/board.d/01_leds index 91d67f0c0b..f08d277c06 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds @@ -100,6 +100,9 @@ sercomm,ad1018) sercomm,ad1018-nor) ucidef_set_led_netdev "wlan0" "WLAN" "AD1018:green:wifi" "wlan0" ;; +sercomm,h500-s) + ucidef_set_led_netdev "wan" "WAN" "$model:green:internet" "eth0.2" + ;; telsey,cpva502plus) ucidef_set_led_netdev "lan" "LAN" "CPVA502+:amber:link" "eth0" ;; diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network b/target/linux/bcm63xx/base-files/etc/board.d/02_network index 784af29cb4..3042b3682b 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network @@ -142,6 +142,9 @@ sercomm,ad1018-nor) ucidef_add_switch "switch0" \ "1:lan:3" "2:lan:2" "3:lan:1" "0:wan" "8t at eth0" ;; +sercomm,h500-s) + ucidef_add_switch "switch0" "4:lan" "3:wan" "8t at eth0" + ;; sfr,neufbox-6-sercomm-r0) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9t at eth0" diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh index 7d416297dd..a0750901b2 100644 --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh @@ -9,7 +9,8 @@ platform_check_image() { comtrend,vr-3032u|\ huawei,hg253s-v2|\ netgear,dgnd3700-v2|\ - sercomm,ad1018) + sercomm,ad1018|\ + sercomm,h500-s) # NAND sysupgrade return 0 ;; @@ -69,7 +70,8 @@ platform_do_upgrade() { comtrend,vr-3032u|\ huawei,hg253s-v2|\ netgear,dgnd3700-v2|\ - sercomm,ad1018) + sercomm,ad1018|\ + sercomm,h500-s) REQUIRE_IMAGE_METADATA=1 cfe_jffs2_upgrade_tar "$1" ;; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dts b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dts new file mode 100644 index 0000000000..6c4f9c23fd --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dts @@ -0,0 +1,260 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63268.dtsi" + +#include + +/ { + model = "Sercomm H500-s"; + compatible = "sercomm,h500-s", "brcm,bcm63268"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + chosen { + bootargs = "rootfstype=squashfs,ubifs noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 34 1>; + linux,code = ; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 35 1>; + linux,code = ; + debounce-interval = <60>; + }; + }; +}; + +&leds { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + mobile_red { + reg = <0>; + label = "h500-s:red:mobile"; + }; + + mobile_green { + reg = <1>; + label = "h500-s:green:mobile"; + }; + + led_power_red: power_red { + reg = <8>; + label = "h500-s:red:power"; + }; + + wifi_green { + reg = <9>; + label = "h500-s:green:wifi"; + }; + + phone_red { + reg = <12>; + label = "h500-s:red:phone"; + }; + + wifi_red { + reg = <13>; + label = "h500-s:red:wifi"; + }; + + internet_red { + reg = <14>; + label = "h500-s:red:internet"; + }; + + internet_green { + reg = <15>; + label = "h500-s:green:internet"; + }; + + phone_green { + reg = <16>; + label = "h500-s:green:phone"; + }; + + led_power_green: power_green { + reg = <17>; + label = "h500-s:green:power"; + default-state = "on"; + }; + + mobile_blue { + reg = <23>; + label = "h500-s:blue:mobile"; + }; +}; + +/* Not supported */ +#if 0 +&mdio { + status = "disabled"; + + switch at 0 { + status = "disabled"; + compatible = "brcm,bcm53134"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + lan at 1 { + reg = <1>; + label = "lan3"; + }; + + lan at 2 { + reg = <2>; + label = "lan2"; + }; + + lan at 3 { + reg = <3>; + label = "lan1"; + }; + + wifi at 5 { + reg = <5>; + label = "wifi"; + + fixed-link { + speed = <1000>; + full-duplex; + asym-pause; + pause; + }; + }; + + cpu at 8 { + reg = <8>; + label = "cpu"; + + fixed-link { + speed = <1000>; + full-duplex; + asym-pause; + pause; + }; + }; + }; + }; +}; +#endif + +&nflash { + status = "okay"; + + nandcs at 0 { + compatible = "brcm,nandcs"; + reg = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_nand>; + + nand-on-flash-bbt; + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + brcm,nand-oob-sector-size = <64>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "cferom"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + partition at 20000 { + label = "part_map"; + reg = <0x0020000 0x00a0000>; + read-only; + }; + + partition at c0000 { + label = "cferam1"; + reg = <0x00c0000 0x0140000>; + read-only; + }; + + partition at 200000 { + label = "cferam2"; + reg = <0x0200000 0x0140000>; + read-only; + }; + + partition at 6920000 { + label = "bootflag1"; + reg = <0x6920000 0x0140000>; + }; + + partition at 6a60000 { + label = "bootflag2"; + reg = <0x6a60000 0x0140000>; + }; + + partition at 520000 { + compatible = "sercomm,wfi"; + label = "wfi"; + reg = <0x0520000 0x6400000>; /* 2 images, 97152 KiB */ + }; + + partition at 6ba0000 { + label = "xml_cfg"; + reg = <0x6ba0000 0x0280000>; + read-only; + }; + + partition at 6e20000 { + label = "app_data"; + reg = <0x6e20000 0x0280000>; + read-only; + }; + }; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio0", "gpio1", "gpio8", "gpio9", + "gpio12", "gpio13", "gpio14", "gpio15", + "gpio16", "gpio17", "gpio23"; + }; +}; + +&uart0 { + status = "okay"; +}; diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk b/target/linux/bcm63xx/image/bcm63xx_nand.mk index 7b2039c988..01090c2e67 100644 --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk @@ -149,3 +149,57 @@ define Device/sercomm_ad1018 SERCOMM_VERSION := 1001 endef TARGET_DEVICES += sercomm_ad1018 + +define Device/sercomm_h500-s + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + LOADER_ENTRY := 0x80010000 + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500-s + +define Device/sercomm_h500-s-lowi + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + DEVICE_VARIANT := lowi + DEVICE_DTS := bcm63167-sercomm-h500-s + LOADER_ENTRY := 0x80010000 + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500-s-lowi diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch new file mode 100644 index 0000000000..8a628e9233 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch @@ -0,0 +1,71 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -2867,10 +2867,44 @@ + }, + + }, + }, + }; ++ ++static struct board_info __initdata board_H500s = { ++ .name = "BXK00C-1.6", ++ .expected_cpu_id = 0x63268, ++ ++ .has_pci = 0, ++ .use_fallback_sprom = 0, ++ ++ .has_ehci0 = 1, ++ .has_ohci0 = 1, ++ .num_usbh_ports = 1, ++ ++ .has_enetsw = 1, ++ .enetsw = { ++ .used_ports = { ++ [3] = { ++ .used = 1, ++ .phy_id = 12, ++ .name = "WAN", ++ }, ++ ++ [4] = { ++ .used = 1, ++ .phy_id = 0, ++ .bypass_link = 1, ++ .force_speed = 1000, ++ .force_duplex_full = 1, ++ .mii_override = 1, ++ .timing_sel = 1, ++ .name = "RGMII", ++ }, ++ }, ++ }, ++}; + #endif /* CONFIG_BCM63XX_CPU_63268 */ + + /* + * all boards + */ +@@ -2981,10 +3015,11 @@ + &board_963269bhr, + &board_VG8050, + &board_VR3032u, + &board_vw6339gu, + &board_BSKYB_63168, ++ &board_H500s, + #endif + }; + + static struct of_device_id const bcm963xx_boards_dt[] = { + #ifdef CONFIG_OF +@@ -3099,10 +3134,11 @@ + { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, }, + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, ++ { .compatible = "sercomm,h500-s", .data = &board_H500s, }, + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, + #endif + #endif /* CONFIG_OF */ + { }, + }; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at meshplusplus.com Thu Jun 4 15:25:32 2020 From: mike at meshplusplus.com (Michael Jones) Date: Thu, 4 Jun 2020 14:25:32 -0500 Subject: [OpenWrt-Devel] netifd: per-interface MTU settings vs per-route MTU settings? In-Reply-To: <6c96aba2a492468abdf5490b0051e7bf@4rf.com> References: <6c96aba2a492468abdf5490b0051e7bf@4rf.com> Message-ID: On Mon, Jun 1, 2020 at 9:39 PM Reuben Dowle wrote: > When changing an interface MTU direct through ip command, netifd will get > be out of sync. The netifd internally tracked MTU (discoverable through > ubus call network.device status '{"name":"xxx"}' call will always show 1500 > (or whatever the value was when netifd discovered/created the interface). > > > > I am not aware of any actual issues caused by this, but it is worth > considering. > > > > Finding some method to update through ubus is preferable in my opinion. > > > > For the project I have been working on, we added a ubus network.device > set_attr method to netifd to solve this problem ? see attached patch. Then > you can use this in the protocol handler: > > > > [ -n "$mtu" ] && { > echo "Setting MTU to $mtu" > /sbin/ubus call network.device set_attr > "{\"device\":\"$ifname\", \"mtu\":\"$mtu\"}" > } > For what it's worth, I would very much like to see a patch like this merged into netifd. Modifying the MTU after the fact makes me uncomfortable. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at meshplusplus.com Thu Jun 4 15:29:20 2020 From: mike at meshplusplus.com (Michael Jones) Date: Thu, 4 Jun 2020 14:29:20 -0500 Subject: [OpenWrt-Devel] [PATCH] build: improve ccache support In-Reply-To: References: <20200601153226.15229-1-roman@advem.lv> <6406348b-1e10-5e6d-0c20-9e2716099833@nbd.name> Message-ID: > 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Thu Jun 4 19:05:45 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Fri, 5 Jun 2020 01:05:45 +0200 Subject: [OpenWrt-Devel] [PATCH] mvebu: rename Linksys devices based on their common names Message-ID: <20200604230545.62558-1-freifunk@adrianschmutzler.de> From: Paul Spooren The Linksys devices in mvebu target feature a mixed naming, where parts are based on the official product name (device node, image; e.g. WRT3200ACM) and parts are based on the internal code name (DTS file name, compatible, LED labels; e.g. rango). This inconsistent naming has been perceived as quite confusing. A recent attempt by Paul Spooren to harmonize this naming in kernel has been declined there. However, for us it still makes sense to apply at least a part of these changes locally. Primarily, this patch changes the compatible in DTS and thus the board name used in various scripts to have them in line with the device, model and image names. Due to the recent switch from swconfig to DSA, this allows us to drop SUPPORTED_DEVICES and thus prevent seamless upgrade between these incompatible setups. However, this does not include the LED label rename from Paul's initial patch: I don't think it's worth keeping the enormous diff locally for this case, as we can implement this much easier in 01_leds if we have to live with the inconsistency anyway. Signed-off-by: Paul Spooren [rebase, extend to all devices, drop DT LED changes] Signed-off-by: Adrian Schmutzler --- I plan to apply this very soon because of the recent DSA change (so, SUPPORTED_DEVICES is dropped effectively). --- package/boot/uboot-envtools/files/mvebu | 12 ++-- .../cortexa9/base-files/etc/board.d/01_leds | 35 +++++++--- .../base-files/etc/board.d/02_network | 24 +++---- .../cortexa9/base-files/etc/init.d/bootcount | 12 ++-- .../base-files/etc/uci-defaults/03_wireless | 8 ++- .../base-files/etc/uci-defaults/04_mambafan | 2 +- .../base-files/lib/preinit/81_linksys_syscfg | 7 +- .../base-files/lib/upgrade/platform.sh | 24 +++---- .../arm/boot/dts/armada-385-linksys-venom.dts | 4 +- .../arm/boot/dts/armada-385-linksys-venom.dts | 4 +- target/linux/mvebu/image/cortexa9.mk | 14 ++-- ...5-linksys_hardcode_nand_ecc_settings.patch | 2 +- ...-armada-xp-linksys-mamba-broken-idle.patch | 2 +- .../231-armada-xp-linksys-mamba-wan.patch | 4 +- .../241-linksys-use-eth0-as-cpu-port.patch | 6 +- .../250-adjust-compatible-for-linksys.patch | 68 +++++++++++++++++++ ...rmada388-clearfog-document-MPP-usage.patch | 2 +- ...5-linksys_hardcode_nand_ecc_settings.patch | 2 +- ...-armada-xp-linksys-mamba-broken-idle.patch | 2 +- .../231-armada-xp-linksys-mamba-wan.patch | 4 +- .../241-linksys-use-eth0-as-cpu-port.patch | 6 +- .../250-adjust-compatible-for-linksys.patch | 68 +++++++++++++++++++ 22 files changed, 229 insertions(+), 83 deletions(-) create mode 100644 target/linux/mvebu/patches-4.19/250-adjust-compatible-for-linksys.patch create mode 100644 target/linux/mvebu/patches-5.4/250-adjust-compatible-for-linksys.patch diff --git a/package/boot/uboot-envtools/files/mvebu b/package/boot/uboot-envtools/files/mvebu index 10f31b05a1..72e2df5d19 100644 --- a/package/boot/uboot-envtools/files/mvebu +++ b/package/boot/uboot-envtools/files/mvebu @@ -27,16 +27,16 @@ globalscale,espressobin-v7-emmc|\ marvell,armada8040-mcbin) ubootenv_add_uci_config "/dev/mtd0" "0x3f0000" "0x10000" "0x10000" "1" ;; -linksys,caiman|\ -linksys,cobra|\ -linksys,shelby) +linksys,wrt1200ac|\ +linksys,wrt1900ac-v2|\ +linksys,wrt1900acs) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x40000" ;; -linksys,mamba) +linksys,wrt1900ac-v1) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x20000" ;; -linksys,rango|\ -linksys,venom) +linksys,wrt3200acm|\ +linksys,wrt32x) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" ;; methode,udpu) diff --git a/target/linux/mvebu/cortexa9/base-files/etc/board.d/01_leds b/target/linux/mvebu/cortexa9/base-files/etc/board.d/01_leds index 450bc1f32a..c62de013d4 100755 --- a/target/linux/mvebu/cortexa9/base-files/etc/board.d/01_leds +++ b/target/linux/mvebu/cortexa9/base-files/etc/board.d/01_leds @@ -12,22 +12,37 @@ board=$(board_name) boardname="${board##*,}" case "$board" in -linksys,caiman|\ -linksys,cobra|\ -linksys,rango|\ -linksys,shelby) - ucidef_set_led_netdev "wan" "WAN" "pca963x:$boardname:white:wan" "wan" - ucidef_set_led_usbport "usb1" "USB 1" "pca963x:$boardname:white:usb2" "usb1-port1" - ucidef_set_led_usbport "usb2" "USB 2" "pca963x:$boardname:white:usb3_1" "usb2-port1" "usb3-port1" - ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:$boardname:white:usb3_2" "usb3-port1" +linksys,wrt1200ac) + ucidef_set_led_netdev "wan" "WAN" "pca963x:caiman:white:wan" "wan" + ucidef_set_led_usbport "usb1" "USB 1" "pca963x:caiman:white:usb2" "usb1-port1" + ucidef_set_led_usbport "usb2" "USB 2" "pca963x:caiman:white:usb3_1" "usb2-port1" "usb3-port1" + ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:caiman:white:usb3_2" "usb3-port1" ;; -linksys,mamba) +linksys,wrt1900ac-v1) ucidef_set_led_netdev "wan" "WAN" "mamba:white:wan" "wan" ucidef_set_led_usbport "usb1" "USB 1" "mamba:white:usb2" "usb1-port1" ucidef_set_led_usbport "usb2" "USB 2" "mamba:white:usb3_1" "usb2-port1" "usb3-port1" ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "mamba:white:usb3_2" "usb3-port2" ;; -linksys,venom) +linksys,wrt1900ac-v2) + ucidef_set_led_netdev "wan" "WAN" "pca963x:cobra:white:wan" "wan" + ucidef_set_led_usbport "usb1" "USB 1" "pca963x:cobra:white:usb2" "usb1-port1" + ucidef_set_led_usbport "usb2" "USB 2" "pca963x:cobra:white:usb3_1" "usb2-port1" "usb3-port1" + ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:cobra:white:usb3_2" "usb3-port1" + ;; +linksys,wrt1900acs) + ucidef_set_led_netdev "wan" "WAN" "pca963x:shelby:white:wan" "wan" + ucidef_set_led_usbport "usb1" "USB 1" "pca963x:shelby:white:usb2" "usb1-port1" + ucidef_set_led_usbport "usb2" "USB 2" "pca963x:shelby:white:usb3_1" "usb2-port1" "usb3-port1" + ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:shelby:white:usb3_2" "usb3-port1" + ;; +linksys,wrt3200acm) + ucidef_set_led_netdev "wan" "WAN" "pca963x:rango:white:wan" "wan" + ucidef_set_led_usbport "usb1" "USB 1" "pca963x:rango:white:usb2" "usb1-port1" + ucidef_set_led_usbport "usb2" "USB 2" "pca963x:rango:white:usb3_1" "usb2-port1" "usb3-port1" + ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:rango:white:usb3_2" "usb3-port1" + ;; +linksys,wrt32x) ucidef_set_led_netdev "wan" "WAN" "pca963x:venom:blue:wan" "wan" ucidef_set_led_usbport "usb1" "USB 1" "pca963x:venom:blue:usb2" "usb1-port1" ucidef_set_led_usbport "usb2" "USB 2" "pca963x:venom:blue:usb3_1" "usb2-port1" "usb3-port1" diff --git a/target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network b/target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network index 89ccedae3f..44188c5fa7 100755 --- a/target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network +++ b/target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network @@ -16,12 +16,12 @@ mvebu_setup_interfaces() cznic,turris-omnia) ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3 lan4" "eth2" ;; - linksys,caiman|\ - linksys,cobra|\ - linksys,mamba|\ - linksys,rango|\ - linksys,shelby|\ - linksys,venom) + linksys,wrt1200ac|\ + linksys,wrt1900ac-v1|\ + linksys,wrt1900ac-v2|\ + linksys,wrt1900acs|\ + linksys,wrt3200acm|\ + linksys,wrt32x) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" ;; marvell,a385-db-ap) @@ -60,15 +60,15 @@ mvebu_setup_macs() buffalo,ls421de) lan_mac=$(mtd_get_mac_ascii u-boot-env eth1addr) ;; - linksys,caiman|\ - linksys,cobra|\ - linksys,rango|\ - linksys,shelby|\ - linksys,venom) + linksys,wrt1200ac|\ + linksys,wrt1900ac-v2|\ + linksys,wrt1900acs|\ + linksys,wrt3200acm|\ + linksys,wrt32x) label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr) wan_mac=$(macaddr_setbit_la $label_mac) ;; - linksys,mamba) + linksys,wrt1900ac-v1) label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr) lan_mac=$label_mac wan_mac=$label_mac diff --git a/target/linux/mvebu/cortexa9/base-files/etc/init.d/bootcount b/target/linux/mvebu/cortexa9/base-files/etc/init.d/bootcount index dd2266bdc8..f1bfb4a001 100755 --- a/target/linux/mvebu/cortexa9/base-files/etc/init.d/bootcount +++ b/target/linux/mvebu/cortexa9/base-files/etc/init.d/bootcount @@ -4,12 +4,12 @@ START=99 boot() { case $(board_name) in - linksys,caiman |\ - linksys,cobra |\ - linksys,mamba |\ - linksys,rango |\ - linksys,shelby |\ - linksys,venom) + linksys,wrt1200ac|\ + linksys,wrt1900ac-v1|\ + linksys,wrt1900ac-v2|\ + linksys,wrt1900acs|\ + linksys,wrt3200acm|\ + linksys,wrt32x) mtd resetbc s_env || true ;; esac diff --git a/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless index 3c345ff148..79c74626f5 100644 --- a/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless +++ b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless @@ -11,7 +11,11 @@ board=$(board_name) case "$board" in -linksys,caiman|linksys,cobra|linksys,mamba|linksys,shelby|linksys,venom) +linksys,wrt1200ac|\ +linksys,wrt1900ac-v1|\ +linksys,wrt1900ac-v2|\ +linksys,wrt1900acs|\ +linksys,wrt32x) SKU=$(strings /dev/mtd3|sed -ne 's/^cert_region=//p') WIFIMAC2G=$(macaddr_add $(cat /sys/class/net/eth0/address) +1) WIFIMAC5G=$(macaddr_add $WIFIMAC2G +1) @@ -34,7 +38,7 @@ linksys,caiman|linksys,cobra|linksys,mamba|linksys,shelby|linksys,venom) esac case "$board" in - linksys,mamba) + linksys,wrt1900ac-v1) WIFIMAC0=$WIFIMAC2G WIFIMAC1=$WIFIMAC5G ;; diff --git a/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan index ec25aedad6..29c447d840 100644 --- a/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan +++ b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan @@ -8,7 +8,7 @@ board=$(board_name) case "$board" in -linksys,mamba) +linksys,wrt1900ac-v1) # Set fan script execution in crontab grep -s -q fan_ctrl.sh /etc/crontabs/root && exit 0 diff --git a/target/linux/mvebu/cortexa9/base-files/lib/preinit/81_linksys_syscfg b/target/linux/mvebu/cortexa9/base-files/lib/preinit/81_linksys_syscfg index 83448e5ace..6ebd727556 100644 --- a/target/linux/mvebu/cortexa9/base-files/lib/preinit/81_linksys_syscfg +++ b/target/linux/mvebu/cortexa9/base-files/lib/preinit/81_linksys_syscfg @@ -8,7 +8,12 @@ preinit_mount_syscfg() { . /lib/upgrade/common.sh case $(board_name) in - linksys,caiman|linksys,cobra|linksys,mamba|linksys,rango|linksys,shelby|linksys,venom) + linksys,wrt1200ac|\ + linksys,wrt1900ac-v1|\ + linksys,wrt1900ac-v2|\ + linksys,wrt1900acs|\ + linksys,wrt3200acm|\ + linksys,wrt32x) needs_recovery=0 syscfg_part=$(grep syscfg /proc/mtd |cut -c4) ubiattach -m $syscfg_part || needs_recovery=1 diff --git a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh index 63042b1535..6dccb491ba 100755 --- a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh +++ b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh @@ -30,12 +30,12 @@ platform_do_upgrade() { solidrun,clearfog-pro-a1) platform_do_upgrade_sdcard "$1" ;; - linksys,caiman|\ - linksys,cobra|\ - linksys,mamba|\ - linksys,rango|\ - linksys,shelby|\ - linksys,venom) + linksys,wrt1200ac|\ + linksys,wrt1900ac-v1|\ + linksys,wrt1900ac-v2|\ + linksys,wrt1900acs|\ + linksys,wrt3200acm|\ + linksys,wrt32x) platform_do_upgrade_linksys "$1" ;; *) @@ -50,12 +50,12 @@ platform_copy_config() { solidrun,clearfog-pro-a1) platform_copy_config_sdcard ;; - linksys,caiman|\ - linksys,cobra|\ - linksys,mamba|\ - linksys,rango|\ - linksys,shelby|\ - linksys,venom) + linksys,wrt1200ac|\ + linksys,wrt1900ac-v1|\ + linksys,wrt1900ac-v2|\ + linksys,wrt1900acs|\ + linksys,wrt3200acm|\ + linksys,wrt32x) platform_copy_config_linksys ;; esac diff --git a/target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-385-linksys-venom.dts b/target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-385-linksys-venom.dts index c152c14c6b..de81600a80 100644 --- a/target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-385-linksys-venom.dts +++ b/target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-385-linksys-venom.dts @@ -44,8 +44,8 @@ / { model = "Linksys WRT32X"; - compatible = "linksys,venom", "linksys,armada385", "marvell,armada385", - "marvell,armada380"; + compatible = "linksys,wrt32x", "linksys,venom", "linksys,armada385", + "marvell,armada385", "marvell,armada380"; chosen { bootargs = "console=ttyS0,115200"; diff --git a/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-385-linksys-venom.dts b/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-385-linksys-venom.dts index c152c14c6b..de81600a80 100644 --- a/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-385-linksys-venom.dts +++ b/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-385-linksys-venom.dts @@ -44,8 +44,8 @@ / { model = "Linksys WRT32X"; - compatible = "linksys,venom", "linksys,armada385", "marvell,armada385", - "marvell,armada380"; + compatible = "linksys,wrt32x", "linksys,venom", "linksys,armada385", + "marvell,armada385", "marvell,armada380"; chosen { bootargs = "console=ttyS0,115200"; diff --git a/target/linux/mvebu/image/cortexa9.mk b/target/linux/mvebu/image/cortexa9.mk index 4c7bbcd758..09f3d45e9e 100644 --- a/target/linux/mvebu/image/cortexa9.mk +++ b/target/linux/mvebu/image/cortexa9.mk @@ -65,7 +65,6 @@ define Device/linksys_wrt1200ac DEVICE_ALT0_MODEL := Caiman DEVICE_DTS := armada-385-linksys-caiman DEVICE_PACKAGES += mwlwifi-firmware-88w8864 - SUPPORTED_DEVICES := armada-385-linksys-caiman linksys,caiman endef TARGET_DEVICES += linksys_wrt1200ac @@ -80,11 +79,10 @@ define Device/linksys_wrt1900acs DEVICE_ALT1_MODEL := Shelby DEVICE_DTS := armada-385-linksys-shelby DEVICE_PACKAGES += mwlwifi-firmware-88w8864 - SUPPORTED_DEVICES := armada-385-linksys-shelby linksys,shelby endef TARGET_DEVICES += linksys_wrt1900acs -define Device/linksys_wrt1900ac +define Device/linksys_wrt1900ac-v1 $(call Device/linksys) DEVICE_MODEL := WRT1900AC DEVICE_VARIANT := v1 @@ -93,11 +91,10 @@ define Device/linksys_wrt1900ac DEVICE_DTS := armada-xp-linksys-mamba DEVICE_PACKAGES += mwlwifi-firmware-88w8864 KERNEL_SIZE := 3072k - SUPPORTED_DEVICES := armada-xp-linksys-mamba linksys,mamba endef -TARGET_DEVICES += linksys_wrt1900ac +TARGET_DEVICES += linksys_wrt1900ac-v1 -define Device/linksys_wrt1900acv2 +define Device/linksys_wrt1900ac-v2 $(call Device/linksys) DEVICE_MODEL := WRT1900AC DEVICE_VARIANT := v2 @@ -105,9 +102,8 @@ define Device/linksys_wrt1900acv2 DEVICE_ALT0_MODEL := Cobra DEVICE_DTS := armada-385-linksys-cobra DEVICE_PACKAGES += mwlwifi-firmware-88w8864 - SUPPORTED_DEVICES := armada-385-linksys-cobra linksys,cobra endef -TARGET_DEVICES += linksys_wrt1900acv2 +TARGET_DEVICES += linksys_wrt1900ac-v2 define Device/linksys_wrt3200acm $(call Device/linksys) @@ -116,7 +112,6 @@ define Device/linksys_wrt3200acm DEVICE_ALT0_MODEL := Rango DEVICE_DTS := armada-385-linksys-rango DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964 - SUPPORTED_DEVICES := armada-385-linksys-rango linksys,rango endef TARGET_DEVICES += linksys_wrt3200acm @@ -129,7 +124,6 @@ define Device/linksys_wrt32x DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964 KERNEL_SIZE := 3072k KERNEL := kernel-bin | append-dtb - SUPPORTED_DEVICES := armada-385-linksys-venom linksys,venom endef TARGET_DEVICES += linksys_wrt32x diff --git a/target/linux/mvebu/patches-4.19/005-linksys_hardcode_nand_ecc_settings.patch b/target/linux/mvebu/patches-4.19/005-linksys_hardcode_nand_ecc_settings.patch index dfe13bae7b..89a5e19803 100644 --- a/target/linux/mvebu/patches-4.19/005-linksys_hardcode_nand_ecc_settings.patch +++ b/target/linux/mvebu/patches-4.19/005-linksys_hardcode_nand_ecc_settings.patch @@ -6,7 +6,7 @@ Signed-off-by: Imre Kaloz --- a/arch/arm/boot/dts/armada-385-linksys.dtsi +++ b/arch/arm/boot/dts/armada-385-linksys.dtsi -@@ -160,6 +160,8 @@ +@@ -148,6 +148,8 @@ reg = <0>; label = "pxa3xx_nand-0"; nand-rb = <0>; diff --git a/target/linux/mvebu/patches-4.19/230-armada-xp-linksys-mamba-broken-idle.patch b/target/linux/mvebu/patches-4.19/230-armada-xp-linksys-mamba-broken-idle.patch index 935c8fe093..6f36d09966 100644 --- a/target/linux/mvebu/patches-4.19/230-armada-xp-linksys-mamba-broken-idle.patch +++ b/target/linux/mvebu/patches-4.19/230-armada-xp-linksys-mamba-broken-idle.patch @@ -1,6 +1,6 @@ --- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts -@@ -543,3 +543,7 @@ +@@ -532,3 +532,7 @@ }; }; }; diff --git a/target/linux/mvebu/patches-4.19/231-armada-xp-linksys-mamba-wan.patch b/target/linux/mvebu/patches-4.19/231-armada-xp-linksys-mamba-wan.patch index 40e852b089..9404d55d37 100644 --- a/target/linux/mvebu/patches-4.19/231-armada-xp-linksys-mamba-wan.patch +++ b/target/linux/mvebu/patches-4.19/231-armada-xp-linksys-mamba-wan.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts -index 8480a16919a0..8cf3c9d5205b 100644 --- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts -@@ -299,7 +299,7 @@ +@@ -248,7 +248,7 @@ port at 4 { reg = <4>; diff --git a/target/linux/mvebu/patches-4.19/241-linksys-use-eth0-as-cpu-port.patch b/target/linux/mvebu/patches-4.19/241-linksys-use-eth0-as-cpu-port.patch index c440530fc3..84d49a004b 100644 --- a/target/linux/mvebu/patches-4.19/241-linksys-use-eth0-as-cpu-port.patch +++ b/target/linux/mvebu/patches-4.19/241-linksys-use-eth0-as-cpu-port.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm/boot/dts/armada-385-linksys.dtsi b/arch/arm/boot/dts/armada-385-linksys.dtsi -index 827e82be2201..b6aecf4cc5eb 100644 --- a/arch/arm/boot/dts/armada-385-linksys.dtsi +++ b/arch/arm/boot/dts/armada-385-linksys.dtsi -@@ -109,7 +109,7 @@ +@@ -116,7 +116,7 @@ }; ð2 { @@ -11,7 +9,7 @@ index 827e82be2201..b6aecf4cc5eb 100644 phy-mode = "sgmii"; buffer-manager = <&bm>; bm,pool-long = <2>; -@@ -191,10 +191,10 @@ +@@ -200,10 +200,10 @@ label = "wan"; }; diff --git a/target/linux/mvebu/patches-4.19/250-adjust-compatible-for-linksys.patch b/target/linux/mvebu/patches-4.19/250-adjust-compatible-for-linksys.patch new file mode 100644 index 0000000000..a5d3e63810 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/250-adjust-compatible-for-linksys.patch @@ -0,0 +1,68 @@ +--- a/arch/arm/boot/dts/armada-385-linksys-rango.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-rango.dts +@@ -12,8 +12,8 @@ + + / { + model = "Linksys WRT3200ACM"; +- compatible = "linksys,rango", "linksys,armada385", "marvell,armada385", +- "marvell,armada380"; ++ compatible = "linksys,wrt3200acm", "linksys,rango", "linksys,armada385", ++ "marvell,armada385", "marvell,armada380"; + }; + + &expander0 { +--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts ++++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +@@ -22,9 +22,10 @@ + #include "armada-xp-mv78230.dtsi" + + / { +- model = "Linksys WRT1900AC"; +- compatible = "linksys,mamba", "marvell,armadaxp-mv78230", +- "marvell,armadaxp", "marvell,armada-370-xp"; ++ model = "Linksys WRT1900AC v1"; ++ compatible = "linksys,wrt1900ac-v1", "linksys,mamba", ++ "marvell,armadaxp-mv78230", "marvell,armadaxp", ++ "marvell,armada-370-xp"; + + aliases { + led-boot = &led_power; +--- a/arch/arm/boot/dts/armada-385-linksys-cobra.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-cobra.dts +@@ -9,8 +9,9 @@ + #include "armada-385-linksys.dtsi" + + / { +- model = "Linksys WRT1900ACv2"; +- compatible = "linksys,cobra", "linksys,armada385", "marvell,armada385", ++ model = "Linksys WRT1900AC v2"; ++ compatible = "linksys,wrt1900ac-v2", "linksys,cobra", ++ "linksys,armada385", "marvell,armada385", + "marvell,armada380"; + }; + +--- a/arch/arm/boot/dts/armada-385-linksys-caiman.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-caiman.dts +@@ -10,8 +10,8 @@ + + / { + model = "Linksys WRT1200AC"; +- compatible = "linksys,caiman", "linksys,armada385", "marvell,armada385", +- "marvell,armada380"; ++ compatible = "linksys,wrt1200ac", "linksys,caiman", "linksys,armada385", ++ "marvell,armada385", "marvell,armada380"; + }; + + &expander0 { +--- a/arch/arm/boot/dts/armada-385-linksys-shelby.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-shelby.dts +@@ -10,7 +10,8 @@ + + / { + model = "Linksys WRT1900ACS"; +- compatible = "linksys,shelby", "linksys,armada385", "marvell,armada385", ++ compatible = "linksys,wrt1900acs", "linksys,shelby", ++ "linksys,armada385", "marvell,armada385", + "marvell,armada380"; + }; + diff --git a/target/linux/mvebu/patches-4.19/415-ARM-dts-armada388-clearfog-document-MPP-usage.patch b/target/linux/mvebu/patches-4.19/415-ARM-dts-armada388-clearfog-document-MPP-usage.patch index d64bd8084e..b6890318f8 100644 --- a/target/linux/mvebu/patches-4.19/415-ARM-dts-armada388-clearfog-document-MPP-usage.patch +++ b/target/linux/mvebu/patches-4.19/415-ARM-dts-armada388-clearfog-document-MPP-usage.patch @@ -68,7 +68,7 @@ Signed-off-by: Russell King +*/ --- a/arch/arm/boot/dts/armada-388-clearfog.dts +++ b/arch/arm/boot/dts/armada-388-clearfog.dts -@@ -249,3 +249,53 @@ +@@ -236,3 +236,53 @@ */ pinctrl-0 = <&spi1_pins &clearfog_spi1_cs_pins &mikro_spi_pins>; }; diff --git a/target/linux/mvebu/patches-5.4/005-linksys_hardcode_nand_ecc_settings.patch b/target/linux/mvebu/patches-5.4/005-linksys_hardcode_nand_ecc_settings.patch index dfe13bae7b..89a5e19803 100644 --- a/target/linux/mvebu/patches-5.4/005-linksys_hardcode_nand_ecc_settings.patch +++ b/target/linux/mvebu/patches-5.4/005-linksys_hardcode_nand_ecc_settings.patch @@ -6,7 +6,7 @@ Signed-off-by: Imre Kaloz --- a/arch/arm/boot/dts/armada-385-linksys.dtsi +++ b/arch/arm/boot/dts/armada-385-linksys.dtsi -@@ -160,6 +160,8 @@ +@@ -148,6 +148,8 @@ reg = <0>; label = "pxa3xx_nand-0"; nand-rb = <0>; diff --git a/target/linux/mvebu/patches-5.4/230-armada-xp-linksys-mamba-broken-idle.patch b/target/linux/mvebu/patches-5.4/230-armada-xp-linksys-mamba-broken-idle.patch index ee8786c0fc..16112d53fc 100644 --- a/target/linux/mvebu/patches-5.4/230-armada-xp-linksys-mamba-broken-idle.patch +++ b/target/linux/mvebu/patches-5.4/230-armada-xp-linksys-mamba-broken-idle.patch @@ -1,6 +1,6 @@ --- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts -@@ -496,3 +496,7 @@ +@@ -485,3 +485,7 @@ }; }; }; diff --git a/target/linux/mvebu/patches-5.4/231-armada-xp-linksys-mamba-wan.patch b/target/linux/mvebu/patches-5.4/231-armada-xp-linksys-mamba-wan.patch index 40e852b089..4315abc7d2 100644 --- a/target/linux/mvebu/patches-5.4/231-armada-xp-linksys-mamba-wan.patch +++ b/target/linux/mvebu/patches-5.4/231-armada-xp-linksys-mamba-wan.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts -index 8480a16919a0..8cf3c9d5205b 100644 --- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts -@@ -299,7 +299,7 @@ +@@ -387,7 +387,7 @@ port at 4 { reg = <4>; diff --git a/target/linux/mvebu/patches-5.4/241-linksys-use-eth0-as-cpu-port.patch b/target/linux/mvebu/patches-5.4/241-linksys-use-eth0-as-cpu-port.patch index c440530fc3..84d49a004b 100644 --- a/target/linux/mvebu/patches-5.4/241-linksys-use-eth0-as-cpu-port.patch +++ b/target/linux/mvebu/patches-5.4/241-linksys-use-eth0-as-cpu-port.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm/boot/dts/armada-385-linksys.dtsi b/arch/arm/boot/dts/armada-385-linksys.dtsi -index 827e82be2201..b6aecf4cc5eb 100644 --- a/arch/arm/boot/dts/armada-385-linksys.dtsi +++ b/arch/arm/boot/dts/armada-385-linksys.dtsi -@@ -109,7 +109,7 @@ +@@ -116,7 +116,7 @@ }; ð2 { @@ -11,7 +9,7 @@ index 827e82be2201..b6aecf4cc5eb 100644 phy-mode = "sgmii"; buffer-manager = <&bm>; bm,pool-long = <2>; -@@ -191,10 +191,10 @@ +@@ -200,10 +200,10 @@ label = "wan"; }; diff --git a/target/linux/mvebu/patches-5.4/250-adjust-compatible-for-linksys.patch b/target/linux/mvebu/patches-5.4/250-adjust-compatible-for-linksys.patch new file mode 100644 index 0000000000..a5d3e63810 --- /dev/null +++ b/target/linux/mvebu/patches-5.4/250-adjust-compatible-for-linksys.patch @@ -0,0 +1,68 @@ +--- a/arch/arm/boot/dts/armada-385-linksys-rango.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-rango.dts +@@ -12,8 +12,8 @@ + + / { + model = "Linksys WRT3200ACM"; +- compatible = "linksys,rango", "linksys,armada385", "marvell,armada385", +- "marvell,armada380"; ++ compatible = "linksys,wrt3200acm", "linksys,rango", "linksys,armada385", ++ "marvell,armada385", "marvell,armada380"; + }; + + &expander0 { +--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts ++++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +@@ -22,9 +22,10 @@ + #include "armada-xp-mv78230.dtsi" + + / { +- model = "Linksys WRT1900AC"; +- compatible = "linksys,mamba", "marvell,armadaxp-mv78230", +- "marvell,armadaxp", "marvell,armada-370-xp"; ++ model = "Linksys WRT1900AC v1"; ++ compatible = "linksys,wrt1900ac-v1", "linksys,mamba", ++ "marvell,armadaxp-mv78230", "marvell,armadaxp", ++ "marvell,armada-370-xp"; + + aliases { + led-boot = &led_power; +--- a/arch/arm/boot/dts/armada-385-linksys-cobra.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-cobra.dts +@@ -9,8 +9,9 @@ + #include "armada-385-linksys.dtsi" + + / { +- model = "Linksys WRT1900ACv2"; +- compatible = "linksys,cobra", "linksys,armada385", "marvell,armada385", ++ model = "Linksys WRT1900AC v2"; ++ compatible = "linksys,wrt1900ac-v2", "linksys,cobra", ++ "linksys,armada385", "marvell,armada385", + "marvell,armada380"; + }; + +--- a/arch/arm/boot/dts/armada-385-linksys-caiman.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-caiman.dts +@@ -10,8 +10,8 @@ + + / { + model = "Linksys WRT1200AC"; +- compatible = "linksys,caiman", "linksys,armada385", "marvell,armada385", +- "marvell,armada380"; ++ compatible = "linksys,wrt1200ac", "linksys,caiman", "linksys,armada385", ++ "marvell,armada385", "marvell,armada380"; + }; + + &expander0 { +--- a/arch/arm/boot/dts/armada-385-linksys-shelby.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-shelby.dts +@@ -10,7 +10,8 @@ + + / { + model = "Linksys WRT1900ACS"; +- compatible = "linksys,shelby", "linksys,armada385", "marvell,armada385", ++ compatible = "linksys,wrt1900acs", "linksys,shelby", ++ "linksys,armada385", "marvell,armada385", + "marvell,armada380"; + }; + -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From danielb at meshplusplus.com Thu Jun 4 19:13:29 2020 From: danielb at meshplusplus.com (Daniel Bailey) Date: Thu, 4 Jun 2020 16:13:29 -0700 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile In-Reply-To: References: Message-ID: Somebody who is better with jsonfilter than me might be able to clean this up, but it does the trick: #!/bin/sh . /usr/share/libubox/jshn.sh json_load "$(ubus call service list)" json_get_keys SERVICES for SERVICE in $SERVICES; do echo "$SERVICE: `ubus call service list | jsonfilter -e "@.$SERVICE.instances[\"*\"].running"`" done On Thu, Jun 4, 2020 at 2:56 AM Stan Grishin wrote: > On Wed, Jun 3, 2020 at 4:53 PM Michael Jones > wrote: > > > > > > > > On Wed, Jun 3, 2020 at 6:21 PM Stan Grishin wrote: > >> > >> To obtain the list of enabled (for autostart) services, you'd type > >> service list-enabled. For disabled services service list-disabled. It > >> is useful when you need to quickly check which services are > >> enabled/disabled or when helping other users troubleshoot. > >> > >> An alternative to list-enabled/list-disabled that I have considered > >> was to output the enabled status of available services below the usage > >> output, ie replace: > >> if [ -n "$1" ]; then > >> echo "service "'"'"$1"'"'" not found, the > >> following services are available:" > >> ls "/etc/init.d" > >> fi > >> > >> with > >> > >> if [ -n "$1" ]; then > >> echo "service "'"'"$1"'"'" not found, the > >> following services are available:" > >> for F in /etc/init.d/* ; do > >> $F enabled && echo "$F (autostart enabled)" || > >> echo "$F (autostart **disabled**)" > >> done; > >> fi > >> > >> > >> Please elaborate on the list-start and list-stop question, I'm not > >> sure I understand the purpose of those. > > > > > > Originally I asked that question because I misunderstood what the goal > of this change was. > > > > I thought that you were proposing to add the ability to enable / disable > multiple services at the same time, so I was asking about the ability to > start / stop multiple services at the same time. > > > > It's clear not that's not what you were trying to propose. > > > > So instead, what about listing the services that are running, and also > listing the services that are configured, but not running? > > Is there an easy universal way to determine if the service is running? > > > I don't know that that provides a lot of value, so it may not be worth > doing. > > If there's a one/two liner to figure out if a service is running or > not, it may be better to implement `service list` which would print > the table of available init scripts, wherever they are enabled or not > and wherever they are running or not. > > If that is deemed to be a better approach I can resubmit the patch. > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stangri at melmac.net Thu Jun 4 19:49:44 2020 From: stangri at melmac.net (Stan Grishin) Date: Thu, 4 Jun 2020 16:49:44 -0700 Subject: [OpenWrt-Devel] [PATCH] base-files: add list-enabled/disabled to service function in /etc/profile In-Reply-To: References: Message-ID: Daniel, thanks, that's what I ended up doing in the code for the `service list`. Should I send the patch for `service list` and remove `service list-enabled` and `service list-disabled`? Do people care about this minor improvement? On Thu, Jun 4, 2020 at 4:13 PM Daniel Bailey wrote: > > Somebody who is better with jsonfilter than me might be able to clean this up, but it does the trick: > > #!/bin/sh > > . /usr/share/libubox/jshn.sh > > json_load "$(ubus call service list)" > json_get_keys SERVICES > > for SERVICE in $SERVICES; do > echo "$SERVICE: `ubus call service list | jsonfilter -e "@.$SERVICE.instances[\"*\"].running"`" > done > > On Thu, Jun 4, 2020 at 2:56 AM Stan Grishin wrote: >> >> On Wed, Jun 3, 2020 at 4:53 PM Michael Jones wrote: >> > >> > >> > >> > On Wed, Jun 3, 2020 at 6:21 PM Stan Grishin wrote: >> >> >> >> To obtain the list of enabled (for autostart) services, you'd type >> >> service list-enabled. For disabled services service list-disabled. It >> >> is useful when you need to quickly check which services are >> >> enabled/disabled or when helping other users troubleshoot. >> >> >> >> An alternative to list-enabled/list-disabled that I have considered >> >> was to output the enabled status of available services below the usage >> >> output, ie replace: >> >> if [ -n "$1" ]; then >> >> echo "service "'"'"$1"'"'" not found, the >> >> following services are available:" >> >> ls "/etc/init.d" >> >> fi >> >> >> >> with >> >> >> >> if [ -n "$1" ]; then >> >> echo "service "'"'"$1"'"'" not found, the >> >> following services are available:" >> >> for F in /etc/init.d/* ; do >> >> $F enabled && echo "$F (autostart enabled)" || >> >> echo "$F (autostart **disabled**)" >> >> done; >> >> fi >> >> >> >> >> >> Please elaborate on the list-start and list-stop question, I'm not >> >> sure I understand the purpose of those. >> > >> > >> > Originally I asked that question because I misunderstood what the goal of this change was. >> > >> > I thought that you were proposing to add the ability to enable / disable multiple services at the same time, so I was asking about the ability to start / stop multiple services at the same time. >> > >> > It's clear not that's not what you were trying to propose. >> > >> > So instead, what about listing the services that are running, and also listing the services that are configured, but not running? >> >> Is there an easy universal way to determine if the service is running? >> >> > I don't know that that provides a lot of value, so it may not be worth doing. >> >> If there's a one/two liner to figure out if a service is running or >> not, it may be better to implement `service list` which would print >> the table of available init scripts, wherever they are enabled or not >> and wherever they are running or not. >> >> If that is deemed to be a better approach I can resubmit the patch. >> >> _______________________________________________ >> openwrt-devel mailing list >> openwrt-devel at lists.openwrt.org >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From danielb at meshplusplus.com Thu Jun 4 20:32:27 2020 From: danielb at meshplusplus.com (Daniel Bailey) Date: Thu, 4 Jun 2020 17:32:27 -0700 Subject: [OpenWrt-Devel] [PATCH] sysupgrade: kill services before upgraded/stage2 Message-ID: <20200605003227.651374-1-danielb@meshplusplus.com> Sometimes stage2 is unable to kill all processes which results in a failed upgrade. Rather than fully relying on stage2, let procd gracefully terminate the services in the services AVL tree before handing control to upgraded. Signed-off-by: Daniel Bailey --- service/service.c | 22 ++++++++++++++++++++++ service/service.h | 1 + system.c | 6 ++++++ 3 files changed, 29 insertions(+) diff --git a/service/service.c b/service/service.c index fcf0215..7191cec 100644 --- a/service/service.c +++ b/service/service.c @@ -837,6 +837,28 @@ service_start_early(char *name, char *cmdline) return service_handle_set(NULL, NULL, NULL, "add", b.head); } +int +service_delete_all(void) +{ + struct service *s, *safe; + const struct avl_tree *tree = &services; + int ret; + + avl_for_each_element_safe(tree, s, avl, safe) { + blob_buf_init(&b, 0); + blobmsg_add_string(&b, "name", s->name); + + ret = service_handle_delete(NULL, NULL, NULL, NULL, b.head); + + if (ret) { + ERROR("failed to delete service '%s'", s->name); + return ret; + } + } + + return 0; +} + void service_stopped(struct service *s) { _service_stopped(s, false); diff --git a/service/service.h b/service/service.h index fac5da9..09ed409 100644 --- a/service/service.h +++ b/service/service.h @@ -56,6 +56,7 @@ void service_validate_add(struct service *s, struct blob_attr *attr); void service_validate_dump(struct blob_buf *b, struct service *s); void service_validate_dump_all(struct blob_buf *b, char *p, char *s); int service_start_early(char *name, char *cmdline); +int service_delete_all(void); void service_stopped(struct service *s); void service_validate_del(struct service *s); void service_event(const char *type, const char *service, const char *instance); diff --git a/system.c b/system.c index 0fb98f1..38a0539 100644 --- a/system.c +++ b/system.c @@ -30,6 +30,7 @@ #include #include "procd.h" +#include "service/service.h" #include "sysupgrade.h" #include "watchdog.h" @@ -695,6 +696,11 @@ static int sysupgrade(struct ubus_context *ctx, struct ubus_object *obj, return UBUS_STATUS_NOT_SUPPORTED; } + if (service_delete_all()) { + sysupgrade_error(ctx, req, "Failed to delete all services"); + return UBUS_STATUS_UNKNOWN_ERROR; + } + sysupgrade_exec_upgraded(blobmsg_get_string(tb[SYSUPGRADE_PREFIX]), blobmsg_get_string(tb[SYSUPGRADE_PATH]), tb[SYSUPGRADE_BACKUP] ? blobmsg_get_string(tb[SYSUPGRADE_BACKUP]) : NULL, -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From zhangkaiheb at 126.com Thu Jun 4 22:06:09 2020 From: zhangkaiheb at 126.com (kai zhang) Date: Fri, 5 Jun 2020 02:06:09 +0000 Subject: [OpenWrt-Devel] [PATCH] build: svn: remove the check for trust-server-cert option Message-ID: <20200605020609.1371993-1-zhangkaiheb@126.com> The command:(svn help export) does not display trust-server-cert option by default even if it is supported with svn version 1.13.0. Signed-off-by: kai zhang --- include/download.mk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/include/download.mk b/include/download.mk index 9c8ada052b..6c7b5f6371 100644 --- a/include/download.mk +++ b/include/download.mk @@ -167,9 +167,7 @@ define DownloadMethod/svn cd $(TMP_DIR)/dl && \ rm -rf $(SUBDIR) && \ [ \! -d $(SUBDIR) ] && \ - ( svn help export | grep -q trust-server-cert && \ - svn export --non-interactive --trust-server-cert -r$(VERSION) $(URL) $(SUBDIR) || \ - svn export --non-interactive -r$(VERSION) $(URL) $(SUBDIR) ) && \ + svn export --non-interactive --trust-server-cert -r$(VERSION) $(URL) $(SUBDIR) && \ echo "Packing checkout..." && \ export TAR_TIMESTAMP="" && \ $(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From danielb at meshplusplus.com Thu Jun 4 23:25:21 2020 From: danielb at meshplusplus.com (Daniel Bailey) Date: Thu, 4 Jun 2020 20:25:21 -0700 Subject: [OpenWrt-Devel] Inquiry on process of getting patches accepted Message-ID: Hi all, I'm curious about the process to get a patch accepted. I followed the steps (and formatting guidelines) at https://openwrt.org/submitting-patches and submitted a couple of patches for procd last Friday and another one today. I submitted them to the list alone because I couldn't tell if there was an official maintainer (I didn't see one in the procd Makefile). Looking at an 18.06 control file in my build tree, it appears that maybe John Crispin is the maintainer? Looking at http://patchwork.ozlabs.org/project/openwrt/list/, I see my patches there and they are marked as new. But some are there from July, 2018 and are marked as new. Please advise me whether there are further steps I should take. Best, Daniel -- Daniel Bailey Senior Firmware Engineer MeshPlusPlus, Inc. m: (503) 347-3664 a: 935 W. Chestnut St. Ste. 505, Chicago IL 60642 w: www.meshplusplus.com e: danielb at meshplusplus.com *Confidentiality Notice: This email message, including any attachments, is for the sole use of the intended recipient(s) and may **contain confidential and privileged information. If you are not the intended recipient, please contact the **sender by reply e-mail and destroy all copies of the original message. Any unauthorized review, use, **disclosure, or distribution is prohibited.* -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Fri Jun 5 02:14:13 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Fri, 5 Jun 2020 08:14:13 +0200 Subject: [OpenWrt-Devel] Inquiry on process of getting patches accepted In-Reply-To: References: Message-ID: <20200605061413.GA32043@meh.true.cz> Daniel Bailey [2020-06-04 20:25:21]: Hi, > I'm curious about the process to get a patch accepted. currently it's like in other FOSS project run by volunteers, so the resources are scarce. You send the contribution and then wait some time, ping, wait some more time, try to poke someone of the maintainers directly on IRC, wait some time, then resend. > I followed the steps (and formatting guidelines) at > https://openwrt.org/submitting-patches and submitted a couple of patches > for procd last Friday and another one today. I submitted them to the list Yes, sending the patch to the list (or GitHub PR which is impossible for procd) are the only proper ways. > alone because I couldn't tell if there was an official maintainer (I didn't > see one in the procd Makefile). Looking at an 18.06 control file in my > build tree, it appears that maybe John Crispin is the maintainer? I would say, that community is maintainer. > Looking at http://patchwork.ozlabs.org/project/openwrt/list/, I see my > patches there and they are marked as new. But some are there from July, > 2018 and are marked as new. See following mail thread[1]. > Please advise me whether there are further steps I should take. Nope, just wait, be patient. 1. http://lists.infradead.org/pipermail/openwrt-devel/2019-October/019570.html -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Evan.Jobling at uon.edu.au Fri Jun 5 02:27:56 2020 From: Evan.Jobling at uon.edu.au (Evan Jobling) Date: Fri, 5 Jun 2020 06:27:56 +0000 Subject: [OpenWrt-Devel] [PATCH] ramips: add support for netgear r6020 In-Reply-To: References: Message-ID: Hi, It seems that the older patches got put into patchwork, and assigned to Petr ?tetiar? Apologies for the mess I created. I tried to put those patches to superseded? Responses to feedback on my original patches, as well as the patch at the end. Additional feedback and requests for changes/tests welcome. >Typically, frequency can be raised with substantial gains in read speed. I can increase if required. Not sure how fast is reasonable/required? At this stage I would rather not set up an oscilloscope to experiment with how fast I can push it? Datasheet of flash ic is 80MHz or so? Not sure how fast the mt7628an can go? >> mtd-mac-address = <&nvram 0x100b0>; > >Are these necessary, or will the address be correct if you just drop them? It appears I need this line for the ethernet, otherwise random mac address is created. > >Despite, can you please check whether there are addresses in factory 0x28, 0x2e, 0xe000, 0xe006, 0x4, 0x8004? > >Which addresses are assigned on OEM firmware (lan, wan, 2g, 5g)? You would like me to flash the OEM firmware, look at MAC addresses? All the devices I have on hand are flashed to openwrt. I can flash latest factory firmware? I have it set up to be same mac address on wired and wlan. It is the same one that is written on the device sticker. The bootloader uses that mac address on the lan hardware. >> ucidef_set_led_wlan "wlan2g" "WiFi 2.4GHz" "$boardname:green:wlan2g" "phy0tpt" > >Please use a DTS trigger instead (for both 2g and 5g). I don't understand. R6120 lines look similar? Do I need to remove the 2g/5g lines? I tried to search for some documentation. I found [1], [2] ? >The old PR has been closed quite some time ago due to inactivity. If there is new progress now, it would be fine to just open a new PR by the "new author". Is patch via email acceptable? Alternatively, I would need to create github account, and do pull request there? I'm assuming keeping the same thread at this stage is the best way forward? I understand the subject should have been something like "Subject: [PATCH] ramips: add support for netgear r6020" Cheers, Evan. [1] https://openwrt.org/docs/guide-user/base-system/led_configuration [2] https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/leds-gpio.txt From freifunk at adrianschmutzler.de Fri Jun 5 07:47:36 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Fri, 5 Jun 2020 13:47:36 +0200 Subject: [OpenWrt-Devel] [RFC PATCH] sysupgrade: introduce compatibility version for devices Message-ID: <20200605114736.63933-1-freifunk@adrianschmutzler.de> We regularly encounter the situation that devices are subject to changes that will make them incompatible to previous versions. Removing SUPPORTED_DEVICES will not really be helpful in most of these cases, as this only helps after a rename. To solve this situation, this patch introduces a compatibility version for devices. It will be implemented via a per-device Make variable DEVICE_COMPAT_VERSION, which will be set to 1.0 globally by default and then can be overwritten as needed. The value for "old" devices/images without it is assumed to be 1.0 as well. If an incompatible change is introduced, one can now increase either the minor version (1.0->1.1) or the major version (1.0->2.0). The former will still allow sysupgrade and only require to have -n set to wipe existing config. The latter is meant for cases where sysupgrade will break entirely, and a new installation should be performed. Both can still be forced as usual (-F). Signed-off-by: Adrian Schmutzler --- ** HELP NEEDED ** This patch is completely untested and won't work right now due to the following problem: The major obstacle (not implemented at all) currently is how to get the compat version (on)to the running device. Including it into image metadata is easy, but how to properly transform the Make variable into a variable on the device? (Of course, I can just create a separate file and write to it, but maybe there are better ways I don't see right now.) Of course, the current draft will only work after the second upgrade, i.e. when upgrading from the new firmware to an even newer one. I'm currently trying to work around that and provide compatibility with older images as well, e.g. by renaming the supported_devices in metadata based on the compat_version. --- include/image-commands.mk | 5 +++-- include/image.mk | 3 ++- package/base-files/files/lib/upgrade/fwtool.sh | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/include/image-commands.mk b/include/image-commands.mk index e7db7128b4..53ee24aa36 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -390,7 +390,8 @@ metadata_devices=$(if $(1),$(subst "$(space)","$(comma)",$(strip $(foreach v,$(1 metadata_json = \ '{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \ "metadata_version": "1.0", \ - "supported_devices":[$(call metadata_devices,$(1))], \ + "compat_version": "$(call json_quote,$(if $(DEVICE_COMPAT_VERSION),$(DEVICE_COMPAT_VERSION),1.0))", \ + "supported_devices":[$(call metadata_devices,$(SUPPORTED_DEVICES))], \ "version": { \ "dist": "$(call json_quote,$(VERSION_DIST))", \ "version": "$(call json_quote,$(VERSION_NUMBER))", \ @@ -401,7 +402,7 @@ metadata_json = \ }' define Build/append-metadata - $(if $(SUPPORTED_DEVICES),-echo $(call metadata_json,$(SUPPORTED_DEVICES)) | fwtool -I - $@) + $(if $(SUPPORTED_DEVICES),-echo $(call metadata_json) | fwtool -I - $@) [ ! -s "$(BUILD_KEY)" -o ! -s "$(BUILD_KEY).ucert" -o ! -s "$@" ] || { \ cp "$(BUILD_KEY).ucert" "$@.ucert" ;\ usign -S -m "$@" -s "$(BUILD_KEY)" -x "$@.sig" ;\ diff --git a/include/image.mk b/include/image.mk index 984b64fb9c..346ab0d5d3 100644 --- a/include/image.mk +++ b/include/image.mk @@ -419,6 +419,7 @@ define Device/Init BOARD_NAME := UIMAGE_NAME := + DEVICE_COMPAT_VERSION := 1.0 SUPPORTED_DEVICES := IMAGE_METADATA := @@ -435,7 +436,7 @@ DEFAULT_DEVICE_VARS := \ VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \ DEVICE_DTS_CONFIG DEVICE_DTS_DIR SOC BOARD_NAME UIMAGE_NAME SUPPORTED_DEVICES \ IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR UBOOT_PATH IMAGE_SIZE \ - DEVICE_VENDOR DEVICE_MODEL DEVICE_VARIANT \ + DEVICE_COMPAT_VERSION DEVICE_VENDOR DEVICE_MODEL DEVICE_VARIANT \ DEVICE_ALT0_VENDOR DEVICE_ALT0_MODEL DEVICE_ALT0_VARIANT \ DEVICE_ALT1_VENDOR DEVICE_ALT1_MODEL DEVICE_ALT1_VARIANT \ DEVICE_ALT2_VENDOR DEVICE_ALT2_MODEL DEVICE_ALT2_VARIANT diff --git a/package/base-files/files/lib/upgrade/fwtool.sh b/package/base-files/files/lib/upgrade/fwtool.sh index a0b3fb0a04..b887408f7e 100644 --- a/package/base-files/files/lib/upgrade/fwtool.sh +++ b/package/base-files/files/lib/upgrade/fwtool.sh @@ -44,6 +44,23 @@ fwtool_check_image() { } device="$(cat /tmp/sysinfo/board_name)" + compat="$(cat somewherelocal)" + [ -n "$compat" ] || compat="1.0" + + json_get_var imagecompat compat_version + [ -n "$imagecompat" ] || imagecompat="1.0" + + # major compat version -> no sysupgrade + if [ "${compat%.*}" != "${imagecompat%.*}" ]; then + echo "This image is incompatible for sysupgrading based on the image version." + return 1 + fi + + # minor compat version -> sysupgrade with -n required + if [ "${compat#.*}" != "${imagecompat#.*}" ] && [ "$SAVE_CONFIG" = "1" ]; then + echo "This config is incompatible to the new image. Please upgrade with -n" + return 1 + fi json_select supported_devices || return 1 -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bjorn at mork.no Fri Jun 5 08:27:24 2020 From: bjorn at mork.no (=?utf-8?Q?Bj=C3=B8rn_Mork?=) Date: Fri, 05 Jun 2020 14:27:24 +0200 Subject: [OpenWrt-Devel] [RFC PATCH] sysupgrade: introduce compatibility version for devices In-Reply-To: <20200605114736.63933-1-freifunk@adrianschmutzler.de> (Adrian Schmutzler's message of "Fri, 5 Jun 2020 13:47:36 +0200") References: <20200605114736.63933-1-freifunk@adrianschmutzler.de> Message-ID: <87y2p1u28j.fsf@miraculix.mork.no> I haven't even bother to try to write any code to see if this is feasible, but anyway... I wonder if there might be more flexible and user-friendly ways to handle upgrade incompatibilities if we are allowed to use code/metadata from the new image in the sysupgrade process? Instead of just providing a version number with some simple semantics like you describe, the new image could provide a script snippet or similar which codifies a more precise description of the incompatibility. And even a solution, if there is one. For the DSA example, such a script could (optionally?) move an incompatible config/network out of the way, while leaving all other settings untouched. Preserving e.g. wireless config has a lot of value. With the possibily to cancel the upgrade, it would even attempt an incomplete conversion. IMHO, the main reason we can't do automatic DSA conversion is because there will be failures. But this isn't critical if it is detected prior to upgrading. Just a few random thoughts. Since you are about to fundamentally improve sysupgrade anyway ;-) Bj?rn _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From henrique at nic.br Fri Jun 5 09:50:22 2020 From: henrique at nic.br (Henrique de Moraes Holschuh) Date: Fri, 5 Jun 2020 10:50:22 -0300 Subject: [OpenWrt-Devel] [RFC PATCH] sysupgrade: introduce compatibility version for devices In-Reply-To: <87y2p1u28j.fsf@miraculix.mork.no> References: <20200605114736.63933-1-freifunk@adrianschmutzler.de> <87y2p1u28j.fsf@miraculix.mork.no> Message-ID: On 05/06/2020 09:27, Bj?rn Mork wrote: > I wonder if there might be more flexible and user-friendly ways to > handle upgrade incompatibilities if we are allowed to use code/metadata > from the new image in the sysupgrade process? Instead of just providing > a version number with some simple semantics like you describe, the new > image could provide a script snippet or similar which codifies a more > precise description of the incompatibility. And even a solution, if > there is one. A message (or URL?) might be nice, yes. That's not something we have right now... > For the DSA example, such a script could (optionally?) move an > incompatible config/network out of the way, while leaving all other That's typically a job offloaded to /etc/uci-defaults/* from the new image, isn't it? There's a lot of ar71xx -> ath79 handling done that way already... Downgrades are, of course, unsupported. They could be, but it would waste precious flash, it makes more sense to warn users to backup beforehand in the LuCI interface (and not mess with sysupgrade itself, which needs to be able to **safely** work unattended as well). -- Henrique de Moraes Holschuh _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Fri Jun 5 10:37:48 2020 From: ynezz at true.cz (=?UTF-8?q?Petr=20=C5=A0tetiar?=) Date: Fri, 5 Jun 2020 16:37:48 +0200 Subject: [OpenWrt-Devel] [PATCH] ramips: mt7621: edgerouter-x: fix missing wan interface Message-ID: <20200605143748.28826-1-ynezz@true.cz> Commit 5acd1ed0be0d ("ramips: mt7621: fix Ubiquiti ER-X ports names and MAC addresses") didn't only changed naming, but also removed WAN functionality from eth0 port, which is not desired, so lets add it back. Cc: Chuanhong Guo Cc: Adrian Schmutzler Cc: DENG Qingfang Fixes: 5acd1ed0be0d ("ramips: mt7621: fix Ubiquiti ER-X ports names and MAC addresses") Signed-off-by: Petr ?tetiar --- As in https://openwrt.org/toh/ubiquiti/ubiquiti_edgerouter_x_er-x_ka#switch_ports_for_vlans target/linux/ramips/mt7621/base-files/etc/board.d/02_network | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index ba9f7fb7b613..5b0f7ff2cdef 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -44,7 +44,7 @@ ramips_setup_interfaces() ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan" ;; ubnt,edgerouter-x) - ucidef_set_interface_lan "eth0 eth1 eth2 eth3 eth4" + ucidef_set_interface_lan_wan "eth1 eth2 eth3 eth4" "eth0" ;; ubnt,edgerouter-x-sfp) ucidef_set_interface_lan "eth0 eth1 eth2 eth3 eth4 eth5" _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From isprotejesvalkata at gmail.com Fri Jun 5 10:48:47 2020 From: isprotejesvalkata at gmail.com (Perry) Date: Fri, 5 Jun 2020 16:48:47 +0200 Subject: [OpenWrt-Devel] [PATCH] ramips: mt7621: edgerouter-x: fix missing wan interface In-Reply-To: <20200605143748.28826-1-ynezz@true.cz> References: <20200605143748.28826-1-ynezz@true.cz> Message-ID: <7d294a8d-6635-196c-4ce5-13754f755836@gmail.com> Hello Petr, I have already created a PR to do just this, for both the ER-X and ER-X-SFP. https://github.com/openwrt/openwrt/pull/2961 Perhaps the PR could be merged instead since it handles both devices. Greets, Perry On 6/5/20 4:37 PM, Petr ?tetiar wrote: > Commit 5acd1ed0be0d ("ramips: mt7621: fix Ubiquiti ER-X ports names and > MAC addresses") didn't only changed naming, but also removed WAN > functionality from eth0 port, which is not desired, so lets add it back. > > Cc: Chuanhong Guo > Cc: Adrian Schmutzler > Cc: DENG Qingfang > Fixes: 5acd1ed0be0d ("ramips: mt7621: fix Ubiquiti ER-X ports names and MAC addresses") > Signed-off-by: Petr ?tetiar > --- > > As in https://openwrt.org/toh/ubiquiti/ubiquiti_edgerouter_x_er-x_ka#switch_ports_for_vlans > > target/linux/ramips/mt7621/base-files/etc/board.d/02_network | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network > index ba9f7fb7b613..5b0f7ff2cdef 100755 > --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network > +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network > @@ -44,7 +44,7 @@ ramips_setup_interfaces() > ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan" > ;; > ubnt,edgerouter-x) > - ucidef_set_interface_lan "eth0 eth1 eth2 eth3 eth4" > + ucidef_set_interface_lan_wan "eth1 eth2 eth3 eth4" "eth0" > ;; > ubnt,edgerouter-x-sfp) > ucidef_set_interface_lan "eth0 eth1 eth2 eth3 eth4 eth5" > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Fri Jun 5 10:50:48 2020 From: mail at adrianschmutzler.de (Adrian Schmutzler) Date: Fri, 05 Jun 2020 16:50:48 +0200 Subject: [OpenWrt-Devel] [PATCH] ramips: mt7621: edgerouter-x: fix missing wan interface In-Reply-To: <20200605143748.28826-1-ynezz@true.cz> References: <20200605143748.28826-1-ynezz@true.cz> Message-ID: On 5 June 2020 16:37:48 CEST, "Petr ?tetiar" wrote: >Commit 5acd1ed0be0d ("ramips: mt7621: fix Ubiquiti ER-X ports names and >MAC addresses") didn't only changed naming, but also removed WAN >functionality from eth0 port, which is not desired, so lets add it >back. Hi Petr, as far as I'm concerned, this was/is desired. There has been an older discussion on the list and a more recent PR similar to what you do here: https://github.com/openwrt/openwrt/pull/2961 I do think that all-LAN is closer to the default configuration, and thus would keep it, but I don't intend to repeat the discussion a third time. So, as in the PR, I would not merge this, but won't keep you from doing it if you have a strong preference. There are much more important things to spent time on discussing than this :-) Best Adrian > >Cc: Chuanhong Guo >Cc: Adrian Schmutzler >Cc: DENG Qingfang >Fixes: 5acd1ed0be0d ("ramips: mt7621: fix Ubiquiti ER-X ports names and >MAC addresses") >Signed-off-by: Petr ?tetiar >--- > >As in >https://openwrt.org/toh/ubiquiti/ubiquiti_edgerouter_x_er-x_ka#switch_ports_for_vlans > > target/linux/ramips/mt7621/base-files/etc/board.d/02_network | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git >a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network >b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network >index ba9f7fb7b613..5b0f7ff2cdef 100755 >--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network >+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network >@@ -44,7 +44,7 @@ ramips_setup_interfaces() > ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan" > ;; > ubnt,edgerouter-x) >- ucidef_set_interface_lan "eth0 eth1 eth2 eth3 eth4" >+ ucidef_set_interface_lan_wan "eth1 eth2 eth3 eth4" "eth0" > ;; > ubnt,edgerouter-x-sfp) > ucidef_set_interface_lan "eth0 eth1 eth2 eth3 eth4 eth5" _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Fri Jun 5 11:34:17 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Fri, 5 Jun 2020 17:34:17 +0200 Subject: [OpenWrt-Devel] [PATCH] ramips: mt7621: edgerouter-x: fix missing wan interface In-Reply-To: References: <20200605143748.28826-1-ynezz@true.cz> Message-ID: <20200605153417.GB32043@meh.true.cz> Adrian Schmutzler [2020-06-05 16:50:48]: Hi, > as far as I'm concerned, this was/is desired. There has been an older discussion on the list yeah, I barely remember something, but can't find it right now, but IIRC it was David who explained to you, that removing the WAN port is not that good idea. > I do think that all-LAN is closer to the default configuration, and thus > would keep it, but I don't intend to repeat the discussion a third time. Well, as you can see, this new default configuration is seen as regression by me, because I'm used to have sane default wan/lan setup on devices with more then single port. It was always like that. > So, as in the PR, I would not merge this, but won't keep you from doing it > if you have a strong preference. There are much more important things to > spent time on discussing than this :-) Ok, DSA, renaming, all fine with me. You're all doing great work, it's really nice to see 5.4.43 on ERX, but changing default network configurationsuddenly after 2 releases (18.06 and 19.07) with just because "all-LAN is closer to the default configuration" reasoning seems a bit off. So I'm inclined to merge the Perry's fix. -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Fri Jun 5 12:25:13 2020 From: mail at adrianschmutzler.de (Adrian Schmutzler) Date: Fri, 05 Jun 2020 18:25:13 +0200 Subject: [OpenWrt-Devel] [RFC PATCH] sysupgrade: introduce compatibility version for devices In-Reply-To: <87y2p1u28j.fsf@miraculix.mork.no> References: <20200605114736.63933-1-freifunk@adrianschmutzler.de> <87y2p1u28j.fsf@miraculix.mork.no> Message-ID: On 5 June 2020 14:27:24 CEST, "Bj?rn Mork" wrote: >I haven't even bother to try to write any code to see if this is >feasible, but anyway... > >I wonder if there might be more flexible and user-friendly ways to >handle upgrade incompatibilities if we are allowed to use code/metadata I see the appeal of this idea, but executing _code_ from an image before it's properly verified sounds like a security issue to me. >from the new image in the sysupgrade process? Instead of just >providing >a version number with some simple semantics like you describe, the new >image could provide a script snippet or similar which codifies a more >precise description of the incompatibility. And even a solution, if >there is one. Sounds a little too much for my taste at first look. > >For the DSA example, such a script could (optionally?) move an >incompatible config/network out of the way, while leaving all other >settings untouched. Preserving e.g. wireless config has a lot of >value. We don't even have a general conversion script for DSA, and I don't think there will be much desire to provide and maintain individual solutions. Partial config preservation will be even more work, particularly since packages will add them in an unforeseeable way. So, providing a warning seems achievable to me, and everything beyond could be provided via other resources (e.g. in the Wiki), as the educated (and warned) user could always force-flash and copy an external script just aiming at e.g. DSA migration... But thanks for your input, I'm actually still widening my view on this. Best Adrian >With the possibily to cancel the upgrade, it would even attempt an >incomplete conversion. IMHO, the main reason we can't do automatic DSA >conversion is because there will be failures. But this isn't critical >if it is detected prior to upgrading. > >Just a few random thoughts. Since you are about to fundamentally >improve sysupgrade anyway ;-) > > >Bj?rn > >_______________________________________________ >openwrt-devel mailing list >openwrt-devel at lists.openwrt.org >https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Fri Jun 5 15:11:04 2020 From: mail at adrianschmutzler.de (Adrian Schmutzler) Date: Fri, 5 Jun 2020 21:11:04 +0200 Subject: [OpenWrt-Devel] [RFC PATCH] sysupgrade: introduce compatibility version for devices In-Reply-To: References: <20200605114736.63933-1-freifunk@adrianschmutzler.de> <87y2p1u28j.fsf@miraculix.mork.no> Message-ID: <003501d63b6d$1027b4c0$30771e40$@adrianschmutzler.de> Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Henrique de Moraes Holschuh > Sent: Freitag, 5. Juni 2020 15:50 > To: openwrt-devel at lists.openwrt.org > Subject: Re: [OpenWrt-Devel] [RFC PATCH] sysupgrade: introduce > compatibility version for devices > > On 05/06/2020 09:27, Bj?rn Mork wrote: > > I wonder if there might be more flexible and user-friendly ways to > > handle upgrade incompatibilities if we are allowed to use > > code/metadata from the new image in the sysupgrade process? Instead > > of just providing a version number with some simple semantics like you > > describe, the new image could provide a script snippet or similar > > which codifies a more precise description of the incompatibility. And > > even a solution, if there is one. > > A message (or URL?) might be nice, yes. That's not something we have right > now... > > > For the DSA example, such a script could (optionally?) move an > > incompatible config/network out of the way, while leaving all other > > That's typically a job offloaded to /etc/uci-defaults/* from the new > image, isn't it? There's a lot of ar71xx -> ath79 handling done that > way already... Writing an uci-defaults script is not the problem, but how to get the data from the Make variable. Of course it would be easy to just have a uci-defaults with the deviating versions, but I try to not define the same value twice, as we will need it in image/Makefile for the SUPPORTED_DEVICES. > > Downgrades are, of course, unsupported. They could be, but it would waste Downgrade will follow the same rules as upgrades, I don't think they will need special consideration at all here. Best Adrian > precious flash, it makes more sense to warn users to backup beforehand in > the LuCI interface (and not mess with sysupgrade itself, which needs to be > able to **safely** work unattended as well). > > -- > Henrique de Moraes Holschuh > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From iancooper at hotmail.com Fri Jun 5 19:42:15 2020 From: iancooper at hotmail.com (Ian Cooper) Date: Sat, 6 Jun 2020 00:42:15 +0100 Subject: [OpenWrt-Devel] [PATCH v2] toolchain: remove gcc libssp and use libc variant Message-ID: Removes the standalone implementation of stack smashing protection in gcc's libssp in favour of the native implementation in musl, glibc and uClibc and introduces a uniform configuration interface. This also makes kernel-level stack smashing protection available for builds using non-musl libc (subject to architecture support). Signed-off-by: Ian Cooper --- Update fixes an artefact with menuconfig which caused a toolchain menu option to move to the front page of menuconfig due to the removal of a prompt associated with a different CONFIG_ variable. NOTE: after applying this patch you must do a make dirclean as the entire toolchain and all packages will need to be rebuilt. This patch does not change the behaviour ot the musl toolchain. There are no changes to the uclibc toolchain since it's already being compiled with it's native ssp implementation enabled. config/Config-build.in | 4 ---- toolchain/Config.in | 6 +++++- toolchain/gcc/Config.in | 8 -------- toolchain/glibc/common.mk | 3 ++- 4 files changed, 7 insertions(+), 14 deletions(-) diff --git a/config/Config-build.in b/config/Config-build.in index 61a9265ad7..ac1e05d2ff 100644 --- a/config/Config-build.in +++ b/config/Config-build.in @@ -249,7 +249,6 @@ menu "Global build settings" choice prompt "User space Stack-Smashing Protection" - depends on USE_MUSL default PKG_CC_STACKPROTECTOR_REGULAR help Enable GCC Stack Smashing Protection (SSP) for userspace applications @@ -257,18 +256,15 @@ menu "Global build settings" bool "None" config PKG_CC_STACKPROTECTOR_REGULAR bool "Regular" - select GCC_LIBSSP if !USE_MUSL depends on KERNEL_CC_STACKPROTECTOR_REGULAR config PKG_CC_STACKPROTECTOR_STRONG bool "Strong" - select GCC_LIBSSP if !USE_MUSL depends on KERNEL_CC_STACKPROTECTOR_STRONG endchoice choice prompt "Kernel space Stack-Smashing Protection" default KERNEL_CC_STACKPROTECTOR_REGULAR - depends on USE_MUSL || !(x86_64 || i386) help Enable GCC Stack-Smashing Protection (SSP) for the kernel config KERNEL_CC_STACKPROTECTOR_NONE diff --git a/toolchain/Config.in b/toolchain/Config.in index 762f4e10d7..e2af1c2c8e 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -283,8 +283,12 @@ config USE_MUSL default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && !(arc) bool +config GCC_LIBSSP + default n + bool + config SSP_SUPPORT - default y if USE_MUSL || GCC_LIBSSP + default y if !PKG_CC_STACKPROTECTOR_NONE bool config USE_EXTERNAL_LIBC diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 7d7f34210a..4b2ba7aaae 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -47,14 +47,6 @@ config GCC_DEFAULT_SSP help Use gcc configure option --enable-default-ssp to turn on -fstack-protector-strong by default. -config GCC_LIBSSP - bool - prompt "Build gcc libssp" if TOOLCHAINOPTS - depends on !USE_MUSL - default y if !USE_MUSL - help - Enable Stack-Smashing Protection support - config SJLJ_EXCEPTIONS bool prompt "Use setjump()/longjump() exceptions" if TOOLCHAINOPTS diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk index db4f0fcc0e..f0b95d3cc7 100644 --- a/toolchain/glibc/common.mk +++ b/toolchain/glibc/common.mk @@ -39,7 +39,6 @@ ifeq ($(ARCH),mips64) endif endif - # -Os miscompiles w. 2.24 gcc5/gcc6 # only -O2 tested by upstream changeset # "Optimize i386 syscall inlining for GCC 5" @@ -61,6 +60,8 @@ GLIBC_CONFIGURE:= \ --without-cvs \ --enable-add-ons \ --$(if $(CONFIG_SOFT_FLOAT),without,with)-fp \ + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_REGULAR),--enable-stack-protector=yes) \ + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_STRONG),--enable-stack-protector=strong) \ --enable-kernel=4.14.0 export libc_cv_ssp=no -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From lynxis at fe80.eu Fri Jun 5 21:40:55 2020 From: lynxis at fe80.eu (Alexander Couzens) Date: Sat, 6 Jun 2020 03:40:55 +0200 Subject: [OpenWrt-Devel] [PATCH] musl: use official release tar In-Reply-To: <318bb824-116a-4307-814d-78acfc55c55f@localhost> References: <318bb824-116a-4307-814d-78acfc55c55f@localhost> Message-ID: <20200606014055.2408269-1-lynxis@fe80.eu> To prevent "wrong" musl packages which have a new version number but the package still contains an old version, because PKG_SOURCE_VERSION was unchanged. Ref: musl ml https://www.openwall.com/lists/musl/2020/05/22/4 Signed-off-by: Alexander Couzens --- toolchain/musl/common.mk | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk index e1354f263510..6a595771086d 100644 --- a/toolchain/musl/common.mk +++ b/toolchain/musl/common.mk @@ -11,12 +11,9 @@ PKG_NAME:=musl PKG_VERSION:=1.1.24 PKG_RELEASE:=1 -PKG_SOURCE_PROTO:=git -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=ea9525c8bcf6170df59364c4bcd616de1acf8703 -PKG_MIRROR_HASH:=6975c45b9bfe586ac00dbfcd1b1a13ab110af0528028ab3dee03e23e2c0763e5 -PKG_SOURCE_URL:=https://git.musl-libc.org/git/musl -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://musl.libc.org/releases/ +PKG_HASH:=1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 LIBC_SO_VERSION:=$(PKG_VERSION) PATCH_DIR:=$(PATH_PREFIX)/patches -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Fri Jun 5 23:44:22 2020 From: ynezz at true.cz (=?UTF-8?Q?Petr_=C5=A0tetiar?=) Date: Sat, 6 Jun 2020 03:44:22 +0000 (UTC) Subject: [OpenWrt-Devel] [PATCH] musl: use official release tar In-Reply-To: <20200606014055.2408269-1-lynxis@fe80.eu> References: <318bb824-116a-4307-814d-78acfc55c55f@localhost> <20200606014055.2408269-1-lynxis@fe80.eu> Message-ID: <651eb4db-ddb9-44ae-b3df-a181860a7a68@true.cz> Jun 6, 2020 03:41:30 Alexander Couzens : Hi, > To prevent "wrong" musl packages which have a new version number > but the package still contains an old version, because > PKG_SOURCE_VERSION was unchanged. > > Ref: musl ml https://www.openwall.com/lists/musl/2020/05/22/4 > > Signed-off-by: Alexander Couzens > --- > toolchain/musl/common.mk | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk > index e1354f263510..6a595771086d 100644 > --- a/toolchain/musl/common.mk > +++ b/toolchain/musl/common.mk > @@ -11,12 +11,9 @@ PKG_NAME:=musl > PKG_VERSION:=1.1.24 > PKG_RELEASE:=1 > > -PKG_SOURCE_PROTO:=git > -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) > -PKG_SOURCE_VERSION:=ea9525c8bcf6170df59364c4bcd616de1acf8703 > -PKG_MIRROR_HASH:=6975c45b9bfe586ac00dbfcd1b1a13ab110af0528028ab3dee03e23e2c0763e5 > -PKG_SOURCE_URL:=https://git.musl-libc.org/git/musl > -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz > +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz > +PKG_SOURCE_URL:=https://musl.libc.org/releases/ > +PKG_HASH:=1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 > > LIBC_SO_VERSION:=$(PKG_VERSION) > PATCH_DIR:=$(PATH_PREFIX)/patches > Reviewed-by: Petr ?tetiar Thanks! _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Sat Jun 6 00:57:51 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Sat, 6 Jun 2020 06:57:51 +0200 Subject: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds In-Reply-To: References: <20200603094351.GB36571@meh.true.cz> Message-ID: <20200606045751.GC32043@meh.true.cz> R. Diez via openwrt-devel [2020-06-04 14:55:30]: Hi, > I do not know what you did not like in the patch, so I am hoping it is just > the formatting of the subject line and perhaps that some extra explanation > is needed. Please find enclosed the new patch version. https://openwrt.org/submitting-patches#no_mime_no_links_no_compression_no_attachments_just_plain_text > This is actually a trivial patch, please feel free to modify it any way you want. Please send a patch in proper format, so it can be handled with maintainer scripts and shows at Patchwork[1] we use for patch handling. Otherwise it is going to be lost. > For related information, see here: > https://bugs.openwrt.org/index.php?do=details&task_id=2086 Good, that's important information and should be added into the commit description, right above your Signed-off-by: Ref: FS#2086 or Fixes: FS#2086 > Subject: [PATCH] build: do not hard-code IS_TTY in script scripts/feeds > > The script was previously assuming that stdin is always a TTY. It should be obvious from your commit description what is wrong currently, so why is this fix needed. Nobody wants to read commit logs AND bug reports, which are not even linked/referenced in the commit description. Quotting from [2]: "it will be committed to the source changelog, so it should explain to a competent reader why you made this commit. Include symptoms of the failure you are fixing (log messages, error messages, etc.), it will be useful for people searching the commit logs looking for a fix for their issue. If a patch fixes a compile failure, include only the most relevant part of the failure log" > Fixes: FS#2086 > Signed-off-by: R. Diez 1. https://patchwork.ozlabs.org/project/openwrt/list/ 2. https://openwrt.org/submitting-patches -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Sat Jun 6 01:21:16 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Sat, 6 Jun 2020 07:21:16 +0200 Subject: [OpenWrt-Devel] [PATCH 1/2] procd: add service instance watchdog In-Reply-To: References: Message-ID: <20200606052116.GA17315@meh.true.cz> Daniel Bailey [2020-05-29 18:32:55]: Hi, BTW I'm not going to apply this, see my reasoning in the other thread[1], just reviewing this from the patch content perspective: 1. http://lists.infradead.org/pipermail/openwrt-devel/2020-May/023393.html > + if (in->watchdog.mode != INSTANCE_WATCHDOG_MODE_DISABLED) { > + uloop_timeout_set(&in->watchdog.timeout, in->watchdog.freq * 1000); > + DEBUG(2, "Started instance %s::%s watchdog timer : timeout = %d\n", > in->srv->name, in->name, in->watchdog.freq); > + } This looks like a weird indent, you should follow surrounding code formatting. I wanted to double check this in my tree, but your patch doesn't apply: $ curl https://patchwork.ozlabs.org/series/180315/mbox/ | git am Applying: procd: add service instance watchdog error: patch fragment without header at line 13: @@ -797,6 +864,7 @@ static struct ubus_method main_object_methods[] = { Patch failed at 0001 procd: add service instance watchdog > + // TODO(danielb): change mode integers to strings (0 = disabled, 1 = > passive, 2 = active) Either implement it or remove the TODO comment. > + // TODO(danielb): change mode from u32 to string (0 = disabled, 1 = > passive, 2 = active) Ditto. -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Sat Jun 6 03:39:37 2020 From: rosenp at gmail.com (Rosen Penev) Date: Sat, 6 Jun 2020 00:39:37 -0700 Subject: [OpenWrt-Devel] [PATCH v2] toolchain: remove gcc libssp and use libc variant In-Reply-To: References: Message-ID: <0D9B78B5-B9F2-4843-91C9-65697B055186@gmail.com> > Le 5 juin 2020 ? 4:42 PM, Ian Cooper a ?crit : > > ?Removes the standalone implementation of stack smashing protection > in gcc's libssp in favour of the native implementation in musl, > glibc and uClibc and introduces a uniform configuration interface. > > This also makes kernel-level stack smashing protection available > for builds using non-musl libc (subject to architecture support). > > Signed-off-by: Ian Cooper Acked-by: Rosen Penev > --- > > Update fixes an artefact with menuconfig which caused a toolchain > menu option to move to the front page of menuconfig due to the > removal of a prompt associated with a different CONFIG_ variable. > > NOTE: after applying this patch you must do a make dirclean as the > entire toolchain and all packages will need to be rebuilt. > > This patch does not change the behaviour ot the musl toolchain. > There are no changes to the uclibc toolchain since it's already > being compiled with it's native ssp implementation enabled. > > config/Config-build.in | 4 ---- > toolchain/Config.in | 6 +++++- > toolchain/gcc/Config.in | 8 -------- > toolchain/glibc/common.mk | 3 ++- > 4 files changed, 7 insertions(+), 14 deletions(-) > > diff --git a/config/Config-build.in b/config/Config-build.in > index 61a9265ad7..ac1e05d2ff 100644 > --- a/config/Config-build.in > +++ b/config/Config-build.in > @@ -249,7 +249,6 @@ menu "Global build settings" > > choice > prompt "User space Stack-Smashing Protection" > - depends on USE_MUSL > default PKG_CC_STACKPROTECTOR_REGULAR > help > Enable GCC Stack Smashing Protection (SSP) for userspace applications > @@ -257,18 +256,15 @@ menu "Global build settings" > bool "None" > config PKG_CC_STACKPROTECTOR_REGULAR > bool "Regular" > - select GCC_LIBSSP if !USE_MUSL > depends on KERNEL_CC_STACKPROTECTOR_REGULAR > config PKG_CC_STACKPROTECTOR_STRONG > bool "Strong" > - select GCC_LIBSSP if !USE_MUSL > depends on KERNEL_CC_STACKPROTECTOR_STRONG > endchoice > > choice > prompt "Kernel space Stack-Smashing Protection" > default KERNEL_CC_STACKPROTECTOR_REGULAR > - depends on USE_MUSL || !(x86_64 || i386) > help > Enable GCC Stack-Smashing Protection (SSP) for the kernel > config KERNEL_CC_STACKPROTECTOR_NONE > diff --git a/toolchain/Config.in b/toolchain/Config.in > index 762f4e10d7..e2af1c2c8e 100644 > --- a/toolchain/Config.in > +++ b/toolchain/Config.in > @@ -283,8 +283,12 @@ config USE_MUSL > default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && !(arc) > bool > > +config GCC_LIBSSP > + default n > + bool > + > config SSP_SUPPORT > - default y if USE_MUSL || GCC_LIBSSP > + default y if !PKG_CC_STACKPROTECTOR_NONE > bool > > config USE_EXTERNAL_LIBC > diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in > index 7d7f34210a..4b2ba7aaae 100644 > --- a/toolchain/gcc/Config.in > +++ b/toolchain/gcc/Config.in > @@ -47,14 +47,6 @@ config GCC_DEFAULT_SSP > help > Use gcc configure option --enable-default-ssp to turn on -fstack-protector-strong by default. > > -config GCC_LIBSSP > - bool > - prompt "Build gcc libssp" if TOOLCHAINOPTS > - depends on !USE_MUSL > - default y if !USE_MUSL > - help > - Enable Stack-Smashing Protection support > - > config SJLJ_EXCEPTIONS > bool > prompt "Use setjump()/longjump() exceptions" if TOOLCHAINOPTS > diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk > index db4f0fcc0e..f0b95d3cc7 100644 > --- a/toolchain/glibc/common.mk > +++ b/toolchain/glibc/common.mk > @@ -39,7 +39,6 @@ ifeq ($(ARCH),mips64) > endif > endif > > - > # -Os miscompiles w. 2.24 gcc5/gcc6 > # only -O2 tested by upstream changeset > # "Optimize i386 syscall inlining for GCC 5" > @@ -61,6 +60,8 @@ GLIBC_CONFIGURE:= \ > --without-cvs \ > --enable-add-ons \ > --$(if $(CONFIG_SOFT_FLOAT),without,with)-fp \ > + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_REGULAR),--enable-stack-protector=yes) \ > + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_STRONG),--enable-stack-protector=strong) \ > --enable-kernel=4.14.0 > > export libc_cv_ssp=no > -- > 2.25.1 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sat Jun 6 08:19:55 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 06 Jun 2020 14:19:55 +0200 Subject: [OpenWrt-Devel] [PATCH 1/4 v3] bcm63xx: kernel: add BCM63167 cpuid variant Message-ID: <6881171.o2q7G7mybt@tool> The BCM63167 is a BCM63268 SoC with a different physical packaging. Add the CPU ID to allow supporting routers with this SoC (i.e Sercomm H500-s) Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: none Changes in v3: none ...IPS-BCM63XX-add-support-for-BCM63268.patch | 18 ++++++++------ ...MIPS-BCM63XX-add-support-for-BCM6318.patch | 10 ++++---- .../431-MIPS-BCM63XX-add-nand-rset.patch | 24 +++++++++---------- 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch index efd5f10534..aba4b9415a 100644 --- a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch +++ b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch @@ -242,10 +242,11 @@ Signed-off-by: Jonas Gorski switch (bcm63xx_cpu_id) { case BCM3368_CPU_ID: -@@ -400,6 +442,15 @@ void __init bcm63xx_cpu_init(void) +@@ -400,6 +442,16 @@ void __init bcm63xx_cpu_init(void) /* BCM6369 is a BCM6368 without xDSL, so treat it the same */ bcm63xx_cpu_id = BCM6368_CPU_ID; break; ++ case BCM63167_CPU_ID: + case BCM63168_CPU_ID: + case BCM63169_CPU_ID: + case BCM63268_CPU_ID: @@ -353,10 +354,11 @@ Signed-off-by: Jonas Gorski return 0; --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -22,6 +22,10 @@ +@@ -22,6 +22,11 @@ #define BCM6362_CPU_ID 0x6362 #define BCM6368_CPU_ID 0x6368 #define BCM6369_CPU_ID 0x6369 ++#define BCM63167_CPU_ID 0x63167 +#define BCM63168_CPU_ID 0x63168 +#define BCM63169_CPU_ID 0x63169 +#define BCM63268_CPU_ID 0x63268 @@ -364,7 +366,7 @@ Signed-off-by: Jonas Gorski void __init bcm63xx_cpu_init(void); u32 bcm63xx_get_cpu_variant(void); -@@ -62,6 +66,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -62,6 +67,10 @@ static inline u32 __pure __bcm63xx_get_c #ifdef CONFIG_BCM63XX_CPU_6368 case BCM6368_CPU_ID: #endif @@ -375,7 +377,7 @@ Signed-off-by: Jonas Gorski break; default: unreachable(); -@@ -87,6 +95,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -87,6 +96,7 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_IS_6358() (bcm63xx_get_cpu_id() == BCM6358_CPU_ID) #define BCMCPU_IS_6362() (bcm63xx_get_cpu_id() == BCM6362_CPU_ID) #define BCMCPU_IS_6368() (bcm63xx_get_cpu_id() == BCM6368_CPU_ID) @@ -383,10 +385,12 @@ Signed-off-by: Jonas Gorski #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) -@@ -110,6 +119,14 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -110,6 +120,16 @@ static inline u32 __pure bcm63xx_get_cpu (bcm63xx_get_cpu_variant() == BCM6368_CPU_ID) #define BCMCPU_VARIANT_IS_6369() \ (bcm63xx_get_cpu_variant() == BCM6369_CPU_ID) ++#define BCMCPU_VARIANT_IS_63167() \ ++ (bcm63xx_get_cpu_variant() == BCM63167_CPU_ID) +#define BCMCPU_VARIANT_IS_63168() \ + (bcm63xx_get_cpu_variant() == BCM63168_CPU_ID) +#define BCMCPU_VARIANT_IS_63169() \ @@ -398,7 +402,7 @@ Signed-off-by: Jonas Gorski /* * While registers sets are (mostly) the same across 63xx CPU, base -@@ -574,6 +591,52 @@ enum bcm63xx_regs_set { +@@ -574,6 +594,52 @@ enum bcm63xx_regs_set { #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -451,7 +455,7 @@ Signed-off-by: Jonas Gorski extern const unsigned long *bcm63xx_regs_base; -@@ -1042,6 +1105,73 @@ enum bcm63xx_irq { +@@ -1042,6 +1108,73 @@ enum bcm63xx_irq { #define BCM_6368_EXT_IRQ4 (IRQ_INTERNAL_BASE + 24) #define BCM_6368_EXT_IRQ5 (IRQ_INTERNAL_BASE + 25) diff --git a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch index 5b05fa6bd5..a022f8c5f0 100644 --- a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch +++ b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch @@ -327,7 +327,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCM6328_CPU_ID 0x6328 #define BCM63281_CPU_ID 0x63281 #define BCM63283_CPU_ID 0x63283 -@@ -39,6 +40,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -40,6 +41,10 @@ static inline u32 __pure __bcm63xx_get_c case BCM3368_CPU_ID: #endif @@ -338,7 +338,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #ifdef CONFIG_BCM63XX_CPU_6328 case BCM6328_CPU_ID: #endif -@@ -88,6 +93,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -89,6 +94,7 @@ static inline u32 __pure bcm63xx_get_cpu } #define BCMCPU_IS_3368() (bcm63xx_get_cpu_id() == BCM3368_CPU_ID) @@ -346,7 +346,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_IS_6328() (bcm63xx_get_cpu_id() == BCM6328_CPU_ID) #define BCMCPU_IS_6338() (bcm63xx_get_cpu_id() == BCM6338_CPU_ID) #define BCMCPU_IS_6345() (bcm63xx_get_cpu_id() == BCM6345_CPU_ID) -@@ -99,6 +105,8 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -100,6 +106,8 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) @@ -355,7 +355,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_VARIANT_IS_63281() \ (bcm63xx_get_cpu_variant() == BCM63281_CPU_ID) #define BCMCPU_VARIANT_IS_63283() \ -@@ -253,6 +261,56 @@ enum bcm63xx_regs_set { +@@ -256,6 +264,56 @@ enum bcm63xx_regs_set { #define BCM_3368_MISC_BASE (0xdeadbeef) /* @@ -412,7 +412,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 * 6328 register sets base address */ #define BCM_6328_DSL_LMEM_BASE (0xdeadbeef) -@@ -775,6 +833,55 @@ enum bcm63xx_irq { +@@ -778,6 +836,55 @@ enum bcm63xx_irq { #define BCM_3368_EXT_IRQ2 (IRQ_INTERNAL_BASE + 27) #define BCM_3368_EXT_IRQ3 (IRQ_INTERNAL_BASE + 28) diff --git a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch index 1172b23197..090ffeb43c 100644 --- a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch +++ b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch @@ -1,6 +1,6 @@ --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -181,7 +181,8 @@ enum bcm63xx_regs_set { +@@ -184,7 +184,8 @@ enum bcm63xx_regs_set { RSET_PCMDMAC, RSET_PCMDMAS, RSET_RNG, @@ -10,7 +10,7 @@ }; #define RSET_DSL_LMEM_SIZE (64 * 1024 * 4) -@@ -259,6 +260,7 @@ enum bcm63xx_regs_set { +@@ -262,6 +263,7 @@ enum bcm63xx_regs_set { #define BCM_3368_PCMDMAS_BASE (0xdeadbeef) #define BCM_3368_RNG_BASE (0xdeadbeef) #define BCM_3368_MISC_BASE (0xdeadbeef) @@ -18,7 +18,7 @@ /* * 6318 register sets base address -@@ -306,6 +308,7 @@ enum bcm63xx_regs_set { +@@ -309,6 +311,7 @@ enum bcm63xx_regs_set { #define BCM_6318_PCMDMAS_BASE (0xdeadbeef) #define BCM_6318_RNG_BASE (0xdeadbeef) #define BCM_6318_MISC_BASE (0xb0000280) @@ -26,7 +26,7 @@ #define BCM_6318_OTP_BASE (0xdeadbeef) #define BCM_6318_STRAP_BASE (0xb0000900) -@@ -356,6 +359,7 @@ enum bcm63xx_regs_set { +@@ -359,6 +362,7 @@ enum bcm63xx_regs_set { #define BCM_6328_PCMDMAS_BASE (0xdeadbeef) #define BCM_6328_RNG_BASE (0xdeadbeef) #define BCM_6328_MISC_BASE (0xb0001800) @@ -34,7 +34,7 @@ #define BCM_6328_OTP_BASE (0xb0000600) /* -@@ -405,6 +409,7 @@ enum bcm63xx_regs_set { +@@ -408,6 +412,7 @@ enum bcm63xx_regs_set { #define BCM_6338_PCMDMAS_BASE (0xdeadbeef) #define BCM_6338_RNG_BASE (0xdeadbeef) #define BCM_6338_MISC_BASE (0xdeadbeef) @@ -42,7 +42,7 @@ /* * 6345 register sets base address -@@ -453,6 +458,7 @@ enum bcm63xx_regs_set { +@@ -456,6 +461,7 @@ enum bcm63xx_regs_set { #define BCM_6345_PCMDMAS_BASE (0xdeadbeef) #define BCM_6345_RNG_BASE (0xdeadbeef) #define BCM_6345_MISC_BASE (0xdeadbeef) @@ -50,7 +50,7 @@ /* * 6348 register sets base address -@@ -499,6 +505,7 @@ enum bcm63xx_regs_set { +@@ -502,6 +508,7 @@ enum bcm63xx_regs_set { #define BCM_6348_PCMDMAS_BASE (0xdeadbeef) #define BCM_6348_RNG_BASE (0xdeadbeef) #define BCM_6348_MISC_BASE (0xdeadbeef) @@ -58,7 +58,7 @@ /* * 6358 register sets base address -@@ -545,7 +552,7 @@ enum bcm63xx_regs_set { +@@ -548,7 +555,7 @@ enum bcm63xx_regs_set { #define BCM_6358_PCMDMAS_BASE (0xfffe1a00) #define BCM_6358_RNG_BASE (0xdeadbeef) #define BCM_6358_MISC_BASE (0xdeadbeef) @@ -67,7 +67,7 @@ /* * 6362 register sets base address -@@ -593,6 +600,7 @@ enum bcm63xx_regs_set { +@@ -596,6 +603,7 @@ enum bcm63xx_regs_set { #define BCM_6362_PCMDMAS_BASE (0xdeadbeef) #define BCM_6362_RNG_BASE (0xdeadbeef) #define BCM_6362_MISC_BASE (0xb0001800) @@ -75,7 +75,7 @@ #define BCM_6362_NAND_REG_BASE (0xb0000200) #define BCM_6362_NAND_CACHE_BASE (0xb0000600) -@@ -648,6 +656,7 @@ enum bcm63xx_regs_set { +@@ -651,6 +659,7 @@ enum bcm63xx_regs_set { #define BCM_6368_PCMDMAS_BASE (0xb0005c00) #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -83,7 +83,7 @@ /* * 63268 register sets base address -@@ -695,6 +704,7 @@ enum bcm63xx_regs_set { +@@ -698,6 +707,7 @@ enum bcm63xx_regs_set { #define BCM_63268_PCMDMAS_BASE (0xdeadbeef) #define BCM_63268_RNG_BASE (0xdeadbeef) #define BCM_63268_MISC_BASE (0xb0001800) @@ -91,7 +91,7 @@ extern const unsigned long *bcm63xx_regs_base; -@@ -740,6 +750,7 @@ extern const unsigned long *bcm63xx_regs +@@ -743,6 +753,7 @@ extern const unsigned long *bcm63xx_regs [RSET_PCMDMAS] = BCM_## __cpu ##_PCMDMAS_BASE, \ [RSET_RNG] = BCM_## __cpu ##_RNG_BASE, \ [RSET_MISC] = BCM_## __cpu ##_MISC_BASE, \ -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sat Jun 6 08:20:06 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 06 Jun 2020 14:20:06 +0200 Subject: [OpenWrt-Devel] [PATCH 2/4 v3] bcm63xx: image: don't add the CFE to the sercomm factory Message-ID: <16599052.du14X2f6X2@tool> There is no need to include the CFE bootloader in the Sercomm factory images. There might be a case when this could be useful: - We are running the stock firmware on the first Sercomm image - The second partition storing the botloader was erased (unlikely) Even in this case flashing an image without a bootlader is harmless. Don't include the bootloader in the factory image creation and rid of the risk of flashing factory images with an untested bootloader partition. Signed-off-by: Daniel Gonz?lez Cabanelas Reviewed-by: ?lvaro Fern?ndez Rojas --- Changes in v2: refresh Changes in v3: none target/linux/bcm63xx/image/Makefile | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index 0593dacb44..5ec31f6207 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -218,20 +218,8 @@ define Build/cfe-sercomm-part --part-name rootfs_lib \ --part-version $(SERCOMM_VERSION) - rm -rf $@-bootloader - mkdir -p $@-bootloader - cp $(KDIR)/bcm63xx-cfe/$(CFE_RAM_FILE) $@-bootloader/$(CFE_RAM_JFFS2_NAME) - $(call Build/cfe-jffs2,$@-bootloader) - $(call Build/pad-to,$(BLOCKSIZE)) - $(TOPDIR)/scripts/sercomm-partition-tag.py \ - --input-file $@ \ - --output-file $@.bootloader \ - --part-name bootloader \ - --part-version $(SERCOMM_VERSION) - mv $@.kernel_rootfs $@ dd if=$@.rootfs_lib >> $@ - dd if=$@.bootloader >> $@ endef define Build/cfe-sercomm-load -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sat Jun 6 08:21:41 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 06 Jun 2020 14:21:41 +0200 Subject: [OpenWrt-Devel] [PATCH 3/4 v3] bcm63xx: image: allow to pass the addr to the NAND kernel header Message-ID: <2843202.Nf0WbgkuB9@tool> Not all CFEs will need to relocate the kernel (i.e H500-s), therefore we'll need to pass a different address and not the LOADER_ENTRY. Let to pass the addr to the image creation when neccessary. Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: refresh Changes in v3: none target/linux/bcm63xx/image/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index c962e531a9..0593dacb44 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -172,8 +172,8 @@ define Build/cfe-jffs2-kernel $(TOPDIR)/scripts/cfe-bin-header.py \ --input-file $@ \ --output-file $@-kernel/vmlinux.lz \ - --load-addr $(LOADER_ENTRY) \ - --entry-addr $(LOADER_ENTRY) + --load-addr $(if $(1),$(1),$(LOADER_ENTRY)) \ + --entry-addr $(if $(1),$(1),$(LOADER_ENTRY)) # The JFFS2 partition creation should result in the following # layout: -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sat Jun 6 08:23:07 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 06 Jun 2020 14:23:07 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4 v3] bcm63xx: add support for the Sercomm H500-s Message-ID: <35386960.F8KvOtZ52M@tool> Sercomm H500-s is an xDSL dual band wireless router based on Broadcom BCM63167 SoC. Hardware: SoC: Broadcom BCM63167 CPU: BMIPS4350 V8.0, 400 MHz, 2 cores Flash: NAND 128 MiB RAM: DDR3 128 MiB Ethernet: 4x 10/100/1000 Mbps Switch: BCM53134S Wireless: 802.11b/g/n: BCM435f (integrated) 802.11ac: Quantenna QT3740BC (onboard SoC) USB: 1x 2.0 LEDs/Buttons: 11x / 2x Flash instruction, web UI: 1. Reset to defaults using the reset button if the admin password is unknown 2. Login into the web UI as admin. Address: http://192.168.0.1 User: admin Password: VF-ESVodafone-H-500-s or l033i-h500s 3. Go to Settings -> Firmware Update, and select the Openwrt factory firmware 4. Update the firmware. 5. Wait until it finish, the device will reboot with Openwrt installed on the alternative image partitions keeping the stock firmware in the former. Notes: - The patch also adds support for the lowi version. Only the factory firmware is different. - The integrated Wifi in the Broadcom Soc isn't still supported. - The Quantenna 802.11ac wifi works ok, but needs to be configured with the Quantenna client application. It can't be configured with Luci nor any iw command since it's a separated subsystem linked via ethernet. Signed-off-by: Daniel Gonz?lez Cabanelas Reviewed-by: ?lvaro Fern?ndez Rojas Reviewed-by: Adrian Schmutzler --- Changes in v2: - Fixed passwords in commit log - Added unsupported switch in dts - Added custom LOADER_ENTRY to fix the ramdisk for this specific device - Removed unneded b43 package - Cosmetic changes Changes in v3: - Device splitted: lowi, vfes - Removed unsupported switch in dts - Cosmetic changes .../bcm63xx/base-files/etc/board.d/01_leds | 4 + .../bcm63xx/base-files/etc/board.d/02_network | 4 + .../base-files/lib/upgrade/platform.sh | 8 +- .../dts/bcm63167-sercomm-h500-s-lowi.dts | 15 ++ .../dts/bcm63167-sercomm-h500-s-vfes.dts | 15 ++ .../bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi | 196 ++++++++++++++++++ target/linux/bcm63xx/image/bcm63xx_nand.mk | 54 +++++ .../bcm63xx/patches-5.4/568-board-H500s.patch | 69 ++++++ 8 files changed, 363 insertions(+), 2 deletions(-) create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi create mode 100644 target/linux/bcm63xx/patches-5.4/568-board-H500s.patch diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds b/target/linux/bcm63xx/base-files/etc/board.d/01_leds index 91d67f0c0b..cdaf0e77c9 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds @@ -100,6 +100,10 @@ sercomm,ad1018) sercomm,ad1018-nor) ucidef_set_led_netdev "wlan0" "WLAN" "AD1018:green:wifi" "wlan0" ;; +sercomm,h500-s-lowi|\ +sercomm,h500-s-vfes) + ucidef_set_led_netdev "wan" "WAN" "h500-s:green:internet" "eth0.2" + ;; telsey,cpva502plus) ucidef_set_led_netdev "lan" "LAN" "CPVA502+:amber:link" "eth0" ;; diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network b/target/linux/bcm63xx/base-files/etc/board.d/02_network index 784af29cb4..f02eabe68f 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network @@ -142,6 +142,10 @@ sercomm,ad1018-nor) ucidef_add_switch "switch0" \ "1:lan:3" "2:lan:2" "3:lan:1" "0:wan" "8t at eth0" ;; +sercomm,h500-s-lowi|\ +sercomm,h500-s-vfes) + ucidef_add_switch "switch0" "4:lan" "3:wan" "8t at eth0" + ;; sfr,neufbox-6-sercomm-r0) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9t at eth0" diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh index 7d416297dd..525d3b90b5 100644 --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh @@ -9,7 +9,9 @@ platform_check_image() { comtrend,vr-3032u|\ huawei,hg253s-v2|\ netgear,dgnd3700-v2|\ - sercomm,ad1018) + sercomm,ad1018|\ + sercomm,h500-s-lowi|\ + sercomm,h500-s-vfes) # NAND sysupgrade return 0 ;; @@ -69,7 +71,9 @@ platform_do_upgrade() { comtrend,vr-3032u|\ huawei,hg253s-v2|\ netgear,dgnd3700-v2|\ - sercomm,ad1018) + sercomm,ad1018|\ + sercomm,h500-s-lowi|\ + sercomm,h500-s-vfes) REQUIRE_IMAGE_METADATA=1 cfe_jffs2_upgrade_tar "$1" ;; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts new file mode 100644 index 0000000000..b0c3f23c79 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63167-sercomm-h500-s.dtsi" + +/ { + model = "Sercomm H500-s lowi"; + compatible = "sercomm,h500-s-lowi", "brcm,bcm63268"; +}; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts new file mode 100644 index 0000000000..e64410c3ad --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63167-sercomm-h500-s.dtsi" + +/ { + model = "Sercomm H500-s vfes"; + compatible = "sercomm,h500-s-vfes", "brcm,bcm63268"; +}; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi new file mode 100644 index 0000000000..e16819140b --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi @@ -0,0 +1,196 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63268.dtsi" + +#include + +/ { + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + chosen { + bootargs = "rootfstype=squashfs,ubifs noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 34 1>; + linux,code = ; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 35 1>; + linux,code = ; + debounce-interval = <60>; + }; + }; +}; + +&leds { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + mobile_red { + reg = <0>; + label = "h500-s:red:mobile"; + }; + + mobile_green { + reg = <1>; + label = "h500-s:green:mobile"; + }; + + led_power_red: power_red { + reg = <8>; + label = "h500-s:red:power"; + }; + + wifi_green { + reg = <9>; + label = "h500-s:green:wifi"; + }; + + phone_red { + reg = <12>; + label = "h500-s:red:phone"; + }; + + wifi_red { + reg = <13>; + label = "h500-s:red:wifi"; + }; + + internet_red { + reg = <14>; + label = "h500-s:red:internet"; + }; + + internet_green { + reg = <15>; + label = "h500-s:green:internet"; + }; + + phone_green { + reg = <16>; + label = "h500-s:green:phone"; + }; + + led_power_green: power_green { + reg = <17>; + label = "h500-s:green:power"; + default-state = "on"; + }; + + mobile_blue { + reg = <23>; + label = "h500-s:blue:mobile"; + }; +}; + +&nflash { + status = "okay"; + + nandcs at 0 { + compatible = "brcm,nandcs"; + #size-cells = <1>; + #address-cells = <1>; + reg = <0>; + nand-ecc-step-size = <512>; + nand-ecc-strength = <4>; + nand-on-flash-bbt; + brcm,nand-oob-sector-size = <64>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "cferom"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + partition at 20000 { + label = "part_map"; + reg = <0x0020000 0x00a0000>; + read-only; + }; + + partition at c0000 { + label = "cferam1"; + reg = <0x00c0000 0x0140000>; + read-only; + }; + + partition at 200000 { + label = "cferam2"; + reg = <0x0200000 0x0140000>; + read-only; + }; + + partition at 6920000 { + label = "bootflag1"; + reg = <0x6920000 0x0140000>; + }; + + partition at 6a60000 { + label = "bootflag2"; + reg = <0x6a60000 0x0140000>; + }; + + partition at 520000 { + compatible = "sercomm,wfi"; + label = "wfi"; + reg = <0x0520000 0x6400000>; /* 2 images, 97152 KiB */ + }; + + partition at 6ba0000 { + label = "xml_cfg"; + reg = <0x6ba0000 0x0280000>; + read-only; + }; + + partition at 6e20000 { + label = "app_data"; + reg = <0x6e20000 0x0280000>; + read-only; + }; + }; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio0", "gpio1", "gpio8", "gpio9", + "gpio12", "gpio13", "gpio14", "gpio15", + "gpio16", "gpio17", "gpio23"; + }; +}; + +&uart0 { + status = "okay"; +}; diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk b/target/linux/bcm63xx/image/bcm63xx_nand.mk index 7b2039c988..4f030cbdab 100644 --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk @@ -149,3 +149,57 @@ define Device/sercomm_ad1018 SERCOMM_VERSION := 1001 endef TARGET_DEVICES += sercomm_ad1018 + +define Device/sercomm_h500-s-lowi + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + DEVICE_VARIANT := lowi + LOADER_ENTRY := 0x80010000 + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500-s-lowi + +define Device/sercomm_h500-s-vfes + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + DEVICE_VARIANT := vfes + LOADER_ENTRY := 0x80010000 + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500-s-vfes diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch new file mode 100644 index 0000000000..d94d5cfeb7 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch @@ -0,0 +1,69 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -2867,10 +2867,41 @@ + }, + + }, + }, + }; ++ ++static struct board_info __initdata board_H500s = { ++ .name = "BXK00C-1.6", ++ .expected_cpu_id = 0x63268, ++ ++ .has_ehci0 = 1, ++ .has_ohci0 = 1, ++ .num_usbh_ports = 1, ++ ++ .has_enetsw = 1, ++ .enetsw = { ++ .used_ports = { ++ [3] = { ++ .used = 1, ++ .phy_id = 12, ++ .name = "WAN", ++ }, ++ ++ [4] = { ++ .used = 1, ++ .phy_id = 0, ++ .bypass_link = 1, ++ .force_speed = 1000, ++ .force_duplex_full = 1, ++ .mii_override = 1, ++ .timing_sel = 1, ++ .name = "RGMII", ++ }, ++ }, ++ }, ++}; + #endif /* CONFIG_BCM63XX_CPU_63268 */ + + /* + * all boards + */ +@@ -2981,10 +3012,11 @@ + &board_963269bhr, + &board_VG8050, + &board_VR3032u, + &board_vw6339gu, + &board_BSKYB_63168, ++ &board_H500s, + #endif + }; + + static struct of_device_id const bcm963xx_boards_dt[] = { + #ifdef CONFIG_OF +@@ -3099,10 +3131,12 @@ + { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, }, + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, ++ { .compatible = "sercomm,h500-s-lowi", .data = &board_H500s, }, ++ { .compatible = "sercomm,h500-s-vfes", .data = &board_H500s, }, + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, + #endif + #endif /* CONFIG_OF */ + { }, + }; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Sat Jun 6 08:44:11 2020 From: openwrt-devel at lists.openwrt.org (R. Diez via openwrt-devel) Date: Sat, 6 Jun 2020 14:44:11 +0200 Subject: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds In-Reply-To: <20200606045751.GC32043@meh.true.cz> References: <20200603094351.GB36571@meh.true.cz> <20200606045751.GC32043@meh.true.cz> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: "R. Diez" Subject: Re: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds Date: Sat, 6 Jun 2020 14:44:11 +0200 Size: 5894 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From bjorn at mork.no Sat Jun 6 09:19:36 2020 From: bjorn at mork.no (=?utf-8?Q?Bj=C3=B8rn_Mork?=) Date: Sat, 06 Jun 2020 15:19:36 +0200 Subject: [OpenWrt-Devel] DSA vlan configuration In-Reply-To: <87pnafyo82.fsf@miraculix.mork.no> (=?utf-8?Q?=22Bj=C3=B8rn?= Mork"'s message of "Thu, 04 Jun 2020 15:06:37 +0200") References: <87pnafyo82.fsf@miraculix.mork.no> Message-ID: <87h7votjpz.fsf@miraculix.mork.no> Bj?rn Mork writes: > I wonder if I have understood this correctly: > 1) vlan_filtering is required when bridging tagged and untagged DSA > ports, and > 2) all bridge ports, including the wireless VIFs, must be configured > with the correct VIDs when vlan_filtering is enabled > > An if so, how are we supposed to configure that? quarky just posted a great tip in the forum: https://forum.openwrt.org/t/mt7621-dsa-switch-vlan-configuration/65458/2?u=bmork Despite having looked for exactly this, I had not seen the "vlan_default_pvid" setting before. This seems to solve the problem I described. I believe the tagged wan port, where one VID on wan is part of a bridge, is a semi-common usecase for OpenWrt (and CPEs in general). Maybe this kind of bridge automatically should enable settings like: ip link set type bridge vlan_default_pvid ip link set type bridge vlan_filtering 1 as described by quarky? AFAICS, a DSA based brigde won't work without something like that, and having each user figure that out by themselves is going to create a lot of frustration... Bj?rn _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ldir at darbyshire-bryant.me.uk Sat Jun 6 11:45:25 2020 From: ldir at darbyshire-bryant.me.uk (Kevin 'ldir' Darbyshire-Bryant) Date: Sat, 6 Jun 2020 15:45:25 +0000 Subject: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds In-Reply-To: References: <20200603094351.GB36571@meh.true.cz> <20200606045751.GC32043@meh.true.cz> Message-ID: <9BC696B1-EBE9-4ECE-AF20-27132BD38D0D@darbyshire-bryant.me.uk> > From: "R. Diez" > Subject: Re: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds > Date: 6 June 2020 at 13:44:11 BST > To: Petr ?tetiar > Cc: openwrt-devel at lists.openwrt.org > > > >> https://openwrt.org/submitting-patches#no_mime_no_links_no_compression_no_attachments_just_plain_text > > Sometimes I use Thunderbird, and sometimes I use the Yahoo web interface. Both have problems with e-mail formatting, as they tend to reflow text lines and mess with quotations and blanks. Sending patches as plain text inside e-mails is too much trouble for me. > > I do not understand why Patchwork cannot automatically pick up a patch from an e-mail attachment aptly named xxx.patch, and with an e-mail title that starts with [PATCH]. > > Is it possible to add patches manually to Patchwork using its web interface? If so, I would try that way. > > Otherwise, I am tempted to drop it (and other such further contributions I had in the pipeline). This is a trivial fix and the administrative cost of getting it right is clearly disproportionate. I recognise the frustration! When I first started trying to send patches I had similar issues (white space wrapping/reflow etc) The same issues are encountered when sending to many open source email patch lists including the Linux kernel. I came very, very, very close to giving up with openwrt, before being introduced to ?git send-email?. I fought a little with configuring git send-email and got it working, before I then discovered https://www.freedesktop.org/wiki/Software/PulseAudio/HowToUseGitSendEmail/ which is a quite helpful guide. Maybe that can help you too? Kevin _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Sat Jun 6 14:52:22 2020 From: rosenp at gmail.com (Rosen Penev) Date: Sat, 6 Jun 2020 11:52:22 -0700 Subject: [OpenWrt-Devel] [PATCH 1/2] libcxxabi: add Message-ID: <20200606185223.9749-1-rosenp@gmail.com> This will be used for libcxx. Signed-off-by: Rosen Penev --- package/libs/libcxxabi/Makefile | 71 +++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 package/libs/libcxxabi/Makefile diff --git a/package/libs/libcxxabi/Makefile b/package/libs/libcxxabi/Makefile new file mode 100644 index 0000000000..90547561b2 --- /dev/null +++ b/package/libs/libcxxabi/Makefile @@ -0,0 +1,71 @@ + +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libcxxabi +PKG_VERSION:=10.0.0 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz +PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION) +PKG_HASH:=e71bac75a88c9dde455ad3f2a2b449bf745eafd41d2d8432253b2964e0ca14e1 +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src + +PKG_MAINTAINER:=Rosen Penev +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE.txt + +PKG_BUILD_PARALLEL:=1 +CMAKE_BINARY_SUBDIR:=build + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/libcxxabi + SECTION:=libs + CATEGORY:=Libraries + TITLE:=LLVM lib++abi + URL:=https://libcxxabi.llvm.org/ + DEPENDS:=+libpthread + BUILDONLY:=1 +endef + +define Package/libcxxabi/description + libc++abi is a new implementation of low level support for a standard C++ library. +endef + +CMAKE_OPTIONS += \ + -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ + -DLIBCXXABI_ENABLE_PEDANTIC=OFF \ + -DLIBCXXABI_ENABLE_PIC=ON \ + -DLIBCXXABI_ENABLE_WERROR=OFF \ + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \ + -DLIBCXXABI_USE_COMPILER_RT=OFF \ + -DLIBCXXABI_ENABLE_THREADS=ON \ + -DLIBCXXABI_HAS_PTHREAD_API=ON \ + -DLIBCXXABI_INCLUDE_TESTS=OFF \ + -DLIBCXXABI_LIBDIR_SUFFIX="" \ + -DLIBCXXABI_INSTALL_LIBRARY=ON \ + -DLIBCXXABI_ENABLE_SHARED=OFF \ + -DLIBCXXABI_LIBCXX_SRC_DIR=$(BUILD_DIR)/libcxx-$(PKG_VERSION).src \ + -DLIBCXXABI_LIBCXX_INCLUDES=$(BUILD_DIR)/libcxx-$(PKG_VERSION).src/include + +TARGET_CXXFLAGS += -flto +TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed + +define Build/Prepare + $(MAKE) -C $(TOPDIR)/package/libs/libcxx prepare + $(call Build/Prepare/Default) +endef + +define Build/InstallDev + $(call Build/InstallDev/cmake,$(1)) + $(INSTALL_DIR) $(1)/usr/include/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/ +endef + +$(eval $(call BuildPackage,libcxxabi)) -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Sat Jun 6 14:52:23 2020 From: rosenp at gmail.com (Rosen Penev) Date: Sat, 6 Jun 2020 11:52:23 -0700 Subject: [OpenWrt-Devel] [PATCH 2/2] libcxx: update to 10.0.0 In-Reply-To: <20200606185223.9749-1-rosenp@gmail.com> References: <20200606185223.9749-1-rosenp@gmail.com> Message-ID: <20200606185223.9749-2-rosenp@gmail.com> Switched to upstream tarballs. Switched to libcxxabi as using libsupc++ is quite wonky. Fixed description. Removed patches. The fixes are cosmetic. Added ssp patch. This one is needed for i386 and powerpc under musl. Compile tested every C++ package in the tree with the exception of several boost packages. There's something broken with boost. Ran tested with gerbera. Signed-off-by: Rosen Penev --- package/libs/libcxx/Makefile | 18 +++++------ package/libs/libcxx/files/g++-libcxx | 2 +- package/libs/libcxx/patches/010-cxx17.patch | 14 --------- package/libs/libcxx/patches/010-ssp.patch | 13 ++++++++ package/libs/libcxx/patches/020-fixes.patch | 35 --------------------- 5 files changed, 23 insertions(+), 59 deletions(-) delete mode 100644 package/libs/libcxx/patches/010-cxx17.patch create mode 100644 package/libs/libcxx/patches/010-ssp.patch delete mode 100644 package/libs/libcxx/patches/020-fixes.patch diff --git a/package/libs/libcxx/Makefile b/package/libs/libcxx/Makefile index 8343cbb427..3809bea651 100644 --- a/package/libs/libcxx/Makefile +++ b/package/libs/libcxx/Makefile @@ -7,19 +7,20 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libcxx -PKG_VERSION:=9.0.1 -PKG_RELEASE:=4 +PKG_VERSION:=10.0.0 +PKG_RELEASE:=1 -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://git.llvm.org/git/libcxx -PKG_SOURCE_VERSION:=2076f539f410805ef88692b9c0ce0a0b882a7680 -PKG_MIRROR_HASH:=d527880a18dec9109575c76717cf5288fb91c11381b9d261cae2e5bebcbdab2e +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz +PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION) +PKG_HASH:=270f8a3f176f1981b0f6ab8aa556720988872ec2b48ed3b605d0ced8d09156c7 +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src PKG_MAINTAINER:=Rosen Penev PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt PKG_BUILD_PARALLEL:=1 +PKG_BUILD_DEPENDS:=libcxxabi CMAKE_BINARY_SUBDIR:=build include $(INCLUDE_DIR)/package.mk @@ -34,12 +35,11 @@ define Package/libcxx endef define Package/libcxx/description - LLVM C++ library targeting C++11 and above + libc++ is an implementation of the C++ standard library, targeting C++11, C++14 and above. endef CMAKE_OPTIONS += \ - -DLIBCXX_CXX_ABI="libsupc++" \ - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/include/c++/$(CONFIG_GCC_VERSION);$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/include/c++/$(CONFIG_GCC_VERSION)/$(REAL_GNU_TARGET_NAME)" \ + -DLIBCXX_CXX_ABI="libcxxabi" \ -DLIBCXX_ENABLE_ASSERTIONS=OFF \ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF \ -DLIBCXX_INCLUDE_BENCHMARKS=OFF \ diff --git a/package/libs/libcxx/files/g++-libcxx b/package/libs/libcxx/files/g++-libcxx index 81ca46eb0e..f37afb2fd5 100755 --- a/package/libs/libcxx/files/g++-libcxx +++ b/package/libs/libcxx/files/g++-libcxx @@ -13,7 +13,7 @@ do -static) [ "$WRAPPER_LIBS" != "-lc -lgcc_s -lssp_nonshared -lgcc_eh" ] && WRAPPER_LIBS="-lc -lgcc_s -lssp_nonshared -lgcc_eh" ;; esac done -[ "$WRAPPER_INCLIB" = "Y" ] && WRAPPER_OPTIONS="-nodefaultlibs $WRAPPER_LIBDIR -lc++ -lsupc++ $WRAPPER_LIBS" +[ "$WRAPPER_INCLIB" = "Y" ] && WRAPPER_OPTIONS="-nodefaultlibs $WRAPPER_LIBDIR -lc++ -lc++abi $WRAPPER_LIBS" exec CXX -fno-builtin -nostdinc++ -DGCC_HASCLASSVISIBILITY "$WRAPPER_INCLUDEDIR" "$@" $WRAPPER_OPTIONS diff --git a/package/libs/libcxx/patches/010-cxx17.patch b/package/libs/libcxx/patches/010-cxx17.patch deleted file mode 100644 index dceec9d4f3..0000000000 --- a/package/libs/libcxx/patches/010-cxx17.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -524,9 +524,9 @@ remove_flags(-Wno-pedantic -pedantic-err - if (LIBCXX_HAS_MUSL_LIBC OR LIBCXX_TARGETING_CLANG_CL) - # musl's pthread implementations uses volatile types in their structs which is - # not a constexpr in C++11 but is in C++14, so we use C++14 with musl. -- set(LIBCXX_STANDARD_VER c++14 CACHE STRING "internal option to change build dialect") -+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect") - else() -- set(LIBCXX_STANDARD_VER c++11 CACHE STRING "internal option to change build dialect") -+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect") - endif() - add_compile_flags_if_supported(-std=${LIBCXX_STANDARD_VER}) - add_compile_flags_if_supported("/std:${LIBCXX_STANDARD_VER}") diff --git a/package/libs/libcxx/patches/010-ssp.patch b/package/libs/libcxx/patches/010-ssp.patch new file mode 100644 index 0000000000..c9dc90c7f2 --- /dev/null +++ b/package/libs/libcxx/patches/010-ssp.patch @@ -0,0 +1,13 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -760,6 +760,10 @@ function(cxx_link_system_libraries target) + target_link_libraries(${target} PRIVATE atomic) + endif() + ++ if (LIBCXX_HAS_MUSL_LIBC) ++ target_link_libraries(${target} PRIVATE ssp_nonshared) ++ endif() ++ + if (MINGW) + target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}") + endif() diff --git a/package/libs/libcxx/patches/020-fixes.patch b/package/libs/libcxx/patches/020-fixes.patch deleted file mode 100644 index 22ac494c04..0000000000 --- a/package/libs/libcxx/patches/020-fixes.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/include/cmath -+++ b/include/cmath -@@ -615,7 +615,7 @@ _Fp __lerp(_Fp __a, _Fp __b, _Fp __t) no - - if (__t == 1) return __b; - const _Fp __x = __a + __t * (__b - __a); -- if (__t > 1 == __b > __a) -+ if ((__t > 1) == (__b > __a)) - return __b < __x ? __x : __b; - else - return __x < __b ? __x : __b; ---- a/include/memory -+++ b/include/memory -@@ -1696,7 +1696,7 @@ struct _LIBCPP_TEMPLATE_VIS allocator_tr - ptrdiff_t _Np = __end1 - __begin1; - __end2 -= _Np; - if (_Np > 0) -- _VSTD::memcpy(__end2, __begin1, _Np * sizeof(_Tp)); -+ __end2 = __begin1; - } - - private: ---- a/src/filesystem/filesystem_common.h -+++ b/src/filesystem/filesystem_common.h -@@ -197,8 +197,8 @@ private: - using chrono::duration; - using chrono::duration_cast; - --using TimeSpec = struct ::timespec; --using StatT = struct ::stat; -+using TimeSpec = struct timespec; -+using StatT = struct stat; - - template ::value> -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dedeckeh at gmail.com Sat Jun 6 15:03:49 2020 From: dedeckeh at gmail.com (Hans Dedecker) Date: Sat, 6 Jun 2020 21:03:49 +0200 Subject: [OpenWrt-Devel] [PATCH] netifd: Improve handling of device rename In-Reply-To: <20200311131310.32594-1-kristian.evensen@gmail.com> References: <20200311131310.32594-1-kristian.evensen@gmail.com> Message-ID: On Wed, Mar 11, 2020 at 2:13 PM Kristian Evensen wrote: > > After an interface has been renamed on a "fast" device (for example > x86_64), the interface is sometimes not handled correctly by netifd. > Looking in the logs, I see the following messages when renaming fails: > > Wed Mar 11 08:52:44 2020 kern.info kernel: [68383.522038] igb 0000:03:00.0 nlw_1: renamed from eth2 > Wed Mar 11 08:52:44 2020 daemon.err netifd[2739]: __device_add_user(710): Add user for device 'nlw_1', refcount=2 > Wed Mar 11 08:52:44 2020 daemon.err netifd[2739]: device_claim(413): Claim Network device nlw_1, new active count: 2 > Wed Mar 11 08:52:44 2020 daemon.err netifd[2739]: device_claim(432): claim Network device nlw_1 failed: -1 > > Instrumenting netifd further reveals that there is a race between the hotplug > "@move" event and ioctl(SIOCGIFINDEX). When the above error happens, the > ioctl-call fails with ENODEV. Looking closer at the kernel code, it seems the > hotplug-event is triggered before the renaming is completed. The easiest way to > trigger the race, is if an interface name with the old name is not handled by > netifd and an interface with the new name is. If only the old name is handled, > or both names, I was not able to provoke the race. > > When the renaming is complete, a NEWLINK-message is generated. This patch > modifies the logic surrounding renaming, so that we wait for the > NEWLINK-message before marking an interface as present. The changes made are: > > * We only handle move-events for interfaces we know, and we return after > device has been set as not present. > * When we receive a NEWLINK message for an interface managed by netifd, > we call device_set_present. device_set_present is guarded by the same > checks as the add hotplug-event. > > After these changes, renaming works properly on both "fast" and "slow" > devices. Removing a device is also handled correctly. > > Signed-off-by: Kristian Evensen > --- > system-linux.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/system-linux.c b/system-linux.c > index d533be8..aff67d6 100644 > --- a/system-linux.c > +++ b/system-linux.c > @@ -590,6 +590,11 @@ static int cb_rtnl_event(struct nl_msg *msg, void *arg) > if (!system_get_dev_sysctl("/sys/class/net/%s/carrier", dev->ifname, buf, sizeof(buf))) > link_state = strtoul(buf, NULL, 0); > > + if (dev->type == &simple_device_type && > + !system_if_force_external(dev->ifname) && > + !dev->present) > + device_set_present(dev, true); > + > device_set_link(dev, link_state ? true : false); > > out: > @@ -652,13 +657,15 @@ handle_hotplug_msg(char *data, int size) > move: > dev = device_find(interface_old); > if (!dev) > - goto found; > + return; > > if (dev->type != &simple_device_type) > goto found; > > device_set_present(dev, false); > > + return; > + > found: > dev = device_find(interface); > if (!dev) > -- > 2.20.1 Patch applied with minor modification (https://git.openwrt.org/?p=project/netifd.git;a=commitdiff;h=51e9fb8151e8f2c16ac1400bf4d64147ee7e8f5a) Thx Hans > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Sat Jun 6 15:20:31 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Sat, 6 Jun 2020 21:20:31 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4 v3] bcm63xx: add support for the Sercomm H500-s In-Reply-To: <35386960.F8KvOtZ52M@tool> References: <35386960.F8KvOtZ52M@tool> Message-ID: <000101d63c37$8bd331b0$a3799510$@adrianschmutzler.de> Hi Daniel, > > Signed-off-by: Daniel Gonz?lez Cabanelas > Reviewed-by: ?lvaro Fern?ndez Rojas > Reviewed-by: Adrian Schmutzler This ("Reviewed-by") should only be added when explicitly "provided" by one of us. I haven't done so so far, please send a new patchset with the Reviewed-by removed ASAP, so nobody picks them by accident. Why did you put them in the first place? Is this suggested somewhere? I never had a case like this earlier and now I had two in two weeks ... Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sat Jun 6 15:54:36 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 06 Jun 2020 21:54:36 +0200 Subject: [OpenWrt-Devel] [PATCH 1/4 v4] bcm63xx: kernel: add BCM63167 cpuid variant Message-ID: <21850553.EUrQ8X9mxC@tool> The BCM63167 is a BCM63268 SoC with a different physical packaging. Add the CPU ID to allow supporting routers with this SoC (i.e Sercomm H500-s) Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: none Changes in v3: none Changes in v4: none ...IPS-BCM63XX-add-support-for-BCM63268.patch | 18 ++++++++------ ...MIPS-BCM63XX-add-support-for-BCM6318.patch | 10 ++++---- .../431-MIPS-BCM63XX-add-nand-rset.patch | 24 +++++++++---------- 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch index efd5f10534..aba4b9415a 100644 --- a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch +++ b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch @@ -242,10 +242,11 @@ Signed-off-by: Jonas Gorski switch (bcm63xx_cpu_id) { case BCM3368_CPU_ID: -@@ -400,6 +442,15 @@ void __init bcm63xx_cpu_init(void) +@@ -400,6 +442,16 @@ void __init bcm63xx_cpu_init(void) /* BCM6369 is a BCM6368 without xDSL, so treat it the same */ bcm63xx_cpu_id = BCM6368_CPU_ID; break; ++ case BCM63167_CPU_ID: + case BCM63168_CPU_ID: + case BCM63169_CPU_ID: + case BCM63268_CPU_ID: @@ -353,10 +354,11 @@ Signed-off-by: Jonas Gorski return 0; --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -22,6 +22,10 @@ +@@ -22,6 +22,11 @@ #define BCM6362_CPU_ID 0x6362 #define BCM6368_CPU_ID 0x6368 #define BCM6369_CPU_ID 0x6369 ++#define BCM63167_CPU_ID 0x63167 +#define BCM63168_CPU_ID 0x63168 +#define BCM63169_CPU_ID 0x63169 +#define BCM63268_CPU_ID 0x63268 @@ -364,7 +366,7 @@ Signed-off-by: Jonas Gorski void __init bcm63xx_cpu_init(void); u32 bcm63xx_get_cpu_variant(void); -@@ -62,6 +66,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -62,6 +67,10 @@ static inline u32 __pure __bcm63xx_get_c #ifdef CONFIG_BCM63XX_CPU_6368 case BCM6368_CPU_ID: #endif @@ -375,7 +377,7 @@ Signed-off-by: Jonas Gorski break; default: unreachable(); -@@ -87,6 +95,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -87,6 +96,7 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_IS_6358() (bcm63xx_get_cpu_id() == BCM6358_CPU_ID) #define BCMCPU_IS_6362() (bcm63xx_get_cpu_id() == BCM6362_CPU_ID) #define BCMCPU_IS_6368() (bcm63xx_get_cpu_id() == BCM6368_CPU_ID) @@ -383,10 +385,12 @@ Signed-off-by: Jonas Gorski #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) -@@ -110,6 +119,14 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -110,6 +120,16 @@ static inline u32 __pure bcm63xx_get_cpu (bcm63xx_get_cpu_variant() == BCM6368_CPU_ID) #define BCMCPU_VARIANT_IS_6369() \ (bcm63xx_get_cpu_variant() == BCM6369_CPU_ID) ++#define BCMCPU_VARIANT_IS_63167() \ ++ (bcm63xx_get_cpu_variant() == BCM63167_CPU_ID) +#define BCMCPU_VARIANT_IS_63168() \ + (bcm63xx_get_cpu_variant() == BCM63168_CPU_ID) +#define BCMCPU_VARIANT_IS_63169() \ @@ -398,7 +402,7 @@ Signed-off-by: Jonas Gorski /* * While registers sets are (mostly) the same across 63xx CPU, base -@@ -574,6 +591,52 @@ enum bcm63xx_regs_set { +@@ -574,6 +594,52 @@ enum bcm63xx_regs_set { #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -451,7 +455,7 @@ Signed-off-by: Jonas Gorski extern const unsigned long *bcm63xx_regs_base; -@@ -1042,6 +1105,73 @@ enum bcm63xx_irq { +@@ -1042,6 +1108,73 @@ enum bcm63xx_irq { #define BCM_6368_EXT_IRQ4 (IRQ_INTERNAL_BASE + 24) #define BCM_6368_EXT_IRQ5 (IRQ_INTERNAL_BASE + 25) diff --git a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch index 5b05fa6bd5..a022f8c5f0 100644 --- a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch +++ b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch @@ -327,7 +327,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCM6328_CPU_ID 0x6328 #define BCM63281_CPU_ID 0x63281 #define BCM63283_CPU_ID 0x63283 -@@ -39,6 +40,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -40,6 +41,10 @@ static inline u32 __pure __bcm63xx_get_c case BCM3368_CPU_ID: #endif @@ -338,7 +338,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #ifdef CONFIG_BCM63XX_CPU_6328 case BCM6328_CPU_ID: #endif -@@ -88,6 +93,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -89,6 +94,7 @@ static inline u32 __pure bcm63xx_get_cpu } #define BCMCPU_IS_3368() (bcm63xx_get_cpu_id() == BCM3368_CPU_ID) @@ -346,7 +346,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_IS_6328() (bcm63xx_get_cpu_id() == BCM6328_CPU_ID) #define BCMCPU_IS_6338() (bcm63xx_get_cpu_id() == BCM6338_CPU_ID) #define BCMCPU_IS_6345() (bcm63xx_get_cpu_id() == BCM6345_CPU_ID) -@@ -99,6 +105,8 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -100,6 +106,8 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) @@ -355,7 +355,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_VARIANT_IS_63281() \ (bcm63xx_get_cpu_variant() == BCM63281_CPU_ID) #define BCMCPU_VARIANT_IS_63283() \ -@@ -253,6 +261,56 @@ enum bcm63xx_regs_set { +@@ -256,6 +264,56 @@ enum bcm63xx_regs_set { #define BCM_3368_MISC_BASE (0xdeadbeef) /* @@ -412,7 +412,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 * 6328 register sets base address */ #define BCM_6328_DSL_LMEM_BASE (0xdeadbeef) -@@ -775,6 +833,55 @@ enum bcm63xx_irq { +@@ -778,6 +836,55 @@ enum bcm63xx_irq { #define BCM_3368_EXT_IRQ2 (IRQ_INTERNAL_BASE + 27) #define BCM_3368_EXT_IRQ3 (IRQ_INTERNAL_BASE + 28) diff --git a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch index 1172b23197..090ffeb43c 100644 --- a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch +++ b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch @@ -1,6 +1,6 @@ --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -181,7 +181,8 @@ enum bcm63xx_regs_set { +@@ -184,7 +184,8 @@ enum bcm63xx_regs_set { RSET_PCMDMAC, RSET_PCMDMAS, RSET_RNG, @@ -10,7 +10,7 @@ }; #define RSET_DSL_LMEM_SIZE (64 * 1024 * 4) -@@ -259,6 +260,7 @@ enum bcm63xx_regs_set { +@@ -262,6 +263,7 @@ enum bcm63xx_regs_set { #define BCM_3368_PCMDMAS_BASE (0xdeadbeef) #define BCM_3368_RNG_BASE (0xdeadbeef) #define BCM_3368_MISC_BASE (0xdeadbeef) @@ -18,7 +18,7 @@ /* * 6318 register sets base address -@@ -306,6 +308,7 @@ enum bcm63xx_regs_set { +@@ -309,6 +311,7 @@ enum bcm63xx_regs_set { #define BCM_6318_PCMDMAS_BASE (0xdeadbeef) #define BCM_6318_RNG_BASE (0xdeadbeef) #define BCM_6318_MISC_BASE (0xb0000280) @@ -26,7 +26,7 @@ #define BCM_6318_OTP_BASE (0xdeadbeef) #define BCM_6318_STRAP_BASE (0xb0000900) -@@ -356,6 +359,7 @@ enum bcm63xx_regs_set { +@@ -359,6 +362,7 @@ enum bcm63xx_regs_set { #define BCM_6328_PCMDMAS_BASE (0xdeadbeef) #define BCM_6328_RNG_BASE (0xdeadbeef) #define BCM_6328_MISC_BASE (0xb0001800) @@ -34,7 +34,7 @@ #define BCM_6328_OTP_BASE (0xb0000600) /* -@@ -405,6 +409,7 @@ enum bcm63xx_regs_set { +@@ -408,6 +412,7 @@ enum bcm63xx_regs_set { #define BCM_6338_PCMDMAS_BASE (0xdeadbeef) #define BCM_6338_RNG_BASE (0xdeadbeef) #define BCM_6338_MISC_BASE (0xdeadbeef) @@ -42,7 +42,7 @@ /* * 6345 register sets base address -@@ -453,6 +458,7 @@ enum bcm63xx_regs_set { +@@ -456,6 +461,7 @@ enum bcm63xx_regs_set { #define BCM_6345_PCMDMAS_BASE (0xdeadbeef) #define BCM_6345_RNG_BASE (0xdeadbeef) #define BCM_6345_MISC_BASE (0xdeadbeef) @@ -50,7 +50,7 @@ /* * 6348 register sets base address -@@ -499,6 +505,7 @@ enum bcm63xx_regs_set { +@@ -502,6 +508,7 @@ enum bcm63xx_regs_set { #define BCM_6348_PCMDMAS_BASE (0xdeadbeef) #define BCM_6348_RNG_BASE (0xdeadbeef) #define BCM_6348_MISC_BASE (0xdeadbeef) @@ -58,7 +58,7 @@ /* * 6358 register sets base address -@@ -545,7 +552,7 @@ enum bcm63xx_regs_set { +@@ -548,7 +555,7 @@ enum bcm63xx_regs_set { #define BCM_6358_PCMDMAS_BASE (0xfffe1a00) #define BCM_6358_RNG_BASE (0xdeadbeef) #define BCM_6358_MISC_BASE (0xdeadbeef) @@ -67,7 +67,7 @@ /* * 6362 register sets base address -@@ -593,6 +600,7 @@ enum bcm63xx_regs_set { +@@ -596,6 +603,7 @@ enum bcm63xx_regs_set { #define BCM_6362_PCMDMAS_BASE (0xdeadbeef) #define BCM_6362_RNG_BASE (0xdeadbeef) #define BCM_6362_MISC_BASE (0xb0001800) @@ -75,7 +75,7 @@ #define BCM_6362_NAND_REG_BASE (0xb0000200) #define BCM_6362_NAND_CACHE_BASE (0xb0000600) -@@ -648,6 +656,7 @@ enum bcm63xx_regs_set { +@@ -651,6 +659,7 @@ enum bcm63xx_regs_set { #define BCM_6368_PCMDMAS_BASE (0xb0005c00) #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -83,7 +83,7 @@ /* * 63268 register sets base address -@@ -695,6 +704,7 @@ enum bcm63xx_regs_set { +@@ -698,6 +707,7 @@ enum bcm63xx_regs_set { #define BCM_63268_PCMDMAS_BASE (0xdeadbeef) #define BCM_63268_RNG_BASE (0xdeadbeef) #define BCM_63268_MISC_BASE (0xb0001800) @@ -91,7 +91,7 @@ extern const unsigned long *bcm63xx_regs_base; -@@ -740,6 +750,7 @@ extern const unsigned long *bcm63xx_regs +@@ -743,6 +753,7 @@ extern const unsigned long *bcm63xx_regs [RSET_PCMDMAS] = BCM_## __cpu ##_PCMDMAS_BASE, \ [RSET_RNG] = BCM_## __cpu ##_RNG_BASE, \ [RSET_MISC] = BCM_## __cpu ##_MISC_BASE, \ -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sat Jun 6 15:54:40 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 06 Jun 2020 21:54:40 +0200 Subject: [OpenWrt-Devel] [PATCH 2/4 v4] bcm63xx: image: don't add the CFE to the sercomm factory Message-ID: <4786077.zvRQnm3vzE@tool> There is no need to include the CFE bootloader in the Sercomm factory images. There might be a case when this could be useful: - We are running the stock firmware on the first Sercomm image - The second partition storing the botloader was erased (unlikely) Even in this case flashing an image without a bootlader is harmless. Don't include the bootloader in the factory image creation and rid of the risk of flashing factory images with an untested bootloader partition. Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: refresh Changes in v3: none Changes in v4: none target/linux/bcm63xx/image/Makefile | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index 0593dacb44..5ec31f6207 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -218,20 +218,8 @@ define Build/cfe-sercomm-part --part-name rootfs_lib \ --part-version $(SERCOMM_VERSION) - rm -rf $@-bootloader - mkdir -p $@-bootloader - cp $(KDIR)/bcm63xx-cfe/$(CFE_RAM_FILE) $@-bootloader/$(CFE_RAM_JFFS2_NAME) - $(call Build/cfe-jffs2,$@-bootloader) - $(call Build/pad-to,$(BLOCKSIZE)) - $(TOPDIR)/scripts/sercomm-partition-tag.py \ - --input-file $@ \ - --output-file $@.bootloader \ - --part-name bootloader \ - --part-version $(SERCOMM_VERSION) - mv $@.kernel_rootfs $@ dd if=$@.rootfs_lib >> $@ - dd if=$@.bootloader >> $@ endef define Build/cfe-sercomm-load -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sat Jun 6 15:54:42 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 06 Jun 2020 21:54:42 +0200 Subject: [OpenWrt-Devel] [PATCH 3/4 v4] bcm63xx: image: allow to pass the addr to the NAND kernel header Message-ID: <1690244.uS5v2sdGyS@tool> Not all CFEs will need to relocate the kernel (i.e H500-s), therefore we'll need to pass a different address and not the LOADER_ENTRY. Let to pass the addr to the image creation when neccessary. Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: refresh Changes in v3: none Changes in v4: none target/linux/bcm63xx/image/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index c962e531a9..0593dacb44 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -172,8 +172,8 @@ define Build/cfe-jffs2-kernel $(TOPDIR)/scripts/cfe-bin-header.py \ --input-file $@ \ --output-file $@-kernel/vmlinux.lz \ - --load-addr $(LOADER_ENTRY) \ - --entry-addr $(LOADER_ENTRY) + --load-addr $(if $(1),$(1),$(LOADER_ENTRY)) \ + --entry-addr $(if $(1),$(1),$(LOADER_ENTRY)) # The JFFS2 partition creation should result in the following # layout: -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sat Jun 6 15:54:45 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 06 Jun 2020 21:54:45 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4 v4] bcm63xx: add support for the Sercomm H500-s Message-ID: <2710876.ZIJXS6utr4@tool> Sercomm H500-s is an xDSL dual band wireless router based on Broadcom BCM63167 SoC. Hardware: SoC: Broadcom BCM63167 CPU: BMIPS4350 V8.0, 400 MHz, 2 cores Flash: NAND 128 MiB RAM: DDR3 128 MiB Ethernet: 4x 10/100/1000 Mbps Switch: BCM53134S Wireless: 802.11b/g/n: BCM435f (integrated) 802.11ac: Quantenna QT3740BC (onboard SoC) USB: 1x 2.0 LEDs/Buttons: 11x / 2x Flash instruction, web UI: 1. Reset to defaults using the reset button if the admin password is unknown 2. Login into the web UI as admin. Address: http://192.168.0.1 User: admin Password: VF-ESVodafone-H-500-s or l033i-h500s 3. Go to Settings -> Firmware Update, and select the Openwrt factory firmware 4. Update the firmware. 5. Wait until it finish, the device will reboot with Openwrt installed on the alternative image partitions keeping the stock firmware in the former. Notes: - The patch also adds support for the lowi version. Only the factory firmware is different. - The integrated Wifi in the Broadcom Soc isn't still supported. - The Quantenna 802.11ac wifi works ok, but needs to be configured with the Quantenna client application. It can't be configured with Luci nor any iw command since it's a separated subsystem linked via ethernet. - The BCM53134S external switch is managed via MDIO which isn't supported in this target. Therefore it will behave as a dumb switch. Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: - Fixed passwords in commit log - Added unsupported switch in dts - Added custom LOADER_ENTRY to fix the ramdisk for this specific device - Removed unneded b43 package - Cosmetic changes Changes in v3: - Device splitted: lowi, vfes - Removed unsupported switch in dts - Cosmetic changes Changes in v4: - Fixed commit log - Cosmetic changes .../bcm63xx/base-files/etc/board.d/01_leds | 4 + .../bcm63xx/base-files/etc/board.d/02_network | 4 + .../base-files/lib/upgrade/platform.sh | 8 +- .../dts/bcm63167-sercomm-h500-s-lowi.dts | 15 ++ .../dts/bcm63167-sercomm-h500-s-vfes.dts | 15 ++ .../bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi | 196 ++++++++++++++++++ target/linux/bcm63xx/image/bcm63xx_nand.mk | 54 +++++ .../bcm63xx/patches-5.4/568-board-H500s.patch | 69 ++++++ 8 files changed, 363 insertions(+), 2 deletions(-) create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi create mode 100644 target/linux/bcm63xx/patches-5.4/568-board-H500s.patch diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds b/target/linux/bcm63xx/base-files/etc/board.d/01_leds index 91d67f0c0b..cdaf0e77c9 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds @@ -100,6 +100,10 @@ sercomm,ad1018) sercomm,ad1018-nor) ucidef_set_led_netdev "wlan0" "WLAN" "AD1018:green:wifi" "wlan0" ;; +sercomm,h500-s-lowi|\ +sercomm,h500-s-vfes) + ucidef_set_led_netdev "wan" "WAN" "h500-s:green:internet" "eth0.2" + ;; telsey,cpva502plus) ucidef_set_led_netdev "lan" "LAN" "CPVA502+:amber:link" "eth0" ;; diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network b/target/linux/bcm63xx/base-files/etc/board.d/02_network index 784af29cb4..f02eabe68f 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network @@ -142,6 +142,10 @@ sercomm,ad1018-nor) ucidef_add_switch "switch0" \ "1:lan:3" "2:lan:2" "3:lan:1" "0:wan" "8t at eth0" ;; +sercomm,h500-s-lowi|\ +sercomm,h500-s-vfes) + ucidef_add_switch "switch0" "4:lan" "3:wan" "8t at eth0" + ;; sfr,neufbox-6-sercomm-r0) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9t at eth0" diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh index 7d416297dd..525d3b90b5 100644 --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh @@ -9,7 +9,9 @@ platform_check_image() { comtrend,vr-3032u|\ huawei,hg253s-v2|\ netgear,dgnd3700-v2|\ - sercomm,ad1018) + sercomm,ad1018|\ + sercomm,h500-s-lowi|\ + sercomm,h500-s-vfes) # NAND sysupgrade return 0 ;; @@ -69,7 +71,9 @@ platform_do_upgrade() { comtrend,vr-3032u|\ huawei,hg253s-v2|\ netgear,dgnd3700-v2|\ - sercomm,ad1018) + sercomm,ad1018|\ + sercomm,h500-s-lowi|\ + sercomm,h500-s-vfes) REQUIRE_IMAGE_METADATA=1 cfe_jffs2_upgrade_tar "$1" ;; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts new file mode 100644 index 0000000000..097ef2e60b --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s lowi + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63167-sercomm-h500-s.dtsi" + +/ { + model = "Sercomm H500-s lowi"; + compatible = "sercomm,h500-s-lowi", "brcm,bcm63268"; +}; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts new file mode 100644 index 0000000000..c42b80f1c3 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s vfes + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63167-sercomm-h500-s.dtsi" + +/ { + model = "Sercomm H500-s vfes"; + compatible = "sercomm,h500-s-vfes", "brcm,bcm63268"; +}; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi new file mode 100644 index 0000000000..e16819140b --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi @@ -0,0 +1,196 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63268.dtsi" + +#include + +/ { + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + chosen { + bootargs = "rootfstype=squashfs,ubifs noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 34 1>; + linux,code = ; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 35 1>; + linux,code = ; + debounce-interval = <60>; + }; + }; +}; + +&leds { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + mobile_red { + reg = <0>; + label = "h500-s:red:mobile"; + }; + + mobile_green { + reg = <1>; + label = "h500-s:green:mobile"; + }; + + led_power_red: power_red { + reg = <8>; + label = "h500-s:red:power"; + }; + + wifi_green { + reg = <9>; + label = "h500-s:green:wifi"; + }; + + phone_red { + reg = <12>; + label = "h500-s:red:phone"; + }; + + wifi_red { + reg = <13>; + label = "h500-s:red:wifi"; + }; + + internet_red { + reg = <14>; + label = "h500-s:red:internet"; + }; + + internet_green { + reg = <15>; + label = "h500-s:green:internet"; + }; + + phone_green { + reg = <16>; + label = "h500-s:green:phone"; + }; + + led_power_green: power_green { + reg = <17>; + label = "h500-s:green:power"; + default-state = "on"; + }; + + mobile_blue { + reg = <23>; + label = "h500-s:blue:mobile"; + }; +}; + +&nflash { + status = "okay"; + + nandcs at 0 { + compatible = "brcm,nandcs"; + #size-cells = <1>; + #address-cells = <1>; + reg = <0>; + nand-ecc-step-size = <512>; + nand-ecc-strength = <4>; + nand-on-flash-bbt; + brcm,nand-oob-sector-size = <64>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "cferom"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + partition at 20000 { + label = "part_map"; + reg = <0x0020000 0x00a0000>; + read-only; + }; + + partition at c0000 { + label = "cferam1"; + reg = <0x00c0000 0x0140000>; + read-only; + }; + + partition at 200000 { + label = "cferam2"; + reg = <0x0200000 0x0140000>; + read-only; + }; + + partition at 6920000 { + label = "bootflag1"; + reg = <0x6920000 0x0140000>; + }; + + partition at 6a60000 { + label = "bootflag2"; + reg = <0x6a60000 0x0140000>; + }; + + partition at 520000 { + compatible = "sercomm,wfi"; + label = "wfi"; + reg = <0x0520000 0x6400000>; /* 2 images, 97152 KiB */ + }; + + partition at 6ba0000 { + label = "xml_cfg"; + reg = <0x6ba0000 0x0280000>; + read-only; + }; + + partition at 6e20000 { + label = "app_data"; + reg = <0x6e20000 0x0280000>; + read-only; + }; + }; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio0", "gpio1", "gpio8", "gpio9", + "gpio12", "gpio13", "gpio14", "gpio15", + "gpio16", "gpio17", "gpio23"; + }; +}; + +&uart0 { + status = "okay"; +}; diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk b/target/linux/bcm63xx/image/bcm63xx_nand.mk index 7b2039c988..4f030cbdab 100644 --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk @@ -149,3 +149,57 @@ define Device/sercomm_ad1018 SERCOMM_VERSION := 1001 endef TARGET_DEVICES += sercomm_ad1018 + +define Device/sercomm_h500-s-lowi + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + DEVICE_VARIANT := lowi + LOADER_ENTRY := 0x80010000 + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500-s-lowi + +define Device/sercomm_h500-s-vfes + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + DEVICE_VARIANT := vfes + LOADER_ENTRY := 0x80010000 + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500-s-vfes diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch new file mode 100644 index 0000000000..d94d5cfeb7 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch @@ -0,0 +1,69 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -2867,10 +2867,41 @@ + }, + + }, + }, + }; ++ ++static struct board_info __initdata board_H500s = { ++ .name = "BXK00C-1.6", ++ .expected_cpu_id = 0x63268, ++ ++ .has_ehci0 = 1, ++ .has_ohci0 = 1, ++ .num_usbh_ports = 1, ++ ++ .has_enetsw = 1, ++ .enetsw = { ++ .used_ports = { ++ [3] = { ++ .used = 1, ++ .phy_id = 12, ++ .name = "WAN", ++ }, ++ ++ [4] = { ++ .used = 1, ++ .phy_id = 0, ++ .bypass_link = 1, ++ .force_speed = 1000, ++ .force_duplex_full = 1, ++ .mii_override = 1, ++ .timing_sel = 1, ++ .name = "RGMII", ++ }, ++ }, ++ }, ++}; + #endif /* CONFIG_BCM63XX_CPU_63268 */ + + /* + * all boards + */ +@@ -2981,10 +3012,11 @@ + &board_963269bhr, + &board_VG8050, + &board_VR3032u, + &board_vw6339gu, + &board_BSKYB_63168, ++ &board_H500s, + #endif + }; + + static struct of_device_id const bcm963xx_boards_dt[] = { + #ifdef CONFIG_OF +@@ -3099,10 +3131,12 @@ + { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, }, + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, ++ { .compatible = "sercomm,h500-s-lowi", .data = &board_H500s, }, ++ { .compatible = "sercomm,h500-s-vfes", .data = &board_H500s, }, + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, + #endif + #endif /* CONFIG_OF */ + { }, + }; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dev at kresin.me Sat Jun 6 16:35:07 2020 From: dev at kresin.me (Mathias Kresin) Date: Sat, 6 Jun 2020 22:35:07 +0200 Subject: [OpenWrt-Devel] [PATCH] mvebu: drop WiFi migration script In-Reply-To: <20200603184222.14201-1-freifunk@adrianschmutzler.de> References: <20200603184222.14201-1-freifunk@adrianschmutzler.de> Message-ID: <167bdc08-5ec1-1187-def0-2d726d08a6dd@kresin.me> 03/06/2020 20:42, Adrian Schmutzler: > From: DENG Qingfang > > This migration script is meant for migration between 17.01 and newer > releases. Since 17.01 is EOL for quite some time already, let's just > drop it. > > Signed-off-by: DENG Qingfang > [extend commit message] > Signed-off-by: Adrian Schmutzler NAK. Why should we willing break the upgrade path from 17.01 to any future release? EOL doesn't mean it isn't used by people. As long as it doesn't hurt, we shouldn't break the upgrade/migration from older releases. Mathias _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Sat Jun 6 16:56:44 2020 From: openwrt-devel at lists.openwrt.org (R. Diez via openwrt-devel) Date: Sat, 6 Jun 2020 22:56:44 +0200 Subject: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds In-Reply-To: <9BC696B1-EBE9-4ECE-AF20-27132BD38D0D@darbyshire-bryant.me.uk> References: <20200603094351.GB36571@meh.true.cz> <20200606045751.GC32043@meh.true.cz> <9BC696B1-EBE9-4ECE-AF20-27132BD38D0D@darbyshire-bryant.me.uk> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: "R. Diez" Subject: Re: [OpenWrt-Devel] [PATCH] Do not hard-code IS_TTY in script scripts/feeds Date: Sat, 6 Jun 2020 22:56:44 +0200 Size: 6641 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Sat Jun 6 17:09:59 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Sat, 6 Jun 2020 23:09:59 +0200 Subject: [OpenWrt-Devel] [PATCH] soloscli: fix uci-defaults file Message-ID: <20200606210959.44351-1-freifunk@adrianschmutzler.de> The folder for the uci-defaults file of this package is wrong, so the file most probably has not been executed at all for several years at least. Fix the folder and remove the useless shebang for the file. Signed-off-by: Adrian Schmutzler --- package/network/config/soloscli/Makefile | 2 +- .../soloscli/files/etc/{uci-default => uci-defaults}/solos | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) rename package/network/config/soloscli/files/etc/{uci-default => uci-defaults}/solos (97%) diff --git a/package/network/config/soloscli/Makefile b/package/network/config/soloscli/Makefile index 877a0f275b..52a53dc0fa 100644 --- a/package/network/config/soloscli/Makefile +++ b/package/network/config/soloscli/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=soloscli PKG_VERSION:=1.04 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=solos-pci-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SF/openadsl diff --git a/package/network/config/soloscli/files/etc/uci-default/solos b/package/network/config/soloscli/files/etc/uci-defaults/solos similarity index 97% rename from package/network/config/soloscli/files/etc/uci-default/solos rename to package/network/config/soloscli/files/etc/uci-defaults/solos index 7f69da62c6..6645fc370a 100644 --- a/package/network/config/soloscli/files/etc/uci-default/solos +++ b/package/network/config/soloscli/files/etc/uci-defaults/solos @@ -1,5 +1,3 @@ -#!/bin/sh - uci batch <<__EOF__ delete network.wan.solos0 -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Sat Jun 6 17:13:41 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Sat, 6 Jun 2020 23:13:41 +0200 Subject: [OpenWrt-Devel] [PATCH] treewide: drop shebang from non-executable target files Message-ID: <20200606211341.44619-1-freifunk@adrianschmutzler.de> This drops the shebang from all target files for /lib and /etc/uci-defaults folders, as these are sourced and the shebang is useless. While at it, fix the executable flag on a few of these files. This does not touch ar71xx, as this target is just used for backporting now and applying cosmetic changes would just complicate things. Signed-off-by: Adrian Schmutzler --- .../base-files/lib/preinit/05_set_iface_mac_apm821xx | 2 -- .../base-files/lib/preinit/05_set_preinit_iface_apm821xx | 2 -- target/linux/apm821xx/base-files/lib/preinit/79_move_config | 2 -- target/linux/apm821xx/base-files/lib/upgrade/platform.sh | 2 -- target/linux/arc770/base-files/lib/arc.sh | 1 - .../linux/arc770/base-files/lib/preinit/01_preinit_arc.sh | 6 ++---- .../linux/archs38/base-files/lib/preinit/01_preinit_arc.sh | 6 ++---- target/linux/at91/base-files/lib/at91.sh | 1 - .../linux/at91/base-files/lib/preinit/01_preinit_do_at91.sh | 2 -- .../ath25/base-files/lib/preinit/15_preinit_iface_atheros | 2 -- .../generic/base-files/etc/uci-defaults/04_led_migration | 2 -- .../generic/base-files/etc/uci-defaults/09_fix-checksum | 1 - target/linux/ath79/generic/base-files/lib/functions/k2t.sh | 1 - .../ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh | 2 -- .../mikrotik/base-files/etc/uci-defaults/04_led_migration | 2 -- .../base-files/lib/preinit/05_set_preinit_iface_brcm2708 | 1 - target/linux/bcm27xx/base-files/lib/preinit/79_move_config | 1 - .../base-files/etc/uci-defaults/03_network_migration | 1 - target/linux/bcm47xx/base-files/etc/uci-defaults/09_fix_crc | 2 -- target/linux/bcm47xx/base-files/lib/preinit/01_sysinfo | 2 -- target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc | 2 -- target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc | 2 -- target/linux/cns3xxx/base-files/lib/cns3xxx.sh | 2 -- target/linux/cns3xxx/base-files/lib/preinit/01_sysinfo | 2 -- .../gemini/base-files/etc/uci-defaults/09_fix-checksum | 1 - .../gemini/base-files/lib/preinit/05_set_ether_mac_gemini | 2 -- target/linux/imx6/base-files/lib/imx6.sh | 1 - target/linux/imx6/base-files/lib/preinit/01_sysinfo | 2 -- target/linux/imx6/base-files/lib/preinit/79_move_config | 2 -- .../base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh | 2 -- .../base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh | 2 -- target/linux/ipq806x/base-files/lib/upgrade/buffalo.sh | 1 - .../lantiq/base-files/etc/uci-defaults/01_led_migration | 1 - .../base-files/etc/uci-defaults/02_migrate_xdsl_iface | 2 -- .../base-files/lib/preinit/05_layerscape_reorder_eth | 2 -- target/linux/layerscape/base-files/lib/upgrade/platform.sh | 1 - .../mediatek/base-files/lib/preinit/05_set_preinit_iface | 2 -- .../mediatek/base-files/lib/preinit/06_set_rps_sock_flow | 2 -- .../mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac | 1 - .../mediatek/mt7623/base-files/lib/preinit/79_move_config | 1 - .../base-files/lib/preinit/05_set_preinit_iface_mpc85xx | 1 - target/linux/mvebu/base-files/lib/preinit/79_move_config | 1 - .../mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless | 1 - .../mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan | 1 - target/linux/octeon/base-files/lib/preinit/79_move_config | 1 - target/linux/omap/base-files/lib/preinit/79_move_config | 1 - target/linux/pistachio/base-files/lib/upgrade/platform.sh | 1 - .../ramips/base-files/etc/uci-defaults/09_fix-checksum | 1 - .../mt7620/base-files/etc/uci-defaults/04_led_migration | 2 -- .../mt7621/base-files/etc/uci-defaults/04_led_migration | 2 -- .../base-files/lib/preinit/07_mt7621_bringup_dsa_master | 2 -- .../mt76x8/base-files/etc/uci-defaults/04_led_migration | 2 -- .../rt305x/base-files/etc/uci-defaults/04_led_migration | 2 -- .../rt305x/base-files/lib/preinit/04_handle_checksumming | 2 -- .../rt3883/base-files/lib/preinit/04_handle_checksumming | 2 -- target/linux/x86/64/base-files/lib/preinit/45_mount_xenfs | 1 - target/linux/x86/base-files/lib/preinit/02_load_x86_ucode | 1 - target/linux/x86/base-files/lib/preinit/15_essential_fs_x86 | 1 - target/linux/x86/base-files/lib/preinit/79_move_config | 1 - .../linux/x86/base-files/lib/preinit/81_upgrade_bootloader | 2 -- .../linux/x86/generic/base-files/lib/preinit/45_mount_xenfs | 1 - 61 files changed, 4 insertions(+), 99 deletions(-) mode change 100755 => 100644 target/linux/apm821xx/base-files/lib/upgrade/platform.sh mode change 100755 => 100644 target/linux/at91/base-files/lib/at91.sh mode change 100755 => 100644 target/linux/ath79/generic/base-files/lib/functions/k2t.sh mode change 100755 => 100644 target/linux/imx6/base-files/lib/imx6.sh mode change 100755 => 100644 target/linux/pistachio/base-files/lib/upgrade/platform.sh diff --git a/target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx b/target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx index 11955dd5a2..1f8c1c29fb 100644 --- a/target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx +++ b/target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx @@ -1,5 +1,3 @@ -#!/bin/sh - preinit_set_mac_address() { . /lib/functions.sh diff --git a/target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx b/target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx index a15a055a25..eabafc010b 100644 --- a/target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx +++ b/target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx @@ -1,5 +1,3 @@ -#!/bin/sh - apm821xx_set_preinit_iface() { ifname=eth0 } diff --git a/target/linux/apm821xx/base-files/lib/preinit/79_move_config b/target/linux/apm821xx/base-files/lib/preinit/79_move_config index 37d35b663b..1796e9f5f4 100644 --- a/target/linux/apm821xx/base-files/lib/preinit/79_move_config +++ b/target/linux/apm821xx/base-files/lib/preinit/79_move_config @@ -1,5 +1,3 @@ -#!/bin/sh - BOOTPART=/dev/sda1 move_config() { diff --git a/target/linux/apm821xx/base-files/lib/upgrade/platform.sh b/target/linux/apm821xx/base-files/lib/upgrade/platform.sh old mode 100755 new mode 100644 index 32e87513f3..cc095b36a1 --- a/target/linux/apm821xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/apm821xx/base-files/lib/upgrade/platform.sh @@ -1,5 +1,3 @@ -#!/bin/sh - PART_NAME=firmware REQUIRE_IMAGE_METADATA=1 diff --git a/target/linux/arc770/base-files/lib/arc.sh b/target/linux/arc770/base-files/lib/arc.sh index 185aeedb2d..3ad0b33678 100644 --- a/target/linux/arc770/base-files/lib/arc.sh +++ b/target/linux/arc770/base-files/lib/arc.sh @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2015 OpenWrt.org # diff --git a/target/linux/arc770/base-files/lib/preinit/01_preinit_arc.sh b/target/linux/arc770/base-files/lib/preinit/01_preinit_arc.sh index 192c91bf2d..c5cd905828 100644 --- a/target/linux/arc770/base-files/lib/preinit/01_preinit_arc.sh +++ b/target/linux/arc770/base-files/lib/preinit/01_preinit_arc.sh @@ -1,9 +1,7 @@ -#!/bin/sh - do_arc() { - . /lib/arc.sh + . /lib/arc.sh - arc_board_detect + arc_board_detect } boot_hook_add preinit_main do_arc diff --git a/target/linux/archs38/base-files/lib/preinit/01_preinit_arc.sh b/target/linux/archs38/base-files/lib/preinit/01_preinit_arc.sh index 192c91bf2d..c5cd905828 100644 --- a/target/linux/archs38/base-files/lib/preinit/01_preinit_arc.sh +++ b/target/linux/archs38/base-files/lib/preinit/01_preinit_arc.sh @@ -1,9 +1,7 @@ -#!/bin/sh - do_arc() { - . /lib/arc.sh + . /lib/arc.sh - arc_board_detect + arc_board_detect } boot_hook_add preinit_main do_arc diff --git a/target/linux/at91/base-files/lib/at91.sh b/target/linux/at91/base-files/lib/at91.sh old mode 100755 new mode 100644 index ea38925ea0..19a63e1200 --- a/target/linux/at91/base-files/lib/at91.sh +++ b/target/linux/at91/base-files/lib/at91.sh @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2014 OpenWrt.org # diff --git a/target/linux/at91/base-files/lib/preinit/01_preinit_do_at91.sh b/target/linux/at91/base-files/lib/preinit/01_preinit_do_at91.sh index 5c981016a4..c812329568 100644 --- a/target/linux/at91/base-files/lib/preinit/01_preinit_do_at91.sh +++ b/target/linux/at91/base-files/lib/preinit/01_preinit_do_at91.sh @@ -1,5 +1,3 @@ -#!/bin/sh - do_at91() { . /lib/at91.sh diff --git a/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros b/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros index bd46cb9084..6b77f393a9 100644 --- a/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros +++ b/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros @@ -1,5 +1,3 @@ -#!/bin/sh - # reset button only supported on ar5315+ at the moment preinit_ip() { if [ -z "$pi_ifname" ]; then diff --git a/target/linux/ath79/generic/base-files/etc/uci-defaults/04_led_migration b/target/linux/ath79/generic/base-files/etc/uci-defaults/04_led_migration index cffc2e6c4b..1c7ecba5f8 100644 --- a/target/linux/ath79/generic/base-files/etc/uci-defaults/04_led_migration +++ b/target/linux/ath79/generic/base-files/etc/uci-defaults/04_led_migration @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh . /lib/functions/migrations.sh diff --git a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum index 22c9483e74..9c1566a8df 100644 --- a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum +++ b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum @@ -1,4 +1,3 @@ -#!/bin/sh . /lib/functions.sh fix_seama_header() { diff --git a/target/linux/ath79/generic/base-files/lib/functions/k2t.sh b/target/linux/ath79/generic/base-files/lib/functions/k2t.sh old mode 100755 new mode 100644 index 1158df818b..f16734fa64 --- a/target/linux/ath79/generic/base-files/lib/functions/k2t.sh +++ b/target/linux/ath79/generic/base-files/lib/functions/k2t.sh @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2018 Weijie Gao # diff --git a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh index da1583a825..dacf4fba5d 100644 --- a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh +++ b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh preinit_set_mac_address() { diff --git a/target/linux/ath79/mikrotik/base-files/etc/uci-defaults/04_led_migration b/target/linux/ath79/mikrotik/base-files/etc/uci-defaults/04_led_migration index 1a7b371a99..c12a7ac02c 100644 --- a/target/linux/ath79/mikrotik/base-files/etc/uci-defaults/04_led_migration +++ b/target/linux/ath79/mikrotik/base-files/etc/uci-defaults/04_led_migration @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh . /lib/functions/migrations.sh diff --git a/target/linux/bcm27xx/base-files/lib/preinit/05_set_preinit_iface_brcm2708 b/target/linux/bcm27xx/base-files/lib/preinit/05_set_preinit_iface_brcm2708 index de221ae7ad..269465e301 100644 --- a/target/linux/bcm27xx/base-files/lib/preinit/05_set_preinit_iface_brcm2708 +++ b/target/linux/bcm27xx/base-files/lib/preinit/05_set_preinit_iface_brcm2708 @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2015-2016 OpenWrt.org # Copyright (C) 2017 LEDE project diff --git a/target/linux/bcm27xx/base-files/lib/preinit/79_move_config b/target/linux/bcm27xx/base-files/lib/preinit/79_move_config index b8738b645e..c9fb59a64f 100644 --- a/target/linux/bcm27xx/base-files/lib/preinit/79_move_config +++ b/target/linux/bcm27xx/base-files/lib/preinit/79_move_config @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2015 OpenWrt.org . /lib/upgrade/common.sh diff --git a/target/linux/bcm47xx/base-files/etc/uci-defaults/03_network_migration b/target/linux/bcm47xx/base-files/etc/uci-defaults/03_network_migration index e430b41d48..3b380e047a 100644 --- a/target/linux/bcm47xx/base-files/etc/uci-defaults/03_network_migration +++ b/target/linux/bcm47xx/base-files/etc/uci-defaults/03_network_migration @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2014-2015 OpenWrt.org # diff --git a/target/linux/bcm47xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm47xx/base-files/etc/uci-defaults/09_fix_crc index 346a532998..e9104a51cb 100644 --- a/target/linux/bcm47xx/base-files/etc/uci-defaults/09_fix_crc +++ b/target/linux/bcm47xx/base-files/etc/uci-defaults/09_fix_crc @@ -1,7 +1,5 @@ -#!/bin/sh # # Copyright (C) 2007 OpenWrt.org # -# mtd fixtrx firmware diff --git a/target/linux/bcm47xx/base-files/lib/preinit/01_sysinfo b/target/linux/bcm47xx/base-files/lib/preinit/01_sysinfo index 8c7bd399da..7cd0da5aab 100644 --- a/target/linux/bcm47xx/base-files/lib/preinit/01_sysinfo +++ b/target/linux/bcm47xx/base-files/lib/preinit/01_sysinfo @@ -1,5 +1,3 @@ -#!/bin/sh - do_sysinfo_bcm47xx() { local boardtype="$(nvram get boardtype)" local boardnum="$(nvram get boardnum)" diff --git a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc index 16793ffa6b..eae84bb771 100644 --- a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc +++ b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc @@ -1,5 +1,3 @@ -#!/bin/sh - kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kernel\|linux\)".*/\1/p' /proc/mtd) mtd ${kernel_size:+-c 0x$kernel_size} fixtrx firmware && exit 0 diff --git a/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc index fdb5ddec72..6c61f7d38c 100644 --- a/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc +++ b/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc @@ -1,8 +1,6 @@ -#!/bin/sh # # Copyright (C) 2007 OpenWrt.org # -# . /lib/functions.sh diff --git a/target/linux/cns3xxx/base-files/lib/cns3xxx.sh b/target/linux/cns3xxx/base-files/lib/cns3xxx.sh index 877f9f8749..ec694c4f7a 100644 --- a/target/linux/cns3xxx/base-files/lib/cns3xxx.sh +++ b/target/linux/cns3xxx/base-files/lib/cns3xxx.sh @@ -1,5 +1,3 @@ -#!/bin/sh - CNS3XXX_BOARD_NAME= CNS3XXX_MODEL= diff --git a/target/linux/cns3xxx/base-files/lib/preinit/01_sysinfo b/target/linux/cns3xxx/base-files/lib/preinit/01_sysinfo index cc7b5551e9..155fee42e0 100644 --- a/target/linux/cns3xxx/base-files/lib/preinit/01_sysinfo +++ b/target/linux/cns3xxx/base-files/lib/preinit/01_sysinfo @@ -1,5 +1,3 @@ -#!/bin/sh - do_sysinfo_cns3xxx() { . /lib/cns3xxx.sh diff --git a/target/linux/gemini/base-files/etc/uci-defaults/09_fix-checksum b/target/linux/gemini/base-files/etc/uci-defaults/09_fix-checksum index 5f79d1a65c..3acf20db5f 100644 --- a/target/linux/gemini/base-files/etc/uci-defaults/09_fix-checksum +++ b/target/linux/gemini/base-files/etc/uci-defaults/09_fix-checksum @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2019 OpenWrt.org # diff --git a/target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini b/target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini index 3712975fa8..07edd85b52 100644 --- a/target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini +++ b/target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh . /lib/functions/system.sh diff --git a/target/linux/imx6/base-files/lib/imx6.sh b/target/linux/imx6/base-files/lib/imx6.sh old mode 100755 new mode 100644 index 63fff0f3c4..a9fd0cad94 --- a/target/linux/imx6/base-files/lib/imx6.sh +++ b/target/linux/imx6/base-files/lib/imx6.sh @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2010-2013 OpenWrt.org # diff --git a/target/linux/imx6/base-files/lib/preinit/01_sysinfo b/target/linux/imx6/base-files/lib/preinit/01_sysinfo index 0a91aed010..73f9e596b2 100644 --- a/target/linux/imx6/base-files/lib/preinit/01_sysinfo +++ b/target/linux/imx6/base-files/lib/preinit/01_sysinfo @@ -1,5 +1,3 @@ -#!/bin/sh - do_sysinfo_imx6() { . /lib/imx6.sh diff --git a/target/linux/imx6/base-files/lib/preinit/79_move_config b/target/linux/imx6/base-files/lib/preinit/79_move_config index bdf397c4fc..7e30292049 100644 --- a/target/linux/imx6/base-files/lib/preinit/79_move_config +++ b/target/linux/imx6/base-files/lib/preinit/79_move_config @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/imx6.sh . /lib/functions.sh . /lib/upgrade/common.sh diff --git a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh index f9ec8ab055..4d8113698e 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh preinit_set_mac_address() { diff --git a/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh index 42667d2dfb..50c289df31 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh @@ -1,5 +1,3 @@ -#!/bin/sh - set_preinit_iface() { . /lib/functions.sh diff --git a/target/linux/ipq806x/base-files/lib/upgrade/buffalo.sh b/target/linux/ipq806x/base-files/lib/upgrade/buffalo.sh index 77fa65e60e..6a51de4ee3 100644 --- a/target/linux/ipq806x/base-files/lib/upgrade/buffalo.sh +++ b/target/linux/ipq806x/base-files/lib/upgrade/buffalo.sh @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2018 OpenWrt.org # diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/01_led_migration b/target/linux/lantiq/base-files/etc/uci-defaults/01_led_migration index b1e7be6bd2..961e39ee61 100644 --- a/target/linux/lantiq/base-files/etc/uci-defaults/01_led_migration +++ b/target/linux/lantiq/base-files/etc/uci-defaults/01_led_migration @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2013 OpenWrt.org # diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface b/target/linux/lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface index dd57ca6d39..2a87d0df70 100644 --- a/target/linux/lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface +++ b/target/linux/lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh IFNAME_CHANGED=0 diff --git a/target/linux/layerscape/base-files/lib/preinit/05_layerscape_reorder_eth b/target/linux/layerscape/base-files/lib/preinit/05_layerscape_reorder_eth index c4feec42bc..141aac8a6d 100644 --- a/target/linux/layerscape/base-files/lib/preinit/05_layerscape_reorder_eth +++ b/target/linux/layerscape/base-files/lib/preinit/05_layerscape_reorder_eth @@ -1,5 +1,3 @@ -#!/bin/sh - reorder_layerscape_interfaces() { if [ ! -f /tmp/sysinfo/board_name ]; then echo "No board name found, not doing reorder_layerscape_interfaces" diff --git a/target/linux/layerscape/base-files/lib/upgrade/platform.sh b/target/linux/layerscape/base-files/lib/upgrade/platform.sh index 013023295b..1e1e28987b 100644 --- a/target/linux/layerscape/base-files/lib/upgrade/platform.sh +++ b/target/linux/layerscape/base-files/lib/upgrade/platform.sh @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright 2015-2019 Traverse Technologies # diff --git a/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface b/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface index eb0bed8607..8d282818c6 100644 --- a/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface +++ b/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface @@ -1,5 +1,3 @@ -#!/bin/sh - set_preinit_iface() { ifconfig eth0 up ifname=lan1 diff --git a/target/linux/mediatek/base-files/lib/preinit/06_set_rps_sock_flow b/target/linux/mediatek/base-files/lib/preinit/06_set_rps_sock_flow index 9a84ff4bf5..49b1dd1ca6 100644 --- a/target/linux/mediatek/base-files/lib/preinit/06_set_rps_sock_flow +++ b/target/linux/mediatek/base-files/lib/preinit/06_set_rps_sock_flow @@ -1,5 +1,3 @@ -#!/bin/sh - set_rps_sock_flow() { echo 1024 > /proc/sys/net/core/rps_sock_flow_entries } diff --git a/target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac b/target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac index 7a73a2d84d..f64458526f 100644 --- a/target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac +++ b/target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2018 OpenWrt.org RECOVERY_PART=/dev/mmcblk0p1 diff --git a/target/linux/mediatek/mt7623/base-files/lib/preinit/79_move_config b/target/linux/mediatek/mt7623/base-files/lib/preinit/79_move_config index 617336583e..895240a3bc 100644 --- a/target/linux/mediatek/mt7623/base-files/lib/preinit/79_move_config +++ b/target/linux/mediatek/mt7623/base-files/lib/preinit/79_move_config @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2015 OpenWrt.org . /lib/upgrade/common.sh diff --git a/target/linux/mpc85xx/base-files/lib/preinit/05_set_preinit_iface_mpc85xx b/target/linux/mpc85xx/base-files/lib/preinit/05_set_preinit_iface_mpc85xx index 748a87490e..be9325589f 100644 --- a/target/linux/mpc85xx/base-files/lib/preinit/05_set_preinit_iface_mpc85xx +++ b/target/linux/mpc85xx/base-files/lib/preinit/05_set_preinit_iface_mpc85xx @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2013 OpenWrt.org # diff --git a/target/linux/mvebu/base-files/lib/preinit/79_move_config b/target/linux/mvebu/base-files/lib/preinit/79_move_config index 195be0e137..e63fcf9a6a 100644 --- a/target/linux/mvebu/base-files/lib/preinit/79_move_config +++ b/target/linux/mvebu/base-files/lib/preinit/79_move_config @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2015 OpenWrt.org . /lib/functions.sh diff --git a/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless index 79c74626f5..91bcbba253 100644 --- a/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless +++ b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2015 OpenWrt.org # diff --git a/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan index 29c447d840..3ce9b68523 100644 --- a/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan +++ b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2017 LEDE-Project.org # diff --git a/target/linux/octeon/base-files/lib/preinit/79_move_config b/target/linux/octeon/base-files/lib/preinit/79_move_config index a4130e26d8..866bef495b 100644 --- a/target/linux/octeon/base-files/lib/preinit/79_move_config +++ b/target/linux/octeon/base-files/lib/preinit/79_move_config @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2014 OpenWrt.org move_config() { diff --git a/target/linux/omap/base-files/lib/preinit/79_move_config b/target/linux/omap/base-files/lib/preinit/79_move_config index 74caee8a8a..f5bbb47310 100644 --- a/target/linux/omap/base-files/lib/preinit/79_move_config +++ b/target/linux/omap/base-files/lib/preinit/79_move_config @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2012-2015 OpenWrt.org move_config() { diff --git a/target/linux/pistachio/base-files/lib/upgrade/platform.sh b/target/linux/pistachio/base-files/lib/upgrade/platform.sh old mode 100755 new mode 100644 index 174c321d38..16ab341fb5 --- a/target/linux/pistachio/base-files/lib/upgrade/platform.sh +++ b/target/linux/pistachio/base-files/lib/upgrade/platform.sh @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2017 OpenWrt.org # diff --git a/target/linux/ramips/base-files/etc/uci-defaults/09_fix-checksum b/target/linux/ramips/base-files/etc/uci-defaults/09_fix-checksum index 482659a2f6..f2408f8f3e 100644 --- a/target/linux/ramips/base-files/etc/uci-defaults/09_fix-checksum +++ b/target/linux/ramips/base-files/etc/uci-defaults/09_fix-checksum @@ -1,4 +1,3 @@ -#!/bin/sh # # Copyright (C) 2012 OpenWrt.org # diff --git a/target/linux/ramips/mt7620/base-files/etc/uci-defaults/04_led_migration b/target/linux/ramips/mt7620/base-files/etc/uci-defaults/04_led_migration index ba1a0df7e6..16ccd5cfef 100644 --- a/target/linux/ramips/mt7620/base-files/etc/uci-defaults/04_led_migration +++ b/target/linux/ramips/mt7620/base-files/etc/uci-defaults/04_led_migration @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh . /lib/functions/migrations.sh diff --git a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration index 1248dcec0f..f9cf3eae0a 100644 --- a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration +++ b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh . /lib/functions/migrations.sh diff --git a/target/linux/ramips/mt7621/base-files/lib/preinit/07_mt7621_bringup_dsa_master b/target/linux/ramips/mt7621/base-files/lib/preinit/07_mt7621_bringup_dsa_master index b8ebcc3f41..9a0da1716d 100644 --- a/target/linux/ramips/mt7621/base-files/lib/preinit/07_mt7621_bringup_dsa_master +++ b/target/linux/ramips/mt7621/base-files/lib/preinit/07_mt7621_bringup_dsa_master @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh mt7621_bringup_dsa_master() { diff --git a/target/linux/ramips/mt76x8/base-files/etc/uci-defaults/04_led_migration b/target/linux/ramips/mt76x8/base-files/etc/uci-defaults/04_led_migration index 3f9f615c10..44815b2ddc 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/uci-defaults/04_led_migration +++ b/target/linux/ramips/mt76x8/base-files/etc/uci-defaults/04_led_migration @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh . /lib/functions/migrations.sh diff --git a/target/linux/ramips/rt305x/base-files/etc/uci-defaults/04_led_migration b/target/linux/ramips/rt305x/base-files/etc/uci-defaults/04_led_migration index b1a94bf81b..1009154cac 100644 --- a/target/linux/ramips/rt305x/base-files/etc/uci-defaults/04_led_migration +++ b/target/linux/ramips/rt305x/base-files/etc/uci-defaults/04_led_migration @@ -1,5 +1,3 @@ -#!/bin/sh - . /lib/functions.sh . /lib/functions/migrations.sh diff --git a/target/linux/ramips/rt305x/base-files/lib/preinit/04_handle_checksumming b/target/linux/ramips/rt305x/base-files/lib/preinit/04_handle_checksumming index 9a2361d057..e2e08937a3 100644 --- a/target/linux/ramips/rt305x/base-files/lib/preinit/04_handle_checksumming +++ b/target/linux/ramips/rt305x/base-files/lib/preinit/04_handle_checksumming @@ -1,5 +1,3 @@ -#!/bin/sh - # Netgear WNCE2001 has does a checksum check on boot and goes into recovery # tftp mode when the check fails. Initializing the JFFS2 partition triggers # this, so we make sure to zero checksum and size to be checksummed before diff --git a/target/linux/ramips/rt3883/base-files/lib/preinit/04_handle_checksumming b/target/linux/ramips/rt3883/base-files/lib/preinit/04_handle_checksumming index e2aef5f1f2..62927ff974 100644 --- a/target/linux/ramips/rt3883/base-files/lib/preinit/04_handle_checksumming +++ b/target/linux/ramips/rt3883/base-files/lib/preinit/04_handle_checksumming @@ -1,5 +1,3 @@ -#!/bin/sh - # Netgear WNCE2001 has does a checksum check on boot and goes into recovery # tftp mode when the check fails. Initializing the JFFS2 partition triggers # this, so we make sure to zero checksum and size to be checksummed before diff --git a/target/linux/x86/64/base-files/lib/preinit/45_mount_xenfs b/target/linux/x86/64/base-files/lib/preinit/45_mount_xenfs index ac484f6210..e57e354102 100644 --- a/target/linux/x86/64/base-files/lib/preinit/45_mount_xenfs +++ b/target/linux/x86/64/base-files/lib/preinit/45_mount_xenfs @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2010 OpenWrt.org do_mount_xenfs() { diff --git a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode index fb309c75c1..9db3b58ada 100644 --- a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode +++ b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2018 OpenWrt.org do_load_x86_ucode() { diff --git a/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86 b/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86 index 5d5453093f..78501d4956 100644 --- a/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86 +++ b/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86 @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2006-2010 OpenWrt.org # Copyright (C) 2010 Vertical Communications diff --git a/target/linux/x86/base-files/lib/preinit/79_move_config b/target/linux/x86/base-files/lib/preinit/79_move_config index 338398c947..444cd75e44 100644 --- a/target/linux/x86/base-files/lib/preinit/79_move_config +++ b/target/linux/x86/base-files/lib/preinit/79_move_config @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2012-2015 OpenWrt.org move_config() { diff --git a/target/linux/x86/base-files/lib/preinit/81_upgrade_bootloader b/target/linux/x86/base-files/lib/preinit/81_upgrade_bootloader index 1379c9b2cb..42f04d76a7 100644 --- a/target/linux/x86/base-files/lib/preinit/81_upgrade_bootloader +++ b/target/linux/x86/base-files/lib/preinit/81_upgrade_bootloader @@ -1,5 +1,3 @@ -#!/bin/sh - upgrade_bootloader() { local diskdev diff --git a/target/linux/x86/generic/base-files/lib/preinit/45_mount_xenfs b/target/linux/x86/generic/base-files/lib/preinit/45_mount_xenfs index ac484f6210..e57e354102 100644 --- a/target/linux/x86/generic/base-files/lib/preinit/45_mount_xenfs +++ b/target/linux/x86/generic/base-files/lib/preinit/45_mount_xenfs @@ -1,4 +1,3 @@ -#!/bin/sh # Copyright (C) 2010 OpenWrt.org do_mount_xenfs() { -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Sat Jun 6 17:31:06 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Sat, 6 Jun 2020 23:31:06 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4 v4] bcm63xx: add support for the Sercomm H500-s In-Reply-To: <2710876.ZIJXS6utr4@tool> References: <2710876.ZIJXS6utr4@tool> Message-ID: <00c301d63c49$c9af0ce0$5d0d26a0$@adrianschmutzler.de> Hi Daniel, > -----Original Message----- > From: Daniel Gonz?lez Cabanelas [mailto:dgcbueu at gmail.com] > Sent: Samstag, 6. Juni 2020 21:55 > To: openwrt-devel at lists.openwrt.org > Cc: noltari at gmail.com; freifunk at adrianschmutzler.de > Subject: [PATCH 4/4 v4] bcm63xx: add support for the Sercomm H500-s > > Sercomm H500-s is an xDSL dual band wireless router based on Broadcom > BCM63167 SoC. > > Hardware: > SoC: Broadcom BCM63167 > CPU: BMIPS4350 V8.0, 400 MHz, 2 cores > Flash: NAND 128 MiB > RAM: DDR3 128 MiB > Ethernet: 4x 10/100/1000 Mbps > Switch: BCM53134S > Wireless: 802.11b/g/n: BCM435f (integrated) > 802.11ac: Quantenna QT3740BC (onboard SoC) > USB: 1x 2.0 > LEDs/Buttons: 11x / 2x > > Flash instruction, web UI: > 1. Reset to defaults using the reset button if the admin password is > unknown > 2. Login into the web UI as admin. > Address: http://192.168.0.1 > User: admin > Password: VF-ESVodafone-H-500-s or l033i-h500s > 3. Go to Settings -> Firmware Update, and select the Openwrt factory > firmware > 4. Update the firmware. > 5. Wait until it finish, the device will reboot with Openwrt installed > on the alternative image partitions keeping the stock firmware in > the former. > > Notes: > - The patch also adds support for the lowi version. Only the factory > firmware is different. > - The integrated Wifi in the Broadcom Soc isn't still supported. > - The Quantenna 802.11ac wifi works ok, but needs to be configured with > the Quantenna client application. It can't be configured with Luci > nor any iw command since it's a separated subsystem linked via > ethernet. > - The BCM53134S external switch is managed via MDIO which isn't > supported in this target. Therefore it will behave as a dumb switch. > > Signed-off-by: Daniel Gonz?lez Cabanelas > --- > Changes in v2: > - Fixed passwords in commit log > - Added unsupported switch in dts > - Added custom LOADER_ENTRY to fix the ramdisk for this specific device > - Removed unneded b43 package > - Cosmetic changes > Changes in v3: > - Device splitted: lowi, vfes > - Removed unsupported switch in dts > - Cosmetic changes > Changes in v4: > - Fixed commit log > - Cosmetic changes Thanks, this gets the idea and looks much better now with the split devices. A few comments below. I have only taken a deeper look into patch 4/4. > > .../bcm63xx/base-files/etc/board.d/01_leds | 4 + > .../bcm63xx/base-files/etc/board.d/02_network | 4 + > .../base-files/lib/upgrade/platform.sh | 8 +- > .../dts/bcm63167-sercomm-h500-s-lowi.dts | 15 ++ > .../dts/bcm63167-sercomm-h500-s-vfes.dts | 15 ++ > .../bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi | 196 > ++++++++++++++++++ > target/linux/bcm63xx/image/bcm63xx_nand.mk | 54 +++++ > .../bcm63xx/patches-5.4/568-board-H500s.patch | 69 ++++++ > 8 files changed, 363 insertions(+), 2 deletions(-) create mode 100644 > target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts > create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s- > vfes.dts > create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500- > s.dtsi > create mode 100644 target/linux/bcm63xx/patches-5.4/568-board- > H500s.patch > > diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds > b/target/linux/bcm63xx/base-files/etc/board.d/01_leds > index 91d67f0c0b..cdaf0e77c9 100755 > --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds > +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds > @@ -100,6 +100,10 @@ sercomm,ad1018) > sercomm,ad1018-nor) > ucidef_set_led_netdev "wlan0" "WLAN" "AD1018:green:wifi" > "wlan0" > ;; > +sercomm,h500-s-lowi|\ > +sercomm,h500-s-vfes) > + ucidef_set_led_netdev "wan" "WAN" "h500-s:green:internet" > "eth0.2" > + ;; > telsey,cpva502plus) > ucidef_set_led_netdev "lan" "LAN" "CPVA502+:amber:link" "eth0" > ;; > diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network > b/target/linux/bcm63xx/base-files/etc/board.d/02_network > index 784af29cb4..f02eabe68f 100755 > --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network > +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network > @@ -142,6 +142,10 @@ sercomm,ad1018-nor) > ucidef_add_switch "switch0" \ > "1:lan:3" "2:lan:2" "3:lan:1" "0:wan" "8t at eth0" > ;; > +sercomm,h500-s-lowi|\ > +sercomm,h500-s-vfes) > + ucidef_add_switch "switch0" "4:lan" "3:wan" "8t at eth0" > + ;; > sfr,neufbox-6-sercomm-r0) > ucidef_add_switch "switch0" \ > "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9t at eth0" > diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > index 7d416297dd..525d3b90b5 100644 > --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh > @@ -9,7 +9,9 @@ platform_check_image() { > comtrend,vr-3032u|\ > huawei,hg253s-v2|\ > netgear,dgnd3700-v2|\ > - sercomm,ad1018) > + sercomm,ad1018|\ > + sercomm,h500-s-lowi|\ > + sercomm,h500-s-vfes) > # NAND sysupgrade > return 0 > ;; > @@ -69,7 +71,9 @@ platform_do_upgrade() { > comtrend,vr-3032u|\ > huawei,hg253s-v2|\ > netgear,dgnd3700-v2|\ > - sercomm,ad1018) > + sercomm,ad1018|\ > + sercomm,h500-s-lowi|\ > + sercomm,h500-s-vfes) > REQUIRE_IMAGE_METADATA=1 > cfe_jffs2_upgrade_tar "$1" > ;; > diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts > b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts > new file mode 100644 > index 0000000000..097ef2e60b > --- /dev/null > +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts > @@ -0,0 +1,15 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Device Tree file for Sercomm H500-s lowi > + * > + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas */ > + > +/dts-v1/; > + > +#include "bcm63167-sercomm-h500-s.dtsi" > + > +/ { > + model = "Sercomm H500-s lowi"; > + compatible = "sercomm,h500-s-lowi", "brcm,bcm63268"; }; This deviates from the SOC in the DTS file name (63268 vs. 63167). Please check with Noltari whether both should be added here or whether it can stay as it is right now (same applies for the other DTS). > diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts > b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts > new file mode 100644 > index 0000000000..c42b80f1c3 > --- /dev/null > +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts > @@ -0,0 +1,15 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Device Tree file for Sercomm H500-s vfes > + * > + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas */ > + > +/dts-v1/; > + > +#include "bcm63167-sercomm-h500-s.dtsi" > + > +/ { > + model = "Sercomm H500-s vfes"; > + compatible = "sercomm,h500-s-vfes", "brcm,bcm63268"; }; > diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi > b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi > new file mode 100644 > index 0000000000..e16819140b > --- /dev/null > +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi > @@ -0,0 +1,196 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Device Tree file for Sercomm H500-s > + * > + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas */ > + > +/dts-v1/; This line should be only present once, and I prefer to have it in the DTS (which therefore is the common case now), so just remove it here. Best Adrian > + > +#include "bcm63268.dtsi" > + > +#include > + > +/ { > + aliases { > + led-boot = &led_power_green; > + led-failsafe = &led_power_red; > + led-running = &led_power_green; > + led-upgrade = &led_power_green; > + }; > + > + chosen { > + bootargs = "rootfstype=squashfs,ubifs noinitrd > console=ttyS0,115200"; > + stdout-path = "serial0:115200n8"; > + }; > + > + keys { > + compatible = "gpio-keys-polled"; > + #address-cells = <1>; > + #size-cells = <0>; > + poll-interval = <20>; > + > + wps { > + label = "wps"; > + gpios = <&pinctrl 34 1>; > + linux,code = ; > + debounce-interval = <60>; > + }; > + > + reset { > + label = "reset"; > + gpios = <&pinctrl 35 1>; > + linux,code = ; > + debounce-interval = <60>; > + }; > + }; > +}; > + > +&leds { > + status = "okay"; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_leds>; > + > + mobile_red { > + reg = <0>; > + label = "h500-s:red:mobile"; > + }; > + > + mobile_green { > + reg = <1>; > + label = "h500-s:green:mobile"; > + }; > + > + led_power_red: power_red { > + reg = <8>; > + label = "h500-s:red:power"; > + }; > + > + wifi_green { > + reg = <9>; > + label = "h500-s:green:wifi"; > + }; > + > + phone_red { > + reg = <12>; > + label = "h500-s:red:phone"; > + }; > + > + wifi_red { > + reg = <13>; > + label = "h500-s:red:wifi"; > + }; > + > + internet_red { > + reg = <14>; > + label = "h500-s:red:internet"; > + }; > + > + internet_green { > + reg = <15>; > + label = "h500-s:green:internet"; > + }; > + > + phone_green { > + reg = <16>; > + label = "h500-s:green:phone"; > + }; > + > + led_power_green: power_green { > + reg = <17>; > + label = "h500-s:green:power"; > + default-state = "on"; > + }; > + > + mobile_blue { > + reg = <23>; > + label = "h500-s:blue:mobile"; > + }; > +}; > + > +&nflash { > + status = "okay"; > + > + nandcs at 0 { > + compatible = "brcm,nandcs"; > + #size-cells = <1>; > + #address-cells = <1>; > + reg = <0>; > + nand-ecc-step-size = <512>; > + nand-ecc-strength = <4>; > + nand-on-flash-bbt; > + brcm,nand-oob-sector-size = <64>; > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition at 0 { > + label = "cferom"; > + reg = <0x0000000 0x0020000>; > + read-only; > + }; > + > + partition at 20000 { > + label = "part_map"; > + reg = <0x0020000 0x00a0000>; > + read-only; > + }; > + > + partition at c0000 { > + label = "cferam1"; > + reg = <0x00c0000 0x0140000>; > + read-only; > + }; > + > + partition at 200000 { > + label = "cferam2"; > + reg = <0x0200000 0x0140000>; > + read-only; > + }; > + > + partition at 6920000 { > + label = "bootflag1"; > + reg = <0x6920000 0x0140000>; > + }; > + > + partition at 6a60000 { > + label = "bootflag2"; > + reg = <0x6a60000 0x0140000>; > + }; > + > + partition at 520000 { > + compatible = "sercomm,wfi"; > + label = "wfi"; > + reg = <0x0520000 0x6400000>; /* 2 images, > 97152 KiB */ > + }; > + > + partition at 6ba0000 { > + label = "xml_cfg"; > + reg = <0x6ba0000 0x0280000>; > + read-only; > + }; > + > + partition at 6e20000 { > + label = "app_data"; > + reg = <0x6e20000 0x0280000>; > + read-only; > + }; > + }; > + }; > +}; > + > +&pinctrl { > + pinctrl_leds: leds { > + function = "led"; > + pins = "gpio0", "gpio1", "gpio8", "gpio9", > + "gpio12", "gpio13", "gpio14", "gpio15", > + "gpio16", "gpio17", "gpio23"; > + }; > +}; > + > +&uart0 { > + status = "okay"; > +}; > diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk > b/target/linux/bcm63xx/image/bcm63xx_nand.mk > index 7b2039c988..4f030cbdab 100644 > --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk > +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk > @@ -149,3 +149,57 @@ define Device/sercomm_ad1018 > SERCOMM_VERSION := 1001 > endef > TARGET_DEVICES += sercomm_ad1018 > + > +define Device/sercomm_h500-s-lowi > + $(Device/sercomm-nand) > + DEVICE_VENDOR := Sercomm > + DEVICE_MODEL := H500-s > + DEVICE_VARIANT := lowi > + LOADER_ENTRY := 0x80010000 > + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel > +$$(KERNEL_LOADADDR) > + CHIP_ID := 63268 > + SOC := bcm63167 > + BLOCKSIZE := 128k > + PAGESIZE := 2048 > + SUBPAGESIZE := 512 > + VID_HDR_OFFSET := 2048 > + DEVICE_PACKAGES += $(USB2_PACKAGES) > + SERCOMM_PID := \ > + 30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \ > + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > + SERCOMM_VERSION := 1001 > +endef > +TARGET_DEVICES += sercomm_h500-s-lowi > + > +define Device/sercomm_h500-s-vfes > + $(Device/sercomm-nand) > + DEVICE_VENDOR := Sercomm > + DEVICE_MODEL := H500-s > + DEVICE_VARIANT := vfes > + LOADER_ENTRY := 0x80010000 > + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel > +$$(KERNEL_LOADADDR) > + CHIP_ID := 63268 > + SOC := bcm63167 > + BLOCKSIZE := 128k > + PAGESIZE := 2048 > + SUBPAGESIZE := 512 > + VID_HDR_OFFSET := 2048 > + DEVICE_PACKAGES += $(USB2_PACKAGES) > + SERCOMM_PID := \ > + 30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ > + 30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \ > + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > + SERCOMM_VERSION := 1001 > +endef > +TARGET_DEVICES += sercomm_h500-s-vfes > diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch > b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch > new file mode 100644 > index 0000000000..d94d5cfeb7 > --- /dev/null > +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch > @@ -0,0 +1,69 @@ > +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c > ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c > +@@ -2867,10 +2867,41 @@ > + }, > + > + }, > + }, > + }; > ++ > ++static struct board_info __initdata board_H500s = { > ++ .name = "BXK00C-1.6", > ++ .expected_cpu_id = 0x63268, > ++ > ++ .has_ehci0 = 1, > ++ .has_ohci0 = 1, > ++ .num_usbh_ports = 1, > ++ > ++ .has_enetsw = 1, > ++ .enetsw = { > ++ .used_ports = { > ++ [3] = { > ++ .used = 1, > ++ .phy_id = 12, > ++ .name = "WAN", > ++ }, > ++ > ++ [4] = { > ++ .used = 1, > ++ .phy_id = 0, > ++ .bypass_link = 1, > ++ .force_speed = 1000, > ++ .force_duplex_full = 1, > ++ .mii_override = 1, > ++ .timing_sel = 1, > ++ .name = "RGMII", > ++ }, > ++ }, > ++ }, > ++}; > + #endif /* CONFIG_BCM63XX_CPU_63268 */ > + > + /* > + * all boards > + */ > +@@ -2981,10 +3012,11 @@ > + &board_963269bhr, > + &board_VG8050, > + &board_VR3032u, > + &board_vw6339gu, > + &board_BSKYB_63168, > ++ &board_H500s, > + #endif > + }; > + > + static struct of_device_id const bcm963xx_boards_dt[] = { #ifdef > +CONFIG_OF @@ -3099,10 +3131,12 @@ > + { .compatible = "brcm,bcm963268bu-p300", .data = > &board_963268bu_p300, }, > + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, > + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, > + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, > + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, > ++ { .compatible = "sercomm,h500-s-lowi", .data = &board_H500s, }, > ++ { .compatible = "sercomm,h500-s-vfes", .data = &board_H500s, }, > + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, #endif > + #endif /* CONFIG_OF */ > + { }, > + }; > -- > 2.27.0 > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Sat Jun 6 17:45:53 2020 From: rosenp at gmail.com (Rosen Penev) Date: Sat, 6 Jun 2020 14:45:53 -0700 Subject: [OpenWrt-Devel] [PATCH 2/2] libcxx: update to 10.0.0 In-Reply-To: References: <20200606185223.9749-1-rosenp@gmail.com> <20200606185223.9749-2-rosenp@gmail.com> Message-ID: On Sat, Jun 6, 2020 at 12:14 PM Ian Cooper wrote: > > Since I gave this patch more than just a casual glance and tested it on multiple build configurations, it might make sense that I indicate so. What's more appropriate in this case? A "Tested-by" or a "Reviewed-by"? The latter. > > > -----Original Message----- > > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > > On Behalf Of Rosen Penev > > Sent: 06 June 2020 19:52 > > To: openwrt-devel at lists.openwrt.org > > Subject: [OpenWrt-Devel] [PATCH 2/2] libcxx: update to 10.0.0 > > > > Switched to upstream tarballs. > > > > Switched to libcxxabi as using libsupc++ is quite wonky. > > > > Fixed description. > > > > Removed patches. The fixes are cosmetic. > > > > Added ssp patch. This one is needed for i386 and powerpc under musl. > > > > Compile tested every C++ package in the tree with the exception of > > several boost packages. There's something broken with boost. > > > > Ran tested with gerbera. > > > > Signed-off-by: Rosen Penev > > --- > > package/libs/libcxx/Makefile | 18 +++++------ > > package/libs/libcxx/files/g++-libcxx | 2 +- > > package/libs/libcxx/patches/010-cxx17.patch | 14 --------- > > package/libs/libcxx/patches/010-ssp.patch | 13 ++++++++ > > package/libs/libcxx/patches/020-fixes.patch | 35 --------------------- > > 5 files changed, 23 insertions(+), 59 deletions(-) > > delete mode 100644 package/libs/libcxx/patches/010-cxx17.patch > > create mode 100644 package/libs/libcxx/patches/010-ssp.patch > > delete mode 100644 package/libs/libcxx/patches/020-fixes.patch > > > > diff --git a/package/libs/libcxx/Makefile b/package/libs/libcxx/Makefile > > index 8343cbb427..3809bea651 100644 > > --- a/package/libs/libcxx/Makefile > > +++ b/package/libs/libcxx/Makefile > > @@ -7,19 +7,20 @@ > > include $(TOPDIR)/rules.mk > > > > PKG_NAME:=libcxx > > -PKG_VERSION:=9.0.1 > > -PKG_RELEASE:=4 > > +PKG_VERSION:=10.0.0 > > +PKG_RELEASE:=1 > > > > -PKG_SOURCE_PROTO:=git > > -PKG_SOURCE_URL:=https://git.llvm.org/git/libcxx > > -PKG_SOURCE_VERSION:=2076f539f410805ef88692b9c0ce0a0b882a7680 > > - > > PKG_MIRROR_HASH:=d527880a18dec9109575c76717cf5288fb91c11381b9d26 > > 1cae2e5bebcbdab2e > > +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz > > +PKG_SOURCE_URL:=https://github.com/llvm/llvm- > > project/releases/download/llvmorg-$(PKG_VERSION) > > +PKG_HASH:=270f8a3f176f1981b0f6ab8aa556720988872ec2b48ed3b605d0ce > > d8d09156c7 > > +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src > > > > PKG_MAINTAINER:=Rosen Penev > > PKG_LICENSE:=MIT > > PKG_LICENSE_FILES:=LICENSE.txt > > > > PKG_BUILD_PARALLEL:=1 > > +PKG_BUILD_DEPENDS:=libcxxabi > > CMAKE_BINARY_SUBDIR:=build > > > > include $(INCLUDE_DIR)/package.mk > > @@ -34,12 +35,11 @@ define Package/libcxx > > endef > > > > define Package/libcxx/description > > - LLVM C++ library targeting C++11 and above > > + libc++ is an implementation of the C++ standard library, targeting C++11, > > C++14 and above. > > endef > > > > CMAKE_OPTIONS += \ > > - -DLIBCXX_CXX_ABI="libsupc++" \ > > - - > > DLIBCXX_CXX_ABI_INCLUDE_PATHS="$(TOOLCHAIN_DIR)/$(REAL_GNU_TA > > RGET_NAME)/include/c++/$(CONFIG_GCC_VERSION);$(TOOLCHAIN_DIR)/$ > > (REAL_GNU_TARGET_NAME)/include/c++/$(CONFIG_GCC_VERSION)/$(REA > > L_GNU_TARGET_NAME)" \ > > + -DLIBCXX_CXX_ABI="libcxxabi" \ > > -DLIBCXX_ENABLE_ASSERTIONS=OFF \ > > -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF \ > > -DLIBCXX_INCLUDE_BENCHMARKS=OFF \ > > diff --git a/package/libs/libcxx/files/g++-libcxx > > b/package/libs/libcxx/files/g++-libcxx > > index 81ca46eb0e..f37afb2fd5 100755 > > --- a/package/libs/libcxx/files/g++-libcxx > > +++ b/package/libs/libcxx/files/g++-libcxx > > @@ -13,7 +13,7 @@ do > > -static) [ "$WRAPPER_LIBS" != "-lc -lgcc_s -lssp_nonshared -lgcc_eh" ] > > && WRAPPER_LIBS="-lc -lgcc_s -lssp_nonshared -lgcc_eh" ;; > > esac > > done > > -[ "$WRAPPER_INCLIB" = "Y" ] && WRAPPER_OPTIONS="-nodefaultlibs > > $WRAPPER_LIBDIR -lc++ -lsupc++ $WRAPPER_LIBS" > > +[ "$WRAPPER_INCLIB" = "Y" ] && WRAPPER_OPTIONS="-nodefaultlibs > > $WRAPPER_LIBDIR -lc++ -lc++abi $WRAPPER_LIBS" > > > > exec CXX -fno-builtin -nostdinc++ -DGCC_HASCLASSVISIBILITY > > "$WRAPPER_INCLUDEDIR" "$@" $WRAPPER_OPTIONS > > > > diff --git a/package/libs/libcxx/patches/010-cxx17.patch > > b/package/libs/libcxx/patches/010-cxx17.patch > > deleted file mode 100644 > > index dceec9d4f3..0000000000 > > --- a/package/libs/libcxx/patches/010-cxx17.patch > > +++ /dev/null > > @@ -1,14 +0,0 @@ > > ---- a/CMakeLists.txt > > -+++ b/CMakeLists.txt > > -@@ -524,9 +524,9 @@ remove_flags(-Wno-pedantic -pedantic-err > > - if (LIBCXX_HAS_MUSL_LIBC OR LIBCXX_TARGETING_CLANG_CL) > > - # musl's pthread implementations uses volatile types in their structs which > > is > > - # not a constexpr in C++11 but is in C++14, so we use C++14 with musl. > > -- set(LIBCXX_STANDARD_VER c++14 CACHE STRING "internal option to > > change build dialect") > > -+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to > > change build dialect") > > - else() > > -- set(LIBCXX_STANDARD_VER c++11 CACHE STRING "internal option to > > change build dialect") > > -+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to > > change build dialect") > > - endif() > > - add_compile_flags_if_supported(-std=${LIBCXX_STANDARD_VER}) > > - add_compile_flags_if_supported("/std:${LIBCXX_STANDARD_VER}") > > diff --git a/package/libs/libcxx/patches/010-ssp.patch > > b/package/libs/libcxx/patches/010-ssp.patch > > new file mode 100644 > > index 0000000000..c9dc90c7f2 > > --- /dev/null > > +++ b/package/libs/libcxx/patches/010-ssp.patch > > @@ -0,0 +1,13 @@ > > +--- a/CMakeLists.txt > > ++++ b/CMakeLists.txt > > +@@ -760,6 +760,10 @@ function(cxx_link_system_libraries target) > > + target_link_libraries(${target} PRIVATE atomic) > > + endif() > > + > > ++ if (LIBCXX_HAS_MUSL_LIBC) > > ++ target_link_libraries(${target} PRIVATE ssp_nonshared) > > ++ endif() > > ++ > > + if (MINGW) > > + target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}") > > + endif() > > diff --git a/package/libs/libcxx/patches/020-fixes.patch > > b/package/libs/libcxx/patches/020-fixes.patch > > deleted file mode 100644 > > index 22ac494c04..0000000000 > > --- a/package/libs/libcxx/patches/020-fixes.patch > > +++ /dev/null > > @@ -1,35 +0,0 @@ > > ---- a/include/cmath > > -+++ b/include/cmath > > -@@ -615,7 +615,7 @@ _Fp __lerp(_Fp __a, _Fp __b, _Fp __t) no > > - > > - if (__t == 1) return __b; > > - const _Fp __x = __a + __t * (__b - __a); > > -- if (__t > 1 == __b > __a) > > -+ if ((__t > 1) == (__b > __a)) > > - return __b < __x ? __x : __b; > > - else > > - return __x < __b ? __x : __b; > > ---- a/include/memory > > -+++ b/include/memory > > -@@ -1696,7 +1696,7 @@ struct _LIBCPP_TEMPLATE_VIS allocator_tr > > - ptrdiff_t _Np = __end1 - __begin1; > > - __end2 -= _Np; > > - if (_Np > 0) > > -- _VSTD::memcpy(__end2, __begin1, _Np * sizeof(_Tp)); > > -+ __end2 = __begin1; > > - } > > - > > - private: > > ---- a/src/filesystem/filesystem_common.h > > -+++ b/src/filesystem/filesystem_common.h > > -@@ -197,8 +197,8 @@ private: > > - using chrono::duration; > > - using chrono::duration_cast; > > - > > --using TimeSpec = struct ::timespec; > > --using StatT = struct ::stat; > > -+using TimeSpec = struct timespec; > > -+using StatT = struct stat; > > - > > - template > - bool IsFloat = is_floating_point::value> > > -- > > 2.26.2 > > > > > > _______________________________________________ > > openwrt-devel mailing list > > openwrt-devel at lists.openwrt.org > > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sun Jun 7 04:55:46 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sun, 07 Jun 2020 10:55:46 +0200 Subject: [OpenWrt-Devel] [PATCH 1/4 v5] bcm63xx: kernel: add BCM63167 cpuid variant Message-ID: <4885325.oDsuam5DSZ@tool> The BCM63167 is a BCM63268 SoC with a different physical packaging. Add the CPU ID to allow supporting routers with this SoC (i.e Sercomm H500-s) Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: none Changes in v3: none Changes in v4: none Changes in v5: none ...IPS-BCM63XX-add-support-for-BCM63268.patch | 18 ++++++++------ ...MIPS-BCM63XX-add-support-for-BCM6318.patch | 10 ++++---- .../431-MIPS-BCM63XX-add-nand-rset.patch | 24 +++++++++---------- 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch index efd5f10534..aba4b9415a 100644 --- a/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch +++ b/target/linux/bcm63xx/patches-5.4/339-MIPS-BCM63XX-add-support-for-BCM63268.patch @@ -242,10 +242,11 @@ Signed-off-by: Jonas Gorski switch (bcm63xx_cpu_id) { case BCM3368_CPU_ID: -@@ -400,6 +442,15 @@ void __init bcm63xx_cpu_init(void) +@@ -400,6 +442,16 @@ void __init bcm63xx_cpu_init(void) /* BCM6369 is a BCM6368 without xDSL, so treat it the same */ bcm63xx_cpu_id = BCM6368_CPU_ID; break; ++ case BCM63167_CPU_ID: + case BCM63168_CPU_ID: + case BCM63169_CPU_ID: + case BCM63268_CPU_ID: @@ -353,10 +354,11 @@ Signed-off-by: Jonas Gorski return 0; --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -22,6 +22,10 @@ +@@ -22,6 +22,11 @@ #define BCM6362_CPU_ID 0x6362 #define BCM6368_CPU_ID 0x6368 #define BCM6369_CPU_ID 0x6369 ++#define BCM63167_CPU_ID 0x63167 +#define BCM63168_CPU_ID 0x63168 +#define BCM63169_CPU_ID 0x63169 +#define BCM63268_CPU_ID 0x63268 @@ -364,7 +366,7 @@ Signed-off-by: Jonas Gorski void __init bcm63xx_cpu_init(void); u32 bcm63xx_get_cpu_variant(void); -@@ -62,6 +66,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -62,6 +67,10 @@ static inline u32 __pure __bcm63xx_get_c #ifdef CONFIG_BCM63XX_CPU_6368 case BCM6368_CPU_ID: #endif @@ -375,7 +377,7 @@ Signed-off-by: Jonas Gorski break; default: unreachable(); -@@ -87,6 +95,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -87,6 +96,7 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_IS_6358() (bcm63xx_get_cpu_id() == BCM6358_CPU_ID) #define BCMCPU_IS_6362() (bcm63xx_get_cpu_id() == BCM6362_CPU_ID) #define BCMCPU_IS_6368() (bcm63xx_get_cpu_id() == BCM6368_CPU_ID) @@ -383,10 +385,12 @@ Signed-off-by: Jonas Gorski #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) -@@ -110,6 +119,14 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -110,6 +120,16 @@ static inline u32 __pure bcm63xx_get_cpu (bcm63xx_get_cpu_variant() == BCM6368_CPU_ID) #define BCMCPU_VARIANT_IS_6369() \ (bcm63xx_get_cpu_variant() == BCM6369_CPU_ID) ++#define BCMCPU_VARIANT_IS_63167() \ ++ (bcm63xx_get_cpu_variant() == BCM63167_CPU_ID) +#define BCMCPU_VARIANT_IS_63168() \ + (bcm63xx_get_cpu_variant() == BCM63168_CPU_ID) +#define BCMCPU_VARIANT_IS_63169() \ @@ -398,7 +402,7 @@ Signed-off-by: Jonas Gorski /* * While registers sets are (mostly) the same across 63xx CPU, base -@@ -574,6 +591,52 @@ enum bcm63xx_regs_set { +@@ -574,6 +594,52 @@ enum bcm63xx_regs_set { #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -451,7 +455,7 @@ Signed-off-by: Jonas Gorski extern const unsigned long *bcm63xx_regs_base; -@@ -1042,6 +1105,73 @@ enum bcm63xx_irq { +@@ -1042,6 +1108,73 @@ enum bcm63xx_irq { #define BCM_6368_EXT_IRQ4 (IRQ_INTERNAL_BASE + 24) #define BCM_6368_EXT_IRQ5 (IRQ_INTERNAL_BASE + 25) diff --git a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch index 5b05fa6bd5..a022f8c5f0 100644 --- a/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch +++ b/target/linux/bcm63xx/patches-5.4/341-MIPS-BCM63XX-add-support-for-BCM6318.patch @@ -327,7 +327,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCM6328_CPU_ID 0x6328 #define BCM63281_CPU_ID 0x63281 #define BCM63283_CPU_ID 0x63283 -@@ -39,6 +40,10 @@ static inline u32 __pure __bcm63xx_get_c +@@ -40,6 +41,10 @@ static inline u32 __pure __bcm63xx_get_c case BCM3368_CPU_ID: #endif @@ -338,7 +338,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #ifdef CONFIG_BCM63XX_CPU_6328 case BCM6328_CPU_ID: #endif -@@ -88,6 +93,7 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -89,6 +94,7 @@ static inline u32 __pure bcm63xx_get_cpu } #define BCMCPU_IS_3368() (bcm63xx_get_cpu_id() == BCM3368_CPU_ID) @@ -346,7 +346,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_IS_6328() (bcm63xx_get_cpu_id() == BCM6328_CPU_ID) #define BCMCPU_IS_6338() (bcm63xx_get_cpu_id() == BCM6338_CPU_ID) #define BCMCPU_IS_6345() (bcm63xx_get_cpu_id() == BCM6345_CPU_ID) -@@ -99,6 +105,8 @@ static inline u32 __pure bcm63xx_get_cpu +@@ -100,6 +106,8 @@ static inline u32 __pure bcm63xx_get_cpu #define BCMCPU_VARIANT_IS_3368() \ (bcm63xx_get_cpu_variant() == BCM3368_CPU_ID) @@ -355,7 +355,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 #define BCMCPU_VARIANT_IS_63281() \ (bcm63xx_get_cpu_variant() == BCM63281_CPU_ID) #define BCMCPU_VARIANT_IS_63283() \ -@@ -253,6 +261,56 @@ enum bcm63xx_regs_set { +@@ -256,6 +264,56 @@ enum bcm63xx_regs_set { #define BCM_3368_MISC_BASE (0xdeadbeef) /* @@ -412,7 +412,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318 * 6328 register sets base address */ #define BCM_6328_DSL_LMEM_BASE (0xdeadbeef) -@@ -775,6 +833,55 @@ enum bcm63xx_irq { +@@ -778,6 +836,55 @@ enum bcm63xx_irq { #define BCM_3368_EXT_IRQ2 (IRQ_INTERNAL_BASE + 27) #define BCM_3368_EXT_IRQ3 (IRQ_INTERNAL_BASE + 28) diff --git a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch index 1172b23197..090ffeb43c 100644 --- a/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch +++ b/target/linux/bcm63xx/patches-5.4/431-MIPS-BCM63XX-add-nand-rset.patch @@ -1,6 +1,6 @@ --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h -@@ -181,7 +181,8 @@ enum bcm63xx_regs_set { +@@ -184,7 +184,8 @@ enum bcm63xx_regs_set { RSET_PCMDMAC, RSET_PCMDMAS, RSET_RNG, @@ -10,7 +10,7 @@ }; #define RSET_DSL_LMEM_SIZE (64 * 1024 * 4) -@@ -259,6 +260,7 @@ enum bcm63xx_regs_set { +@@ -262,6 +263,7 @@ enum bcm63xx_regs_set { #define BCM_3368_PCMDMAS_BASE (0xdeadbeef) #define BCM_3368_RNG_BASE (0xdeadbeef) #define BCM_3368_MISC_BASE (0xdeadbeef) @@ -18,7 +18,7 @@ /* * 6318 register sets base address -@@ -306,6 +308,7 @@ enum bcm63xx_regs_set { +@@ -309,6 +311,7 @@ enum bcm63xx_regs_set { #define BCM_6318_PCMDMAS_BASE (0xdeadbeef) #define BCM_6318_RNG_BASE (0xdeadbeef) #define BCM_6318_MISC_BASE (0xb0000280) @@ -26,7 +26,7 @@ #define BCM_6318_OTP_BASE (0xdeadbeef) #define BCM_6318_STRAP_BASE (0xb0000900) -@@ -356,6 +359,7 @@ enum bcm63xx_regs_set { +@@ -359,6 +362,7 @@ enum bcm63xx_regs_set { #define BCM_6328_PCMDMAS_BASE (0xdeadbeef) #define BCM_6328_RNG_BASE (0xdeadbeef) #define BCM_6328_MISC_BASE (0xb0001800) @@ -34,7 +34,7 @@ #define BCM_6328_OTP_BASE (0xb0000600) /* -@@ -405,6 +409,7 @@ enum bcm63xx_regs_set { +@@ -408,6 +412,7 @@ enum bcm63xx_regs_set { #define BCM_6338_PCMDMAS_BASE (0xdeadbeef) #define BCM_6338_RNG_BASE (0xdeadbeef) #define BCM_6338_MISC_BASE (0xdeadbeef) @@ -42,7 +42,7 @@ /* * 6345 register sets base address -@@ -453,6 +458,7 @@ enum bcm63xx_regs_set { +@@ -456,6 +461,7 @@ enum bcm63xx_regs_set { #define BCM_6345_PCMDMAS_BASE (0xdeadbeef) #define BCM_6345_RNG_BASE (0xdeadbeef) #define BCM_6345_MISC_BASE (0xdeadbeef) @@ -50,7 +50,7 @@ /* * 6348 register sets base address -@@ -499,6 +505,7 @@ enum bcm63xx_regs_set { +@@ -502,6 +508,7 @@ enum bcm63xx_regs_set { #define BCM_6348_PCMDMAS_BASE (0xdeadbeef) #define BCM_6348_RNG_BASE (0xdeadbeef) #define BCM_6348_MISC_BASE (0xdeadbeef) @@ -58,7 +58,7 @@ /* * 6358 register sets base address -@@ -545,7 +552,7 @@ enum bcm63xx_regs_set { +@@ -548,7 +555,7 @@ enum bcm63xx_regs_set { #define BCM_6358_PCMDMAS_BASE (0xfffe1a00) #define BCM_6358_RNG_BASE (0xdeadbeef) #define BCM_6358_MISC_BASE (0xdeadbeef) @@ -67,7 +67,7 @@ /* * 6362 register sets base address -@@ -593,6 +600,7 @@ enum bcm63xx_regs_set { +@@ -596,6 +603,7 @@ enum bcm63xx_regs_set { #define BCM_6362_PCMDMAS_BASE (0xdeadbeef) #define BCM_6362_RNG_BASE (0xdeadbeef) #define BCM_6362_MISC_BASE (0xb0001800) @@ -75,7 +75,7 @@ #define BCM_6362_NAND_REG_BASE (0xb0000200) #define BCM_6362_NAND_CACHE_BASE (0xb0000600) -@@ -648,6 +656,7 @@ enum bcm63xx_regs_set { +@@ -651,6 +659,7 @@ enum bcm63xx_regs_set { #define BCM_6368_PCMDMAS_BASE (0xb0005c00) #define BCM_6368_RNG_BASE (0xb0004180) #define BCM_6368_MISC_BASE (0xdeadbeef) @@ -83,7 +83,7 @@ /* * 63268 register sets base address -@@ -695,6 +704,7 @@ enum bcm63xx_regs_set { +@@ -698,6 +707,7 @@ enum bcm63xx_regs_set { #define BCM_63268_PCMDMAS_BASE (0xdeadbeef) #define BCM_63268_RNG_BASE (0xdeadbeef) #define BCM_63268_MISC_BASE (0xb0001800) @@ -91,7 +91,7 @@ extern const unsigned long *bcm63xx_regs_base; -@@ -740,6 +750,7 @@ extern const unsigned long *bcm63xx_regs +@@ -743,6 +753,7 @@ extern const unsigned long *bcm63xx_regs [RSET_PCMDMAS] = BCM_## __cpu ##_PCMDMAS_BASE, \ [RSET_RNG] = BCM_## __cpu ##_RNG_BASE, \ [RSET_MISC] = BCM_## __cpu ##_MISC_BASE, \ -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sun Jun 7 04:55:51 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sun, 07 Jun 2020 10:55:51 +0200 Subject: [OpenWrt-Devel] [PATCH 2/4 v5] bcm63xx: image: don't add the CFE to the sercomm factory Message-ID: <2007795.O39vskrCF1@tool> There is no need to include the CFE bootloader in the Sercomm factory images. There might be a case when this could be useful: - We are running the stock firmware on the first Sercomm image - The second partition storing the botloader was erased (unlikely) Even in this case flashing an image without a bootlader is harmless. Don't include the bootloader in the factory image creation and rid of the risk of flashing factory images with an untested bootloader partition. Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: refresh Changes in v3: none Changes in v4: none Changes in v5: none target/linux/bcm63xx/image/Makefile | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index 0593dacb44..5ec31f6207 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -218,20 +218,8 @@ define Build/cfe-sercomm-part --part-name rootfs_lib \ --part-version $(SERCOMM_VERSION) - rm -rf $@-bootloader - mkdir -p $@-bootloader - cp $(KDIR)/bcm63xx-cfe/$(CFE_RAM_FILE) $@-bootloader/$(CFE_RAM_JFFS2_NAME) - $(call Build/cfe-jffs2,$@-bootloader) - $(call Build/pad-to,$(BLOCKSIZE)) - $(TOPDIR)/scripts/sercomm-partition-tag.py \ - --input-file $@ \ - --output-file $@.bootloader \ - --part-name bootloader \ - --part-version $(SERCOMM_VERSION) - mv $@.kernel_rootfs $@ dd if=$@.rootfs_lib >> $@ - dd if=$@.bootloader >> $@ endef define Build/cfe-sercomm-load -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sun Jun 7 04:55:53 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sun, 07 Jun 2020 10:55:53 +0200 Subject: [OpenWrt-Devel] [PATCH 3/4 v5] bcm63xx: image: allow to pass the addr to the NAND kernel header Message-ID: <2122563.2mDR7D8BXx@tool> Not all CFEs will need to relocate the kernel (i.e H500-s), therefore we'll need to pass a different address and not the LOADER_ENTRY. Let to pass the addr to the image creation when neccessary. Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: refresh Changes in v3: none Changes in v4: none Changes in v5: none target/linux/bcm63xx/image/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index c962e531a9..0593dacb44 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -172,8 +172,8 @@ define Build/cfe-jffs2-kernel $(TOPDIR)/scripts/cfe-bin-header.py \ --input-file $@ \ --output-file $@-kernel/vmlinux.lz \ - --load-addr $(LOADER_ENTRY) \ - --entry-addr $(LOADER_ENTRY) + --load-addr $(if $(1),$(1),$(LOADER_ENTRY)) \ + --entry-addr $(if $(1),$(1),$(LOADER_ENTRY)) # The JFFS2 partition creation should result in the following # layout: -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sun Jun 7 04:55:56 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sun, 07 Jun 2020 10:55:56 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4 v5] bcm63xx: add support for the Sercomm H500-s Message-ID: <6775788.q2oN72G7Pt@tool> Sercomm H500-s is an xDSL dual band wireless router based on Broadcom BCM63167 SoC. Hardware: SoC: Broadcom BCM63167 CPU: BMIPS4350 V8.0, 400 MHz, 2 cores Flash: NAND 128 MiB RAM: DDR3 128 MiB Ethernet: 4x 10/100/1000 Mbps Switch: BCM53134S Wireless: 802.11b/g/n: BCM435f (integrated) 802.11ac: Quantenna QT3740BC (onboard SoC) USB: 1x 2.0 LEDs/Buttons: 11x / 2x Flash instruction, web UI: 1. Reset to defaults using the reset button if the admin password is unknown 2. Login into the web UI as admin. Address: http://192.168.0.1 User: admin Password: VF-ESVodafone-H-500-s or l033i-h500s 3. Go to Settings -> Firmware Update, and select the Openwrt factory firmware 4. Update the firmware. 5. Wait until it finish, the device will reboot with Openwrt installed on the alternative image partitions keeping the stock firmware in the former. Notes: - The patch also adds support for the lowi version. Only the factory firmware is different. - The integrated Wifi in the Broadcom Soc isn't still supported. - The Quantenna 802.11ac wifi works ok, but needs to be configured with the Quantenna client application. It can't be configured with Luci nor any iw command since it's a separated subsystem linked via ethernet. - The BCM53134S external switch is managed via MDIO which isn't supported in this target. Therefore it will behave as a dumb switch. Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: - Fixed passwords in commit log - Added unsupported switch in dts - Added custom LOADER_ENTRY to fix the ramdisk for this specific device - Removed unneded b43 package - Cosmetic changes Changes in v3: - Device splitted: lowi, vfes - Removed unsupported switch in dts - Cosmetic changes Changes in v4: - Fixed commit log - Cosmetic changes Changes in v5: - Added missing "bcm63167" dt compatible - Cosmetic changes .../bcm63xx/base-files/etc/board.d/01_leds | 4 + .../bcm63xx/base-files/etc/board.d/02_network | 4 + .../base-files/lib/upgrade/platform.sh | 8 +- .../dts/bcm63167-sercomm-h500-s-lowi.dts | 15 ++ .../dts/bcm63167-sercomm-h500-s-vfes.dts | 15 ++ .../bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi | 194 ++++++++++++++++++ target/linux/bcm63xx/image/bcm63xx_nand.mk | 54 +++++ .../bcm63xx/patches-5.4/568-board-H500s.patch | 69 +++++++ 8 files changed, 361 insertions(+), 2 deletions(-) create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi create mode 100644 target/linux/bcm63xx/patches-5.4/568-board-H500s.patch diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds b/target/linux/bcm63xx/base-files/etc/board.d/01_leds index 91d67f0c0b..cdaf0e77c9 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds +++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds @@ -100,6 +100,10 @@ sercomm,ad1018) sercomm,ad1018-nor) ucidef_set_led_netdev "wlan0" "WLAN" "AD1018:green:wifi" "wlan0" ;; +sercomm,h500-s-lowi|\ +sercomm,h500-s-vfes) + ucidef_set_led_netdev "wan" "WAN" "h500-s:green:internet" "eth0.2" + ;; telsey,cpva502plus) ucidef_set_led_netdev "lan" "LAN" "CPVA502+:amber:link" "eth0" ;; diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network b/target/linux/bcm63xx/base-files/etc/board.d/02_network index 784af29cb4..f02eabe68f 100755 --- a/target/linux/bcm63xx/base-files/etc/board.d/02_network +++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network @@ -142,6 +142,10 @@ sercomm,ad1018-nor) ucidef_add_switch "switch0" \ "1:lan:3" "2:lan:2" "3:lan:1" "0:wan" "8t at eth0" ;; +sercomm,h500-s-lowi|\ +sercomm,h500-s-vfes) + ucidef_add_switch "switch0" "4:lan" "3:wan" "8t at eth0" + ;; sfr,neufbox-6-sercomm-r0) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9t at eth0" diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh index 7d416297dd..525d3b90b5 100644 --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh @@ -9,7 +9,9 @@ platform_check_image() { comtrend,vr-3032u|\ huawei,hg253s-v2|\ netgear,dgnd3700-v2|\ - sercomm,ad1018) + sercomm,ad1018|\ + sercomm,h500-s-lowi|\ + sercomm,h500-s-vfes) # NAND sysupgrade return 0 ;; @@ -69,7 +71,9 @@ platform_do_upgrade() { comtrend,vr-3032u|\ huawei,hg253s-v2|\ netgear,dgnd3700-v2|\ - sercomm,ad1018) + sercomm,ad1018|\ + sercomm,h500-s-lowi|\ + sercomm,h500-s-vfes) REQUIRE_IMAGE_METADATA=1 cfe_jffs2_upgrade_tar "$1" ;; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts new file mode 100644 index 0000000000..b7203a4fc0 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s lowi + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63167-sercomm-h500-s.dtsi" + +/ { + model = "Sercomm H500-s lowi"; + compatible = "sercomm,h500-s-lowi", "brcm,bcm63167", "brcm,bcm63268"; +}; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts new file mode 100644 index 0000000000..7a04dcfde0 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s vfes + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +/dts-v1/; + +#include "bcm63167-sercomm-h500-s.dtsi" + +/ { + model = "Sercomm H500-s vfes"; + compatible = "sercomm,h500-s-vfes", "brcm,bcm63167", "brcm,bcm63268"; +}; diff --git a/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi new file mode 100644 index 0000000000..eb8a9f7ecd --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi @@ -0,0 +1,194 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Sercomm H500-s + * + * Copyright (C) 2020 Daniel Gonz?lez Cabanelas + */ + +#include "bcm63268.dtsi" + +#include + +/ { + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + chosen { + bootargs = "rootfstype=squashfs,ubifs noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 34 1>; + linux,code = ; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 35 1>; + linux,code = ; + debounce-interval = <60>; + }; + }; +}; + +&leds { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds>; + + mobile_red { + reg = <0>; + label = "h500-s:red:mobile"; + }; + + mobile_green { + reg = <1>; + label = "h500-s:green:mobile"; + }; + + led_power_red: power_red { + reg = <8>; + label = "h500-s:red:power"; + }; + + wifi_green { + reg = <9>; + label = "h500-s:green:wifi"; + }; + + phone_red { + reg = <12>; + label = "h500-s:red:phone"; + }; + + wifi_red { + reg = <13>; + label = "h500-s:red:wifi"; + }; + + internet_red { + reg = <14>; + label = "h500-s:red:internet"; + }; + + internet_green { + reg = <15>; + label = "h500-s:green:internet"; + }; + + phone_green { + reg = <16>; + label = "h500-s:green:phone"; + }; + + led_power_green: power_green { + reg = <17>; + label = "h500-s:green:power"; + default-state = "on"; + }; + + mobile_blue { + reg = <23>; + label = "h500-s:blue:mobile"; + }; +}; + +&nflash { + status = "okay"; + + nandcs at 0 { + compatible = "brcm,nandcs"; + #size-cells = <1>; + #address-cells = <1>; + reg = <0>; + nand-ecc-step-size = <512>; + nand-ecc-strength = <4>; + nand-on-flash-bbt; + brcm,nand-oob-sector-size = <64>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "cferom"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + partition at 20000 { + label = "part_map"; + reg = <0x0020000 0x00a0000>; + read-only; + }; + + partition at c0000 { + label = "cferam1"; + reg = <0x00c0000 0x0140000>; + read-only; + }; + + partition at 200000 { + label = "cferam2"; + reg = <0x0200000 0x0140000>; + read-only; + }; + + partition at 6920000 { + label = "bootflag1"; + reg = <0x6920000 0x0140000>; + }; + + partition at 6a60000 { + label = "bootflag2"; + reg = <0x6a60000 0x0140000>; + }; + + partition at 520000 { + compatible = "sercomm,wfi"; + label = "wfi"; + reg = <0x0520000 0x6400000>; /* 2 images, 97152 KiB */ + }; + + partition at 6ba0000 { + label = "xml_cfg"; + reg = <0x6ba0000 0x0280000>; + read-only; + }; + + partition at 6e20000 { + label = "app_data"; + reg = <0x6e20000 0x0280000>; + read-only; + }; + }; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio0", "gpio1", "gpio8", "gpio9", + "gpio12", "gpio13", "gpio14", "gpio15", + "gpio16", "gpio17", "gpio23"; + }; +}; + +&uart0 { + status = "okay"; +}; diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk b/target/linux/bcm63xx/image/bcm63xx_nand.mk index 7b2039c988..4f030cbdab 100644 --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk @@ -149,3 +149,57 @@ define Device/sercomm_ad1018 SERCOMM_VERSION := 1001 endef TARGET_DEVICES += sercomm_ad1018 + +define Device/sercomm_h500-s-lowi + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + DEVICE_VARIANT := lowi + LOADER_ENTRY := 0x80010000 + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 33 34 62 33 31 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 33 30 35 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500-s-lowi + +define Device/sercomm_h500-s-vfes + $(Device/sercomm-nand) + DEVICE_VENDOR := Sercomm + DEVICE_MODEL := H500-s + DEVICE_VARIANT := vfes + LOADER_ENTRY := 0x80010000 + KERNEL := kernel-bin | append-dtb | lzma | cfe-jffs2-kernel $$(KERNEL_LOADADDR) + CHIP_ID := 63268 + SOC := bcm63167 + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + VID_HDR_OFFSET := 2048 + DEVICE_PACKAGES += $(USB2_PACKAGES) + SERCOMM_PID := \ + 30 30 30 30 30 30 30 31 34 32 35 38 34 62 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 \ + 30 30 30 30 33 34 31 37 30 30 30 30 30 30 30 30 \ + 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + SERCOMM_VERSION := 1001 +endef +TARGET_DEVICES += sercomm_h500-s-vfes diff --git a/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch new file mode 100644 index 0000000000..d94d5cfeb7 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/568-board-H500s.patch @@ -0,0 +1,69 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -2867,10 +2867,41 @@ + }, + + }, + }, + }; ++ ++static struct board_info __initdata board_H500s = { ++ .name = "BXK00C-1.6", ++ .expected_cpu_id = 0x63268, ++ ++ .has_ehci0 = 1, ++ .has_ohci0 = 1, ++ .num_usbh_ports = 1, ++ ++ .has_enetsw = 1, ++ .enetsw = { ++ .used_ports = { ++ [3] = { ++ .used = 1, ++ .phy_id = 12, ++ .name = "WAN", ++ }, ++ ++ [4] = { ++ .used = 1, ++ .phy_id = 0, ++ .bypass_link = 1, ++ .force_speed = 1000, ++ .force_duplex_full = 1, ++ .mii_override = 1, ++ .timing_sel = 1, ++ .name = "RGMII", ++ }, ++ }, ++ }, ++}; + #endif /* CONFIG_BCM63XX_CPU_63268 */ + + /* + * all boards + */ +@@ -2981,10 +3012,11 @@ + &board_963269bhr, + &board_VG8050, + &board_VR3032u, + &board_vw6339gu, + &board_BSKYB_63168, ++ &board_H500s, + #endif + }; + + static struct of_device_id const bcm963xx_boards_dt[] = { + #ifdef CONFIG_OF +@@ -3099,10 +3131,12 @@ + { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, }, + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, ++ { .compatible = "sercomm,h500-s-lowi", .data = &board_H500s, }, ++ { .compatible = "sercomm,h500-s-vfes", .data = &board_H500s, }, + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, + #endif + #endif /* CONFIG_OF */ + { }, + }; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dwmw2 at infradead.org Sun Jun 7 06:19:43 2020 From: dwmw2 at infradead.org (David Woodhouse) Date: Sun, 07 Jun 2020 11:19:43 +0100 Subject: [OpenWrt-Devel] Internal switch problem on Asus RT-AC85P. In-Reply-To: <20191209220358.103352-1-vargagab@gmail.com> References: <20191209220358.103352-1-vargagab@gmail.com> Message-ID: <7e475d258aa4112bea3917eeba7909c687415100.camel@infradead.org> I've just set up a new RT-AC85P as one of three access points on my network, and it seems to be having problems with wireless clients which have roamed to it (or just newly associated to it) after being on one of the other APs. Incoming packets to the new wireless client aren't being received on the 'wan' port of the RT-AC85P. It's as if the internal switch has learned that that MAC address is out on the wired network, so the packets aren't being delivered to the CPU port. If I plug in a USB Ethernet instead and connect to the house network using that, everything works. Has anyone else used this in a multi-AP setup where a given MAC address might previously have been seen on the wired side? https://bugs.openwrt.org/index.php?do=details&task_id=3155 -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5174 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Sun Jun 7 07:11:15 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Sun, 7 Jun 2020 13:11:15 +0200 Subject: [OpenWrt-Devel] [PATCH] treewide: simplify inclusion of subtarget image files Message-ID: <20200607111115.1958-1-freifunk@adrianschmutzler.de> Many target use a repetitive if-include scheme for their subtarget image files, though their names are consistent with the subtarget names. This patch removes these redundant conditions and just uses the variable for the include where the target setup allows it. For sunxi, this includes a trivial rename of the subtarget image Makefiles. Signed-off-by: Adrian Schmutzler --- target/linux/at91/image/Makefile | 7 +------ target/linux/ath79/image/Makefile | 20 ++++++++----------- target/linux/layerscape/image/Makefile | 8 +------- target/linux/mvebu/image/Makefile | 12 +---------- target/linux/oxnas/image/Makefile | 8 +------- target/linux/rockchip/image/Makefile | 4 +--- target/linux/sunxi/image/Makefile | 12 +---------- .../image/{cortex-a53.mk => cortexa53.mk} | 0 .../sunxi/image/{cortex-a7.mk => cortexa7.mk} | 0 .../sunxi/image/{cortex-a8.mk => cortexa8.mk} | 0 target/linux/x86/image/Makefile | 16 +-------------- 11 files changed, 15 insertions(+), 72 deletions(-) rename target/linux/sunxi/image/{cortex-a53.mk => cortexa53.mk} (100%) rename target/linux/sunxi/image/{cortex-a7.mk => cortexa7.mk} (100%) rename target/linux/sunxi/image/{cortex-a8.mk => cortexa8.mk} (100%) diff --git a/target/linux/at91/image/Makefile b/target/linux/at91/image/Makefile index adb7c6d0ba..ff801dae86 100644 --- a/target/linux/at91/image/Makefile +++ b/target/linux/at91/image/Makefile @@ -13,12 +13,7 @@ define Build/at91-install-zImage $(CP) $(KDIR)/zImage $@ endef -ifeq ($(SUBTARGET),sam9x) -include ./sam9x.mk -endif -ifeq ($(SUBTARGET),sama5) -include ./sama5.mk -endif +include $(SUBTARGET).mk AT91_SD_BOOT_PARTSIZE:=64 FAT32_BLOCK_SIZE:=1024 diff --git a/target/linux/ath79/image/Makefile b/target/linux/ath79/image/Makefile index 529baf8f57..a555cfc6d5 100644 --- a/target/linux/ath79/image/Makefile +++ b/target/linux/ath79/image/Makefile @@ -68,20 +68,16 @@ define Device/Default append-rootfs | pad-rootfs | append-metadata | check-size endef +include $(SUBTARGET).mk + ifeq ($(SUBTARGET),generic) -include ./generic.mk -include ./generic-tp-link.mk -include ./generic-ubnt.mk -endif -ifeq ($(SUBTARGET),mikrotik) -include ./mikrotik.mk -endif -ifeq ($(SUBTARGET),nand) -include ./nand.mk +include generic-tp-link.mk +include generic-ubnt.mk endif + ifeq ($(SUBTARGET),tiny) -include ./tiny.mk -include ./tiny-netgear.mk -include ./tiny-tp-link.mk +include tiny-netgear.mk +include tiny-tp-link.mk endif + $(eval $(call BuildImage)) diff --git a/target/linux/layerscape/image/Makefile b/target/linux/layerscape/image/Makefile index bc65748853..f5a5ad9980 100644 --- a/target/linux/layerscape/image/Makefile +++ b/target/linux/layerscape/image/Makefile @@ -43,12 +43,6 @@ define Build/traverse-fit @mv -f $@.new $@ endef -ifeq ($(SUBTARGET),armv8_64b) -include armv8_64b.mk -endif - -ifeq ($(SUBTARGET),armv7) -include armv7.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile index 3a47878069..cbf34c1bc8 100644 --- a/target/linux/mvebu/image/Makefile +++ b/target/linux/mvebu/image/Makefile @@ -138,16 +138,6 @@ define Device/NAND-512K PAGESIZE := 4096 endef -ifeq ($(SUBTARGET),cortexa9) -include cortexa9.mk -endif - -ifeq ($(SUBTARGET),cortexa53) -include cortexa53.mk -endif - -ifeq ($(SUBTARGET),cortexa72) -include cortexa72.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/oxnas/image/Makefile b/target/linux/oxnas/image/Makefile index 644c2b8795..abf83caa1a 100644 --- a/target/linux/oxnas/image/Makefile +++ b/target/linux/oxnas/image/Makefile @@ -4,12 +4,6 @@ include $(INCLUDE_DIR)/image.mk VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage -ifeq ($(SUBTARGET),ox810se) -include ox810se.mk -endif - -ifeq ($(SUBTARGET),ox820) -include ox820.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/rockchip/image/Makefile b/target/linux/rockchip/image/Makefile index 5f605ebfe5..22854d9d02 100644 --- a/target/linux/rockchip/image/Makefile +++ b/target/linux/rockchip/image/Makefile @@ -56,8 +56,6 @@ define Device/Default DEVICE_DTS = rockchip/$$(SOC)-$(lastword $(subst _, ,$(1))) endef -ifeq ($(SUBTARGET),armv8) - include armv8.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile index 1b98849a50..01e9742b46 100644 --- a/target/linux/sunxi/image/Makefile +++ b/target/linux/sunxi/image/Makefile @@ -42,16 +42,6 @@ define Device/Default SUNXI_DTS = $$(SUNXI_DTS_DIR)$$(SOC)-$(lastword $(subst _, ,$(1))) endef -ifeq ($(SUBTARGET),cortexa7) -include cortex-a7.mk -endif - -ifeq ($(SUBTARGET),cortexa8) -include cortex-a8.mk -endif - -ifeq ($(SUBTARGET),cortexa53) -include cortex-a53.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/sunxi/image/cortex-a53.mk b/target/linux/sunxi/image/cortexa53.mk similarity index 100% rename from target/linux/sunxi/image/cortex-a53.mk rename to target/linux/sunxi/image/cortexa53.mk diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortexa7.mk similarity index 100% rename from target/linux/sunxi/image/cortex-a7.mk rename to target/linux/sunxi/image/cortexa7.mk diff --git a/target/linux/sunxi/image/cortex-a8.mk b/target/linux/sunxi/image/cortexa8.mk similarity index 100% rename from target/linux/sunxi/image/cortex-a8.mk rename to target/linux/sunxi/image/cortexa8.mk diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 174c272a51..85c850c128 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -146,21 +146,7 @@ define Device/Default ARTIFACTS := $$(ARTIFACTS-y) endef -ifeq ($(SUBTARGET),64) - include 64.mk -endif - -ifeq ($(SUBTARGET),generic) - include generic.mk -endif - -ifeq ($(SUBTARGET),geode) - include geode.mk -endif - -ifeq ($(SUBTARGET),legacy) - include legacy.mk -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Sun Jun 7 07:12:43 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Sun, 7 Jun 2020 13:12:43 +0200 Subject: [OpenWrt-Devel] [PATCH] bcm47xx: move device definitions to subfiles Message-ID: <20200607111243.2063-1-freifunk@adrianschmutzler.de> With several subtargets, the image/Makefile becomes crowded after a while. Many targets have moved their device definitions to $subtarget.mk files to have them more organized, let's do this here as well. Cc: Rafa? Mi?ecki Signed-off-by: Adrian Schmutzler --- target/linux/bcm47xx/image/Makefile | 854 +------------------------- target/linux/bcm47xx/image/generic.mk | 72 +++ target/linux/bcm47xx/image/legacy.mk | 292 +++++++++ target/linux/bcm47xx/image/mips74k.mk | 482 +++++++++++++++ 4 files changed, 848 insertions(+), 852 deletions(-) create mode 100644 target/linux/bcm47xx/image/generic.mk create mode 100644 target/linux/bcm47xx/image/legacy.mk create mode 100644 target/linux/bcm47xx/image/mips74k.mk diff --git a/target/linux/bcm47xx/image/Makefile b/target/linux/bcm47xx/image/Makefile index 432e787cba..e08a3125bd 100644 --- a/target/linux/bcm47xx/image/Makefile +++ b/target/linux/bcm47xx/image/Makefile @@ -188,860 +188,10 @@ define Device/netgear endef ################################################# -# Subtarget generic +# Subtarget devices ################################################# -ifeq ($(SUBTARGET),generic) - # BCM4705 with tg3 -define Device/linksys-wrt300n-v1.1 - DEVICE_MODEL := WRT300N - DEVICE_VARIANT := v1.1 - DEVICE_PACKAGES := kmod-tg3 kmod-b43 - $(Device/linksys) - DEVICE_ID := EWC2 - VERSION := 1.51.2 -endef -TARGET_DEVICES += linksys-wrt300n-v1.1 - -define Device/linksys-wrt310n-v1 - DEVICE_MODEL := WRT310N - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-tg3 kmod-b43 - $(Device/linksys) - DEVICE_ID := 310N - VERSION := 1.0.10 -endef -TARGET_DEVICES += linksys-wrt310n-v1 - -define Device/linksys-wrt350n-v1 - DEVICE_MODEL := WRT350N - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES) - $(Device/linksys) - DEVICE_ID := EWCG - VERSION := 1.04.1 -endef -TARGET_DEVICES += linksys-wrt350n-v1 - -define Device/linksys-wrt610n-v1 - DEVICE_MODEL := WRT610N - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES) - $(Device/linksys) - DEVICE_ID := 610N - VERSION := 1.0.1 -endef -TARGET_DEVICES += linksys-wrt610n-v1 - - # BCMA SoC with SSB WiFi -define Device/linksys-wrt610n-v2 - DEVICE_MODEL := WRT610N - DEVICE_VARIANT := v2 - DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES) - $(Device/linksys) - DEVICE_ID := 610N - VERSION := 2.0.0 -endef -TARGET_DEVICES += linksys-wrt610n-v2 - -define Device/linksys-e3000-v1 - DEVICE_MODEL := E3000 - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES) - $(Device/linksys) - DEVICE_ID := 61XN - VERSION := 1.0.3 -endef -TARGET_DEVICES += linksys-e3000-v1 - -# generic has Ethernet drivers as modules so overwrite standard image -define Device/standard - DEVICE_TITLE := Image with LZMA loader and LZMA compressed kernel - DEVICE_PACKAGES := kmod-b44 kmod-bgmac kmod-tg3 -endef -TARGET_DEVICES += standard -endif - -################################################# -# Subtarget legacy -################################################# - -ifeq ($(SUBTARGET),legacy) - -define Device/asus-wl-300g - DEVICE_MODEL := WL-300g - DEVICE_PACKAGES := kmod-b43 kmod-b43legacy - $(Device/asus) - PRODUCTID := "WL300g " -endef -TARGET_DEVICES += asus-wl-300g - -define Device/asus-wl-320gp - DEVICE_MODEL := WL-320gP - DEVICE_PACKAGES := kmod-b43 - $(Device/asus) - PRODUCTID := "WL320gP " -endef -TARGET_DEVICES += asus-wl-320gp - -define Device/asus-wl-330ge - DEVICE_MODEL := WL-330gE - DEVICE_PACKAGES := kmod-b43 - $(Device/asus) - PRODUCTID := "WL-330gE " -endef -TARGET_DEVICES += asus-wl-330ge - -define Device/asus-wl-500gd - DEVICE_MODEL := WL-500g Deluxe - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := "WL500gx " -endef -TARGET_DEVICES += asus-wl-500gd - -define Device/asus-wl-500gp-v1 - DEVICE_MODEL := WL-500gP - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := "WL500gp " -endef -TARGET_DEVICES += asus-wl-500gp-v1 - -define Device/asus-wl-500gp-v2 - DEVICE_MODEL := WL-500gP - DEVICE_VARIANT := v2 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := "WL500gpv2 " -endef -TARGET_DEVICES += asus-wl-500gp-v2 - -define Device/asus-wl-500w - DEVICE_MODEL := WL-500W - DEVICE_PACKAGES := kmod-b43 kmod-usb-uhci kmod-usb2-pci - $(Device/asus) - PRODUCTID := "WL500W " -endef -TARGET_DEVICES += asus-wl-500w - -define Device/asus-wl-520gu - DEVICE_MODEL := WL-520gU - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := "WL520gu " -endef -TARGET_DEVICES += asus-wl-520gu - -define Device/asus-wl-550ge - DEVICE_MODEL := WL-550gE - DEVICE_PACKAGES := kmod-b43 - $(Device/asus) - PRODUCTID := "WL550gE " -endef -TARGET_DEVICES += asus-wl-550ge - -define Device/asus-wl-hdd25 - DEVICE_MODEL := WL-HDD25 - DEVICE_PACKAGES := kmod-b43 kmod-b43legacy $(USB1_PACKAGES) - $(Device/asus) - PRODUCTID := "WLHDD " -endef -TARGET_DEVICES += asus-wl-hdd25 - -define Device/dlink-dwl-3150 - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DWL-3150 - IMAGES := bin - IMAGE/bin := append-rootfs | trx-with-loader | tailed-bin - BIN_TAIL := BCM-5352-2050-0000000-01 -endef -TARGET_DEVICES += dlink-dwl-3150 - -define Device/edimax-ps1208-mfg - DEVICE_VENDOR := Edimax - DEVICE_MODEL := PS-1208MFg - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - IMAGES := bin - IMAGE/bin := append-rootfs | trx-with-loader | edimax-bin -endef -TARGET_DEVICES += edimax-ps1208-mfg - -define Device/huawei-e970 - DEVICE_VENDOR := Huawei - DEVICE_MODEL := E970 - DEVICE_PACKAGES := kmod-b43 - KERNEL_NAME = vmlinux.gz - IMAGES := bin - IMAGE/bin := append-rootfs | trx-without-loader | huawei-bin -endef -TARGET_DEVICES += huawei-e970 - -define Device/linksys-wrt54g3g - DEVICE_MODEL := WRT54G3G - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := W54F - VERSION := 2.20.1 -endef -TARGET_DEVICES += linksys-wrt54g3g - -define Device/linksys-wrt54g3g-em - DEVICE_MODEL := WRT54G3G-EM - $(Device/linksys) - DEVICE_ID := W3GN - VERSION := 2.20.1 -endef -TARGET_DEVICES += linksys-wrt54g3g-em - -define Device/linksys-wrt54g3gv2-vf - DEVICE_VENDOR := Linksys - DEVICE_MODEL := WRT54G3GV2-VF - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - FILESYSTEMS := $(FS_128K) - IMAGES := noheader.bin bin - IMAGE/noheader.bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader - IMAGE/bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader | linksys-bin - DEVICE_ID := 3G2V - VERSION := 3.00.24 - SERIAL := 6 -endef -TARGET_DEVICES += linksys-wrt54g3gv2-vf - -define Device/linksys-wrt54g - DEVICE_MODEL := WRT54G - DEVICE_PACKAGES := kmod-b43 kmod-b43legacy - $(Device/linksys) - DEVICE_ID := W54G - VERSION := 4.71.1 -endef -TARGET_DEVICES += linksys-wrt54g - -define Device/linksys-wrt54gs - DEVICE_MODEL := WRT54GS - DEVICE_VARIANT := v1/v2/v3 - DEVICE_ALT0_VENDOR := Linksys - DEVICE_ALT0_MODEL := WRT54G-TM - DEVICE_ALT0_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - FILESYSTEMS := $(FS_128K) - DEVICE_ID := W54S - VERSION := 4.80.1 -endef -TARGET_DEVICES += linksys-wrt54gs - -define Device/linksys-wrt54gs-v4 - DEVICE_MODEL := WRT54GS - DEVICE_VARIANT := v4 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := W54s - VERSION := 1.09.1 -endef -TARGET_DEVICES += linksys-wrt54gs-v4 - -define Device/linksys-wrtsl54gs - DEVICE_MODEL := WRTSL54GS - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/linksys) - FILESYSTEMS := $(FS_128K) - DEVICE_ID := W54U - VERSION := 2.08.1 -endef -TARGET_DEVICES += linksys-wrtsl54gs - -define Device/linksys-wrt150n - DEVICE_MODEL := WRT150N - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := N150 - VERSION := 1.51.3 -endef -TARGET_DEVICES += linksys-wrt150n - -define Device/linksys-wrt160n-v1 - DEVICE_MODEL := WRT160N - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := N150 - VERSION := 1.50.1 -endef -TARGET_DEVICES += linksys-wrt160n-v1 - -define Device/linksys-wrt300n-v1 - DEVICE_MODEL := WRT300N - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - IMAGES := bin trx - DEVICE_ID := EWCB - VERSION := 1.03.6 -endef -TARGET_DEVICES += linksys-wrt300n-v1 - -define Device/motorola-wa840g - DEVICE_MODEL := WA840G - DEVICE_PACKAGES := kmod-b43 kmod-b43legacy - $(Device/motorola) - MOTOROLA_DEVICE := 2 -endef -TARGET_DEVICES += motorola-wa840g - -define Device/motorola-we800g - DEVICE_MODEL := WE800G - DEVICE_PACKAGES := kmod-b43 kmod-b43legacy - $(Device/motorola) - MOTOROLA_DEVICE := 3 -endef -TARGET_DEVICES += motorola-we800g - -define Device/motorola-wr850g - DEVICE_MODEL := WR850G - DEVICE_PACKAGES := kmod-b43 kmod-b43legacy - $(Device/motorola) - MOTOROLA_DEVICE := 1 -endef -TARGET_DEVICES += motorola-wr850g - -define Device/netgear-wgr614-v8 - DEVICE_MODEL := WGR614 - DEVICE_VARIANT := v8 - DEVICE_PACKAGES := kmod-b43 - $(Device/netgear) - NETGEAR_BOARD_ID := U12H072T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wgr614-v8 - -define Device/netgear-wgt634u - DEVICE_VENDOR := NETGEAR - DEVICE_MODEL := WGT634U - DEVICE_PACKAGES := kmod-ath5k $(USB2_PACKAGES) - FILESYSTEMS := $(FS_128K) - IMAGES := bin - IMAGE/bin := append-rootfs | trx-with-loader | prepend-with-elf -endef -TARGET_DEVICES += netgear-wgt634u - -define Device/netgear-wndr3300-v1 - DEVICE_MODEL := WNDR3300 - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/netgear) - NETGEAR_BOARD_ID := U12H093T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wndr3300-v1 - -define Device/netgear-wnr834b-v2 - DEVICE_MODEL := WNR834B - DEVICE_VARIANT := v2 - DEVICE_PACKAGES := kmod-b43 - $(Device/netgear) - NETGEAR_BOARD_ID := U12H081T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wnr834b-v2 - -define Device/usrobotics-usr5461 - DEVICE_VENDOR := US Robotics - DEVICE_MODEL := USR5461 - DEVICE_PACKAGES := kmod-b43 $(USB1_PACKAGES) - IMAGES := bin - IMAGE/bin := append-rootfs | trx-with-loader | usrobotics-bin -endef -TARGET_DEVICES += usrobotics-usr5461 - -TARGET_DEVICES += standard standard-noloader-gz -endif - -################################################# -# Subtarget mips74k -################################################# - -ifeq ($(SUBTARGET),mips74k) -define Device/asus-rt-ac53u - DEVICE_MODEL := RT-AC53U - DEVICE_PACKAGES := $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := RT-AC53U -endef -TARGET_DEVICES += asus-rt-ac53u - -define Device/asus-rt-ac66u - DEVICE_MODEL := RT-AC66U - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := RT-AC66U -endef -# TARGET_DEVICES += asus-rt-ac66u - -define Device/asus-rt-n10 - DEVICE_MODEL := RT-N10 - DEVICE_PACKAGES := kmod-b43 - $(Device/asus) - PRODUCTID := "RT-N10 " -endef -TARGET_DEVICES += asus-rt-n10 - -define Device/asus-rt-n10p - DEVICE_MODEL := RT-N10P - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/asus) - PRODUCTID := RT-N10P -endef -TARGET_DEVICES += asus-rt-n10p - -define Device/asus-rt-n10p-v2 - DEVICE_MODEL := RT-N10P - DEVICE_VARIANT := v2 - $(Device/asus) - PRODUCTID := RT-N10PV2 -endef -TARGET_DEVICES += asus-rt-n10p-v2 - -define Device/asus-rt-n10u - DEVICE_MODEL := RT-N10U - DEVICE_VARIANT := A - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := RT-N10U -endef -TARGET_DEVICES += asus-rt-n10u - -define Device/asus-rt-n10u-b - DEVICE_MODEL := RT-N10U - DEVICE_VARIANT := B - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := RT-N10U -endef -TARGET_DEVICES += asus-rt-n10u-b - -define Device/asus-rt-n12 - DEVICE_MODEL := RT-N12 - DEVICE_VARIANT := A1 - DEVICE_PACKAGES := kmod-b43 - $(Device/asus) - PRODUCTID := "RT-N12 " -endef -TARGET_DEVICES += asus-rt-n12 - -define Device/asus-rt-n12-b1 - DEVICE_MODEL := RT-N12 - DEVICE_VARIANT := B1 - $(Device/asus) - PRODUCTID := RT-N12B1 -endef -TARGET_DEVICES += asus-rt-n12-b1 - -define Device/asus-rt-n12-c1 - DEVICE_MODEL := RT-N12 - DEVICE_VARIANT := C1 - $(Device/asus) - PRODUCTID := RT-N12C1 -endef -TARGET_DEVICES += asus-rt-n12-c1 - -define Device/asus-rt-n12-d1 - DEVICE_MODEL := RT-N12 - DEVICE_VARIANT := D1 - $(Device/asus) - PRODUCTID := RT-N12D1 -endef -TARGET_DEVICES += asus-rt-n12-d1 - -define Device/asus-rt-n12hp - DEVICE_MODEL := RT-N12HP - $(Device/asus) - PRODUCTID := RT-N12HP -endef -TARGET_DEVICES += asus-rt-n12hp - -define Device/asus-rt-n14uhp - DEVICE_MODEL := RT-N14UHP - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := RT-N14UHP -endef -TARGET_DEVICES += asus-rt-n14uhp - -define Device/asus-rt-n15u - DEVICE_MODEL := RT-N15U - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := RT-N15U -endef -TARGET_DEVICES += asus-rt-n15u - -define Device/asus-rt-n16 - DEVICE_MODEL := RT-N16 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := RT-N16 -endef -TARGET_DEVICES += asus-rt-n16 - -define Device/asus-rt-n53 - DEVICE_MODEL := RT-N53 - DEVICE_PACKAGES := kmod-b43 - $(Device/asus) - PRODUCTID := RT-N53 -endef -TARGET_DEVICES += asus-rt-n53 - -define Device/asus-rt-n66u - DEVICE_MODEL := RT-N66U - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := RT-N66U -endef -TARGET_DEVICES += asus-rt-n66u - -define Device/asus-rt-n66w - DEVICE_MODEL := RT-N66W - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/asus) - PRODUCTID := RT-N66U -endef -TARGET_DEVICES += asus-rt-n66w - -define Device/linksys-wrt160n-v3 - DEVICE_MODEL := WRT160N - DEVICE_VARIANT := v3 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := N150 - VERSION := 3.0.3 -endef -TARGET_DEVICES += linksys-wrt160n-v3 - -define Device/linksys-wrt310n-v2 - DEVICE_MODEL := WRT310N - DEVICE_VARIANT := v2 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := 310N - VERSION := 2.0.1 -endef -TARGET_DEVICES += linksys-wrt310n-v2 - -define Device/linksys-wrt320n-v1 - DEVICE_MODEL := WRT320N - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := 320N - VERSION := 1.0.5 -endef -TARGET_DEVICES += linksys-wrt320n-v1 - -define Device/linksys-e900-v1 - DEVICE_MODEL := E900 - DEVICE_VARIANT := v1 - $(Device/linksys) - DEVICE_ID := E900 - VERSION := 1.0.4 -endef -TARGET_DEVICES += linksys-e900-v1 - -define Device/linksys-e1000 - DEVICE_MODEL := E1000 - DEVICE_VARIANT := v1/v2/v2.1 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := E100 - VERSION := 1.1.3 -endef -TARGET_DEVICES += linksys-e1000 - -define Device/linksys-e1200-v1 - DEVICE_MODEL := E1200 - DEVICE_VARIANT := v1 - $(Device/linksys) - DEVICE_ID := E120 - VERSION := 1.0.3 -endef -TARGET_DEVICES += linksys-e1200-v1 - -define Device/linksys-e1200-v2 - DEVICE_MODEL := E1200 - DEVICE_VARIANT := v2 - $(Device/linksys) - DEVICE_ID := E122 - VERSION := 1.0.4 -endef -TARGET_DEVICES += linksys-e1200-v2 - -define Device/linksys-e1500-v1 - DEVICE_MODEL := E1500 - DEVICE_VARIANT := v1 - $(Device/linksys) - DEVICE_ID := E150 - VERSION := 1.0.5 -endef -TARGET_DEVICES += linksys-e1500-v1 - -define Device/linksys-e1550-v1 - DEVICE_MODEL := E1550 - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/linksys) - DEVICE_ID := 1550 - VERSION := 1.0.3 -endef -TARGET_DEVICES += linksys-e1550-v1 - -define Device/linksys-e2000-v1 - DEVICE_MODEL := E2000 - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := 32XN - VERSION := 1.0.4 -endef -TARGET_DEVICES += linksys-e2000-v1 - -define Device/linksys-e2500-v1 - DEVICE_MODEL := E2500 - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := E25X - VERSION := 1.0.7 -endef -TARGET_DEVICES += linksys-e2500-v1 - -define Device/linksys-e2500-v2 - DEVICE_MODEL := E2500 - DEVICE_VARIANT := v2 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := E25X - VERSION := 2.0.0 -endef -TARGET_DEVICES += linksys-e2500-v2 - -define Device/linksys-e2500-v2.1 - DEVICE_MODEL := E2500 - DEVICE_VARIANT := v2.1 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := 25RU - VERSION := 2.1.0 -endef -TARGET_DEVICES += linksys-e2500-v2.1 - -define Device/linksys-e2500-v3 - DEVICE_MODEL := E2500 - DEVICE_VARIANT := v3 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := 25V3 - VERSION := 3.0.0 -endef -TARGET_DEVICES += linksys-e2500-v3 - -define Device/linksys-e3200-v1 - DEVICE_MODEL := E3200 - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/linksys) - DEVICE_ID := 3200 - VERSION := 1.0.1 -endef -TARGET_DEVICES += linksys-e3200-v1 - -define Device/linksys-e4200-v1 - DEVICE_MODEL := E4200 - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/linksys) - DEVICE_ID := 4200 - VERSION := 1.0.5 -endef -TARGET_DEVICES += linksys-e4200-v1 - -define Device/netgear-wgr614-v10-na - DEVICE_MODEL := WGR614 - DEVICE_VARIANT := v10 (NA) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H139T01_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wgr614-v10-na - -define Device/netgear-wgr614-v10 - DEVICE_MODEL := WGR614 - DEVICE_VARIANT := v10 - $(Device/netgear) - NETGEAR_BOARD_ID := U12H139T01_NETGEAR - NETGEAR_REGION := 1 -endef -TARGET_DEVICES += netgear-wgr614-v10 - -define Device/netgear-wn2500rp-v1 - DEVICE_MODEL := WN2500RP - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 - $(Device/netgear) - NETGEAR_BOARD_ID := U12H197T00_NETGEAR - NETGEAR_REGION := 1 -endef -TARGET_DEVICES += netgear-wn2500rp-v1 - -define Device/netgear-wn3000rp - DEVICE_MODEL := WN3000RP - $(Device/netgear) - NETGEAR_BOARD_ID := U12H163T01_NETGEAR - NETGEAR_REGION := 1 -endef -TARGET_DEVICES += netgear-wn3000rp - -define Device/netgear-wndr3400-v1 - DEVICE_MODEL := WNDR3400 - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H155T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wndr3400-v1 - -define Device/netgear-wndr3400-v2 - DEVICE_MODEL := WNDR3400 - DEVICE_VARIANT := v2 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H187T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wndr3400-v2 - -define Device/netgear-wndr3400-v3 - DEVICE_MODEL := WNDR3400 - DEVICE_VARIANT := v3 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H208T00_NETGEAR - NETGEAR_REGION := 1 -endef -TARGET_DEVICES += netgear-wndr3400-v3 - -define Device/netgear-wndr3700-v3 - DEVICE_MODEL := WNDR3700 - DEVICE_VARIANT := v3 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H194T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wndr3700-v3 - -define Device/netgear-wndr3400-vcna - DEVICE_MODEL := WNDR3400 - DEVICE_VARIANT := vcna - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H155T01_NETGEAR - NETGEAR_REGION := 2 -endef -# TARGET_DEVICES += netgear-wndr3400-vcna - -define Device/netgear-wndr4000 - DEVICE_MODEL := WNDR4000 - DEVICE_VARIANT := v1 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H181T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wndr4000 - -define Device/netgear-wnr1000-v3 - DEVICE_MODEL := WNR1000 - DEVICE_VARIANT := v3 - $(Device/netgear) - NETGEAR_BOARD_ID := U12H139T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wnr1000-v3 - -define Device/netgear-wnr2000v2 - DEVICE_MODEL := WNR2000 - DEVICE_VARIANT := v2 - DEVICE_PACKAGES := kmod-b43 - $(Device/netgear) - NETGEAR_BOARD_ID := U12H114T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wnr2000v2 - -define Device/netgear-wnr3500l-v1-na - DEVICE_MODEL := WNR3500L - DEVICE_VARIANT := v1 (NA) - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H136T99_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wnr3500l-v1-na - -define Device/netgear-wnr3500l-v1 - DEVICE_MODEL := WNR3500L - DEVICE_VARIANT := v1 (ROW) - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H136T99_NETGEAR - NETGEAR_REGION := 1 -endef -TARGET_DEVICES += netgear-wnr3500l-v1 - -define Device/netgear-wnr3500l-v2 - DEVICE_MODEL := WNR3500L - DEVICE_VARIANT := v2 - DEVICE_PACKAGES := $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H172T00_NETGEAR - NETGEAR_REGION := 1 -endef -TARGET_DEVICES += netgear-wnr3500l-v2 - -define Device/netgear-wnr3500u - DEVICE_MODEL := WNR3500U - DEVICE_PACKAGES := $(USB2_PACKAGES) - $(Device/netgear) - NETGEAR_BOARD_ID := U12H136T00_NETGEAR - NETGEAR_REGION := 2 -endef -# TARGET_DEVICES += netgear-wnr3500u - -define Device/netgear-wnr3500-v2 - DEVICE_MODEL := WNR3500 - DEVICE_VARIANT := v2 - DEVICE_PACKAGES := kmod-b43 - $(Device/netgear) - NETGEAR_BOARD_ID := U12H127T00_NETGEAR - NETGEAR_REGION := 2 -endef -TARGET_DEVICES += netgear-wnr3500-v2 - -define Device/netgear-wnr3500-v2-vc - DEVICE_MODEL := WNR3500 - DEVICE_VARIANT := v2 (VC) - DEVICE_PACKAGES := kmod-b43 - $(Device/netgear) - NETGEAR_BOARD_ID := U12H127T70_NETGEAR - NETGEAR_REGION := 2 -endef -# TARGET_DEVICES += netgear-wnr3500-v2-vc - -TARGET_DEVICES += standard standard-noloader-nodictionarylzma -endif +include $(SUBTARGET).mk ################################################# # Shared BuildImage defines diff --git a/target/linux/bcm47xx/image/generic.mk b/target/linux/bcm47xx/image/generic.mk new file mode 100644 index 0000000000..e5ae952137 --- /dev/null +++ b/target/linux/bcm47xx/image/generic.mk @@ -0,0 +1,72 @@ +################################################# +# Subtarget generic +################################################# + + # BCM4705 with tg3 +define Device/linksys-wrt300n-v1.1 + DEVICE_MODEL := WRT300N + DEVICE_VARIANT := v1.1 + DEVICE_PACKAGES := kmod-tg3 kmod-b43 + $(Device/linksys) + DEVICE_ID := EWC2 + VERSION := 1.51.2 +endef +TARGET_DEVICES += linksys-wrt300n-v1.1 + +define Device/linksys-wrt310n-v1 + DEVICE_MODEL := WRT310N + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-tg3 kmod-b43 + $(Device/linksys) + DEVICE_ID := 310N + VERSION := 1.0.10 +endef +TARGET_DEVICES += linksys-wrt310n-v1 + +define Device/linksys-wrt350n-v1 + DEVICE_MODEL := WRT350N + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES) + $(Device/linksys) + DEVICE_ID := EWCG + VERSION := 1.04.1 +endef +TARGET_DEVICES += linksys-wrt350n-v1 + +define Device/linksys-wrt610n-v1 + DEVICE_MODEL := WRT610N + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES) + $(Device/linksys) + DEVICE_ID := 610N + VERSION := 1.0.1 +endef +TARGET_DEVICES += linksys-wrt610n-v1 + + # BCMA SoC with SSB WiFi +define Device/linksys-wrt610n-v2 + DEVICE_MODEL := WRT610N + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES) + $(Device/linksys) + DEVICE_ID := 610N + VERSION := 2.0.0 +endef +TARGET_DEVICES += linksys-wrt610n-v2 + +define Device/linksys-e3000-v1 + DEVICE_MODEL := E3000 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES) + $(Device/linksys) + DEVICE_ID := 61XN + VERSION := 1.0.3 +endef +TARGET_DEVICES += linksys-e3000-v1 + +# generic has Ethernet drivers as modules so overwrite standard image +define Device/standard + DEVICE_TITLE := Image with LZMA loader and LZMA compressed kernel + DEVICE_PACKAGES := kmod-b44 kmod-bgmac kmod-tg3 +endef +TARGET_DEVICES += standard diff --git a/target/linux/bcm47xx/image/legacy.mk b/target/linux/bcm47xx/image/legacy.mk new file mode 100644 index 0000000000..66d7efd5d2 --- /dev/null +++ b/target/linux/bcm47xx/image/legacy.mk @@ -0,0 +1,292 @@ +################################################# +# Subtarget legacy +################################################# + +define Device/asus-wl-300g + DEVICE_MODEL := WL-300g + DEVICE_PACKAGES := kmod-b43 kmod-b43legacy + $(Device/asus) + PRODUCTID := "WL300g " +endef +TARGET_DEVICES += asus-wl-300g + +define Device/asus-wl-320gp + DEVICE_MODEL := WL-320gP + DEVICE_PACKAGES := kmod-b43 + $(Device/asus) + PRODUCTID := "WL320gP " +endef +TARGET_DEVICES += asus-wl-320gp + +define Device/asus-wl-330ge + DEVICE_MODEL := WL-330gE + DEVICE_PACKAGES := kmod-b43 + $(Device/asus) + PRODUCTID := "WL-330gE " +endef +TARGET_DEVICES += asus-wl-330ge + +define Device/asus-wl-500gd + DEVICE_MODEL := WL-500g Deluxe + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := "WL500gx " +endef +TARGET_DEVICES += asus-wl-500gd + +define Device/asus-wl-500gp-v1 + DEVICE_MODEL := WL-500gP + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := "WL500gp " +endef +TARGET_DEVICES += asus-wl-500gp-v1 + +define Device/asus-wl-500gp-v2 + DEVICE_MODEL := WL-500gP + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := "WL500gpv2 " +endef +TARGET_DEVICES += asus-wl-500gp-v2 + +define Device/asus-wl-500w + DEVICE_MODEL := WL-500W + DEVICE_PACKAGES := kmod-b43 kmod-usb-uhci kmod-usb2-pci + $(Device/asus) + PRODUCTID := "WL500W " +endef +TARGET_DEVICES += asus-wl-500w + +define Device/asus-wl-520gu + DEVICE_MODEL := WL-520gU + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := "WL520gu " +endef +TARGET_DEVICES += asus-wl-520gu + +define Device/asus-wl-550ge + DEVICE_MODEL := WL-550gE + DEVICE_PACKAGES := kmod-b43 + $(Device/asus) + PRODUCTID := "WL550gE " +endef +TARGET_DEVICES += asus-wl-550ge + +define Device/asus-wl-hdd25 + DEVICE_MODEL := WL-HDD25 + DEVICE_PACKAGES := kmod-b43 kmod-b43legacy $(USB1_PACKAGES) + $(Device/asus) + PRODUCTID := "WLHDD " +endef +TARGET_DEVICES += asus-wl-hdd25 + +define Device/dlink-dwl-3150 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DWL-3150 + IMAGES := bin + IMAGE/bin := append-rootfs | trx-with-loader | tailed-bin + BIN_TAIL := BCM-5352-2050-0000000-01 +endef +TARGET_DEVICES += dlink-dwl-3150 + +define Device/edimax-ps1208-mfg + DEVICE_VENDOR := Edimax + DEVICE_MODEL := PS-1208MFg + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + IMAGES := bin + IMAGE/bin := append-rootfs | trx-with-loader | edimax-bin +endef +TARGET_DEVICES += edimax-ps1208-mfg + +define Device/huawei-e970 + DEVICE_VENDOR := Huawei + DEVICE_MODEL := E970 + DEVICE_PACKAGES := kmod-b43 + KERNEL_NAME = vmlinux.gz + IMAGES := bin + IMAGE/bin := append-rootfs | trx-without-loader | huawei-bin +endef +TARGET_DEVICES += huawei-e970 + +define Device/linksys-wrt54g3g + DEVICE_MODEL := WRT54G3G + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := W54F + VERSION := 2.20.1 +endef +TARGET_DEVICES += linksys-wrt54g3g + +define Device/linksys-wrt54g3g-em + DEVICE_MODEL := WRT54G3G-EM + $(Device/linksys) + DEVICE_ID := W3GN + VERSION := 2.20.1 +endef +TARGET_DEVICES += linksys-wrt54g3g-em + +define Device/linksys-wrt54g3gv2-vf + DEVICE_VENDOR := Linksys + DEVICE_MODEL := WRT54G3GV2-VF + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + FILESYSTEMS := $(FS_128K) + IMAGES := noheader.bin bin + IMAGE/noheader.bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader + IMAGE/bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader | linksys-bin + DEVICE_ID := 3G2V + VERSION := 3.00.24 + SERIAL := 6 +endef +TARGET_DEVICES += linksys-wrt54g3gv2-vf + +define Device/linksys-wrt54g + DEVICE_MODEL := WRT54G + DEVICE_PACKAGES := kmod-b43 kmod-b43legacy + $(Device/linksys) + DEVICE_ID := W54G + VERSION := 4.71.1 +endef +TARGET_DEVICES += linksys-wrt54g + +define Device/linksys-wrt54gs + DEVICE_MODEL := WRT54GS + DEVICE_VARIANT := v1/v2/v3 + DEVICE_ALT0_VENDOR := Linksys + DEVICE_ALT0_MODEL := WRT54G-TM + DEVICE_ALT0_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + FILESYSTEMS := $(FS_128K) + DEVICE_ID := W54S + VERSION := 4.80.1 +endef +TARGET_DEVICES += linksys-wrt54gs + +define Device/linksys-wrt54gs-v4 + DEVICE_MODEL := WRT54GS + DEVICE_VARIANT := v4 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := W54s + VERSION := 1.09.1 +endef +TARGET_DEVICES += linksys-wrt54gs-v4 + +define Device/linksys-wrtsl54gs + DEVICE_MODEL := WRTSL54GS + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/linksys) + FILESYSTEMS := $(FS_128K) + DEVICE_ID := W54U + VERSION := 2.08.1 +endef +TARGET_DEVICES += linksys-wrtsl54gs + +define Device/linksys-wrt150n + DEVICE_MODEL := WRT150N + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := N150 + VERSION := 1.51.3 +endef +TARGET_DEVICES += linksys-wrt150n + +define Device/linksys-wrt160n-v1 + DEVICE_MODEL := WRT160N + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := N150 + VERSION := 1.50.1 +endef +TARGET_DEVICES += linksys-wrt160n-v1 + +define Device/linksys-wrt300n-v1 + DEVICE_MODEL := WRT300N + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + IMAGES := bin trx + DEVICE_ID := EWCB + VERSION := 1.03.6 +endef +TARGET_DEVICES += linksys-wrt300n-v1 + +define Device/motorola-wa840g + DEVICE_MODEL := WA840G + DEVICE_PACKAGES := kmod-b43 kmod-b43legacy + $(Device/motorola) + MOTOROLA_DEVICE := 2 +endef +TARGET_DEVICES += motorola-wa840g + +define Device/motorola-we800g + DEVICE_MODEL := WE800G + DEVICE_PACKAGES := kmod-b43 kmod-b43legacy + $(Device/motorola) + MOTOROLA_DEVICE := 3 +endef +TARGET_DEVICES += motorola-we800g + +define Device/motorola-wr850g + DEVICE_MODEL := WR850G + DEVICE_PACKAGES := kmod-b43 kmod-b43legacy + $(Device/motorola) + MOTOROLA_DEVICE := 1 +endef +TARGET_DEVICES += motorola-wr850g + +define Device/netgear-wgr614-v8 + DEVICE_MODEL := WGR614 + DEVICE_VARIANT := v8 + DEVICE_PACKAGES := kmod-b43 + $(Device/netgear) + NETGEAR_BOARD_ID := U12H072T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wgr614-v8 + +define Device/netgear-wgt634u + DEVICE_VENDOR := NETGEAR + DEVICE_MODEL := WGT634U + DEVICE_PACKAGES := kmod-ath5k $(USB2_PACKAGES) + FILESYSTEMS := $(FS_128K) + IMAGES := bin + IMAGE/bin := append-rootfs | trx-with-loader | prepend-with-elf +endef +TARGET_DEVICES += netgear-wgt634u + +define Device/netgear-wndr3300-v1 + DEVICE_MODEL := WNDR3300 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/netgear) + NETGEAR_BOARD_ID := U12H093T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wndr3300-v1 + +define Device/netgear-wnr834b-v2 + DEVICE_MODEL := WNR834B + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-b43 + $(Device/netgear) + NETGEAR_BOARD_ID := U12H081T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wnr834b-v2 + +define Device/usrobotics-usr5461 + DEVICE_VENDOR := US Robotics + DEVICE_MODEL := USR5461 + DEVICE_PACKAGES := kmod-b43 $(USB1_PACKAGES) + IMAGES := bin + IMAGE/bin := append-rootfs | trx-with-loader | usrobotics-bin +endef +TARGET_DEVICES += usrobotics-usr5461 + +TARGET_DEVICES += standard standard-noloader-gz diff --git a/target/linux/bcm47xx/image/mips74k.mk b/target/linux/bcm47xx/image/mips74k.mk new file mode 100644 index 0000000000..82e045745c --- /dev/null +++ b/target/linux/bcm47xx/image/mips74k.mk @@ -0,0 +1,482 @@ +################################################# +# Subtarget mips74k +################################################# + +define Device/asus-rt-ac53u + DEVICE_MODEL := RT-AC53U + DEVICE_PACKAGES := $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := RT-AC53U +endef +TARGET_DEVICES += asus-rt-ac53u + +define Device/asus-rt-ac66u + DEVICE_MODEL := RT-AC66U + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := RT-AC66U +endef +# TARGET_DEVICES += asus-rt-ac66u + +define Device/asus-rt-n10 + DEVICE_MODEL := RT-N10 + DEVICE_PACKAGES := kmod-b43 + $(Device/asus) + PRODUCTID := "RT-N10 " +endef +TARGET_DEVICES += asus-rt-n10 + +define Device/asus-rt-n10p + DEVICE_MODEL := RT-N10P + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/asus) + PRODUCTID := RT-N10P +endef +TARGET_DEVICES += asus-rt-n10p + +define Device/asus-rt-n10p-v2 + DEVICE_MODEL := RT-N10P + DEVICE_VARIANT := v2 + $(Device/asus) + PRODUCTID := RT-N10PV2 +endef +TARGET_DEVICES += asus-rt-n10p-v2 + +define Device/asus-rt-n10u + DEVICE_MODEL := RT-N10U + DEVICE_VARIANT := A + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := RT-N10U +endef +TARGET_DEVICES += asus-rt-n10u + +define Device/asus-rt-n10u-b + DEVICE_MODEL := RT-N10U + DEVICE_VARIANT := B + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := RT-N10U +endef +TARGET_DEVICES += asus-rt-n10u-b + +define Device/asus-rt-n12 + DEVICE_MODEL := RT-N12 + DEVICE_VARIANT := A1 + DEVICE_PACKAGES := kmod-b43 + $(Device/asus) + PRODUCTID := "RT-N12 " +endef +TARGET_DEVICES += asus-rt-n12 + +define Device/asus-rt-n12-b1 + DEVICE_MODEL := RT-N12 + DEVICE_VARIANT := B1 + $(Device/asus) + PRODUCTID := RT-N12B1 +endef +TARGET_DEVICES += asus-rt-n12-b1 + +define Device/asus-rt-n12-c1 + DEVICE_MODEL := RT-N12 + DEVICE_VARIANT := C1 + $(Device/asus) + PRODUCTID := RT-N12C1 +endef +TARGET_DEVICES += asus-rt-n12-c1 + +define Device/asus-rt-n12-d1 + DEVICE_MODEL := RT-N12 + DEVICE_VARIANT := D1 + $(Device/asus) + PRODUCTID := RT-N12D1 +endef +TARGET_DEVICES += asus-rt-n12-d1 + +define Device/asus-rt-n12hp + DEVICE_MODEL := RT-N12HP + $(Device/asus) + PRODUCTID := RT-N12HP +endef +TARGET_DEVICES += asus-rt-n12hp + +define Device/asus-rt-n14uhp + DEVICE_MODEL := RT-N14UHP + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := RT-N14UHP +endef +TARGET_DEVICES += asus-rt-n14uhp + +define Device/asus-rt-n15u + DEVICE_MODEL := RT-N15U + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := RT-N15U +endef +TARGET_DEVICES += asus-rt-n15u + +define Device/asus-rt-n16 + DEVICE_MODEL := RT-N16 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := RT-N16 +endef +TARGET_DEVICES += asus-rt-n16 + +define Device/asus-rt-n53 + DEVICE_MODEL := RT-N53 + DEVICE_PACKAGES := kmod-b43 + $(Device/asus) + PRODUCTID := RT-N53 +endef +TARGET_DEVICES += asus-rt-n53 + +define Device/asus-rt-n66u + DEVICE_MODEL := RT-N66U + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := RT-N66U +endef +TARGET_DEVICES += asus-rt-n66u + +define Device/asus-rt-n66w + DEVICE_MODEL := RT-N66W + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/asus) + PRODUCTID := RT-N66U +endef +TARGET_DEVICES += asus-rt-n66w + +define Device/linksys-wrt160n-v3 + DEVICE_MODEL := WRT160N + DEVICE_VARIANT := v3 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := N150 + VERSION := 3.0.3 +endef +TARGET_DEVICES += linksys-wrt160n-v3 + +define Device/linksys-wrt310n-v2 + DEVICE_MODEL := WRT310N + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := 310N + VERSION := 2.0.1 +endef +TARGET_DEVICES += linksys-wrt310n-v2 + +define Device/linksys-wrt320n-v1 + DEVICE_MODEL := WRT320N + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := 320N + VERSION := 1.0.5 +endef +TARGET_DEVICES += linksys-wrt320n-v1 + +define Device/linksys-e900-v1 + DEVICE_MODEL := E900 + DEVICE_VARIANT := v1 + $(Device/linksys) + DEVICE_ID := E900 + VERSION := 1.0.4 +endef +TARGET_DEVICES += linksys-e900-v1 + +define Device/linksys-e1000 + DEVICE_MODEL := E1000 + DEVICE_VARIANT := v1/v2/v2.1 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := E100 + VERSION := 1.1.3 +endef +TARGET_DEVICES += linksys-e1000 + +define Device/linksys-e1200-v1 + DEVICE_MODEL := E1200 + DEVICE_VARIANT := v1 + $(Device/linksys) + DEVICE_ID := E120 + VERSION := 1.0.3 +endef +TARGET_DEVICES += linksys-e1200-v1 + +define Device/linksys-e1200-v2 + DEVICE_MODEL := E1200 + DEVICE_VARIANT := v2 + $(Device/linksys) + DEVICE_ID := E122 + VERSION := 1.0.4 +endef +TARGET_DEVICES += linksys-e1200-v2 + +define Device/linksys-e1500-v1 + DEVICE_MODEL := E1500 + DEVICE_VARIANT := v1 + $(Device/linksys) + DEVICE_ID := E150 + VERSION := 1.0.5 +endef +TARGET_DEVICES += linksys-e1500-v1 + +define Device/linksys-e1550-v1 + DEVICE_MODEL := E1550 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/linksys) + DEVICE_ID := 1550 + VERSION := 1.0.3 +endef +TARGET_DEVICES += linksys-e1550-v1 + +define Device/linksys-e2000-v1 + DEVICE_MODEL := E2000 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := 32XN + VERSION := 1.0.4 +endef +TARGET_DEVICES += linksys-e2000-v1 + +define Device/linksys-e2500-v1 + DEVICE_MODEL := E2500 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := E25X + VERSION := 1.0.7 +endef +TARGET_DEVICES += linksys-e2500-v1 + +define Device/linksys-e2500-v2 + DEVICE_MODEL := E2500 + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := E25X + VERSION := 2.0.0 +endef +TARGET_DEVICES += linksys-e2500-v2 + +define Device/linksys-e2500-v2.1 + DEVICE_MODEL := E2500 + DEVICE_VARIANT := v2.1 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := 25RU + VERSION := 2.1.0 +endef +TARGET_DEVICES += linksys-e2500-v2.1 + +define Device/linksys-e2500-v3 + DEVICE_MODEL := E2500 + DEVICE_VARIANT := v3 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := 25V3 + VERSION := 3.0.0 +endef +TARGET_DEVICES += linksys-e2500-v3 + +define Device/linksys-e3200-v1 + DEVICE_MODEL := E3200 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/linksys) + DEVICE_ID := 3200 + VERSION := 1.0.1 +endef +TARGET_DEVICES += linksys-e3200-v1 + +define Device/linksys-e4200-v1 + DEVICE_MODEL := E4200 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/linksys) + DEVICE_ID := 4200 + VERSION := 1.0.5 +endef +TARGET_DEVICES += linksys-e4200-v1 + +define Device/netgear-wgr614-v10-na + DEVICE_MODEL := WGR614 + DEVICE_VARIANT := v10 (NA) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H139T01_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wgr614-v10-na + +define Device/netgear-wgr614-v10 + DEVICE_MODEL := WGR614 + DEVICE_VARIANT := v10 + $(Device/netgear) + NETGEAR_BOARD_ID := U12H139T01_NETGEAR + NETGEAR_REGION := 1 +endef +TARGET_DEVICES += netgear-wgr614-v10 + +define Device/netgear-wn2500rp-v1 + DEVICE_MODEL := WN2500RP + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 + $(Device/netgear) + NETGEAR_BOARD_ID := U12H197T00_NETGEAR + NETGEAR_REGION := 1 +endef +TARGET_DEVICES += netgear-wn2500rp-v1 + +define Device/netgear-wn3000rp + DEVICE_MODEL := WN3000RP + $(Device/netgear) + NETGEAR_BOARD_ID := U12H163T01_NETGEAR + NETGEAR_REGION := 1 +endef +TARGET_DEVICES += netgear-wn3000rp + +define Device/netgear-wndr3400-v1 + DEVICE_MODEL := WNDR3400 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H155T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wndr3400-v1 + +define Device/netgear-wndr3400-v2 + DEVICE_MODEL := WNDR3400 + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H187T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wndr3400-v2 + +define Device/netgear-wndr3400-v3 + DEVICE_MODEL := WNDR3400 + DEVICE_VARIANT := v3 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H208T00_NETGEAR + NETGEAR_REGION := 1 +endef +TARGET_DEVICES += netgear-wndr3400-v3 + +define Device/netgear-wndr3700-v3 + DEVICE_MODEL := WNDR3700 + DEVICE_VARIANT := v3 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H194T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wndr3700-v3 + +define Device/netgear-wndr3400-vcna + DEVICE_MODEL := WNDR3400 + DEVICE_VARIANT := vcna + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H155T01_NETGEAR + NETGEAR_REGION := 2 +endef +# TARGET_DEVICES += netgear-wndr3400-vcna + +define Device/netgear-wndr4000 + DEVICE_MODEL := WNDR4000 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H181T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wndr4000 + +define Device/netgear-wnr1000-v3 + DEVICE_MODEL := WNR1000 + DEVICE_VARIANT := v3 + $(Device/netgear) + NETGEAR_BOARD_ID := U12H139T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wnr1000-v3 + +define Device/netgear-wnr2000v2 + DEVICE_MODEL := WNR2000 + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-b43 + $(Device/netgear) + NETGEAR_BOARD_ID := U12H114T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wnr2000v2 + +define Device/netgear-wnr3500l-v1-na + DEVICE_MODEL := WNR3500L + DEVICE_VARIANT := v1 (NA) + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H136T99_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wnr3500l-v1-na + +define Device/netgear-wnr3500l-v1 + DEVICE_MODEL := WNR3500L + DEVICE_VARIANT := v1 (ROW) + DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H136T99_NETGEAR + NETGEAR_REGION := 1 +endef +TARGET_DEVICES += netgear-wnr3500l-v1 + +define Device/netgear-wnr3500l-v2 + DEVICE_MODEL := WNR3500L + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H172T00_NETGEAR + NETGEAR_REGION := 1 +endef +TARGET_DEVICES += netgear-wnr3500l-v2 + +define Device/netgear-wnr3500u + DEVICE_MODEL := WNR3500U + DEVICE_PACKAGES := $(USB2_PACKAGES) + $(Device/netgear) + NETGEAR_BOARD_ID := U12H136T00_NETGEAR + NETGEAR_REGION := 2 +endef +# TARGET_DEVICES += netgear-wnr3500u + +define Device/netgear-wnr3500-v2 + DEVICE_MODEL := WNR3500 + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-b43 + $(Device/netgear) + NETGEAR_BOARD_ID := U12H127T00_NETGEAR + NETGEAR_REGION := 2 +endef +TARGET_DEVICES += netgear-wnr3500-v2 + +define Device/netgear-wnr3500-v2-vc + DEVICE_MODEL := WNR3500 + DEVICE_VARIANT := v2 (VC) + DEVICE_PACKAGES := kmod-b43 + $(Device/netgear) + NETGEAR_BOARD_ID := U12H127T70_NETGEAR + NETGEAR_REGION := 2 +endef +# TARGET_DEVICES += netgear-wnr3500-v2-vc + +TARGET_DEVICES += standard standard-noloader-nodictionarylzma -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Sun Jun 7 07:13:46 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Sun, 7 Jun 2020 13:13:46 +0200 Subject: [OpenWrt-Devel] [PATCH] apm821xx: move device definitions to subfiles Message-ID: <20200607111346.2164-1-freifunk@adrianschmutzler.de> With several subtargets, the image/Makefile becomes crowded after a while. Many targets have moved their device definitions to $subtarget.mk files to have them more organized, let's do this here as well. While at it, also move subtarget-specific build recipes. Cc: Christian Lamparter Signed-off-by: Adrian Schmutzler --- target/linux/apm821xx/image/Makefile | 159 +-------------------------- target/linux/apm821xx/image/nand.mk | 126 +++++++++++++++++++++ target/linux/apm821xx/image/sata.mk | 25 +++++ 3 files changed, 152 insertions(+), 158 deletions(-) create mode 100644 target/linux/apm821xx/image/nand.mk create mode 100644 target/linux/apm821xx/image/sata.mk diff --git a/target/linux/apm821xx/image/Makefile b/target/linux/apm821xx/image/Makefile index c26c015751..1b7c466a44 100644 --- a/target/linux/apm821xx/image/Makefile +++ b/target/linux/apm821xx/image/Makefile @@ -34,14 +34,6 @@ define Build/copy-file cat "$(1)" > "$@" endef -define Build/create-uImage-dtb - # flat_dt target expect FIT image - which WNDR4700's uboot doesn't support - -$(STAGING_DIR_HOST)/bin/mkimage -A $(LINUX_KARCH) \ - -O linux -T kernel -C none \ - -n '$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION)' \ - -d "$@.dtb" "$@.dtb.uimage" -endef - define Build/dtb $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb,,--space $(DTB_SIZE)) endef @@ -50,27 +42,6 @@ define Build/export-dtb cp $(IMAGE_KERNEL).dtb $@ endef -define Build/hdd-img - ./mbl_gen_hdd_img.sh $@ $@.boot $(IMAGE_ROOTFS) $(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE) -endef - -define Build/MerakiAdd-dtb - $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb) - ( \ - dd if=$@.dtb bs=$(DTB_SIZE) conv=sync; \ - cat $@ ; \ - ) > $@.new - @mv $@.new $@ -endef - -define Build/MerakiNAND - -$(STAGING_DIR_HOST)/bin/mkmerakifw \ - -B $(BOARD_NAME) -s \ - -i $@ \ - -o $@.new - @cp $@.new $@ -endef - define Build/MuImage-initramfs rm -rf $@.fakerd $@.new @@ -119,134 +90,6 @@ define Device/Default SUPPORTED_DEVICES = $(subst _,$(comma),$(1)) endef -ifeq ($(SUBTARGET),nand) - -define Device/meraki_mr24 - DEVICE_VENDOR := Cisco Meraki - DEVICE_MODEL := MR24 - DEVICE_PACKAGES := kmod-spi-gpio -swconfig - BOARD_NAME := mr24 - DEVICE_DTS := meraki-mr24 - IMAGES := sysupgrade.bin - DTB_SIZE := 64512 - IMAGE_SIZE := 8191k - KERNEL := kernel-bin | lzma | uImage lzma | MerakiAdd-dtb | MerakiNAND - KERNEL_INITRAMFS := kernel-bin | lzma | dtb | MuImage-initramfs lzma - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - UBINIZE_OPTS := -E 5 - SUPPORTED_DEVICES += mr24 -endef -TARGET_DEVICES += meraki_mr24 - -define Device/meraki_mx60 - DEVICE_VENDOR := Cisco Meraki - DEVICE_MODEL := MX60/MX60W - DEVICE_PACKAGES := kmod-spi-gpio kmod-usb-ledtrig-usbport kmod-usb-dwc2 \ - kmod-usb-storage block-mount - BOARD_NAME := mx60 - DEVICE_DTS := meraki-mx60 - BLOCKSIZE := 63k - IMAGES := sysupgrade.bin - DTB_SIZE := 64512 - IMAGE_SIZE := 1021m - KERNEL_SIZE := 4031k - KERNEL := kernel-bin | gzip | uImage gzip | MerakiAdd-dtb | MerakiNAND - KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - UBINIZE_OPTS := -E 5 - SUPPORTED_DEVICES += mx60 -endef -TARGET_DEVICES += meraki_mx60 - -define Device/netgear_wndap6x0 - DEVICE_VENDOR := NETGEAR - DEVICE_PACKAGES := kmod-eeprom-at24 - SUBPAGESIZE := 256 - PAGESIZE := 512 - BLOCKSIZE := 16k - DTB_SIZE := 32768 - IMAGE_SIZE := 27392k - IMAGES := sysupgrade.bin factory.img - KERNEL_SIZE := 4032k - KERNEL := dtb | kernel-bin | gzip | MuImage-initramfs gzip - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi - UBINIZE_OPTS := -E 5 -endef - -define Device/netgear_wndap620 - $(Device/netgear_wndap6x0) - DEVICE_MODEL := WNDAP620 (Premium Wireless-N) - DEVICE_DTS := netgear-wndap620 -endef -TARGET_DEVICES += netgear_wndap620 - -define Device/netgear_wndap660 - $(Device/netgear_wndap6x0) - DEVICE_MODEL := WNDAP660 (Dual Radio Dual Band Wireless-N) - DEVICE_DTS := netgear-wndap660 -endef -TARGET_DEVICES += netgear_wndap660 - -define Device/netgear_wndr4700 - DEVICE_VENDOR := NETGEAR - DEVICE_MODEL := Centria N900 WNDR4700/WNDR4720 - DEVICE_PACKAGES := badblocks block-mount e2fsprogs kmod-hwmon-drivetemp \ - kmod-dm kmod-fs-ext4 kmod-fs-vfat kmod-usb-ledtrig-usbport \ - kmod-md-mod kmod-nls-cp437 kmod-nls-iso8859-1 kmod-nls-iso8859-15 \ - kmod-nls-utf8 kmod-usb3 kmod-usb-dwc2 kmod-usb-storage \ - partx-utils - BOARD_NAME := wndr4700 - DEVICE_DTS := netgear-wndr4700 - PAGESIZE := 2048 - SUBPAGESIZE := 512 - BLOCKSIZE := 128k - DTB_SIZE := 131008 - IMAGE_SIZE := 24960k - IMAGES := factory.img sysupgrade.bin - ARTIFACTS := device-tree.dtb - KERNEL_SIZE := 3584k - # append a fake/empty rootfs to fool netgear's uboot - # CHECK_DNI_FIRMWARE_ROOTFS_INTEGRITY in do_chk_dniimg() - KERNEL := kernel-bin | lzma | uImage lzma | pad-offset $$(BLOCKSIZE) 64 | \ - append-uImage-fakehdr filesystem | dtb | create-uImage-dtb | prepend-dtb - KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip - IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \ - netgear-dni | check-size - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - ARTIFACT/device-tree.dtb := export-dtb | uImage none - NETGEAR_BOARD_ID := WNDR4700 - NETGEAR_HW_ID := 29763875+128+256 - UBINIZE_OPTS := -E 5 - SUPPORTED_DEVICES += wndr4700 -endef -TARGET_DEVICES += netgear_wndr4700 - -endif - -ifeq ($(SUBTARGET),sata) - -define Device/wd_mybooklive - DEVICE_VENDOR := Western Digital - DEVICE_MODEL := My Book Live Series (Single + Duo) - DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-fs-vfat wpad-basic - DEVICE_DTS := wd-mybooklive - SUPPORTED_DEVICES += mbl wd,mybooklive-duo - BLOCKSIZE := 1k - DTB_SIZE := 16384 - KERNEL := kernel-bin | dtb | gzip | uImage gzip - KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip - IMAGES := factory.img.gz sysupgrade.img.gz - ARTIFACTS := apollo3g.dtb - DEVICE_DTB := apollo3g.dtb - FILESYSTEMS := ext4 squashfs - IMAGE/factory.img.gz := boot-script | boot-img | hdd-img | gzip - IMAGE/sysupgrade.img.gz := boot-script | boot-img | hdd-img | gzip | append-metadata - ARTIFACT/apollo3g.dtb := export-dtb -endef - -TARGET_DEVICES += wd_mybooklive - -endif +include $(SUBTARGET).mk $(eval $(call BuildImage)) diff --git a/target/linux/apm821xx/image/nand.mk b/target/linux/apm821xx/image/nand.mk new file mode 100644 index 0000000000..a7338e79a0 --- /dev/null +++ b/target/linux/apm821xx/image/nand.mk @@ -0,0 +1,126 @@ +define Build/create-uImage-dtb + # flat_dt target expect FIT image - which WNDR4700's uboot doesn't support + -$(STAGING_DIR_HOST)/bin/mkimage -A $(LINUX_KARCH) \ + -O linux -T kernel -C none \ + -n '$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION)' \ + -d "$@.dtb" "$@.dtb.uimage" +endef + +define Build/MerakiAdd-dtb + $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb) + ( \ + dd if=$@.dtb bs=$(DTB_SIZE) conv=sync; \ + cat $@ ; \ + ) > $@.new + @mv $@.new $@ +endef + +define Build/MerakiNAND + -$(STAGING_DIR_HOST)/bin/mkmerakifw \ + -B $(BOARD_NAME) -s \ + -i $@ \ + -o $@.new + @cp $@.new $@ +endef + + +define Device/meraki_mr24 + DEVICE_VENDOR := Cisco Meraki + DEVICE_MODEL := MR24 + DEVICE_PACKAGES := kmod-spi-gpio -swconfig + BOARD_NAME := mr24 + DEVICE_DTS := meraki-mr24 + IMAGES := sysupgrade.bin + DTB_SIZE := 64512 + IMAGE_SIZE := 8191k + KERNEL := kernel-bin | lzma | uImage lzma | MerakiAdd-dtb | MerakiNAND + KERNEL_INITRAMFS := kernel-bin | lzma | dtb | MuImage-initramfs lzma + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + UBINIZE_OPTS := -E 5 + SUPPORTED_DEVICES += mr24 +endef +TARGET_DEVICES += meraki_mr24 + +define Device/meraki_mx60 + DEVICE_VENDOR := Cisco Meraki + DEVICE_MODEL := MX60/MX60W + DEVICE_PACKAGES := kmod-spi-gpio kmod-usb-ledtrig-usbport kmod-usb-dwc2 \ + kmod-usb-storage block-mount + BOARD_NAME := mx60 + DEVICE_DTS := meraki-mx60 + BLOCKSIZE := 63k + IMAGES := sysupgrade.bin + DTB_SIZE := 64512 + IMAGE_SIZE := 1021m + KERNEL_SIZE := 4031k + KERNEL := kernel-bin | gzip | uImage gzip | MerakiAdd-dtb | MerakiNAND + KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + UBINIZE_OPTS := -E 5 + SUPPORTED_DEVICES += mx60 +endef +TARGET_DEVICES += meraki_mx60 + +define Device/netgear_wndap6x0 + DEVICE_VENDOR := NETGEAR + DEVICE_PACKAGES := kmod-eeprom-at24 + SUBPAGESIZE := 256 + PAGESIZE := 512 + BLOCKSIZE := 16k + DTB_SIZE := 32768 + IMAGE_SIZE := 27392k + IMAGES := sysupgrade.bin factory.img + KERNEL_SIZE := 4032k + KERNEL := dtb | kernel-bin | gzip | MuImage-initramfs gzip + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi + UBINIZE_OPTS := -E 5 +endef + +define Device/netgear_wndap620 + $(Device/netgear_wndap6x0) + DEVICE_MODEL := WNDAP620 (Premium Wireless-N) + DEVICE_DTS := netgear-wndap620 +endef +TARGET_DEVICES += netgear_wndap620 + +define Device/netgear_wndap660 + $(Device/netgear_wndap6x0) + DEVICE_MODEL := WNDAP660 (Dual Radio Dual Band Wireless-N) + DEVICE_DTS := netgear-wndap660 +endef +TARGET_DEVICES += netgear_wndap660 + +define Device/netgear_wndr4700 + DEVICE_VENDOR := NETGEAR + DEVICE_MODEL := Centria N900 WNDR4700/WNDR4720 + DEVICE_PACKAGES := badblocks block-mount e2fsprogs kmod-hwmon-drivetemp \ + kmod-dm kmod-fs-ext4 kmod-fs-vfat kmod-usb-ledtrig-usbport \ + kmod-md-mod kmod-nls-cp437 kmod-nls-iso8859-1 kmod-nls-iso8859-15 \ + kmod-nls-utf8 kmod-usb3 kmod-usb-dwc2 kmod-usb-storage \ + partx-utils + BOARD_NAME := wndr4700 + DEVICE_DTS := netgear-wndr4700 + PAGESIZE := 2048 + SUBPAGESIZE := 512 + BLOCKSIZE := 128k + DTB_SIZE := 131008 + IMAGE_SIZE := 24960k + IMAGES := factory.img sysupgrade.bin + ARTIFACTS := device-tree.dtb + KERNEL_SIZE := 3584k + # append a fake/empty rootfs to fool netgear's uboot + # CHECK_DNI_FIRMWARE_ROOTFS_INTEGRITY in do_chk_dniimg() + KERNEL := kernel-bin | lzma | uImage lzma | pad-offset $$(BLOCKSIZE) 64 | \ + append-uImage-fakehdr filesystem | dtb | create-uImage-dtb | prepend-dtb + KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip + IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \ + netgear-dni | check-size + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + ARTIFACT/device-tree.dtb := export-dtb | uImage none + NETGEAR_BOARD_ID := WNDR4700 + NETGEAR_HW_ID := 29763875+128+256 + UBINIZE_OPTS := -E 5 + SUPPORTED_DEVICES += wndr4700 +endef +TARGET_DEVICES += netgear_wndr4700 diff --git a/target/linux/apm821xx/image/sata.mk b/target/linux/apm821xx/image/sata.mk new file mode 100644 index 0000000000..444b2441f0 --- /dev/null +++ b/target/linux/apm821xx/image/sata.mk @@ -0,0 +1,25 @@ +define Build/hdd-img + ./mbl_gen_hdd_img.sh $@ $@.boot $(IMAGE_ROOTFS) $(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE) +endef + + +define Device/wd_mybooklive + DEVICE_VENDOR := Western Digital + DEVICE_MODEL := My Book Live Series (Single + Duo) + DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-fs-vfat wpad-basic + DEVICE_DTS := wd-mybooklive + SUPPORTED_DEVICES += mbl wd,mybooklive-duo + BLOCKSIZE := 1k + DTB_SIZE := 16384 + KERNEL := kernel-bin | dtb | gzip | uImage gzip + KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip + IMAGES := factory.img.gz sysupgrade.img.gz + ARTIFACTS := apollo3g.dtb + DEVICE_DTB := apollo3g.dtb + FILESYSTEMS := ext4 squashfs + IMAGE/factory.img.gz := boot-script | boot-img | hdd-img | gzip + IMAGE/sysupgrade.img.gz := boot-script | boot-img | hdd-img | gzip | append-metadata + ARTIFACT/apollo3g.dtb := export-dtb +endef + +TARGET_DEVICES += wd_mybooklive -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mschiffer at universe-factory.net Sun Jun 7 07:33:13 2020 From: mschiffer at universe-factory.net (Matthias Schiffer) Date: Sun, 7 Jun 2020 13:33:13 +0200 Subject: [OpenWrt-Devel] [PATCH] treewide: simplify inclusion of subtarget image files In-Reply-To: <20200607111115.1958-1-freifunk@adrianschmutzler.de> References: <20200607111115.1958-1-freifunk@adrianschmutzler.de> Message-ID: <0c450c30-e1c6-a592-8840-02232ae24dea@universe-factory.net> On 6/7/20 1:11 PM, Adrian Schmutzler wrote: > Many target use a repetitive if-include scheme for their subtarget > image files, though their names are consistent with the subtarget > names. > > This patch removes these redundant conditions and just uses the > variable for the include where the target setup allows it. > > For sunxi, this includes a trivial rename of the subtarget image > Makefiles. > > Signed-off-by: Adrian Schmutzler > --- [...] > diff --git a/target/linux/ath79/image/Makefile b/target/linux/ath79/image/Makefile > index 529baf8f57..a555cfc6d5 100644 > --- a/target/linux/ath79/image/Makefile > +++ b/target/linux/ath79/image/Makefile > @@ -68,20 +68,16 @@ define Device/Default > append-rootfs | pad-rootfs | append-metadata | check-size > endef > > +include $(SUBTARGET).mk > + > ifeq ($(SUBTARGET),generic) > -include ./generic.mk > -include ./generic-tp-link.mk > -include ./generic-ubnt.mk > -endif > -ifeq ($(SUBTARGET),mikrotik) > -include ./mikrotik.mk > -endif > -ifeq ($(SUBTARGET),nand) > -include ./nand.mk > +include generic-tp-link.mk > +include generic-ubnt.mk How about moving these lines into generic.mk, etc.? That way we could get rid of the ifeq ($(SUBTARGET),...) completely. > endif > + > ifeq ($(SUBTARGET),tiny) > -include ./tiny.mk > -include ./tiny-netgear.mk > -include ./tiny-tp-link.mk > +include tiny-netgear.mk > +include tiny-tp-link.mk > endif > + > $(eval $(call BuildImage)) [...] -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Sun Jun 7 07:56:31 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Sun, 7 Jun 2020 13:56:31 +0200 Subject: [OpenWrt-Devel] [PATCH] treewide: simplify inclusion of subtarget image files In-Reply-To: <0c450c30-e1c6-a592-8840-02232ae24dea@universe-factory.net> References: <20200607111115.1958-1-freifunk@adrianschmutzler.de> <0c450c30-e1c6-a592-8840-02232ae24dea@universe-factory.net> Message-ID: <008101d63cc2$afb49de0$0f1dd9a0$@adrianschmutzler.de> Hi Matthias, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Matthias Schiffer > Sent: Sonntag, 7. Juni 2020 13:33 > To: Adrian Schmutzler > Cc: openwrt-devel at lists.openwrt.org > Subject: Re: [OpenWrt-Devel] [PATCH] treewide: simplify inclusion of > subtarget image files > > On 6/7/20 1:11 PM, Adrian Schmutzler wrote: > > Many target use a repetitive if-include scheme for their subtarget > > image files, though their names are consistent with the subtarget > > names. > > > > This patch removes these redundant conditions and just uses the > > variable for the include where the target setup allows it. > > > > For sunxi, this includes a trivial rename of the subtarget image > > Makefiles. > > > > Signed-off-by: Adrian Schmutzler > > --- > [...] > > diff --git a/target/linux/ath79/image/Makefile > > b/target/linux/ath79/image/Makefile > > index 529baf8f57..a555cfc6d5 100644 > > --- a/target/linux/ath79/image/Makefile > > +++ b/target/linux/ath79/image/Makefile > > @@ -68,20 +68,16 @@ define Device/Default > > append-rootfs | pad-rootfs | append-metadata | check-size endef > > > > +include $(SUBTARGET).mk > > + > > ifeq ($(SUBTARGET),generic) > > -include ./generic.mk > > -include ./generic-tp-link.mk > > -include ./generic-ubnt.mk > > -endif > > -ifeq ($(SUBTARGET),mikrotik) > > -include ./mikrotik.mk > > -endif > > -ifeq ($(SUBTARGET),nand) > > -include ./nand.mk > > +include generic-tp-link.mk > > +include generic-ubnt.mk > > How about moving these lines into generic.mk, etc.? That way we could get > rid of the ifeq ($(SUBTARGET),...) completely. I considered that as well, but personally I like it better "my" way, as the image/Makefile provides "an overview" of the relevant files rather than having a cascading arrangement. (Of course, that's purely matter of taste and your proposed method wouldn't be worse by any means.) Best Adrian > > > endif > > + > > ifeq ($(SUBTARGET),tiny) > > -include ./tiny.mk > > -include ./tiny-netgear.mk > > -include ./tiny-tp-link.mk > > +include tiny-netgear.mk > > +include tiny-tp-link.mk > > endif > > + > > $(eval $(call BuildImage)) > [...] -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From iancooper at hotmail.com Sun Jun 7 11:36:34 2020 From: iancooper at hotmail.com (Ian Cooper) Date: Sun, 7 Jun 2020 16:36:34 +0100 Subject: [OpenWrt-Devel] [PATCH 1/2] libcxxabi: add In-Reply-To: <20200606185223.9749-1-rosenp@gmail.com> References: <20200606185223.9749-1-rosenp@gmail.com> Message-ID: On Sat, 6 Jun 2020 11:52:22 -0700 Rosen Penev wrote: > This will be used for libcxx. > > Signed-off-by: Rosen Penev > --- > package/libs/libcxxabi/Makefile | 71 +++++++++++++++++++++++++++++++++ > 1 file changed, 71 insertions(+) > create mode 100644 package/libs/libcxxabi/Makefile > > diff --git a/package/libs/libcxxabi/Makefile b/package/libs/libcxxabi/Makefile > new file mode 100644 > index 0000000000..90547561b2 > --- /dev/null > +++ b/package/libs/libcxxabi/Makefile > @@ -0,0 +1,71 @@ > + > +# > +# This is free software, licensed under the GNU General Public License v2. > +# See /LICENSE for more information. > +# > + > +include $(TOPDIR)/rules.mk > + > +PKG_NAME:=libcxxabi > +PKG_VERSION:=10.0.0 > +PKG_RELEASE:=1 > + > +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz > +PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION) > +PKG_HASH:=e71bac75a88c9dde455ad3f2a2b449bf745eafd41d2d8432253b2964e0ca14e1 > +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src > + > +PKG_MAINTAINER:=Rosen Penev > +PKG_LICENSE:=MIT > +PKG_LICENSE_FILES:=LICENSE.txt > + > +PKG_BUILD_PARALLEL:=1 > +CMAKE_BINARY_SUBDIR:=build > + > +include $(INCLUDE_DIR)/package.mk > +include $(INCLUDE_DIR)/cmake.mk > + > +define Package/libcxxabi > + SECTION:=libs > + CATEGORY:=Libraries > + TITLE:=LLVM lib++abi > + URL:=https://libcxxabi.llvm.org/ > + DEPENDS:=+libpthread > + BUILDONLY:=1 > +endef > + > +define Package/libcxxabi/description > + libc++abi is a new implementation of low level support for a standard C++ library. > +endef > + > +CMAKE_OPTIONS += \ > + -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ > + -DLIBCXXABI_ENABLE_PEDANTIC=OFF \ > + -DLIBCXXABI_ENABLE_PIC=ON \ > + -DLIBCXXABI_ENABLE_WERROR=OFF \ > + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \ > + -DLIBCXXABI_USE_COMPILER_RT=OFF \ > + -DLIBCXXABI_ENABLE_THREADS=ON \ > + -DLIBCXXABI_HAS_PTHREAD_API=ON \ > + -DLIBCXXABI_INCLUDE_TESTS=OFF \ > + -DLIBCXXABI_LIBDIR_SUFFIX="" \ > + -DLIBCXXABI_INSTALL_LIBRARY=ON \ > + -DLIBCXXABI_ENABLE_SHARED=OFF \ > + -DLIBCXXABI_LIBCXX_SRC_DIR=$(BUILD_DIR)/libcxx-$(PKG_VERSION).src \ > + -DLIBCXXABI_LIBCXX_INCLUDES=$(BUILD_DIR)/libcxx-$(PKG_VERSION).src/include > + > +TARGET_CXXFLAGS += -flto > +TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed > + > +define Build/Prepare > + $(MAKE) -C $(TOPDIR)/package/libs/libcxx prepare > + $(call Build/Prepare/Default) > +endef > + > +define Build/InstallDev > + $(call Build/InstallDev/cmake,$(1)) > + $(INSTALL_DIR) $(1)/usr/include/ > + $(INSTALL_DATA) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/ > +endef > + > +$(eval $(call BuildPackage,libcxxabi)) Reviewed-by: Ian Cooper _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From iancooper at hotmail.com Sun Jun 7 11:37:04 2020 From: iancooper at hotmail.com (Ian Cooper) Date: Sun, 7 Jun 2020 16:37:04 +0100 Subject: [OpenWrt-Devel] [PATCH 2/2] libcxx: update to 10.0.0 In-Reply-To: <20200606185223.9749-2-rosenp@gmail.com> References: <20200606185223.9749-1-rosenp@gmail.com> <20200606185223.9749-2-rosenp@gmail.com> Message-ID: On Sat, 6 Jun 2020 11:52:23 -0700 Rosen Penev wrote: > Switched to upstream tarballs. > > Switched to libcxxabi as using libsupc++ is quite wonky. > > Fixed description. > > Removed patches. The fixes are cosmetic. > > Added ssp patch. This one is needed for i386 and powerpc under musl. > > Compile tested every C++ package in the tree with the exception of > several boost packages. There's something broken with boost. > > Ran tested with gerbera. > > Signed-off-by: Rosen Penev > --- > package/libs/libcxx/Makefile | 18 +++++------ > package/libs/libcxx/files/g++-libcxx | 2 +- > package/libs/libcxx/patches/010-cxx17.patch | 14 --------- > package/libs/libcxx/patches/010-ssp.patch | 13 ++++++++ > package/libs/libcxx/patches/020-fixes.patch | 35 --------------------- > 5 files changed, 23 insertions(+), 59 deletions(-) > delete mode 100644 package/libs/libcxx/patches/010-cxx17.patch > create mode 100644 package/libs/libcxx/patches/010-ssp.patch > delete mode 100644 package/libs/libcxx/patches/020-fixes.patch > > diff --git a/package/libs/libcxx/Makefile b/package/libs/libcxx/Makefile > index 8343cbb427..3809bea651 100644 > --- a/package/libs/libcxx/Makefile > +++ b/package/libs/libcxx/Makefile > @@ -7,19 +7,20 @@ > include $(TOPDIR)/rules.mk > > PKG_NAME:=libcxx > -PKG_VERSION:=9.0.1 > -PKG_RELEASE:=4 > +PKG_VERSION:=10.0.0 > +PKG_RELEASE:=1 > > -PKG_SOURCE_PROTO:=git > -PKG_SOURCE_URL:=https://git.llvm.org/git/libcxx > -PKG_SOURCE_VERSION:=2076f539f410805ef88692b9c0ce0a0b882a7680 > -PKG_MIRROR_HASH:=d527880a18dec9109575c76717cf5288fb91c11381b9d261cae2e5bebcbdab2e > +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz > +PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION) > +PKG_HASH:=270f8a3f176f1981b0f6ab8aa556720988872ec2b48ed3b605d0ced8d09156c7 > +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src > > PKG_MAINTAINER:=Rosen Penev > PKG_LICENSE:=MIT > PKG_LICENSE_FILES:=LICENSE.txt > > PKG_BUILD_PARALLEL:=1 > +PKG_BUILD_DEPENDS:=libcxxabi > CMAKE_BINARY_SUBDIR:=build > > include $(INCLUDE_DIR)/package.mk > @@ -34,12 +35,11 @@ define Package/libcxx > endef > > define Package/libcxx/description > - LLVM C++ library targeting C++11 and above > + libc++ is an implementation of the C++ standard library, targeting C++11, C++14 and above. > endef > > CMAKE_OPTIONS += \ > - -DLIBCXX_CXX_ABI="libsupc++" \ > - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/include/c++/$(CONFIG_GCC_VERSION);$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/include/c++/$(CONFIG_GCC_VERSION)/$(REAL_GNU_TARGET_NAME)" \ > + -DLIBCXX_CXX_ABI="libcxxabi" \ > -DLIBCXX_ENABLE_ASSERTIONS=OFF \ > -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF \ > -DLIBCXX_INCLUDE_BENCHMARKS=OFF \ > diff --git a/package/libs/libcxx/files/g++-libcxx b/package/libs/libcxx/files/g++-libcxx > index 81ca46eb0e..f37afb2fd5 100755 > --- a/package/libs/libcxx/files/g++-libcxx > +++ b/package/libs/libcxx/files/g++-libcxx > @@ -13,7 +13,7 @@ do > -static) [ "$WRAPPER_LIBS" != "-lc -lgcc_s -lssp_nonshared -lgcc_eh" ] && WRAPPER_LIBS="-lc -lgcc_s -lssp_nonshared -lgcc_eh" ;; > esac > done > -[ "$WRAPPER_INCLIB" = "Y" ] && WRAPPER_OPTIONS="-nodefaultlibs $WRAPPER_LIBDIR -lc++ -lsupc++ $WRAPPER_LIBS" > +[ "$WRAPPER_INCLIB" = "Y" ] && WRAPPER_OPTIONS="-nodefaultlibs $WRAPPER_LIBDIR -lc++ -lc++abi $WRAPPER_LIBS" > > exec CXX -fno-builtin -nostdinc++ -DGCC_HASCLASSVISIBILITY "$WRAPPER_INCLUDEDIR" "$@" $WRAPPER_OPTIONS > > diff --git a/package/libs/libcxx/patches/010-cxx17.patch b/package/libs/libcxx/patches/010-cxx17.patch > deleted file mode 100644 > index dceec9d4f3..0000000000 > --- a/package/libs/libcxx/patches/010-cxx17.patch > +++ /dev/null > @@ -1,14 +0,0 @@ > ---- a/CMakeLists.txt > -+++ b/CMakeLists.txt > -@@ -524,9 +524,9 @@ remove_flags(-Wno-pedantic -pedantic-err > - if (LIBCXX_HAS_MUSL_LIBC OR LIBCXX_TARGETING_CLANG_CL) > - # musl's pthread implementations uses volatile types in their structs which is > - # not a constexpr in C++11 but is in C++14, so we use C++14 with musl. > -- set(LIBCXX_STANDARD_VER c++14 CACHE STRING "internal option to change build dialect") > -+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect") > - else() > -- set(LIBCXX_STANDARD_VER c++11 CACHE STRING "internal option to change build dialect") > -+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect") > - endif() > - add_compile_flags_if_supported(-std=${LIBCXX_STANDARD_VER}) > - add_compile_flags_if_supported("/std:${LIBCXX_STANDARD_VER}") > diff --git a/package/libs/libcxx/patches/010-ssp.patch b/package/libs/libcxx/patches/010-ssp.patch > new file mode 100644 > index 0000000000..c9dc90c7f2 > --- /dev/null > +++ b/package/libs/libcxx/patches/010-ssp.patch > @@ -0,0 +1,13 @@ > +--- a/CMakeLists.txt > ++++ b/CMakeLists.txt > +@@ -760,6 +760,10 @@ function(cxx_link_system_libraries target) > + target_link_libraries(${target} PRIVATE atomic) > + endif() > + > ++ if (LIBCXX_HAS_MUSL_LIBC) > ++ target_link_libraries(${target} PRIVATE ssp_nonshared) > ++ endif() > ++ > + if (MINGW) > + target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}") > + endif() > diff --git a/package/libs/libcxx/patches/020-fixes.patch b/package/libs/libcxx/patches/020-fixes.patch > deleted file mode 100644 > index 22ac494c04..0000000000 > --- a/package/libs/libcxx/patches/020-fixes.patch > +++ /dev/null > @@ -1,35 +0,0 @@ > ---- a/include/cmath > -+++ b/include/cmath > -@@ -615,7 +615,7 @@ _Fp __lerp(_Fp __a, _Fp __b, _Fp __t) no > - > - if (__t == 1) return __b; > - const _Fp __x = __a + __t * (__b - __a); > -- if (__t > 1 == __b > __a) > -+ if ((__t > 1) == (__b > __a)) > - return __b < __x ? __x : __b; > - else > - return __x < __b ? __x : __b; > ---- a/include/memory > -+++ b/include/memory > -@@ -1696,7 +1696,7 @@ struct _LIBCPP_TEMPLATE_VIS allocator_tr > - ptrdiff_t _Np = __end1 - __begin1; > - __end2 -= _Np; > - if (_Np > 0) > -- _VSTD::memcpy(__end2, __begin1, _Np * sizeof(_Tp)); > -+ __end2 = __begin1; > - } > - > - private: > ---- a/src/filesystem/filesystem_common.h > -+++ b/src/filesystem/filesystem_common.h > -@@ -197,8 +197,8 @@ private: > - using chrono::duration; > - using chrono::duration_cast; > - > --using TimeSpec = struct ::timespec; > --using StatT = struct ::stat; > -+using TimeSpec = struct timespec; > -+using StatT = struct stat; > - > - template - bool IsFloat = is_floating_point::value> Reviewed-by: Ian Cooper _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From john at phrozen.org Sun Jun 7 13:51:12 2020 From: john at phrozen.org (John Crispin) Date: Sun, 7 Jun 2020 19:51:12 +0200 Subject: [OpenWrt-Devel] DSA vlan configuration In-Reply-To: <87h7votjpz.fsf@miraculix.mork.no> References: <87pnafyo82.fsf@miraculix.mork.no> <87h7votjpz.fsf@miraculix.mork.no> Message-ID: <1e9548d3-cf78-5456-1c8a-62deb9eb61b2@phrozen.org> On 06.06.20 15:19, Bj?rn Mork wrote: > Bj?rn Mork writes: > >> I wonder if I have understood this correctly: >> 1) vlan_filtering is required when bridging tagged and untagged DSA >> ports, and >> 2) all bridge ports, including the wireless VIFs, must be configured >> with the correct VIDs when vlan_filtering is enabled >> >> An if so, how are we supposed to configure that? > > quarky just posted a great tip in the forum: > https://forum.openwrt.org/t/mt7621-dsa-switch-vlan-configuration/65458/2?u=bmork > > Despite having looked for exactly this, I had not seen the > "vlan_default_pvid" setting before. This seems to solve the problem I > described. > > I believe the tagged wan port, where one VID on wan is part of a bridge, > is a semi-common usecase for OpenWrt (and CPEs in general). Maybe this > kind of bridge automatically should enable settings like: > > ip link set type bridge vlan_default_pvid > ip link set type bridge vlan_filtering 1 > > as described by quarky? > > AFAICS, a DSA based brigde won't work without something like that, and > having each user figure that out by themselves is going to create a lot > of frustration... > > > Bj?rn > Hi Bj?rn, indeed, we need to put this into netifd. would it be possible to collect all the relevant info and put it into the wiki for manual setup ? i would volunteer to add it into netifd in that case. John _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From vincent at systemli.org Sun Jun 7 15:54:22 2020 From: vincent at systemli.org (Nick) Date: Sun, 7 Jun 2020 21:54:22 +0200 Subject: [OpenWrt-Devel] olsrd: not compiling with gcc 9 Message-ID: I can not compile olsrd daemon with gcc9. > #define isNaN(x) (x != x) > ... > if (!isNaN(gpsdata->fix.time)) { Here fix.time is a struct timespec. The call is just wrong, or? Why should I check a struct for a valid float? _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Sun Jun 7 16:03:52 2020 From: rosenp at gmail.com (Rosen Penev) Date: Sun, 7 Jun 2020 13:03:52 -0700 Subject: [OpenWrt-Devel] olsrd: not compiling with gcc 9 In-Reply-To: References: Message-ID: <9C5049CD-C89B-441C-9AEB-6E7D0F94EC85@gmail.com> > Le 7 juin 2020 ? 1:00 PM, Nick a ?crit : > > ?I can not compile olsrd daemon with gcc9. >> #define isNaN(x) (x != x) >> ... >> if (!isNaN(gpsdata->fix.time)) { > Here fix.time is a struct timespec. > The call is just wrong, or? Why should I check a struct for a valid float? This broke when gpsutils got updated. API change with libgps. > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From vincent at systemli.org Sun Jun 7 16:27:06 2020 From: vincent at systemli.org (Nick) Date: Sun, 7 Jun 2020 22:27:06 +0200 Subject: [OpenWrt-Devel] olsrd: not compiling with gcc 9 In-Reply-To: <9C5049CD-C89B-441C-9AEB-6E7D0F94EC85@gmail.com> References: <9C5049CD-C89B-441C-9AEB-6E7D0F94EC85@gmail.com> Message-ID: Here is a PR that is fixing the issue. Why is that not merged? :/ https://github.com/OLSR/olsrd/pull/79/files On 07.06.20 22:03, Rosen Penev wrote: > >> Le 7 juin 2020 ? 1:00 PM, Nick a ?crit : >> >> ?I can not compile olsrd daemon with gcc9. >>> #define isNaN(x) (x != x) >>> ... >>> if (!isNaN(gpsdata->fix.time)) { >> Here fix.time is a struct timespec. >> The call is just wrong, or? Why should I check a struct for a valid float? > This broke when gpsutils got updated. API change with libgps. >> _______________________________________________ >> openwrt-devel mailing list >> openwrt-devel at lists.openwrt.org >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From vincent at systemli.org Sun Jun 7 16:38:12 2020 From: vincent at systemli.org (Nick) Date: Sun, 7 Jun 2020 22:38:12 +0200 Subject: [OpenWrt-Devel] olsrd: not compiling with gcc 9 In-Reply-To: References: <9C5049CD-C89B-441C-9AEB-6E7D0F94EC85@gmail.com> Message-ID: I would suggest doing this PR as patch like freifunk berlin is doing it: https://github.com/freifunk-berlin/firmware/commit/93f9a026e025c7b663369f5284cec0bb91345220 Otherwise, olsrd won't compile anymore. :/ Or making a fork, because olsrd seems not to be maintained anymore. On 07.06.20 22:27, Nick wrote: > Here is a PR that is fixing the issue. Why is that not merged? :/ > > https://github.com/OLSR/olsrd/pull/79/files > > On 07.06.20 22:03, Rosen Penev wrote: >>> Le 7 juin 2020 ? 1:00 PM, Nick a ?crit : >>> >>> ?I can not compile olsrd daemon with gcc9. >>>> #define isNaN(x) (x != x) >>>> ... >>>> if (!isNaN(gpsdata->fix.time)) { >>> Here fix.time is a struct timespec. >>> The call is just wrong, or? Why should I check a struct for a valid float? >> This broke when gpsutils got updated. API change with libgps. >>> _______________________________________________ >>> openwrt-devel mailing list >>> openwrt-devel at lists.openwrt.org >>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel >> _______________________________________________ >> openwrt-devel mailing list >> openwrt-devel at lists.openwrt.org >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From noreply at github.com Sun Jun 7 17:08:55 2020 From: noreply at github.com (Stephen Walker) Date: Sun, 07 Jun 2020 14:08:55 -0700 Subject: [OpenWrt-Devel] [sdwalker/sdwalker.github.io] 8eec96: This week's update Message-ID: Branch: refs/heads/master Home: https://github.com/sdwalker/sdwalker.github.io Commit: 8eec96afe126fbc48ec648a0165e7ec5138d5e6a https://github.com/sdwalker/sdwalker.github.io/commit/8eec96afe126fbc48ec648a0165e7ec5138d5e6a Author: Stephen Walker Date: 2020-06-07 (Sun, 07 Jun 2020) Changed paths: M uscan/index-18.06.html M uscan/index-19.07.html M uscan/index.html Log Message: ----------- This week's update _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Sun Jun 7 17:39:08 2020 From: rosenp at gmail.com (Rosen Penev) Date: Sun, 7 Jun 2020 14:39:08 -0700 Subject: [OpenWrt-Devel] olsrd: not compiling with gcc 9 In-Reply-To: References: Message-ID: <0669A844-2A58-4A26-AFEF-E09072CF4B2E@gmail.com> > Le 7 juin 2020 ? 1:38 PM, Nick a ?crit : > > ?I would suggest doing this PR as patch like freifunk berlin is doing it: > https://github.com/freifunk-berlin/firmware/commit/93f9a026e025c7b663369f5284cec0bb91345220 Someone needs to propose one then. > > Otherwise, olsrd won't compile anymore. :/ Or making a fork, because > olsrd seems not to be maintained anymore. > >> On 07.06.20 22:27, Nick wrote: >> Here is a PR that is fixing the issue. Why is that not merged? :/ >> >> https://github.com/OLSR/olsrd/pull/79/files >> >> On 07.06.20 22:03, Rosen Penev wrote: >>>> Le 7 juin 2020 ? 1:00 PM, Nick a ?crit : >>>> >>>> ?I can not compile olsrd daemon with gcc9. >>>>> #define isNaN(x) (x != x) >>>>> ... >>>>> if (!isNaN(gpsdata->fix.time)) { >>>> Here fix.time is a struct timespec. >>>> The call is just wrong, or? Why should I check a struct for a valid float? >>> This broke when gpsutils got updated. API change with libgps. >>>> _______________________________________________ >>>> openwrt-devel mailing list >>>> openwrt-devel at lists.openwrt.org >>>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel >>> _______________________________________________ >>> openwrt-devel mailing list >>> openwrt-devel at lists.openwrt.org >>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel >> _______________________________________________ >> openwrt-devel mailing list >> openwrt-devel at lists.openwrt.org >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From devel-sven at geroedel.de Sun Jun 7 17:51:06 2020 From: devel-sven at geroedel.de (Sven Roederer) Date: Sun, 07 Jun 2020 23:51:06 +0200 Subject: [OpenWrt-Devel] olsrd: not compiling with gcc 9 In-Reply-To: <0669A844-2A58-4A26-AFEF-E09072CF4B2E@gmail.com> References: <0669A844-2A58-4A26-AFEF-E09072CF4B2E@gmail.com> Message-ID: <4114315.hVT4NOPAdj@strike> Am Sonntag, 7. Juni 2020, 23:39:08 CEST schrieb Rosen Penev: > > Le 7 juin 2020 ? 1:38 PM, Nick a ?crit : > > > > ?I would suggest doing this PR as patch like freifunk berlin is doing it: > > https://github.com/freifunk-berlin/firmware/commit/93f9a026e025c7b663369f5 > > 284cec0bb91345220 > Someone needs to propose one then. > This patch was referenced by an issue (https://github.com/openwrt-routing/ packages/issues/547#issuecomment-586213155), but original author was not able to runtime-test. In Freifunk Berlin we also don't use the pud-plugin and can't therefore not confirm it. > > Otherwise, olsrd won't compile anymore. :/ Or making a fork, because > > olsrd seems not to be maintained anymore. > > I just opened PR #575 to mark this package as broken, till there is a maintainer again ... Sven > >> On 07.06.20 22:27, Nick wrote: > >> Here is a PR that is fixing the issue. Why is that not merged? :/ > >> > >> https://github.com/OLSR/olsrd/pull/79/files > >> > >> On 07.06.20 22:03, Rosen Penev wrote: > >>>> Le 7 juin 2020 ? 1:00 PM, Nick a ?crit : > >>>> > >>>> ?I can not compile olsrd daemon with gcc9. > >>>> > >>>>> #define isNaN(x) (x != x) > >>>>> ... > >>>>> if (!isNaN(gpsdata->fix.time)) { > >>>> > >>>> Here fix.time is a struct timespec. > >>>> The call is just wrong, or? Why should I check a struct for a valid > >>>> float? > >>> > >>> This broke when gpsutils got updated. API change with libgps. > >>> _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From zhangkaiheb at 126.com Sun Jun 7 21:59:38 2020 From: zhangkaiheb at 126.com (kai zhang) Date: Mon, 8 Jun 2020 09:59:38 +0800 (CST) Subject: [OpenWrt-Devel] [PATCH] build: svn: remove the check for trust-server-cert option Message-ID: <490ce8ac.1476.17291a7962a.Coremail.zhangkaiheb@126.com> The command:(svn help export) does not display trust-server-cert option by default even if it is supported with svn version 1.13.0. Signed-off-by: kai zhang --- include/download.mk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/include/download.mk b/include/download.mk index 9c8ada052b..6c7b5f6371 100644 --- a/include/download.mk +++ b/include/download.mk @@ -167,9 +167,7 @@ define DownloadMethod/svn cd $(TMP_DIR)/dl && \ rm -rf $(SUBDIR) && \ [ \! -d $(SUBDIR) ] && \ - ( svn help export | grep -q trust-server-cert && \ - svn export --non-interactive --trust-server-cert -r$(VERSION) $(URL) $(SUBDIR) || \ - svn export --non-interactive -r$(VERSION) $(URL) $(SUBDIR) ) && \ + svn export --non-interactive --trust-server-cert -r$(VERSION) $(URL) $(SUBDIR) && \ echo "Packing checkout..." && \ export TAR_TIMESTAMP="" && \ $(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Mon Jun 8 05:36:27 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Mon, 8 Jun 2020 12:36:27 +0300 Subject: [OpenWrt-Devel] [PATCH 0/4] ath79: add support for D-Link DAP-2695-A1 Message-ID: <20200608093631.1196081-1-stijn@linux-ipv6.be> This series adds support for the D-Link DAP-2695-A1 to the ath79 target. Also available in my staging tree at [0]. Successfully tested sysupgrade from ar71xx to ath79. [0] https://git.openwrt.org/?p=openwrt/staging/stintel.git;a=summary Stijn Tintel (4): mtd: enable wrgg support for ath79 ath79: enable wrgg MTD splitter ath79: use separate file for generic D-Link images ath79: add support for D-Link DAP-2695-A1 package/system/mtd/src/Makefile | 2 +- target/linux/ath79/config-4.19 | 1 + target/linux/ath79/config-5.4 | 1 + .../ath79/dts/qca9558_dlink_dap-2695-a1.dts | 172 ++++++++++++++++++ .../generic/base-files/etc/board.d/01_leds | 5 + .../generic/base-files/etc/board.d/02_network | 6 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 + .../etc/uci-defaults/09_fix-checksum | 8 + .../base-files/lib/preinit/10_fix_eth_mac.sh | 5 + target/linux/ath79/image/Makefile | 1 + target/linux/ath79/image/generic-dlink.mk | 147 +++++++++++++++ target/linux/ath79/image/generic.mk | 115 ------------ 13 files changed, 355 insertions(+), 116 deletions(-) create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts create mode 100644 target/linux/ath79/image/generic-dlink.mk -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Mon Jun 8 05:36:28 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Mon, 8 Jun 2020 12:36:28 +0300 Subject: [OpenWrt-Devel] [PATCH 1/4] mtd: enable wrgg support for ath79 In-Reply-To: <20200608093631.1196081-1-stijn@linux-ipv6.be> References: <20200608093631.1196081-1-stijn@linux-ipv6.be> Message-ID: <20200608093631.1196081-2-stijn@linux-ipv6.be> This is required for the D-Link DAP-2695-A1. Signed-off-by: Stijn Tintel --- package/system/mtd/src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/system/mtd/src/Makefile b/package/system/mtd/src/Makefile index e504a04478..6da31a04a4 100644 --- a/package/system/mtd/src/Makefile +++ b/package/system/mtd/src/Makefile @@ -8,7 +8,7 @@ obj.wrg = wrg.o md5.o obj.wrgg = wrgg.o md5.o obj.tpl = tpl_ramips_recoveryflag.o obj.ar71xx = trx.o $(obj.seama) $(obj.wrgg) -obj.ath79 = $(obj.seama) +obj.ath79 = $(obj.seama) $(obj.wrgg) obj.gemini = $(obj.wrgg) obj.brcm = trx.o obj.bcm47xx = $(obj.brcm) -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Mon Jun 8 05:36:29 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Mon, 8 Jun 2020 12:36:29 +0300 Subject: [OpenWrt-Devel] [PATCH 2/4] ath79: enable wrgg MTD splitter In-Reply-To: <20200608093631.1196081-1-stijn@linux-ipv6.be> References: <20200608093631.1196081-1-stijn@linux-ipv6.be> Message-ID: <20200608093631.1196081-3-stijn@linux-ipv6.be> This is required for the D-Link DAP-2695. Signed-off-by: Stijn Tintel --- target/linux/ath79/config-4.19 | 1 + target/linux/ath79/config-5.4 | 1 + 2 files changed, 2 insertions(+) diff --git a/target/linux/ath79/config-4.19 b/target/linux/ath79/config-4.19 index cfa0ebd759..81fd017aba 100644 --- a/target/linux/ath79/config-4.19 +++ b/target/linux/ath79/config-4.19 @@ -171,6 +171,7 @@ CONFIG_MTD_SPLIT_LZMA_FW=y CONFIG_MTD_SPLIT_SEAMA_FW=y CONFIG_MTD_SPLIT_TPLINK_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y +CONFIG_MTD_SPLIT_WRGG_FW=y CONFIG_MTD_VIRT_CONCAT=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y diff --git a/target/linux/ath79/config-5.4 b/target/linux/ath79/config-5.4 index 80f7209b5b..b458edce1e 100644 --- a/target/linux/ath79/config-5.4 +++ b/target/linux/ath79/config-5.4 @@ -178,6 +178,7 @@ CONFIG_MTD_SPLIT_LZMA_FW=y CONFIG_MTD_SPLIT_SEAMA_FW=y CONFIG_MTD_SPLIT_TPLINK_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y +CONFIG_MTD_SPLIT_WRGG_FW=y CONFIG_MTD_VIRT_CONCAT=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Mon Jun 8 05:36:30 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Mon, 8 Jun 2020 12:36:30 +0300 Subject: [OpenWrt-Devel] [PATCH 3/4] ath79: use separate file for generic D-Link images In-Reply-To: <20200608093631.1196081-1-stijn@linux-ipv6.be> References: <20200608093631.1196081-1-stijn@linux-ipv6.be> Message-ID: <20200608093631.1196081-4-stijn@linux-ipv6.be> Move the generic D-Link image definitions to a separate file, as is done for several other vendors. Signed-off-by: Stijn Tintel --- target/linux/ath79/image/Makefile | 1 + target/linux/ath79/image/generic-dlink.mk | 114 +++++++++++++++++++++ target/linux/ath79/image/generic.mk | 115 ---------------------- 3 files changed, 115 insertions(+), 115 deletions(-) create mode 100644 target/linux/ath79/image/generic-dlink.mk diff --git a/target/linux/ath79/image/Makefile b/target/linux/ath79/image/Makefile index 529baf8f57..6a286d3f1f 100644 --- a/target/linux/ath79/image/Makefile +++ b/target/linux/ath79/image/Makefile @@ -70,6 +70,7 @@ endef ifeq ($(SUBTARGET),generic) include ./generic.mk +include ./generic-dlink.mk include ./generic-tp-link.mk include ./generic-ubnt.mk endif diff --git a/target/linux/ath79/image/generic-dlink.mk b/target/linux/ath79/image/generic-dlink.mk new file mode 100644 index 0000000000..96cb015a09 --- /dev/null +++ b/target/linux/ath79/image/generic-dlink.mk @@ -0,0 +1,114 @@ +define Device/dlink_dir-505 + SOC := ar9330 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DIR-505 + IMAGE_SIZE := 7680k + DEVICE_PACKAGES := kmod-usb2 + SUPPORTED_DEVICES += dir-505-a1 +endef +TARGET_DEVICES += dlink_dir-505 + +define Device/dlink_dir-825-b1 + SOC := ar7161 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DIR-825 + DEVICE_VARIANT := B1 + IMAGE_SIZE := 6208k + IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \ + append-metadata | check-size + DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \ + kmod-leds-reset kmod-owl-loader + SUPPORTED_DEVICES += dir-825-b1 +endef +TARGET_DEVICES += dlink_dir-825-b1 + +define Device/dlink_dir-825-c1 + SOC := ar9344 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DIR-825 + DEVICE_VARIANT := C1 + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset \ + kmod-owl-loader + SUPPORTED_DEVICES += dir-825-c1 + IMAGE_SIZE := 15936k + IMAGES := factory.bin sysupgrade.bin + IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \ + pad-rootfs + IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \ + append-string 00DB120AR9344-RT-101214-00 | check-size + IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \ + check-size +endef +TARGET_DEVICES += dlink_dir-825-c1 + +define Device/dlink_dir-835-a1 + SOC := ar9344 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DIR-835 + DEVICE_VARIANT := A1 + DEVICE_PACKAGES := kmod-usb2 kmod-leds-reset kmod-owl-loader + SUPPORTED_DEVICES += dir-835-a1 + IMAGE_SIZE := 15936k + IMAGES := factory.bin sysupgrade.bin + IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \ + pad-rootfs + IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \ + append-string 00DB120AR9344-RT-101214-00 | check-size + IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \ + check-size +endef +TARGET_DEVICES += dlink_dir-835-a1 + +define Device/dlink_dir-842-c + SOC := qca9563 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DIR-842 + KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma + KERNEL_INITRAMFS := $$(KERNEL) | seama + IMAGES += factory.bin + SEAMA_MTDBLOCK := 5 + SEAMA_SIGNATURE := wrgac65_dlink.2015_dir842 + # 64 bytes offset: + # - 28 bytes seama_header + # - 36 bytes of META data (4-bytes aligned) + IMAGE/default := append-kernel | uImage lzma | \ + pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs + IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \ + append-metadata | check-size + IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \ + seama-seal | check-size + IMAGE_SIZE := 15680k +endef + +define Device/dlink_dir-842-c1 + $(Device/dlink_dir-842-c) + DEVICE_VARIANT := C1 + DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct +endef +TARGET_DEVICES += dlink_dir-842-c1 + +define Device/dlink_dir-842-c2 + $(Device/dlink_dir-842-c) + DEVICE_VARIANT := C2 + DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct +endef +TARGET_DEVICES += dlink_dir-842-c2 + +define Device/dlink_dir-842-c3 + $(Device/dlink_dir-842-c) + DEVICE_VARIANT := C3 + DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct +endef +TARGET_DEVICES += dlink_dir-842-c3 + +define Device/dlink_dir-859-a1 + $(Device/seama) + SOC := qca9563 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DIR-859 + DEVICE_VARIANT := A1 + IMAGE_SIZE := 15872k + DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct + SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859 +endef +TARGET_DEVICES += dlink_dir-859-a1 diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 45dfc6bdad..cba2f51697 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -458,121 +458,6 @@ define Device/devolo_magic-2-wifi endef TARGET_DEVICES += devolo_magic-2-wifi -define Device/dlink_dir-505 - SOC := ar9330 - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DIR-505 - IMAGE_SIZE := 7680k - DEVICE_PACKAGES := kmod-usb2 - SUPPORTED_DEVICES += dir-505-a1 -endef -TARGET_DEVICES += dlink_dir-505 - -define Device/dlink_dir-825-b1 - SOC := ar7161 - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DIR-825 - DEVICE_VARIANT := B1 - IMAGE_SIZE := 6208k - IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \ - append-metadata | check-size - DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \ - kmod-leds-reset kmod-owl-loader - SUPPORTED_DEVICES += dir-825-b1 -endef -TARGET_DEVICES += dlink_dir-825-b1 - -define Device/dlink_dir-825-c1 - SOC := ar9344 - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DIR-825 - DEVICE_VARIANT := C1 - DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset \ - kmod-owl-loader - SUPPORTED_DEVICES += dir-825-c1 - IMAGE_SIZE := 15936k - IMAGES := factory.bin sysupgrade.bin - IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \ - pad-rootfs - IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \ - append-string 00DB120AR9344-RT-101214-00 | check-size - IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \ - check-size -endef -TARGET_DEVICES += dlink_dir-825-c1 - -define Device/dlink_dir-835-a1 - SOC := ar9344 - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DIR-835 - DEVICE_VARIANT := A1 - DEVICE_PACKAGES := kmod-usb2 kmod-leds-reset kmod-owl-loader - SUPPORTED_DEVICES += dir-835-a1 - IMAGE_SIZE := 15936k - IMAGES := factory.bin sysupgrade.bin - IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \ - pad-rootfs - IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \ - append-string 00DB120AR9344-RT-101214-00 | check-size - IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \ - check-size -endef -TARGET_DEVICES += dlink_dir-835-a1 - -define Device/dlink_dir-842-c - SOC := qca9563 - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DIR-842 - KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma - KERNEL_INITRAMFS := $$(KERNEL) | seama - IMAGES += factory.bin - SEAMA_MTDBLOCK := 5 - SEAMA_SIGNATURE := wrgac65_dlink.2015_dir842 - # 64 bytes offset: - # - 28 bytes seama_header - # - 36 bytes of META data (4-bytes aligned) - IMAGE/default := append-kernel | uImage lzma | \ - pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs - IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \ - append-metadata | check-size - IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \ - seama-seal | check-size - IMAGE_SIZE := 15680k -endef - -define Device/dlink_dir-842-c1 - $(Device/dlink_dir-842-c) - DEVICE_VARIANT := C1 - DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct -endef -TARGET_DEVICES += dlink_dir-842-c1 - -define Device/dlink_dir-842-c2 - $(Device/dlink_dir-842-c) - DEVICE_VARIANT := C2 - DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct -endef -TARGET_DEVICES += dlink_dir-842-c2 - -define Device/dlink_dir-842-c3 - $(Device/dlink_dir-842-c) - DEVICE_VARIANT := C3 - DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct -endef -TARGET_DEVICES += dlink_dir-842-c3 - -define Device/dlink_dir-859-a1 - $(Device/seama) - SOC := qca9563 - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DIR-859 - DEVICE_VARIANT := A1 - IMAGE_SIZE := 15872k - DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct - SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859 -endef -TARGET_DEVICES += dlink_dir-859-a1 - define Device/elecom_wrc-1750ghbk2-i SOC := qca9563 DEVICE_VENDOR := ELECOM -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Mon Jun 8 05:36:31 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Mon, 8 Jun 2020 12:36:31 +0300 Subject: [OpenWrt-Devel] [PATCH 4/4] ath79: add support for D-Link DAP-2695-A1 In-Reply-To: <20200608093631.1196081-1-stijn@linux-ipv6.be> References: <20200608093631.1196081-1-stijn@linux-ipv6.be> Message-ID: <20200608093631.1196081-5-stijn@linux-ipv6.be> Hardware: * SoC: Qualcomm Atheros QCA9558 * RAM: 256MB * Flash: 16MB SPI NOR * Ethernet: 2x 10/100/1000 (1x 802.3at PoE-PD) * WiFi 2.4GHz: Qualcomm Atheros QCA9558 * WiFi 5GHz: Qualcomm Ahteros QCA9880-2R4E * LEDS: 1x 5GHz, 1x 2.4GHz, 1x LAN1(POE), 1x LAN2, 1x POWER * Buttons: 1x RESET * UART: 1x RJ45 RS-232 Console port Installation via stock firmware: * Install the factory image via the stock firmware web interface Installation via bootloader Emergency Web Server: * Connect your PC to the LAN1(PoE) port * Configure your PC with IP address 192.168.0.90 * Open a serial console to the Console port (115200,8n1) * Press "q" within 2s when "press 'q' to stop autoboot" appears * Open http://192.168.0.50 in a browser * Upload either the factory or the sysupgrade image * Once you see "write image into flash...OK,dest addr=0x9f070000" you can power-cycle the device. Ignore "checksum bad" messages. Setting the MAC addresses for the ethernet interfaces via /etc/board.d/02_network adds the following snippets to /etc/config/network: config device 'lan_eth0_1_dev' option name 'eth0.1' option macaddr 'xx:xx:xx:xx:xx:xx' config device 'wan_eth1_2_dev' option name 'eth1.2' option macaddr 'xx:xx:xx:xx:xx:xx' This would result in the proper MAC addresses being set for the VLAN subinterfaces, but the parent interfaces would still have a random MAC address. Using untagged VLANs could solve this, but would still leave those extra snippets in /etc/config/network, and then the device VLAN setup would differ from the one used in ar71xx. Therefore, the MAC addresses of the ethernet interfaces are being set via preinit instead. The bdcfg partition contains 4 MAC address labels: - lanmac - wanmac - wlanmac - wlanmac_a The first 3 all contain the same MAC address, which is also the one on the label. This MAC address is used for the 2.4GHz interface, eth0 uses this MAC+1, eth1 uses this MAC+2, as is done in ar71xx. Signed-off-by: Stijn Tintel --- .../ath79/dts/qca9558_dlink_dap-2695-a1.dts | 172 ++++++++++++++++++ .../generic/base-files/etc/board.d/01_leds | 5 + .../generic/base-files/etc/board.d/02_network | 6 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 + .../etc/uci-defaults/09_fix-checksum | 8 + .../base-files/lib/preinit/10_fix_eth_mac.sh | 5 + target/linux/ath79/image/generic-dlink.mk | 33 ++++ 8 files changed, 237 insertions(+) create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts new file mode 100644 index 0000000000..fdabbcb84a --- /dev/null +++ b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts @@ -0,0 +1,172 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "qca955x.dtsi" + +/ { + compatible = "dlink,dap-2695-a1", "qca,qca9557"; + model = "D-link DAP-2695-A1"; + + chosen { + bootargs = "console=ttyS0,115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "d-link:green:power"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + power_red { + label = "d-link:red:power"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + wifi_2g { + label = "d-link:green:wifi2g"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + button at 0 { + label = "reset"; + linux,code = ; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&spi { + status = "okay"; + num-cs = <1>; + + flash at 0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mx25l12805d"; + reg = <0>; + spi-max-frequency = <25000000>; + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + uboot: partition at 0 { + label = "u-boot"; + reg = <0x000000 0x040000>; + read-only; + }; + + partition at 40000 { + label = "bdcfg"; + reg = <0x040000 0x010000>; + read-only; + }; + + partition at 50000 { + label = "rgdb"; + reg = <0x050000 0x010000>; + read-only; + }; + + partition at 60000 { + label = "langpack"; + reg = <0x060000 0x010000>; + read-only; + }; + + partition at 70000 { + compatible = "wrg"; + label = "firmware"; + reg = <0x070000 0xf00000>; + }; + + partition at f70000 { + label = "captival"; + reg = <0xf70000 0x070000>; + read-only; + }; + + partition at fe0000 { + label = "certificate"; + reg = <0xfe0000 0x010000>; + read-only; + }; + + art: partition at ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy at 0 { + reg = <0>; + + qca,ar8327-initvals = < + 0x04 0x07600000 /* PORT0_PAD_CTRL */ + 0x0c 0x00080080 /* PORT6_PAD_CTRL */ + 0x7c 0x0000007e /* PORT0_STATUS */ + 0x94 0x0000007e /* PORT6_STATUS */ + >; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&phy0>; + phy-mode = "rgmii"; + pll-data = <0x56000000 0x00000101 0x00001616>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +ð1 { + status = "okay"; + + phy-mask = <0>; + phy-mode = "sgmii"; + pll-data = <0x03000101 0x00000101 0x00001616>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&pcie0 { + status = "okay"; +}; + +&uart { + status = "okay"; +}; + +&wmac { + status = "okay"; + + qca,no-eeprom; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 5521379cea..f31a21088e 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -110,6 +110,11 @@ enterasys,ws-ap3705i) devolo,magic-2-wifi) ucidef_set_led_netdev "plcw" "dLAN" "devolo:white:dlan" "eth0.1" "rx" ;; +dlink,dap-2695-a1) + ucidef_set_led_default "power" "POWER" "d-link:green:power" "1" + ucidef_set_led_default "diag" "DIAG" "d-link:red:power" "0" + ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "d-link:green:wlan2g" "phy1tpt" + ;; dlink,dir-859-a1) ucidef_set_led_switch "internet" "WAN" "$boardname:green:internet" "switch0" "0x20" ;; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 1672f093a7..d5964e9a0f 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -136,6 +136,9 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0 at eth0" "2:wan" "3:lan" "4:lan" ;; + dlink,dap-2695-a1) + ucidef_add_switch "switch0" "0 at eth0" "2:lan" "3:wan" "6 at eth1" + ;; dlink,dir-825-b1) ucidef_set_interface_wan "eth1" ucidef_add_switch "switch0" \ @@ -359,6 +362,9 @@ ath79_setup_macs() devolo,magic-2-wifi) label_mac=$(macaddr_add "$(mtd_get_mac_binary art 0x1002)" 3) ;; + dlink,dap-2695-a1) + label_mac=$(mtd_get_mac_ascii bdcfg "wlanmac") + ;; dlink,dir-825-b1) lan_mac=$(mtd_get_mac_text "caldata" 0xffa0) wan_mac=$(mtd_get_mac_text "caldata" 0xffb4) diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index e0fa5ff354..972157604d 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -14,6 +14,10 @@ case "$FIRMWARE" in avm,fritz450e) caldata_extract_reverse "urlader" 0x1541 0x440 ;; + dlink,dap-2695-a1) + caldata_extract "art" 0x1000 0x440 + ath9k_patch_mac $(mtd_get_mac_ascii bdcfg "wlanmac") + ;; dlink,dir-505|\ dlink,dir-825-c1|\ dlink,dir-835-a1) diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 29815a1ada..603557d6c2 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -40,6 +40,10 @@ case "$FIRMWARE" in caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) -1) ;; + dlink,dap-2695-a1) + caldata_extract "art" 0x5000 0x844 + ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac_a) + ;; dlink,dir-859-a1) caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac") diff --git a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum index 22c9483e74..085ad2e925 100644 --- a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum +++ b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum @@ -6,9 +6,17 @@ fix_seama_header() { [ "$kernel_size" ] && mtd -c 0x$kernel_size fixseama firmware } +fixwrgg() { + local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"kernel".*/\1/p' /proc/mtd) + [ "$kernel_size" ] && mtd -c 0x$kernel_size fixwrgg firmware +} + board=$(board_name) case "$board" in +dlink,dap-2695-a1) + fixwrgg + ;; qihoo,c301) fix_seama_header ;; diff --git a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh index da1583a825..5b1aea7bb0 100644 --- a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh +++ b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh @@ -8,6 +8,11 @@ preinit_set_mac_address() { avm,fritz450e) ip link set dev eth0 address $(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)")) ;; + dlink,dap-2695-a1) + label_mac=$(mtd_get_mac_ascii bdcfg "lanmac") + ip link set dev eth0 address $(macaddr_add "$label_mac" 1) + ip link set dev eth1 address $(macaddr_add "$label_mac" 2) + ;; enterasys,ws-ap3705i) ip link set dev eth0 address $(mtd_get_mac_ascii u-boot-env0 ethaddr) ;; diff --git a/target/linux/ath79/image/generic-dlink.mk b/target/linux/ath79/image/generic-dlink.mk index 96cb015a09..4d59af1645 100644 --- a/target/linux/ath79/image/generic-dlink.mk +++ b/target/linux/ath79/image/generic-dlink.mk @@ -1,3 +1,36 @@ +DEVICE_VARS += DAP_SIGNATURE + +define Build/mkwrggimg + $(STAGING_DIR_HOST)/bin/mkwrggimg -b \ + -i $@ -o $@.imghdr -d /dev/mtdblock/1 \ + -m $(DEVICE_MODEL)-$(DEVICE_VARIANT) -s $(DAP_SIGNATURE) \ + -v $(VERSION_DIST) -B $(REVISION) + mv $@.imghdr $@ +endef + +define Build/wrgg-pad-rootfs + $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@ +endef + +define Device/dlink_dap-2695-a1 + SOC := qca9558 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DAP-2965 + DEVICE_VARIANT := A1 + IMAGES := factory.img sysupgrade.bin + IMAGE_SIZE := 15360k + IMAGE/default := append-kernel | pad-offset 65536 160 + IMAGE/factory.img := $$(IMAGE/default) | append-rootfs | wrgg-pad-rootfs | \ + mkwrggimg | check-size $$$$(IMAGE_SIZE) + IMAGE/sysupgrade.bin := $$(IMAGE/default) | mkwrggimg | append-rootfs | \ + wrgg-pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE) + KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma + KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg + DAP_SIGNATURE := wapac02_dkbs_dap2695 + SUPPORTED_DEVICES += dlink,dap-2695-a1 dap-2695-a1 +endef +TARGET_DEVICES += dlink_dap-2695-a1 + define Device/dlink_dir-505 SOC := ar9330 DEVICE_VENDOR := D-Link -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From baptiste at bitsofnetworks.org Mon Jun 8 06:14:05 2020 From: baptiste at bitsofnetworks.org (Baptiste Jonglez) Date: Mon, 8 Jun 2020 12:14:05 +0200 Subject: [OpenWrt-Devel] Google Season of Docs projects for OpenWrt Message-ID: <20200608101405.GA102675@tuxmachine.localdomain> Hi, As discussed previously, OpenWrt has applied and been accepted for the Season of Docs. We have three mentors (me, Jow, Thomas H?hn), while Hauke and Paul are "project administrators". We started proposing projects here: https://openwrt.org/google-season-of-docs Feel free to discuss the proposed projects here, especially if you plan to apply as a technical writer. The goal is to clarify the projects if needed, and make sure that we provide a good match between projects and technical writer applications. The deadline for applying as a technical writer is July 9, see https://developers.google.com/season-of-docs/docs/timeline More information about being a technical writer (requirements, stipend amount, etc) is here: https://developers.google.com/season-of-docs/docs/tech-writer-guide Baptiste -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Mon Jun 8 08:12:19 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Mon, 8 Jun 2020 14:12:19 +0200 Subject: [OpenWrt-Devel] [PATCH 3/4] ath79: use separate file for generic D-Link images In-Reply-To: <20200608093631.1196081-4-stijn@linux-ipv6.be> References: <20200608093631.1196081-1-stijn@linux-ipv6.be> <20200608093631.1196081-4-stijn@linux-ipv6.be> Message-ID: <007901d63d8e$0ef891f0$2ce9b5d0$@adrianschmutzler.de> Hi Stijn, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Stijn Tintel > Sent: Montag, 8. Juni 2020 11:37 > To: openwrt-devel at lists.openwrt.org > Subject: [OpenWrt-Devel] [PATCH 3/4] ath79: use separate file for generic D- > Link images > > Move the generic D-Link image definitions to a separate file, as is done for > several other vendors. > > Signed-off-by: Stijn Tintel > --- > target/linux/ath79/image/Makefile | 1 + > target/linux/ath79/image/generic-dlink.mk | 114 > +++++++++++++++++++++ > target/linux/ath79/image/generic.mk | 115 ---------------------- > 3 files changed, 115 insertions(+), 115 deletions(-) create mode 100644 > target/linux/ath79/image/generic-dlink.mk > > diff --git a/target/linux/ath79/image/Makefile > b/target/linux/ath79/image/Makefile > index 529baf8f57..6a286d3f1f 100644 > --- a/target/linux/ath79/image/Makefile > +++ b/target/linux/ath79/image/Makefile > @@ -70,6 +70,7 @@ endef > > ifeq ($(SUBTARGET),generic) > include ./generic.mk > +include ./generic-dlink.mk I'd have used generic-d-link.mk here, to match the style of the other file for tp-link ... > include ./generic-tp-link.mk > include ./generic-ubnt.mk > endif > diff --git a/target/linux/ath79/image/generic-dlink.mk > b/target/linux/ath79/image/generic-dlink.mk > new file mode 100644 > index 0000000000..96cb015a09 > --- /dev/null > +++ b/target/linux/ath79/image/generic-dlink.mk Though it's not precisely necessary since all files get included anywhere, it would be more tidy to also move the Build recipes. E.g. Device/seama is used in both generic.mk and dlink.mk now, so it should be moved to parent Makefile as both .mk files "depend" on it. Same might apply to other actual build recipes and DEVICE_VARS, which should be moved to either dlink.mk if they are only needed there or to Makefile if they are required in multiple places. Again, this is not literally required, but it would be much easier to find stuff then. Best Adrian > @@ -0,0 +1,114 @@ > +define Device/dlink_dir-505 > + SOC := ar9330 > + DEVICE_VENDOR := D-Link > + DEVICE_MODEL := DIR-505 > + IMAGE_SIZE := 7680k > + DEVICE_PACKAGES := kmod-usb2 > + SUPPORTED_DEVICES += dir-505-a1 > +endef > +TARGET_DEVICES += dlink_dir-505 > + > +define Device/dlink_dir-825-b1 > + SOC := ar7161 > + DEVICE_VENDOR := D-Link > + DEVICE_MODEL := DIR-825 > + DEVICE_VARIANT := B1 > + IMAGE_SIZE := 6208k > + IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \ > + append-metadata | check-size > + DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig- > usbport \ > + kmod-leds-reset kmod-owl-loader > + SUPPORTED_DEVICES += dir-825-b1 > +endef > +TARGET_DEVICES += dlink_dir-825-b1 > + > +define Device/dlink_dir-825-c1 > + SOC := ar9344 > + DEVICE_VENDOR := D-Link > + DEVICE_MODEL := DIR-825 > + DEVICE_VARIANT := C1 > + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds- > reset \ > + kmod-owl-loader > + SUPPORTED_DEVICES += dir-825-c1 > + IMAGE_SIZE := 15936k > + IMAGES := factory.bin sysupgrade.bin > + IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append- > rootfs | \ > + pad-rootfs > + IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) > 26 | \ > + append-string 00DB120AR9344-RT-101214-00 | check-size > + IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \ > + check-size > +endef > +TARGET_DEVICES += dlink_dir-825-c1 > + > +define Device/dlink_dir-835-a1 > + SOC := ar9344 > + DEVICE_VENDOR := D-Link > + DEVICE_MODEL := DIR-835 > + DEVICE_VARIANT := A1 > + DEVICE_PACKAGES := kmod-usb2 kmod-leds-reset kmod-owl-loader > + SUPPORTED_DEVICES += dir-835-a1 > + IMAGE_SIZE := 15936k > + IMAGES := factory.bin sysupgrade.bin > + IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append- > rootfs | \ > + pad-rootfs > + IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) > 26 | \ > + append-string 00DB120AR9344-RT-101214-00 | check-size > + IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \ > + check-size > +endef > +TARGET_DEVICES += dlink_dir-835-a1 > + > +define Device/dlink_dir-842-c > + SOC := qca9563 > + DEVICE_VENDOR := D-Link > + DEVICE_MODEL := DIR-842 > + KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma > + KERNEL_INITRAMFS := $$(KERNEL) | seama > + IMAGES += factory.bin > + SEAMA_MTDBLOCK := 5 > + SEAMA_SIGNATURE := wrgac65_dlink.2015_dir842 > + # 64 bytes offset: > + # - 28 bytes seama_header > + # - 36 bytes of META data (4-bytes aligned) > + IMAGE/default := append-kernel | uImage lzma | \ > + pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs > + IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \ > + append-metadata | check-size > + IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \ > + seama-seal | check-size > + IMAGE_SIZE := 15680k > +endef > + > +define Device/dlink_dir-842-c1 > + $(Device/dlink_dir-842-c) > + DEVICE_VARIANT := C1 > + DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct endef > +TARGET_DEVICES += dlink_dir-842-c1 > + > +define Device/dlink_dir-842-c2 > + $(Device/dlink_dir-842-c) > + DEVICE_VARIANT := C2 > + DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct > +ath10k-firmware-qca9888-ct endef TARGET_DEVICES += dlink_dir-842-c2 > + > +define Device/dlink_dir-842-c3 > + $(Device/dlink_dir-842-c) > + DEVICE_VARIANT := C3 > + DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct endef > +TARGET_DEVICES += dlink_dir-842-c3 > + > +define Device/dlink_dir-859-a1 > + $(Device/seama) > + SOC := qca9563 > + DEVICE_VENDOR := D-Link > + DEVICE_MODEL := DIR-859 > + DEVICE_VARIANT := A1 > + IMAGE_SIZE := 15872k > + DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct-smallbuffers > +ath10k-firmware-qca988x-ct > + SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859 endef > TARGET_DEVICES > ++= dlink_dir-859-a1 > diff --git a/target/linux/ath79/image/generic.mk > b/target/linux/ath79/image/generic.mk > index 45dfc6bdad..cba2f51697 100644 > --- a/target/linux/ath79/image/generic.mk > +++ b/target/linux/ath79/image/generic.mk > @@ -458,121 +458,6 @@ define Device/devolo_magic-2-wifi endef > TARGET_DEVICES += devolo_magic-2-wifi > > -define Device/dlink_dir-505 > - SOC := ar9330 > - DEVICE_VENDOR := D-Link > - DEVICE_MODEL := DIR-505 > - IMAGE_SIZE := 7680k > - DEVICE_PACKAGES := kmod-usb2 > - SUPPORTED_DEVICES += dir-505-a1 > -endef > -TARGET_DEVICES += dlink_dir-505 > - > -define Device/dlink_dir-825-b1 > - SOC := ar7161 > - DEVICE_VENDOR := D-Link > - DEVICE_MODEL := DIR-825 > - DEVICE_VARIANT := B1 > - IMAGE_SIZE := 6208k > - IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \ > - append-metadata | check-size > - DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig- > usbport \ > - kmod-leds-reset kmod-owl-loader > - SUPPORTED_DEVICES += dir-825-b1 > -endef > -TARGET_DEVICES += dlink_dir-825-b1 > - > -define Device/dlink_dir-825-c1 > - SOC := ar9344 > - DEVICE_VENDOR := D-Link > - DEVICE_MODEL := DIR-825 > - DEVICE_VARIANT := C1 > - DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds- > reset \ > - kmod-owl-loader > - SUPPORTED_DEVICES += dir-825-c1 > - IMAGE_SIZE := 15936k > - IMAGES := factory.bin sysupgrade.bin > - IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append- > rootfs | \ > - pad-rootfs > - IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) > 26 | \ > - append-string 00DB120AR9344-RT-101214-00 | check-size > - IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \ > - check-size > -endef > -TARGET_DEVICES += dlink_dir-825-c1 > - > -define Device/dlink_dir-835-a1 > - SOC := ar9344 > - DEVICE_VENDOR := D-Link > - DEVICE_MODEL := DIR-835 > - DEVICE_VARIANT := A1 > - DEVICE_PACKAGES := kmod-usb2 kmod-leds-reset kmod-owl-loader > - SUPPORTED_DEVICES += dir-835-a1 > - IMAGE_SIZE := 15936k > - IMAGES := factory.bin sysupgrade.bin > - IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append- > rootfs | \ > - pad-rootfs > - IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) > 26 | \ > - append-string 00DB120AR9344-RT-101214-00 | check-size > - IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \ > - check-size > -endef > -TARGET_DEVICES += dlink_dir-835-a1 > - > -define Device/dlink_dir-842-c > - SOC := qca9563 > - DEVICE_VENDOR := D-Link > - DEVICE_MODEL := DIR-842 > - KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma > - KERNEL_INITRAMFS := $$(KERNEL) | seama > - IMAGES += factory.bin > - SEAMA_MTDBLOCK := 5 > - SEAMA_SIGNATURE := wrgac65_dlink.2015_dir842 > - # 64 bytes offset: > - # - 28 bytes seama_header > - # - 36 bytes of META data (4-bytes aligned) > - IMAGE/default := append-kernel | uImage lzma | \ > - pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs > - IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \ > - append-metadata | check-size > - IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \ > - seama-seal | check-size > - IMAGE_SIZE := 15680k > -endef > - > -define Device/dlink_dir-842-c1 > - $(Device/dlink_dir-842-c) > - DEVICE_VARIANT := C1 > - DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct -endef > -TARGET_DEVICES += dlink_dir-842-c1 > - > -define Device/dlink_dir-842-c2 > - $(Device/dlink_dir-842-c) > - DEVICE_VARIANT := C2 > - DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware- > qca9888-ct -endef -TARGET_DEVICES += dlink_dir-842-c2 > - > -define Device/dlink_dir-842-c3 > - $(Device/dlink_dir-842-c) > - DEVICE_VARIANT := C3 > - DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct -endef > -TARGET_DEVICES += dlink_dir-842-c3 > - > -define Device/dlink_dir-859-a1 > - $(Device/seama) > - SOC := qca9563 > - DEVICE_VENDOR := D-Link > - DEVICE_MODEL := DIR-859 > - DEVICE_VARIANT := A1 > - IMAGE_SIZE := 15872k > - DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct-smallbuffers ath10k- > firmware-qca988x-ct > - SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859 -endef - > TARGET_DEVICES += dlink_dir-859-a1 > - > define Device/elecom_wrc-1750ghbk2-i > SOC := qca9563 > DEVICE_VENDOR := ELECOM > -- > 2.26.2 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Mon Jun 8 08:51:58 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Mon, 8 Jun 2020 14:51:58 +0200 Subject: [OpenWrt-Devel] [PATCH 4/4] ath79: add support for D-Link DAP-2695-A1 In-Reply-To: <20200608093631.1196081-5-stijn@linux-ipv6.be> References: <20200608093631.1196081-1-stijn@linux-ipv6.be> <20200608093631.1196081-5-stijn@linux-ipv6.be> Message-ID: <009401d63d93$993989a0$cbac9ce0$@adrianschmutzler.de> Hi Stijn, find my comments inline. > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Stijn Tintel > Sent: Montag, 8. Juni 2020 11:37 > To: openwrt-devel at lists.openwrt.org > Subject: [OpenWrt-Devel] [PATCH 4/4] ath79: add support for D-Link DAP- > 2695-A1 > > Hardware: > * SoC: Qualcomm Atheros QCA9558 > * RAM: 256MB > * Flash: 16MB SPI NOR > * Ethernet: 2x 10/100/1000 (1x 802.3at PoE-PD) > * WiFi 2.4GHz: Qualcomm Atheros QCA9558 > * WiFi 5GHz: Qualcomm Ahteros QCA9880-2R4E > * LEDS: 1x 5GHz, 1x 2.4GHz, 1x LAN1(POE), 1x LAN2, 1x POWER > * Buttons: 1x RESET > * UART: 1x RJ45 RS-232 Console port > > Installation via stock firmware: > * Install the factory image via the stock firmware web interface > > Installation via bootloader Emergency Web Server: > * Connect your PC to the LAN1(PoE) port > * Configure your PC with IP address 192.168.0.90 > * Open a serial console to the Console port (115200,8n1) > * Press "q" within 2s when "press 'q' to stop autoboot" appears > * Open http://192.168.0.50 in a browser > * Upload either the factory or the sysupgrade image > * Once you see "write image into flash...OK,dest addr=0x9f070000" you > can power-cycle the device. Ignore "checksum bad" messages. > > Setting the MAC addresses for the ethernet interfaces via > /etc/board.d/02_network adds the following snippets to > /etc/config/network: > > config device 'lan_eth0_1_dev' > option name 'eth0.1' > option macaddr 'xx:xx:xx:xx:xx:xx' > > config device 'wan_eth1_2_dev' > option name 'eth1.2' > option macaddr 'xx:xx:xx:xx:xx:xx' > > This would result in the proper MAC addresses being set for the VLAN > subinterfaces, but the parent interfaces would still have a random MAC > address. Using untagged VLANs could solve this, but would still leave those > extra snippets in /etc/config/network, and then the device VLAN setup > would differ from the one used in ar71xx. Therefore, the MAC addresses of > the ethernet interfaces are being set via preinit instead. > > The bdcfg partition contains 4 MAC address labels: > - lanmac > - wanmac > - wlanmac > - wlanmac_a > > The first 3 all contain the same MAC address, which is also the one on the > label. This MAC address is used for the 2.4GHz interface, eth0 uses this > MAC+1, eth1 uses this MAC+2, as is done in ar71xx. > > Signed-off-by: Stijn Tintel > --- > .../ath79/dts/qca9558_dlink_dap-2695-a1.dts | 172 ++++++++++++++++++ > .../generic/base-files/etc/board.d/01_leds | 5 + > .../generic/base-files/etc/board.d/02_network | 6 + > .../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 + > .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 + > .../etc/uci-defaults/09_fix-checksum | 8 + > .../base-files/lib/preinit/10_fix_eth_mac.sh | 5 + > target/linux/ath79/image/generic-dlink.mk | 33 ++++ > 8 files changed, 237 insertions(+) > create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts > > diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts > b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts > new file mode 100644 > index 0000000000..fdabbcb84a > --- /dev/null > +++ b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts > @@ -0,0 +1,172 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; > + > +#include > +#include > + > +#include "qca955x.dtsi" > + > +/ { > + compatible = "dlink,dap-2695-a1", "qca,qca9557"; > + model = "D-link DAP-2695-A1"; > + > + chosen { > + bootargs = "console=ttyS0,115200n8"; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + power_green { > + label = "d-link:green:power"; > + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; > + default-state = "off"; default-state = "off" is default and can be dropped for all leds. Consider using default-state = "on" for power_green and adding an aliases section with power_green and/or power_red for indicating boot/failsafe etc. > + }; > + > + power_red { > + label = "d-link:red:power"; > + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; > + default-state = "off"; > + }; > + > + wifi_2g { I'd be consistent with the label here and use wifi2g for the node name. > + label = "d-link:green:wifi2g"; > + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; > + default-state = "off"; > + }; > + }; > + > + keys { > + compatible = "gpio-keys-polled"; > + #address-cells = <1>; > + #size-cells = <0>; > + poll-interval = <20>; Can you try with gpio-keys for the compatible, and drop the poll-interval? Despite, I think the two cells lines are not needed and can be dropped as well. > + > + button at 0 { I'd use "reset" for the node name here. > + label = "reset"; > + linux,code = ; > + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; > + }; > + }; > +}; > + > +&spi { > + status = "okay"; > + num-cs = <1>; > + > + flash at 0 { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "mx25l12805d"; > + reg = <0>; > + spi-max-frequency = <25000000>; I'd have added an empty line here (before partitions). > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + uboot: partition at 0 { Don't think the "uboot:" is used anywhere, so consider to drop it. > + label = "u-boot"; > + reg = <0x000000 0x040000>; > + read-only; > + }; > + > + partition at 40000 { > + label = "bdcfg"; > + reg = <0x040000 0x010000>; > + read-only; > + }; > + > + partition at 50000 { > + label = "rgdb"; > + reg = <0x050000 0x010000>; > + read-only; > + }; > + > + partition at 60000 { > + label = "langpack"; > + reg = <0x060000 0x010000>; > + read-only; > + }; > + > + partition at 70000 { > + compatible = "wrg"; > + label = "firmware"; > + reg = <0x070000 0xf00000>; > + }; > + > + partition at f70000 { > + label = "captival"; > + reg = <0xf70000 0x070000>; > + read-only; > + }; > + > + partition at fe0000 { > + label = "certificate"; > + reg = <0xfe0000 0x010000>; > + read-only; > + }; > + > + art: partition at ff0000 { > + label = "art"; > + reg = <0xff0000 0x010000>; > + read-only; > + }; > + }; > + }; > +}; > + > +&mdio0 { > + status = "okay"; > + > + phy0: ethernet-phy at 0 { > + reg = <0>; > + > + qca,ar8327-initvals = < > + 0x04 0x07600000 /* PORT0_PAD_CTRL */ > + 0x0c 0x00080080 /* PORT6_PAD_CTRL */ > + 0x7c 0x0000007e /* PORT0_STATUS */ > + 0x94 0x0000007e /* PORT6_STATUS */ > + >; > + }; > +}; > + > +ð0 { > + status = "okay"; > + > + phy-handle = <&phy0>; > + phy-mode = "rgmii"; > + pll-data = <0x56000000 0x00000101 0x00001616>; > + > + fixed-link { > + speed = <1000>; > + full-duplex; > + }; > +}; > + > +ð1 { > + status = "okay"; > + > + phy-mask = <0>; > + phy-mode = "sgmii"; > + pll-data = <0x03000101 0x00000101 0x00001616>; > + > + fixed-link { > + speed = <1000>; > + full-duplex; > + }; > +}; > + > +&pcie0 { > + status = "okay"; > +}; > + > +&uart { > + status = "okay"; > +}; > + > +&wmac { > + status = "okay"; > + > + qca,no-eeprom; > +}; > diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds > b/target/linux/ath79/generic/base-files/etc/board.d/01_leds > index 5521379cea..f31a21088e 100755 > --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds > +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds > @@ -110,6 +110,11 @@ enterasys,ws-ap3705i) > devolo,magic-2-wifi) > ucidef_set_led_netdev "plcw" "dLAN" "devolo:white:dlan" "eth0.1" > "rx" > ;; > +dlink,dap-2695-a1) > + ucidef_set_led_default "power" "POWER" "d-link:green:power" "1" This can be implemented by setting default-state = "on" in DTS as suggested above. Despite, have a look at the led-* aliases in DTS, e.g. just grep for "led-boot" or "led-failsafe" in target/linux/ath79/dts > + ucidef_set_led_default "diag" "DIAG" "d-link:red:power" "0" I don't think that will have any effect, I'd just drop it. > + ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "d- > link:green:wlan2g" "phy1tpt" This can be implemented via a trigger in DTS, just grep for "phy0tpt" or "phy1tpt" in the dts folder given above. So, eventually, you won't need any entry in 01_leds for this device at all. > + ;; > dlink,dir-859-a1) > ucidef_set_led_switch "internet" "WAN" > "$boardname:green:internet" "switch0" "0x20" > ;; > diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network > b/target/linux/ath79/generic/base-files/etc/board.d/02_network > index 1672f093a7..d5964e9a0f 100755 > --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network > +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network > @@ -136,6 +136,9 @@ ath79_setup_interfaces() > ucidef_add_switch "switch0" \ > "0 at eth0" "2:wan" "3:lan" "4:lan" > ;; > + dlink,dap-2695-a1) > + ucidef_add_switch "switch0" "0 at eth0" "2:lan" "3:wan" > "6 at eth1" > + ;; I'd just have chosen the default case with ucidef_set_interfaces_lan_wan "eth0" "eth1" here, unless you specifically aim for the switch to be set up already in uci config to be altered later. Matter of taste, though. > dlink,dir-825-b1) > ucidef_set_interface_wan "eth1" > ucidef_add_switch "switch0" \ > @@ -359,6 +362,9 @@ ath79_setup_macs() > devolo,magic-2-wifi) > label_mac=$(macaddr_add "$(mtd_get_mac_binary art > 0x1002)" 3) > ;; > + dlink,dap-2695-a1) > + label_mac=$(mtd_get_mac_ascii bdcfg "wlanmac") > + ;; > dlink,dir-825-b1) > lan_mac=$(mtd_get_mac_text "caldata" 0xffa0) > wan_mac=$(mtd_get_mac_text "caldata" 0xffb4) diff --git > a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k- > eeprom b/target/linux/ath79/generic/base- > files/etc/hotplug.d/firmware/10-ath9k-eeprom > index e0fa5ff354..972157604d 100644 > --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10- > ath9k-eeprom > +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-at > +++ h9k-eeprom > @@ -14,6 +14,10 @@ case "$FIRMWARE" in > avm,fritz450e) > caldata_extract_reverse "urlader" 0x1541 0x440 > ;; > + dlink,dap-2695-a1) > + caldata_extract "art" 0x1000 0x440 > + ath9k_patch_mac $(mtd_get_mac_ascii bdcfg "wlanmac") Does that really work as replacement for ath79_register_wmac(art + DAP2695_WMAC_CALDATA_OFFSET, wmac0); ? > + ;; > dlink,dir-505|\ > dlink,dir-825-c1|\ > dlink,dir-835-a1) > diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11- > ath10k-caldata b/target/linux/ath79/generic/base- > files/etc/hotplug.d/firmware/11-ath10k-caldata > index 29815a1ada..603557d6c2 100644 > --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11- > ath10k-caldata > +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-at > +++ h10k-caldata > @@ -40,6 +40,10 @@ case "$FIRMWARE" in > caldata_extract "art" 0x5000 0x844 > ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary > art 0x0) -1) > ;; > + dlink,dap-2695-a1) > + caldata_extract "art" 0x5000 0x844 > + ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac_a) > + ;; > dlink,dir-859-a1) > caldata_extract "art" 0x5000 0x844 > ath10k_patch_mac $(mtd_get_mac_ascii devdata > "wlan5mac") diff --git a/target/linux/ath79/generic/base-files/etc/uci- > defaults/09_fix-checksum b/target/linux/ath79/generic/base-files/etc/uci- > defaults/09_fix-checksum > index 22c9483e74..085ad2e925 100644 > --- a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix- > checksum > +++ b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-chec > +++ ksum > @@ -6,9 +6,17 @@ fix_seama_header() { > [ "$kernel_size" ] && mtd -c 0x$kernel_size fixseama firmware } > > +fixwrgg() { > + local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a- > f]*\).*"kernel".*/\1/p' /proc/mtd) > + [ "$kernel_size" ] && mtd -c 0x$kernel_size fixwrgg firmware } > + > board=$(board_name) > > case "$board" in > +dlink,dap-2695-a1) > + fixwrgg > + ;; > qihoo,c301) > fix_seama_header > ;; > diff --git a/target/linux/ath79/generic/base- > files/lib/preinit/10_fix_eth_mac.sh b/target/linux/ath79/generic/base- > files/lib/preinit/10_fix_eth_mac.sh > index da1583a825..5b1aea7bb0 100644 > --- a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh > +++ b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.s > +++ h > @@ -8,6 +8,11 @@ preinit_set_mac_address() { > avm,fritz450e) > ip link set dev eth0 address $(fritz_tffs -n maca -i > $(find_mtd_part "tffs (1)")) > ;; > + dlink,dap-2695-a1) > + label_mac=$(mtd_get_mac_ascii bdcfg "lanmac") > + ip link set dev eth0 address $(macaddr_add "$label_mac" 1) > + ip link set dev eth1 address $(macaddr_add "$label_mac" 2) From ar71xx, and to use the available addresses, I think it should be: ip link set dev eth0 address $(macaddr_add "$(mtd_get_mac_ascii bdcfg "lanmac")" 1) ip link set dev eth1 address $(macaddr_add "$(mtd_get_mac_ascii bdcfg "wanmac")" 2) Not that it would make any difference based on your comment that addresses are the same anyway. Do you have any idea why they provide distinct addresses for lan and wan and increment them then anyway? > + ;; > enterasys,ws-ap3705i) > ip link set dev eth0 address $(mtd_get_mac_ascii u-boot- > env0 ethaddr) > ;; > diff --git a/target/linux/ath79/image/generic-dlink.mk > b/target/linux/ath79/image/generic-dlink.mk > index 96cb015a09..4d59af1645 100644 > --- a/target/linux/ath79/image/generic-dlink.mk > +++ b/target/linux/ath79/image/generic-dlink.mk > @@ -1,3 +1,36 @@ > +DEVICE_VARS += DAP_SIGNATURE > + > +define Build/mkwrggimg > + $(STAGING_DIR_HOST)/bin/mkwrggimg -b \ > + -i $@ -o $@.imghdr -d /dev/mtdblock/1 \ > + -m $(DEVICE_MODEL)-$(DEVICE_VARIANT) -s > $(DAP_SIGNATURE) \ > + -v $(VERSION_DIST) -B $(REVISION) > + mv $@.imghdr $@ > +endef > + > +define Build/wrgg-pad-rootfs > + $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@ > endef Ah, that's what I meant by putting the relevant recipes in dlink.mk when commenting on the earlier patch. Maybe just check that for the existing recipes ... > + > +define Device/dlink_dap-2695-a1 > + SOC := qca9558 > + DEVICE_VENDOR := D-Link > + DEVICE_MODEL := DAP-2965 > + DEVICE_VARIANT := A1 > + IMAGES := factory.img sysupgrade.bin > + IMAGE_SIZE := 15360k > + IMAGE/default := append-kernel | pad-offset 65536 160 > + IMAGE/factory.img := $$(IMAGE/default) | append-rootfs | wrgg-pad- > rootfs | \ > + mkwrggimg | check-size $$$$(IMAGE_SIZE) IMAGE_SIZE argument can be omitted for check-size now. > + IMAGE/sysupgrade.bin := $$(IMAGE/default) | mkwrggimg | append- > rootfs | \ > + wrgg-pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE) IMAGE_SIZE argument can be omitted for check-size now. > + KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma > + KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg > + DAP_SIGNATURE := wapac02_dkbs_dap2695 > + SUPPORTED_DEVICES += dlink,dap-2695-a1 dap-2695-a1 endef The first string will be created automatically from the node name, so you just need SUPPORTED_DEVICES += dap-2695-a1 Despite, DEVICE_PACKAGES seem to be missing here. Best Adrian > +TARGET_DEVICES += dlink_dap-2695-a1 > + > define Device/dlink_dir-505 > SOC := ar9330 > DEVICE_VENDOR := D-Link > -- > 2.26.2 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fff at bareminimum.eu Mon Jun 8 10:14:42 2020 From: fff at bareminimum.eu (Johannes Kimmel) Date: Mon, 8 Jun 2020 16:14:42 +0200 Subject: [OpenWrt-Devel] [PATCH 0/3] vxlan: add capability for multiple fdb entries Message-ID: <20200608141445.309-1-fff@bareminimum.eu> This is a small series of patches to add multiple fdb entries for vxlan interfaces. First patch fixes an issue where the options for controlling checksums wasn't working. Second patch removes the requirement to specify a peeraddr, because vxlan interfaces can be created without them. Third patch introduces new config sections for vxlan peers similar to wireguard peers. See patches for more info. Johannes Kimmel (3): vxlan: fix udp checksum control vxlan: remove mandatory peeraddr vxlan: add capability for multiple fdb entries package/network/config/vxlan/Makefile | 2 +- package/network/config/vxlan/files/vxlan.sh | 50 +++++++++++++++------ 2 files changed, 38 insertions(+), 14 deletions(-) -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fff at bareminimum.eu Mon Jun 8 10:14:43 2020 From: fff at bareminimum.eu (Johannes Kimmel) Date: Mon, 8 Jun 2020 16:14:43 +0200 Subject: [OpenWrt-Devel] [PATCH 1/3] vxlan: fix udp checksum control In-Reply-To: <20200608141445.309-1-fff@bareminimum.eu> References: <20200608141445.309-1-fff@bareminimum.eu> Message-ID: <20200608141445.309-2-fff@bareminimum.eu> So far, passing "rxcsum" and "txcsum" had no effect. Signed-off-by: Johannes Kimmel --- package/network/config/vxlan/files/vxlan.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/network/config/vxlan/files/vxlan.sh b/package/network/config/vxlan/files/vxlan.sh index d055d41..7b1c703 100755 --- a/package/network/config/vxlan/files/vxlan.sh +++ b/package/network/config/vxlan/files/vxlan.sh @@ -129,6 +129,8 @@ vxlan_generic_init_config() { proto_config_add_int "ttl" proto_config_add_int "tos" proto_config_add_int "mtu" + proto_config_add_boolean "rxcsum" + proto_config_add_boolean "txcsum" proto_config_add_string "macaddr" } -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fff at bareminimum.eu Mon Jun 8 10:14:44 2020 From: fff at bareminimum.eu (Johannes Kimmel) Date: Mon, 8 Jun 2020 16:14:44 +0200 Subject: [OpenWrt-Devel] [PATCH 2/3] vxlan: remove mandatory peeraddr In-Reply-To: <20200608141445.309-1-fff@bareminimum.eu> References: <20200608141445.309-1-fff@bareminimum.eu> Message-ID: <20200608141445.309-3-fff@bareminimum.eu> vxlan can be configured without a peer address. This is used to prepare an interface and add peers later. Signed-off-by: Johannes Kimmel --- package/network/config/vxlan/files/vxlan.sh | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/package/network/config/vxlan/files/vxlan.sh b/package/network/config/vxlan/files/vxlan.sh index 7b1c703..bdcaa62 100755 --- a/package/network/config/vxlan/files/vxlan.sh +++ b/package/network/config/vxlan/files/vxlan.sh @@ -55,12 +55,6 @@ proto_vxlan_setup() { local ipaddr peeraddr json_get_vars ipaddr peeraddr tunlink - [ -z "$peeraddr" ] && { - proto_notify_error "$cfg" "MISSING_ADDRESS" - proto_block_restart "$cfg" - exit - } - ( proto_add_host_dependency "$cfg" '' "$tunlink" ) [ -z "$ipaddr" ] && { @@ -85,12 +79,6 @@ proto_vxlan6_setup() { local ip6addr peer6addr json_get_vars ip6addr peer6addr tunlink - [ -z "$peer6addr" ] && { - proto_notify_error "$cfg" "MISSING_ADDRESS" - proto_block_restart "$cfg" - exit - } - ( proto_add_host_dependency "$cfg" '' "$tunlink" ) [ -z "$ip6addr" ] && { -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fff at bareminimum.eu Mon Jun 8 10:14:45 2020 From: fff at bareminimum.eu (Johannes Kimmel) Date: Mon, 8 Jun 2020 16:14:45 +0200 Subject: [OpenWrt-Devel] [PATCH 3/3] vxlan: add capability for multiple fdb entries In-Reply-To: <20200608141445.309-1-fff@bareminimum.eu> References: <20200608141445.309-1-fff@bareminimum.eu> Message-ID: <20200608141445.309-4-fff@bareminimum.eu> Similar to wireguard, vxlan can configure multiple peers or add specific entries to the fdb for a single mac address. While you can still use peeraddr/peer6addr option within the proto vxlan/vxlan6 section to not break existing configurations, this patch allows to add multiple sections that conigure fdb entries via the bridge command. As such, the bridge command is now a dependency of the vxlan package. (To be honest without the bridge command available, vxlan isn't very much fun to use or debug at all) Field names are taken direclty from the bridge command. Example with all supported parameters, since this hasn't been documented so far: config interface 'vx0' option proto 'vxlan6' # use vxlan over ipv6 # main options option ip6addr '2001:db8::1' # listen address option tunlink 'wan6' # optional if listen address given option peer6addr '2001:db8::2' # now optional option port '8472' # this is the standard port under linux option vid '42' # VXLAN Network Identifier to use option mtu '1430' # vxlan6 has 70 bytes overhead # extra options option rxcsum '0' # allow receiving packets without checksum option txcsum '0' # send packets without checksum option ttl '16' # specifies the TTL value for outgoing packets option tos '0' # specifies the TOS value for outgoing packets option macaddr '11:22:33:44:55:66' # optional, manually specify mac # default is a random address Single peer with head-end replication. Corresponds to the following call to bridge: $ bridge fdb append 00:00:00:00:00:00 dev vx0 dst 2001:db8::3 config vxlan_vx0 option dst '2001:db8::3' # always required It's possible to specify a multicast address as destination. Useful when multicast routing is available or within one lan segment: config vxlan_vx0 option dst 'ff02::1337' # multicast group to join. # all bum traffic will be send there option via 'eth1' # for multicast, an outgoing interface needs # to be specified All available peer options for completeness: config vxlan_vx0 option lladdr 'aa:bb:cc:dd:ee:ff' # specific mac, option dst '2001:db8::4' # connected to this peer option via 'eth0.1' # use this interface only option port '4789' # use different port for this peer option vni '23' # override vni for this peer option src_vni '123' # see man 3 bridge Signed-off-by: Johannes Kimmel --- package/network/config/vxlan/Makefile | 2 +- package/network/config/vxlan/files/vxlan.sh | 36 ++++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/package/network/config/vxlan/Makefile b/package/network/config/vxlan/Makefile index 5850c44..46970d9 100644 --- a/package/network/config/vxlan/Makefile +++ b/package/network/config/vxlan/Makefile @@ -11,7 +11,7 @@ define Package/vxlan CATEGORY:=Network MAINTAINER:=Matthias Schiffer TITLE:=Virtual eXtensible LAN config support - DEPENDS:=+kmod-vxlan + DEPENDS:=+kmod-vxlan +ip-bridge PKGARCH:=all endef diff --git a/package/network/config/vxlan/files/vxlan.sh b/package/network/config/vxlan/files/vxlan.sh index bdcaa62..319d95c 100755 --- a/package/network/config/vxlan/files/vxlan.sh +++ b/package/network/config/vxlan/files/vxlan.sh @@ -7,6 +7,38 @@ init_proto "$@" } +proto_vxlan_setup_peer() { + local peer_config="$1" + + local lladdr + local dst + local src_vni + local vni + local port + local via + + config_get lladdr "${peer_config}" "lladdr" + config_get dst "${peer_config}" "dst" + config_get src_vni "${peer_config}" "src_vni" + config_get vni "${peer_config}" "vni" + config_get port "${peer_config}" "port" + config_get via "${peer_config}" "via" + + [ -z "${dst}" ] && { + proto_notify_error "$cfg" "MISSING_PEER_ADDRESS" + exit + } + + bridge fdb append \ + ${lladdr:-00:00:00:00:00:00} \ + dev ${cfg} \ + ${dst:+dst $dst} \ + ${src_vni:+src_vni $src_vni} \ + ${vni:+vni $vni} \ + ${port:+port $port} \ + ${via:+via $via} +} + vxlan_generic_setup() { local cfg="$1" local mode="$2" @@ -18,7 +50,6 @@ vxlan_generic_setup() { local port vid ttl tos mtu macaddr zone rxcsum txcsum json_get_vars port vid ttl tos mtu macaddr zone rxcsum txcsum - proto_init_update "$link" 1 proto_add_tunnel @@ -47,6 +78,9 @@ vxlan_generic_setup() { proto_close_data proto_send_update "$cfg" + + config_load network + config_foreach proto_vxlan_setup_peer "vxlan_${cfg}" } proto_vxlan_setup() { -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From michael at turf.org Mon Jun 8 11:23:40 2020 From: michael at turf.org (Michael T Farnworth) Date: Mon, 8 Jun 2020 16:23:40 +0100 Subject: [OpenWrt-Devel] [PATCH] hostapd: wpad init script renamed Message-ID: When hostapd is launched as /etc/init.d/wpad it appears in a different location under "ubus call service list" presenting problems with scripts /lib/netifd/hostapd.sh and /lib/netifd/wireless/mac80211.sh Either these scripts need to be patched to recognise the move, or the init.d script needs to be renamed to hostapd. This patch renames the init.d script as unidentified things may also depend upon the placement of entries within ubus output. This ubus change only came about on the 8 April 2020 and it is unlikely that very much code has been written or re-written to support the renaming. Problem is manifested in log files as "/usr/sbin/wpad does not match process path (/proc/exe)" Signed-off-by: Michael T Farnworth diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index 66560d5d41..b8b7c2b315 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -533,7 +533,7 @@ endef define Package/hostapd-common/install $(INSTALL_DIR) $(1)/lib/netifd $(1)/etc/rc.button $(1)/etc/hotplug.d/ieee80211 $(1)/etc/init.d $(INSTALL_DATA) ./files/hostapd.sh $(1)/lib/netifd/hostapd.sh - $(INSTALL_BIN) ./files/wpad.init $(1)/etc/init.d/wpad + $(INSTALL_BIN) ./files/hostapd.init $(1)/etc/init.d/hostapd $(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps endef diff --git a/package/network/services/hostapd/files/wpad.init b/package/network/services/hostapd/files/hostapd.init similarity index 97% rename from package/network/services/hostapd/files/wpad.init rename to package/network/services/hostapd/files/hostapd.init index 3198e9801f..b9494b6bf5 100644 --- a/package/network/services/hostapd/files/wpad.init +++ b/package/network/services/hostapd/files/hostapd.init @@ -4,7 +4,7 @@ START=19 STOP=21 USE_PROCD=1 -NAME=wpad +NAME=hostapd start_service() { if [ -x "/usr/sbin/hostapd" ]; then _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Mon Jun 8 11:42:53 2020 From: ynezz at true.cz (=?UTF-8?q?Petr=20=C5=A0tetiar?=) Date: Mon, 8 Jun 2020 17:42:53 +0200 Subject: [OpenWrt-Devel] [PATCH] hostapd: update to latest Git hostap_2_9-1331-g5a8b366233f5 Message-ID: <20200608154253.21601-1-ynezz@true.cz> Bump to latest Git and refresh all patches in order to get fix for "UPnP SUBSCRIBE misbehavior in hostapd WPS AP" (CVE-2020-12695). General security vulnerability in the way the callback URLs in the UPnP SUBSCRIBE command are used were reported (VU#339275, CVE-2020-12695). Some of the described issues may be applicable to the use of UPnP in WPS AP mode functionality for supporting external registrars. Ref: https://w1.fi/security/2020-1/ Signed-off-by: Petr ?tetiar --- Just compile tested, Tested-by: welcome! package/network/services/hostapd/Makefile | 6 +-- ...ompletion-callback-to-complete-mesh-.patch | 4 +- ...rnel-driver-DFS-handler-in-userspace.patch | 2 +- ...hannels-to-be-selected-if-dfs-is-ena.patch | 10 ++-- ...sh-do-not-use-offchan-mgmt-tx-on-DFS.patch | 4 +- ...18-mesh-make-forwarding-configurable.patch | 14 +++--- .../hostapd/patches/200-multicall.patch | 46 +++++++++---------- .../services/hostapd/patches/300-noscan.patch | 4 +- .../hostapd/patches/301-mesh-noscan.patch | 6 +-- .../patches/310-rescan_immediately.patch | 2 +- .../patches/330-nl80211_fix_set_freq.patch | 2 +- .../patches/350-nl80211_del_beacon_bss.patch | 10 ++-- .../patches/360-ctrl_iface_reload.patch | 2 +- .../hostapd/patches/370-ap_sta_support.patch | 16 +++---- .../patches/380-disable_ctrl_iface_mib.patch | 26 +++++------ .../patches/390-wpa_ie_cap_workaround.patch | 4 +- ...dd-new-config-params-to-be-used-with.patch | 4 +- ...-use-new-parameters-during-ibss-join.patch | 4 +- .../patches/463-add-mcast_rate-to-11s.patch | 4 +- .../patches/464-fix-mesh-obss-check.patch | 2 +- .../patches/500-lto-jobserver-support.patch | 4 +- .../hostapd/patches/600-ubus_support.patch | 34 +++++++------- .../hostapd/patches/700-wifi-reload.patch | 16 +++---- 23 files changed, 113 insertions(+), 113 deletions(-) diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index 66560d5d4181..ea90e01c1d63 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=2 PKG_SOURCE_URL:=http://w1.fi/hostap.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2020-05-20 -PKG_SOURCE_VERSION:=dd2daf0848ed8854065cc5cfca07a0538cd380af -PKG_MIRROR_HASH:=5f198ba4f9098e8bddb32e41f82a24d0510c6e25317a86dcfafc70fb8db260e2 +PKG_SOURCE_DATE:=2020-06-08 +PKG_SOURCE_VERSION:=5a8b366233f5585e68a4ffbb604fbb4a848eb325 +PKG_MIRROR_HASH:=1b2a4947034142587a3f81eac2ea27dd64650e77f8943d973623b47533be2393 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=BSD-3-Clause diff --git a/package/network/services/hostapd/patches/004-mesh-use-setup-completion-callback-to-complete-mesh-.patch b/package/network/services/hostapd/patches/004-mesh-use-setup-completion-callback-to-complete-mesh-.patch index 844437f74a8c..54dea274faed 100644 --- a/package/network/services/hostapd/patches/004-mesh-use-setup-completion-callback-to-complete-mesh-.patch +++ b/package/network/services/hostapd/patches/004-mesh-use-setup-completion-callback-to-complete-mesh-.patch @@ -34,7 +34,7 @@ Signed-off-by: Peter Oh #endif /* CONFIG_MESH */ hostapd_clean_rrm(hapd); -@@ -2145,6 +2147,13 @@ dfs_offload: +@@ -2156,6 +2158,13 @@ dfs_offload: if (hapd->setup_complete_cb) hapd->setup_complete_cb(hapd->setup_complete_cb_ctx); @@ -48,7 +48,7 @@ Signed-off-by: Peter Oh wpa_printf(MSG_DEBUG, "%s: Setup of interface done.", iface->bss[0]->conf->iface); if (iface->interfaces && iface->interfaces->terminate_on_error > 0) -@@ -2288,7 +2297,7 @@ int hostapd_setup_interface(struct hosta +@@ -2299,7 +2308,7 @@ int hostapd_setup_interface(struct hosta ret = setup_interface(iface); if (ret) { wpa_printf(MSG_ERROR, "%s: Unable to setup interface.", diff --git a/package/network/services/hostapd/patches/006-mesh-inform-kernel-driver-DFS-handler-in-userspace.patch b/package/network/services/hostapd/patches/006-mesh-inform-kernel-driver-DFS-handler-in-userspace.patch index 8b1ce88864e2..2ca15e5d1eb5 100644 --- a/package/network/services/hostapd/patches/006-mesh-inform-kernel-driver-DFS-handler-in-userspace.patch +++ b/package/network/services/hostapd/patches/006-mesh-inform-kernel-driver-DFS-handler-in-userspace.patch @@ -26,7 +26,7 @@ Signed-off-by: Peter Oh struct wpa_driver_set_key_params { --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -10038,6 +10038,9 @@ static int nl80211_join_mesh(struct i802 +@@ -10051,6 +10051,9 @@ static int nl80211_join_mesh(struct i802 wpa_printf(MSG_DEBUG, " * flags=%08X", params->flags); diff --git a/package/network/services/hostapd/patches/011-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch b/package/network/services/hostapd/patches/011-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch index cc6357688355..3a9b8471718e 100644 --- a/package/network/services/hostapd/patches/011-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch +++ b/package/network/services/hostapd/patches/011-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch @@ -13,7 +13,7 @@ Signed-off-by: Peter Oh --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -2345,6 +2345,8 @@ void ibss_mesh_setup_freq(struct wpa_sup +@@ -2349,6 +2349,8 @@ void ibss_mesh_setup_freq(struct wpa_sup int chwidth, seg0, seg1; u32 vht_caps = 0; int is_24ghz; @@ -22,7 +22,7 @@ Signed-off-by: Peter Oh freq->freq = ssid->frequency; -@@ -2432,8 +2434,11 @@ void ibss_mesh_setup_freq(struct wpa_sup +@@ -2436,8 +2438,11 @@ void ibss_mesh_setup_freq(struct wpa_sup return; /* Check primary channel flags */ @@ -35,7 +35,7 @@ Signed-off-by: Peter Oh freq->channel = pri_chan->chan; -@@ -2466,8 +2471,11 @@ void ibss_mesh_setup_freq(struct wpa_sup +@@ -2470,8 +2475,11 @@ void ibss_mesh_setup_freq(struct wpa_sup return; /* Check secondary channel flags */ @@ -48,7 +48,7 @@ Signed-off-by: Peter Oh if (ht40 == -1) { if (!(pri_chan->flag & HOSTAPD_CHAN_HT40MINUS)) -@@ -2560,8 +2568,11 @@ skip_ht40: +@@ -2564,8 +2572,11 @@ skip_ht40: return; /* Back to HT configuration if channel not usable */ @@ -61,7 +61,7 @@ Signed-off-by: Peter Oh } chwidth = CHANWIDTH_80MHZ; -@@ -2581,10 +2592,11 @@ skip_ht40: +@@ -2585,10 +2596,11 @@ skip_ht40: if (!chan) continue; diff --git a/package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch b/package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch index 3d623a65b253..7c6f249a0b52 100644 --- a/package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch +++ b/package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch @@ -17,7 +17,7 @@ Signed-off-by: Peter Oh --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -7788,6 +7788,10 @@ static int wpa_driver_nl80211_send_actio +@@ -7789,6 +7789,10 @@ static int wpa_driver_nl80211_send_actio u8 *buf; struct ieee80211_hdr *hdr; int offchanok = 1; @@ -28,7 +28,7 @@ Signed-off-by: Peter Oh if (is_ap_interface(drv->nlmode) && (int) freq == bss->freq && bss->beacon_set) -@@ -7816,6 +7820,21 @@ static int wpa_driver_nl80211_send_actio +@@ -7817,6 +7821,21 @@ static int wpa_driver_nl80211_send_actio os_memset(bss->rand_addr, 0, ETH_ALEN); } diff --git a/package/network/services/hostapd/patches/018-mesh-make-forwarding-configurable.patch b/package/network/services/hostapd/patches/018-mesh-make-forwarding-configurable.patch index f7ea9674da12..0bdc4cc15404 100644 --- a/package/network/services/hostapd/patches/018-mesh-make-forwarding-configurable.patch +++ b/package/network/services/hostapd/patches/018-mesh-make-forwarding-configurable.patch @@ -31,7 +31,7 @@ Signed-off-by: Daniel Golle }; #define MAX_STA_COUNT 2007 -@@ -691,6 +692,7 @@ struct hostapd_bss_config { +@@ -701,6 +702,7 @@ struct hostapd_bss_config { #define MESH_ENABLED BIT(0) int mesh; @@ -59,7 +59,7 @@ Signed-off-by: Daniel Golle --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -10006,6 +10006,9 @@ static int nl80211_put_mesh_config(struc +@@ -10019,6 +10019,9 @@ static int nl80211_put_mesh_config(struc if (((params->flags & WPA_DRIVER_MESH_CONF_FLAG_AUTO_PLINKS) && nla_put_u8(msg, NL80211_MESHCONF_AUTO_OPEN_PLINKS, params->auto_plinks)) || @@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle { INT_RANGE(mesh_rssi_threshold, -255, 1) }, #else /* CONFIG_MESH */ { INT_RANGE(mode, 0, 4) }, -@@ -3046,6 +3047,7 @@ void wpa_config_set_network_defaults(str +@@ -3047,6 +3048,7 @@ void wpa_config_set_network_defaults(str ssid->dot11MeshRetryTimeout = DEFAULT_MESH_RETRY_TIMEOUT; ssid->dot11MeshConfirmTimeout = DEFAULT_MESH_CONFIRM_TIMEOUT; ssid->dot11MeshHoldingTimeout = DEFAULT_MESH_HOLDING_TIMEOUT; @@ -87,7 +87,7 @@ Signed-off-by: Daniel Golle ssid->mesh_rssi_threshold = DEFAULT_MESH_RSSI_THRESHOLD; #endif /* CONFIG_MESH */ #ifdef CONFIG_HT_OVERRIDES -@@ -4273,6 +4275,7 @@ struct wpa_config * wpa_config_alloc_emp +@@ -4274,6 +4276,7 @@ struct wpa_config * wpa_config_alloc_emp config->user_mpm = DEFAULT_USER_MPM; config->max_peer_links = DEFAULT_MAX_PEER_LINKS; config->mesh_max_inactivity = DEFAULT_MESH_MAX_INACTIVITY; @@ -95,7 +95,7 @@ Signed-off-by: Daniel Golle config->dot11RSNASAERetransPeriod = DEFAULT_DOT11_RSNA_SAE_RETRANS_PERIOD; config->fast_reauth = DEFAULT_FAST_REAUTH; -@@ -4911,6 +4914,7 @@ static const struct global_parse_data gl +@@ -4912,6 +4915,7 @@ static const struct global_parse_data gl { INT(user_mpm), 0 }, { INT_RANGE(max_peer_links, 0, 255), 0 }, { INT(mesh_max_inactivity), 0 }, @@ -138,7 +138,7 @@ Signed-off-by: Daniel Golle INT(frequency); INT(enable_edmg); INT(edmg_channel); -@@ -1526,6 +1527,9 @@ static void wpa_config_write_global(FILE +@@ -1527,6 +1528,9 @@ static void wpa_config_write_global(FILE fprintf(f, "mesh_max_inactivity=%d\n", config->mesh_max_inactivity); @@ -150,7 +150,7 @@ Signed-off-by: Daniel Golle fprintf(f, "dot11RSNASAERetransPeriod=%d\n", --- a/wpa_supplicant/config_ssid.h +++ b/wpa_supplicant/config_ssid.h -@@ -540,6 +540,11 @@ struct wpa_ssid { +@@ -546,6 +546,11 @@ struct wpa_ssid { int dot11MeshConfirmTimeout; /* msec */ int dot11MeshHoldingTimeout; /* msec */ diff --git a/package/network/services/hostapd/patches/200-multicall.patch b/package/network/services/hostapd/patches/200-multicall.patch index ef28e191c96f..0b371afe3e0d 100644 --- a/package/network/services/hostapd/patches/200-multicall.patch +++ b/package/network/services/hostapd/patches/200-multicall.patch @@ -1,6 +1,6 @@ --- a/hostapd/Makefile +++ b/hostapd/Makefile -@@ -28,6 +28,7 @@ CFLAGS += -I$(abspath ../src/utils) +@@ -31,6 +31,7 @@ CFLAGS += -I$(abspath ../src/utils) export BINDIR ?= /usr/local/bin/ -include .config @@ -8,7 +8,7 @@ ifndef CONFIG_NO_GITVER # Add VERSION_STR postfix for builds from a git repository -@@ -200,7 +201,8 @@ endif +@@ -204,7 +205,8 @@ endif ifdef CONFIG_NO_VLAN CFLAGS += -DCONFIG_NO_VLAN @@ -18,7 +18,7 @@ OBJS += ../src/ap/vlan_init.o OBJS += ../src/ap/vlan_ifconfig.o OBJS += ../src/ap/vlan.o -@@ -346,10 +348,14 @@ CFLAGS += -DCONFIG_MBO +@@ -354,10 +356,14 @@ CFLAGS += -DCONFIG_MBO OBJS += ../src/ap/mbo_ap.o endif @@ -36,7 +36,7 @@ LIBS += $(DRV_AP_LIBS) ifdef CONFIG_L2_PACKET -@@ -1300,6 +1306,12 @@ install: $(addprefix $(DESTDIR)$(BINDIR) +@@ -1311,6 +1317,12 @@ install: $(addprefix $(DESTDIR)$(BINDIR) BCHECK=../src/drivers/build.hostapd @@ -49,9 +49,9 @@ hostapd: $(BCHECK) $(OBJS) $(Q)$(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS) @$(E) " LD " $@ -@@ -1341,6 +1353,12 @@ ifeq ($(CONFIG_TLS), linux) - HOBJS += ../src/crypto/crypto_linux.o - endif +@@ -1374,6 +1386,12 @@ SOBJS += ../src/crypto/sha256-kdf.o + SOBJS += ../src/crypto/sha384-kdf.o + SOBJS += ../src/crypto/sha512-kdf.o +dump_cflags: + @printf "%s " "$(CFLAGS)" @@ -72,7 +72,7 @@ ifndef CONFIG_NO_GITVER # Add VERSION_STR postfix for builds from a git repository -@@ -365,7 +366,9 @@ endif +@@ -369,7 +370,9 @@ endif ifdef CONFIG_IBSS_RSN NEED_RSN_AUTHENTICATOR=y CFLAGS += -DCONFIG_IBSS_RSN @@ -82,7 +82,7 @@ OBJS += ibss_rsn.o endif -@@ -886,6 +889,10 @@ ifdef CONFIG_DYNAMIC_EAP_METHODS +@@ -890,6 +893,10 @@ ifdef CONFIG_DYNAMIC_EAP_METHODS CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS LIBS += -ldl -rdynamic endif @@ -93,7 +93,7 @@ endif ifdef CONFIG_AP -@@ -893,9 +900,11 @@ NEED_EAP_COMMON=y +@@ -897,9 +904,11 @@ NEED_EAP_COMMON=y NEED_RSN_AUTHENTICATOR=y CFLAGS += -DCONFIG_AP OBJS += ap.o @@ -105,7 +105,7 @@ OBJS += ../src/ap/hostapd.o OBJS += ../src/ap/wpa_auth_glue.o OBJS += ../src/ap/utils.o -@@ -975,6 +984,12 @@ endif +@@ -979,6 +988,12 @@ endif ifdef CONFIG_HS20 OBJS += ../src/ap/hs20.o endif @@ -118,7 +118,7 @@ endif ifdef CONFIG_MBO -@@ -983,7 +998,9 @@ CFLAGS += -DCONFIG_MBO +@@ -987,7 +1002,9 @@ CFLAGS += -DCONFIG_MBO endif ifdef NEED_RSN_AUTHENTICATOR @@ -128,7 +128,7 @@ NEED_AES_WRAP=y OBJS += ../src/ap/wpa_auth.o OBJS += ../src/ap/wpa_auth_ie.o -@@ -1893,6 +1910,12 @@ wpa_priv: $(BCHECK) $(OBJS_priv) +@@ -1897,6 +1914,12 @@ wpa_priv: $(BCHECK) $(OBJS_priv) $(OBJS_c) $(OBJS_t) $(OBJS_t2) $(OBJS) $(BCHECK) $(EXTRA_progs): .config @@ -141,7 +141,7 @@ wpa_supplicant: $(BCHECK) $(OBJS) $(EXTRA_progs) $(Q)$(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS) @$(E) " LD " $@ -@@ -1993,6 +2016,12 @@ endif +@@ -1997,6 +2020,12 @@ endif $(Q)sed -e 's|\@BINDIR\@|$(BINDIR)|g' $< >$@ @$(E) " sed" $< @@ -156,7 +156,7 @@ wpa_cli.exe: wpa_cli --- a/src/drivers/driver.h +++ b/src/drivers/driver.h -@@ -5879,8 +5879,8 @@ union wpa_event_data { +@@ -5886,8 +5886,8 @@ union wpa_event_data { * Driver wrapper code should call this function whenever an event is received * from the driver. */ @@ -167,7 +167,7 @@ /** * wpa_supplicant_event_global - Report a driver event for wpa_supplicant -@@ -5892,7 +5892,7 @@ void wpa_supplicant_event(void *ctx, enu +@@ -5899,7 +5899,7 @@ void wpa_supplicant_event(void *ctx, enu * Same as wpa_supplicant_event(), but we search for the interface in * wpa_global. */ @@ -178,7 +178,7 @@ /* --- a/src/ap/drv_callbacks.c +++ b/src/ap/drv_callbacks.c -@@ -1768,8 +1768,8 @@ err: +@@ -1789,8 +1789,8 @@ err: #endif /* CONFIG_OWE */ @@ -189,7 +189,7 @@ { struct hostapd_data *hapd = ctx; #ifndef CONFIG_NO_STDOUT_DEBUG -@@ -2014,7 +2014,7 @@ void wpa_supplicant_event(void *ctx, enu +@@ -2035,7 +2035,7 @@ void wpa_supplicant_event(void *ctx, enu } @@ -231,7 +231,7 @@ os_memset(&global, 0, sizeof(global)); --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c -@@ -4500,8 +4500,8 @@ static void wpas_event_unprot_beacon(str +@@ -4579,8 +4579,8 @@ static void wpas_event_unprot_beacon(str } @@ -242,7 +242,7 @@ { struct wpa_supplicant *wpa_s = ctx; int resched; -@@ -5319,7 +5319,7 @@ void wpa_supplicant_event(void *ctx, enu +@@ -5398,7 +5398,7 @@ void wpa_supplicant_event(void *ctx, enu } @@ -253,7 +253,7 @@ struct wpa_supplicant *wpa_s; --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -6593,7 +6593,6 @@ struct wpa_interface * wpa_supplicant_ma +@@ -6597,7 +6597,6 @@ struct wpa_interface * wpa_supplicant_ma return NULL; } @@ -261,7 +261,7 @@ /** * wpa_supplicant_match_existing - Match existing interfaces * @global: Pointer to global data from wpa_supplicant_init() -@@ -6630,6 +6629,11 @@ static int wpa_supplicant_match_existing +@@ -6634,6 +6633,11 @@ static int wpa_supplicant_match_existing #endif /* CONFIG_MATCH_IFACE */ @@ -273,7 +273,7 @@ /** * wpa_supplicant_add_iface - Add a new network interface -@@ -6886,6 +6890,8 @@ struct wpa_global * wpa_supplicant_init( +@@ -6890,6 +6894,8 @@ struct wpa_global * wpa_supplicant_init( #ifndef CONFIG_NO_WPA_MSG wpa_msg_register_ifname_cb(wpa_supplicant_msg_ifname_cb); #endif /* CONFIG_NO_WPA_MSG */ diff --git a/package/network/services/hostapd/patches/300-noscan.patch b/package/network/services/hostapd/patches/300-noscan.patch index 53cf38c42efc..638b76f84e67 100644 --- a/package/network/services/hostapd/patches/300-noscan.patch +++ b/package/network/services/hostapd/patches/300-noscan.patch @@ -1,6 +1,6 @@ --- a/hostapd/config_file.c +++ b/hostapd/config_file.c -@@ -3452,6 +3452,10 @@ static int hostapd_config_fill(struct ho +@@ -3493,6 +3493,10 @@ static int hostapd_config_fill(struct ho if (bss->ocv && !bss->ieee80211w) bss->ieee80211w = 1; #endif /* CONFIG_OCV */ @@ -13,7 +13,7 @@ } else if (os_strcmp(buf, "ht_capab") == 0) { --- a/src/ap/ap_config.h +++ b/src/ap/ap_config.h -@@ -974,6 +974,8 @@ struct hostapd_config { +@@ -984,6 +984,8 @@ struct hostapd_config { int ht_op_mode_fixed; u16 ht_capab; diff --git a/package/network/services/hostapd/patches/301-mesh-noscan.patch b/package/network/services/hostapd/patches/301-mesh-noscan.patch index 33c481cc7611..fac9bffabdf7 100644 --- a/package/network/services/hostapd/patches/301-mesh-noscan.patch +++ b/package/network/services/hostapd/patches/301-mesh-noscan.patch @@ -31,7 +31,7 @@ if (conf->hw_mode == HOSTAPD_MODE_IEEE80211A && ssid->vht) { --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -2334,12 +2334,12 @@ void ibss_mesh_setup_freq(struct wpa_sup +@@ -2338,12 +2338,12 @@ void ibss_mesh_setup_freq(struct wpa_sup int ieee80211_mode = wpas_mode_to_ieee80211_mode(ssid->mode); enum hostapd_hw_mode hw_mode; struct hostapd_hw_modes *mode = NULL; @@ -46,7 +46,7 @@ unsigned int j, k; struct hostapd_freq_params vht_freq; int chwidth, seg0, seg1; -@@ -2421,7 +2421,7 @@ void ibss_mesh_setup_freq(struct wpa_sup +@@ -2425,7 +2425,7 @@ void ibss_mesh_setup_freq(struct wpa_sup #endif /* CONFIG_HE_OVERRIDES */ /* Setup higher BW only for 5 GHz */ @@ -57,7 +57,7 @@ for (chan_idx = 0; chan_idx < mode->num_channels; chan_idx++) { --- a/wpa_supplicant/config_ssid.h +++ b/wpa_supplicant/config_ssid.h -@@ -965,6 +965,8 @@ struct wpa_ssid { +@@ -971,6 +971,8 @@ struct wpa_ssid { */ int no_auto_peer; diff --git a/package/network/services/hostapd/patches/310-rescan_immediately.patch b/package/network/services/hostapd/patches/310-rescan_immediately.patch index 7c065f55b37a..be2be615e32c 100644 --- a/package/network/services/hostapd/patches/310-rescan_immediately.patch +++ b/package/network/services/hostapd/patches/310-rescan_immediately.patch @@ -1,6 +1,6 @@ --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -4948,7 +4948,7 @@ wpa_supplicant_alloc(struct wpa_supplica +@@ -4952,7 +4952,7 @@ wpa_supplicant_alloc(struct wpa_supplica if (wpa_s == NULL) return NULL; wpa_s->scan_req = INITIAL_SCAN_REQ; diff --git a/package/network/services/hostapd/patches/330-nl80211_fix_set_freq.patch b/package/network/services/hostapd/patches/330-nl80211_fix_set_freq.patch index 5ad4ed801a93..9e2551ce60c3 100644 --- a/package/network/services/hostapd/patches/330-nl80211_fix_set_freq.patch +++ b/package/network/services/hostapd/patches/330-nl80211_fix_set_freq.patch @@ -1,6 +1,6 @@ --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -4645,7 +4645,7 @@ static int nl80211_set_channel(struct i8 +@@ -4646,7 +4646,7 @@ static int nl80211_set_channel(struct i8 freq->freq, freq->ht_enabled, freq->vht_enabled, freq->he_enabled, freq->bandwidth, freq->center_freq1, freq->center_freq2); diff --git a/package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch b/package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch index 876becfbc977..a2a03c04f769 100644 --- a/package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch +++ b/package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch @@ -1,6 +1,6 @@ --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -2787,10 +2787,15 @@ static int wpa_driver_nl80211_del_beacon +@@ -2788,10 +2788,15 @@ static int wpa_driver_nl80211_del_beacon struct nl_msg *msg; struct wpa_driver_nl80211_data *drv = bss->drv; @@ -18,7 +18,7 @@ return send_and_recv_msgs(drv, msg, NULL, NULL); } -@@ -5260,7 +5265,7 @@ static void nl80211_teardown_ap(struct i +@@ -5261,7 +5266,7 @@ static void nl80211_teardown_ap(struct i nl80211_mgmt_unsubscribe(bss, "AP teardown"); nl80211_put_wiphy_data_ap(bss); @@ -27,7 +27,7 @@ } -@@ -7678,8 +7683,6 @@ static int wpa_driver_nl80211_if_remove( +@@ -7679,8 +7684,6 @@ static int wpa_driver_nl80211_if_remove( } else { wpa_printf(MSG_DEBUG, "nl80211: First BSS - reassign context"); nl80211_teardown_ap(bss); @@ -36,7 +36,7 @@ nl80211_destroy_bss(bss); if (!bss->added_if) i802_set_iface_flags(bss, 0); -@@ -8073,7 +8076,6 @@ static int wpa_driver_nl80211_deinit_ap( +@@ -8074,7 +8077,6 @@ static int wpa_driver_nl80211_deinit_ap( if (!is_ap_interface(drv->nlmode)) return -1; wpa_driver_nl80211_del_beacon(bss); @@ -44,7 +44,7 @@ /* * If the P2P GO interface was dynamically added, then it is -@@ -8093,7 +8095,6 @@ static int wpa_driver_nl80211_stop_ap(vo +@@ -8094,7 +8096,6 @@ static int wpa_driver_nl80211_stop_ap(vo if (!is_ap_interface(drv->nlmode)) return -1; wpa_driver_nl80211_del_beacon(bss); diff --git a/package/network/services/hostapd/patches/360-ctrl_iface_reload.patch b/package/network/services/hostapd/patches/360-ctrl_iface_reload.patch index 7692a2915720..31c5102cb189 100644 --- a/package/network/services/hostapd/patches/360-ctrl_iface_reload.patch +++ b/package/network/services/hostapd/patches/360-ctrl_iface_reload.patch @@ -78,7 +78,7 @@ #ifdef NEED_AP_MLME static int hostapd_ctrl_iface_sa_query(struct hostapd_data *hapd, -@@ -3527,6 +3584,8 @@ static int hostapd_ctrl_iface_receive_pr +@@ -3546,6 +3603,8 @@ static int hostapd_ctrl_iface_receive_pr } else if (os_strncmp(buf, "VENDOR ", 7) == 0) { reply_len = hostapd_ctrl_iface_vendor(hapd, buf + 7, reply, reply_size); diff --git a/package/network/services/hostapd/patches/370-ap_sta_support.patch b/package/network/services/hostapd/patches/370-ap_sta_support.patch index 670d0a52a161..f96017de2e7a 100644 --- a/package/network/services/hostapd/patches/370-ap_sta_support.patch +++ b/package/network/services/hostapd/patches/370-ap_sta_support.patch @@ -183,7 +183,7 @@ wpa_s->new_connection = 1; wpa_drv_set_operstate(wpa_s, 0); #ifndef IEEE8021X_EAPOL -@@ -2225,6 +2277,8 @@ void wpa_supplicant_associate(struct wpa +@@ -2229,6 +2281,8 @@ void wpa_supplicant_associate(struct wpa wpa_ssid_txt(ssid->ssid, ssid->ssid_len), ssid->id); wpas_notify_mesh_group_started(wpa_s, ssid); @@ -192,7 +192,7 @@ #else /* CONFIG_MESH */ wpa_msg(wpa_s, MSG_ERROR, "mesh mode support not included in the build"); -@@ -6206,6 +6260,16 @@ static int wpa_supplicant_init_iface(str +@@ -6210,6 +6264,16 @@ static int wpa_supplicant_init_iface(str sizeof(wpa_s->bridge_ifname)); } @@ -209,7 +209,7 @@ /* RSNA Supplicant Key Management - INITIALIZE */ eapol_sm_notify_portEnabled(wpa_s->eapol, false); eapol_sm_notify_portValid(wpa_s->eapol, false); -@@ -6539,6 +6603,11 @@ static void wpa_supplicant_deinit_iface( +@@ -6543,6 +6607,11 @@ static void wpa_supplicant_deinit_iface( if (terminate) wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_TERMINATING); @@ -246,7 +246,7 @@ --- a/hostapd/ctrl_iface.c +++ b/hostapd/ctrl_iface.c -@@ -2693,6 +2693,11 @@ static int hostapd_ctrl_iface_chan_switc +@@ -2712,6 +2712,11 @@ static int hostapd_ctrl_iface_chan_switc return 0; } @@ -274,7 +274,7 @@ if (ieee802_11_build_ap_params(hapd, ¶ms) < 0) --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c -@@ -4500,6 +4500,60 @@ static void wpas_event_unprot_beacon(str +@@ -4579,6 +4579,60 @@ static void wpas_event_unprot_beacon(str } @@ -335,7 +335,7 @@ void supplicant_event(void *ctx, enum wpa_event_type event, union wpa_event_data *data) { -@@ -4802,8 +4856,10 @@ void supplicant_event(void *ctx, enum wp +@@ -4881,8 +4935,10 @@ void supplicant_event(void *ctx, enum wp channel_width_to_string(data->ch_switch.ch_width), data->ch_switch.cf1, data->ch_switch.cf2); @@ -349,7 +349,7 @@ wpa_s->current_ssid->frequency = data->ch_switch.freq; --- a/src/drivers/driver.h +++ b/src/drivers/driver.h -@@ -5683,6 +5683,7 @@ union wpa_event_data { +@@ -5690,6 +5690,7 @@ union wpa_event_data { /** * struct ch_switch @@ -357,7 +357,7 @@ * @freq: Frequency of new channel in MHz * @ht_enabled: Whether this is an HT channel * @ch_offset: Secondary channel offset -@@ -5691,6 +5692,7 @@ union wpa_event_data { +@@ -5698,6 +5699,7 @@ union wpa_event_data { * @cf2: Center frequency 2 */ struct ch_switch { diff --git a/package/network/services/hostapd/patches/380-disable_ctrl_iface_mib.patch b/package/network/services/hostapd/patches/380-disable_ctrl_iface_mib.patch index 2b904d1199ba..cd4a2c9f149e 100644 --- a/package/network/services/hostapd/patches/380-disable_ctrl_iface_mib.patch +++ b/package/network/services/hostapd/patches/380-disable_ctrl_iface_mib.patch @@ -1,6 +1,6 @@ --- a/hostapd/Makefile +++ b/hostapd/Makefile -@@ -222,6 +222,9 @@ endif +@@ -226,6 +226,9 @@ endif ifdef CONFIG_NO_CTRL_IFACE CFLAGS += -DCONFIG_NO_CTRL_IFACE else @@ -12,7 +12,7 @@ else --- a/hostapd/ctrl_iface.c +++ b/hostapd/ctrl_iface.c -@@ -3351,6 +3351,7 @@ static int hostapd_ctrl_iface_receive_pr +@@ -3370,6 +3370,7 @@ static int hostapd_ctrl_iface_receive_pr reply_size); } else if (os_strcmp(buf, "STATUS-DRIVER") == 0) { reply_len = hostapd_drv_status(hapd, reply, reply_size); @@ -20,7 +20,7 @@ } else if (os_strcmp(buf, "MIB") == 0) { reply_len = ieee802_11_get_mib(hapd, reply, reply_size); if (reply_len >= 0) { -@@ -3392,6 +3393,7 @@ static int hostapd_ctrl_iface_receive_pr +@@ -3411,6 +3412,7 @@ static int hostapd_ctrl_iface_receive_pr } else if (os_strncmp(buf, "STA-NEXT ", 9) == 0) { reply_len = hostapd_ctrl_iface_sta_next(hapd, buf + 9, reply, reply_size); @@ -30,7 +30,7 @@ reply_len = -1; --- a/wpa_supplicant/Makefile +++ b/wpa_supplicant/Makefile -@@ -948,6 +948,9 @@ ifdef CONFIG_FILS +@@ -952,6 +952,9 @@ ifdef CONFIG_FILS OBJS += ../src/ap/fils_hlp.o endif ifdef CONFIG_CTRL_IFACE @@ -42,7 +42,7 @@ --- a/wpa_supplicant/ctrl_iface.c +++ b/wpa_supplicant/ctrl_iface.c -@@ -2261,7 +2261,7 @@ static int wpa_supplicant_ctrl_iface_sta +@@ -2267,7 +2267,7 @@ static int wpa_supplicant_ctrl_iface_sta pos += ret; } @@ -51,7 +51,7 @@ if (wpa_s->ap_iface) { pos += ap_ctrl_iface_wpa_get_status(wpa_s, pos, end - pos, -@@ -10243,6 +10243,7 @@ char * wpa_supplicant_ctrl_iface_process +@@ -10366,6 +10366,7 @@ char * wpa_supplicant_ctrl_iface_process reply_len = -1; } else if (os_strncmp(buf, "NOTE ", 5) == 0) { wpa_printf(MSG_INFO, "NOTE: %s", buf + 5); @@ -59,7 +59,7 @@ } else if (os_strcmp(buf, "MIB") == 0) { reply_len = wpa_sm_get_mib(wpa_s->wpa, reply, reply_size); if (reply_len >= 0) { -@@ -10255,6 +10256,7 @@ char * wpa_supplicant_ctrl_iface_process +@@ -10378,6 +10379,7 @@ char * wpa_supplicant_ctrl_iface_process reply_size - reply_len); #endif /* CONFIG_MACSEC */ } @@ -67,7 +67,7 @@ } else if (os_strncmp(buf, "STATUS", 6) == 0) { reply_len = wpa_supplicant_ctrl_iface_status( wpa_s, buf + 6, reply, reply_size); -@@ -10739,6 +10741,7 @@ char * wpa_supplicant_ctrl_iface_process +@@ -10862,6 +10864,7 @@ char * wpa_supplicant_ctrl_iface_process reply_len = wpa_supplicant_ctrl_iface_bss( wpa_s, buf + 4, reply, reply_size); #ifdef CONFIG_AP @@ -75,7 +75,7 @@ } else if (os_strcmp(buf, "STA-FIRST") == 0) { reply_len = ap_ctrl_iface_sta_first(wpa_s, reply, reply_size); } else if (os_strncmp(buf, "STA ", 4) == 0) { -@@ -10747,12 +10750,15 @@ char * wpa_supplicant_ctrl_iface_process +@@ -10870,12 +10873,15 @@ char * wpa_supplicant_ctrl_iface_process } else if (os_strncmp(buf, "STA-NEXT ", 9) == 0) { reply_len = ap_ctrl_iface_sta_next(wpa_s, buf + 9, reply, reply_size); @@ -144,7 +144,7 @@ static void ieee802_1x_wnm_notif_send(void *eloop_ctx, void *timeout_ctx) --- a/src/ap/wpa_auth.c +++ b/src/ap/wpa_auth.c -@@ -4391,6 +4391,7 @@ static const char * wpa_bool_txt(int val +@@ -4451,6 +4451,7 @@ static const char * wpa_bool_txt(int val return val ? "TRUE" : "FALSE"; } @@ -152,7 +152,7 @@ #define RSN_SUITE "%02x-%02x-%02x-%d" #define RSN_SUITE_ARG(s) \ -@@ -4541,7 +4542,7 @@ int wpa_get_mib_sta(struct wpa_state_mac +@@ -4601,7 +4602,7 @@ int wpa_get_mib_sta(struct wpa_state_mac return len; } @@ -163,7 +163,7 @@ { --- a/src/rsn_supp/wpa.c +++ b/src/rsn_supp/wpa.c -@@ -2717,6 +2717,8 @@ static u32 wpa_key_mgmt_suite(struct wpa +@@ -2728,6 +2728,8 @@ static u32 wpa_key_mgmt_suite(struct wpa } @@ -172,7 +172,7 @@ #define RSN_SUITE "%02x-%02x-%02x-%d" #define RSN_SUITE_ARG(s) \ ((s) >> 24) & 0xff, ((s) >> 16) & 0xff, ((s) >> 8) & 0xff, (s) & 0xff -@@ -2798,6 +2800,7 @@ int wpa_sm_get_mib(struct wpa_sm *sm, ch +@@ -2809,6 +2811,7 @@ int wpa_sm_get_mib(struct wpa_sm *sm, ch return (int) len; } diff --git a/package/network/services/hostapd/patches/390-wpa_ie_cap_workaround.patch b/package/network/services/hostapd/patches/390-wpa_ie_cap_workaround.patch index 1318759ea786..9dee2d738e39 100644 --- a/package/network/services/hostapd/patches/390-wpa_ie_cap_workaround.patch +++ b/package/network/services/hostapd/patches/390-wpa_ie_cap_workaround.patch @@ -1,6 +1,6 @@ --- a/src/common/wpa_common.c +++ b/src/common/wpa_common.c -@@ -2119,6 +2119,31 @@ u32 wpa_akm_to_suite(int akm) +@@ -2121,6 +2121,31 @@ u32 wpa_akm_to_suite(int akm) } @@ -32,7 +32,7 @@ int wpa_compare_rsn_ie(int ft_initial_assoc, const u8 *ie1, size_t ie1len, const u8 *ie2, size_t ie2len) -@@ -2126,8 +2151,19 @@ int wpa_compare_rsn_ie(int ft_initial_as +@@ -2128,8 +2153,19 @@ int wpa_compare_rsn_ie(int ft_initial_as if (ie1 == NULL || ie2 == NULL) return -1; diff --git a/package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch b/package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch index 0a512a48a12a..0a16af30996a 100644 --- a/package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch +++ b/package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch @@ -162,7 +162,7 @@ Signed-hostap: Antonio Quartulli #define DEFAULT_EAP_WORKAROUND ((unsigned int) -1) -@@ -837,6 +839,9 @@ struct wpa_ssid { +@@ -843,6 +845,9 @@ struct wpa_ssid { */ void *parent_cred; @@ -174,7 +174,7 @@ Signed-hostap: Antonio Quartulli * macsec_policy - Determines the policy for MACsec secure session --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -3637,6 +3637,12 @@ static void wpas_start_assoc_cb(struct w +@@ -3641,6 +3641,12 @@ static void wpas_start_assoc_cb(struct w params.beacon_int = ssid->beacon_int; else params.beacon_int = wpa_s->conf->beacon_int; diff --git a/package/network/services/hostapd/patches/461-driver_nl80211-use-new-parameters-during-ibss-join.patch b/package/network/services/hostapd/patches/461-driver_nl80211-use-new-parameters-during-ibss-join.patch index 955e15e307e3..61d2089bc8bc 100644 --- a/package/network/services/hostapd/patches/461-driver_nl80211-use-new-parameters-during-ibss-join.patch +++ b/package/network/services/hostapd/patches/461-driver_nl80211-use-new-parameters-during-ibss-join.patch @@ -10,7 +10,7 @@ Signed-hostap: Antonio Quartulli --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -5583,7 +5583,7 @@ static int wpa_driver_nl80211_ibss(struc +@@ -5584,7 +5584,7 @@ static int wpa_driver_nl80211_ibss(struc struct wpa_driver_associate_params *params) { struct nl_msg *msg; @@ -19,7 +19,7 @@ Signed-hostap: Antonio Quartulli int count = 0; wpa_printf(MSG_DEBUG, "nl80211: Join IBSS (ifindex=%d)", drv->ifindex); -@@ -5610,6 +5610,37 @@ retry: +@@ -5611,6 +5611,37 @@ retry: nl80211_put_beacon_int(msg, params->beacon_int)) goto fail; diff --git a/package/network/services/hostapd/patches/463-add-mcast_rate-to-11s.patch b/package/network/services/hostapd/patches/463-add-mcast_rate-to-11s.patch index 473f3c786c5e..5bb0142341c1 100644 --- a/package/network/services/hostapd/patches/463-add-mcast_rate-to-11s.patch +++ b/package/network/services/hostapd/patches/463-add-mcast_rate-to-11s.patch @@ -29,7 +29,7 @@ Tested-by: Simon Wunderlich struct wpa_driver_set_key_params { --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -10026,6 +10026,18 @@ static int nl80211_put_mesh_id(struct nl +@@ -10039,6 +10039,18 @@ static int nl80211_put_mesh_id(struct nl } @@ -48,7 +48,7 @@ Tested-by: Simon Wunderlich static int nl80211_put_mesh_config(struct nl_msg *msg, struct wpa_driver_mesh_bss_params *params) { -@@ -10087,6 +10099,7 @@ static int nl80211_join_mesh(struct i802 +@@ -10100,6 +10112,7 @@ static int nl80211_join_mesh(struct i802 nl80211_put_basic_rates(msg, params->basic_rates) || nl80211_put_mesh_id(msg, params->meshid, params->meshid_len) || nl80211_put_beacon_int(msg, params->beacon_int) || diff --git a/package/network/services/hostapd/patches/464-fix-mesh-obss-check.patch b/package/network/services/hostapd/patches/464-fix-mesh-obss-check.patch index 6d48175163fd..5f1f8e3d8214 100644 --- a/package/network/services/hostapd/patches/464-fix-mesh-obss-check.patch +++ b/package/network/services/hostapd/patches/464-fix-mesh-obss-check.patch @@ -1,6 +1,6 @@ --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -2407,11 +2407,13 @@ void ibss_mesh_setup_freq(struct wpa_sup +@@ -2411,11 +2411,13 @@ void ibss_mesh_setup_freq(struct wpa_sup for (j = 0; j < wpa_s->last_scan_res_used; j++) { struct wpa_bss *bss = wpa_s->last_scan_res[j]; diff --git a/package/network/services/hostapd/patches/500-lto-jobserver-support.patch b/package/network/services/hostapd/patches/500-lto-jobserver-support.patch index 223c43cfde15..46030859dec0 100644 --- a/package/network/services/hostapd/patches/500-lto-jobserver-support.patch +++ b/package/network/services/hostapd/patches/500-lto-jobserver-support.patch @@ -1,6 +1,6 @@ --- a/hostapd/Makefile +++ b/hostapd/Makefile -@@ -1316,14 +1316,14 @@ hostapd_multi.a: $(BCHECK) $(OBJS) +@@ -1327,14 +1327,14 @@ hostapd_multi.a: $(BCHECK) $(OBJS) @$(AR) cr $@ hostapd_multi.o $(OBJS) hostapd: $(BCHECK) $(OBJS) @@ -19,7 +19,7 @@ NOBJS = nt_password_hash.o ../src/crypto/ms_funcs.o $(SHA1OBJS) --- a/wpa_supplicant/Makefile +++ b/wpa_supplicant/Makefile -@@ -1926,23 +1926,23 @@ wpa_supplicant_multi.a: .config $(BCHECK +@@ -1930,23 +1930,23 @@ wpa_supplicant_multi.a: .config $(BCHECK @$(AR) cr $@ wpa_supplicant_multi.o $(OBJS) wpa_supplicant: $(BCHECK) $(OBJS) $(EXTRA_progs) diff --git a/package/network/services/hostapd/patches/600-ubus_support.patch b/package/network/services/hostapd/patches/600-ubus_support.patch index 23bdaa7a1b1a..d2d45ac971b1 100644 --- a/package/network/services/hostapd/patches/600-ubus_support.patch +++ b/package/network/services/hostapd/patches/600-ubus_support.patch @@ -1,6 +1,6 @@ --- a/hostapd/Makefile +++ b/hostapd/Makefile -@@ -167,6 +167,11 @@ OBJS += ../src/common/hw_features_common +@@ -171,6 +171,11 @@ OBJS += ../src/common/hw_features_common OBJS += ../src/eapol_auth/eapol_auth_sm.o @@ -57,7 +57,7 @@ accounting_deinit(hapd); hostapd_deinit_wpa(hapd); vlan_deinit(hapd); -@@ -1413,6 +1414,8 @@ static int hostapd_setup_bss(struct host +@@ -1417,6 +1418,8 @@ static int hostapd_setup_bss(struct host if (hapd->driver && hapd->driver->set_operstate) hapd->driver->set_operstate(hapd->drv_priv, 1); @@ -66,7 +66,7 @@ return 0; } -@@ -1988,6 +1991,7 @@ static int hostapd_setup_interface_compl +@@ -1999,6 +2002,7 @@ static int hostapd_setup_interface_compl if (err) goto fail; @@ -74,7 +74,7 @@ wpa_printf(MSG_DEBUG, "Completing interface initialization"); if (iface->freq) { #ifdef NEED_AP_MLME -@@ -2185,6 +2189,7 @@ dfs_offload: +@@ -2196,6 +2200,7 @@ dfs_offload: fail: wpa_printf(MSG_ERROR, "Interface initialization failed"); @@ -82,7 +82,7 @@ hostapd_set_state(iface, HAPD_IFACE_DISABLED); wpa_msg(hapd->msg_ctx, MSG_INFO, AP_EVENT_DISABLED); #ifdef CONFIG_FST -@@ -2658,6 +2663,7 @@ void hostapd_interface_deinit_free(struc +@@ -2669,6 +2674,7 @@ void hostapd_interface_deinit_free(struc (unsigned int) iface->conf->num_bss); driver = iface->bss[0]->driver; drv_priv = iface->bss[0]->drv_priv; @@ -92,7 +92,7 @@ __func__, driver, drv_priv); --- a/src/ap/ieee802_11.c +++ b/src/ap/ieee802_11.c -@@ -2252,13 +2252,18 @@ static void handle_auth(struct hostapd_d +@@ -2327,13 +2327,18 @@ static void handle_auth(struct hostapd_d u16 auth_alg, auth_transaction, status_code; u16 resp = WLAN_STATUS_SUCCESS; struct sta_info *sta = NULL; @@ -112,7 +112,7 @@ if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.auth)) { wpa_printf(MSG_INFO, "handle_auth - too short payload (len=%lu)", -@@ -2418,6 +2423,13 @@ static void handle_auth(struct hostapd_d +@@ -2493,6 +2498,13 @@ static void handle_auth(struct hostapd_d resp = WLAN_STATUS_UNSPECIFIED_FAILURE; goto fail; } @@ -126,7 +126,7 @@ if (res == HOSTAPD_ACL_PENDING) return; -@@ -4087,7 +4099,7 @@ static void handle_assoc(struct hostapd_ +@@ -4166,7 +4178,7 @@ static void handle_assoc(struct hostapd_ int resp = WLAN_STATUS_SUCCESS; u16 reply_res; const u8 *pos; @@ -135,7 +135,7 @@ struct sta_info *sta; u8 *tmp = NULL; #ifdef CONFIG_FILS -@@ -4300,6 +4312,11 @@ static void handle_assoc(struct hostapd_ +@@ -4379,6 +4391,11 @@ static void handle_assoc(struct hostapd_ left = res; } #endif /* CONFIG_FILS */ @@ -147,7 +147,7 @@ /* followed by SSID and Supported rates; and HT capabilities if 802.11n * is used */ -@@ -4464,6 +4481,14 @@ static void handle_assoc(struct hostapd_ +@@ -4543,6 +4560,14 @@ static void handle_assoc(struct hostapd_ pos, left, rssi, omit_rsnxe); os_free(tmp); @@ -162,7 +162,7 @@ /* * Remove the station in case tranmission of a success response fails * (the STA was added associated to the driver) or if the station was -@@ -4491,6 +4516,7 @@ static void handle_disassoc(struct hosta +@@ -4570,6 +4595,7 @@ static void handle_disassoc(struct hosta wpa_printf(MSG_DEBUG, "disassocation: STA=" MACSTR " reason_code=%d", MAC2STR(mgmt->sa), le_to_host16(mgmt->u.disassoc.reason_code)); @@ -170,7 +170,7 @@ sta = ap_get_sta(hapd, mgmt->sa); if (sta == NULL) { -@@ -4557,6 +4583,8 @@ static void handle_deauth(struct hostapd +@@ -4636,6 +4662,8 @@ static void handle_deauth(struct hostapd " reason_code=%d", MAC2STR(mgmt->sa), le_to_host16(mgmt->u.deauth.reason_code)); @@ -261,7 +261,7 @@ hapd->msg_ctx_parent != hapd->msg_ctx) --- a/src/ap/wpa_auth_glue.c +++ b/src/ap/wpa_auth_glue.c -@@ -251,6 +251,7 @@ static void hostapd_wpa_auth_psk_failure +@@ -259,6 +259,7 @@ static void hostapd_wpa_auth_psk_failure struct hostapd_data *hapd = ctx; wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_POSSIBLE_PSK_MISMATCH MACSTR, MAC2STR(addr)); @@ -284,7 +284,7 @@ ifdef CONFIG_CODE_COVERAGE CFLAGS += -O0 -fprofile-arcs -ftest-coverage LIBS += -lgcov -@@ -883,6 +889,9 @@ OBJS += ../src/pae/ieee802_1x_secy_ops.o +@@ -887,6 +893,9 @@ OBJS += ../src/pae/ieee802_1x_secy_ops.o ifdef CONFIG_AP OBJS += ../src/ap/wpa_auth_kay.o endif @@ -296,7 +296,7 @@ ifdef CONFIG_IEEE8021X_EAPOL --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -6793,6 +6793,8 @@ struct wpa_supplicant * wpa_supplicant_a +@@ -6797,6 +6797,8 @@ struct wpa_supplicant * wpa_supplicant_a } #endif /* CONFIG_P2P */ @@ -305,7 +305,7 @@ return wpa_s; } -@@ -6819,6 +6821,8 @@ int wpa_supplicant_remove_iface(struct w +@@ -6823,6 +6825,8 @@ int wpa_supplicant_remove_iface(struct w struct wpa_supplicant *parent = wpa_s->parent; #endif /* CONFIG_MESH */ @@ -314,7 +314,7 @@ /* Remove interface from the global list of interfaces */ prev = global->ifaces; if (prev == wpa_s) { -@@ -7122,8 +7126,12 @@ int wpa_supplicant_run(struct wpa_global +@@ -7126,8 +7130,12 @@ int wpa_supplicant_run(struct wpa_global eloop_register_signal_terminate(wpa_supplicant_terminate, global); eloop_register_signal_reconfig(wpa_supplicant_reconfig, global); diff --git a/package/network/services/hostapd/patches/700-wifi-reload.patch b/package/network/services/hostapd/patches/700-wifi-reload.patch index 82e5c806d47a..894978920433 100644 --- a/package/network/services/hostapd/patches/700-wifi-reload.patch +++ b/package/network/services/hostapd/patches/700-wifi-reload.patch @@ -1,6 +1,6 @@ --- a/hostapd/config_file.c +++ b/hostapd/config_file.c -@@ -2460,6 +2460,8 @@ static int hostapd_config_fill(struct ho +@@ -2501,6 +2501,8 @@ static int hostapd_config_fill(struct ho bss->isolate = atoi(pos); } else if (os_strcmp(buf, "ap_max_inactivity") == 0) { bss->ap_max_inactivity = atoi(pos); @@ -9,7 +9,7 @@ } else if (os_strcmp(buf, "skip_inactivity_poll") == 0) { bss->skip_inactivity_poll = atoi(pos); } else if (os_strcmp(buf, "country_code") == 0) { -@@ -3156,6 +3158,8 @@ static int hostapd_config_fill(struct ho +@@ -3197,6 +3199,8 @@ static int hostapd_config_fill(struct ho } } else if (os_strcmp(buf, "acs_exclude_dfs") == 0) { conf->acs_exclude_dfs = atoi(pos); @@ -20,7 +20,7 @@ } else if (os_strcmp(buf, "channel") == 0) { --- a/src/ap/ap_config.c +++ b/src/ap/ap_config.c -@@ -772,6 +772,7 @@ void hostapd_config_free_bss(struct host +@@ -780,6 +780,7 @@ void hostapd_config_free_bss(struct host os_free(conf->radius_req_attr_sqlite); os_free(conf->rsn_preauth_interfaces); os_free(conf->ctrl_interface); @@ -28,7 +28,7 @@ os_free(conf->ca_cert); os_free(conf->server_cert); os_free(conf->server_cert2); -@@ -964,6 +965,7 @@ void hostapd_config_free(struct hostapd_ +@@ -972,6 +973,7 @@ void hostapd_config_free(struct hostapd_ for (i = 0; i < conf->num_bss; i++) hostapd_config_free_bss(conf->bss[i]); @@ -38,7 +38,7 @@ os_free(conf->basic_rates); --- a/src/ap/ap_config.h +++ b/src/ap/ap_config.h -@@ -861,6 +861,7 @@ struct hostapd_bss_config { +@@ -871,6 +871,7 @@ struct hostapd_bss_config { */ u8 mka_psk_set; #endif /* CONFIG_MACSEC */ @@ -46,7 +46,7 @@ }; /** -@@ -1052,6 +1053,7 @@ struct hostapd_config { +@@ -1062,6 +1063,7 @@ struct hostapd_config { unsigned int airtime_update_interval; #define AIRTIME_MODE_MAX (__AIRTIME_MODE_MAX - 1) #endif /* CONFIG_AIRTIME_POLICY */ @@ -133,7 +133,7 @@ hapd->iconf = newconf; hapd->conf = newconf->bss[j]; hostapd_reload_bss(hapd); -@@ -2355,6 +2386,10 @@ hostapd_alloc_bss_data(struct hostapd_if +@@ -2366,6 +2397,10 @@ hostapd_alloc_bss_data(struct hostapd_if hapd->iconf = conf; hapd->conf = bss; hapd->iface = hapd_iface; @@ -174,7 +174,7 @@ hostapd_alloc_bss_data(struct hostapd_iface *hapd_iface, --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c -@@ -4492,6 +4492,9 @@ static int wpa_driver_nl80211_set_ap(voi +@@ -4493,6 +4493,9 @@ static int wpa_driver_nl80211_set_ap(voi if (ret) { wpa_printf(MSG_DEBUG, "nl80211: Beacon set failed: %d (%s)", ret, strerror(-ret)); _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dwmw2 at infradead.org Mon Jun 8 11:48:38 2020 From: dwmw2 at infradead.org (David Woodhouse) Date: Mon, 08 Jun 2020 16:48:38 +0100 Subject: [OpenWrt-Devel] [PATCH][umdns] Fix advertised IPv6 addresses Message-ID: <8702abcee7d099213e9f587de42bac5dee455c39.camel@infradead.org> The dns_reply_a() function appears to include *only* link-local IPv6 addresses. This seems wrong, and ends up publishing addresses which can't be used to reach the host in question. I believe the logic should be the other way around and we should be *eliding* the link-local addresses but including the global ones. With this fixed, I can run 'ubus call umdns hosts' on another AP in my network and I see the correct global IPv6 address. Likewise, running 'ubus call umdns browse' shows the right address and I can set about fixing https://github.com/berlin-open-wireless-lab/DAWN/issues/95 Fixes: https://bugs.openwrt.org/index.php?do=details&task_id=3167 diff --git a/dns.c b/dns.c index 1d3362f..47c75ad 100644 --- a/dns.c +++ b/dns.c @@ -202,7 +202,7 @@ dns_reply_a(struct interface *iface, struct sockaddr *to, int ttl) if (ifa->ifa_addr->sa_family == AF_INET6) { uint8_t ll_prefix[] = {0xfe, 0x80 }; sa6 = (struct sockaddr_in6 *) ifa->ifa_addr; - if (!memcmp(&sa6->sin6_addr, &ll_prefix, 2)) + if (memcmp(&sa6->sin6_addr, &ll_prefix, 2)) dns_add_answer(TYPE_AAAA, (uint8_t *) &sa6->sin6_addr, 16, ttl); } } -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5174 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From michael at turf.org Mon Jun 8 11:52:01 2020 From: michael at turf.org (Michael T Farnworth) Date: Mon, 8 Jun 2020 16:52:01 +0100 Subject: [OpenWrt-Devel] Fwd: [PATCH] hostapd: wpad init script renamed In-Reply-To: References: Message-ID: When hostapd is launched as /etc/init.d/wpad it appears in a different location under "ubus call service list" presenting problems with scripts /lib/netifd/hostapd.sh and /lib/netifd/wireless/mac80211.sh. Either these scripts need to be patched to recognise the move, or the init.d script needs to be renamed to hostapd. This patch renames the init.d script as unidentified things may also depend upon the placement of entries within ubus output. This ubus change only came about on the 8 April 2020 and it is unlikely that very much code has been written or re-written to support the renaming. Problem is manifested in log files as "/usr/sbin/wpad does not match process path (/proc/exe)" Signed-off-by: Michael T Farnworth diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index 66560d5d41..b8b7c2b315 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -533,7 +533,7 @@ endef define Package/hostapd-common/install $(INSTALL_DIR) $(1)/lib/netifd $(1)/etc/rc.button $(1)/etc/hotplug.d/ieee80211 $(1)/etc/init.d $(INSTALL_DATA) ./files/hostapd.sh $(1)/lib/netifd/hostapd.sh - $(INSTALL_BIN) ./files/wpad.init $(1)/etc/init.d/wpad + $(INSTALL_BIN) ./files/hostapd.init $(1)/etc/init.d/hostapd $(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps endef diff --git a/package/network/services/hostapd/files/wpad.init b/package/network/services/hostapd/files/hostapd.init similarity index 97% rename from package/network/services/hostapd/files/wpad.init rename to package/network/services/hostapd/files/hostapd.init index 3198e9801f..b9494b6bf5 100644 --- a/package/network/services/hostapd/files/wpad.init +++ b/package/network/services/hostapd/files/hostapd.init @@ -4,7 +4,7 @@ START=19 STOP=21 USE_PROCD=1 -NAME=wpad +NAME=hostapd start_service() { if [ -x "/usr/sbin/hostapd" ]; then _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stangri at melmac.net Mon Jun 8 12:24:03 2020 From: stangri at melmac.net (Stan Grishin) Date: Mon, 8 Jun 2020 09:24:03 -0700 Subject: [OpenWrt-Devel] openwrt-devel Digest, Vol 50, Issue 39 In-Reply-To: <20200608101405.GA102675@tuxmachine.localdomain> Message-ID: Baptiste, Thanks for taking a lead on this, it's a fantastic idea! I've had a look at the project ideas posted, and I'd like to put my name forward for a few areas where I'd like to contribute: 1. There is a great documentation for creating lua-based luci applications and model/cbi which allowed me to start creating WebUI applications without knowing much about Lua. I believe it would be beneficial to have similar documentation for the new javascript UI. I don't have much experience with javascript, but I can read and with some supervision I hope I can document things. 2. The showcase project -- as someone who pushed for the "why use LEDE" page when the site was redesigned, I'm glad the importance of this is recognized by core developers. In addition or instead of #1, I can help out with some DNS or VPN-related articles. I have contributed to some wiki pages (sadly changes since overwritten), LEDE showcase and READMEs on my own packages (simple-adblock and vpn-policy-routing). Let me know if/how I should proceed. PS. I'm glad you brought up the LineageOS wiki, I wish we could supplement the ToH with something like the search at https://wiki.lineageos.org/, where when you start typing some letters from your devices it lists supported ones matching what you typed. With a variety of platforms/devices supported by OpenWrt it may be a daunting task for a new user just trying to figure out how to find the OpenWrt binaries for a specific device. On Mon, Jun 8, 2020 at 3:32 AM wrote: > > ---------- Forwarded message ---------- > From: Baptiste Jonglez > To: openwrt-devel at lists.openwrt.org > Cc: > Bcc: > Date: Mon, 8 Jun 2020 12:14:05 +0200 > Subject: [OpenWrt-Devel] Google Season of Docs projects for OpenWrt > Hi, > > As discussed previously, OpenWrt has applied and been accepted for the > Season of Docs. We have three mentors (me, Jow, Thomas H?hn), while Hauke > and Paul are "project administrators". > > We started proposing projects here: https://openwrt.org/google-season-of-docs > > Feel free to discuss the proposed projects here, especially if you plan to > apply as a technical writer. The goal is to clarify the projects if > needed, and make sure that we provide a good match between projects and > technical writer applications. > > The deadline for applying as a technical writer is July 9, see > https://developers.google.com/season-of-docs/docs/timeline > > More information about being a technical writer (requirements, stipend > amount, etc) is here: https://developers.google.com/season-of-docs/docs/tech-writer-guide > > Baptiste _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From baptiste at bitsofnetworks.org Mon Jun 8 13:16:54 2020 From: baptiste at bitsofnetworks.org (Baptiste Jonglez) Date: Mon, 8 Jun 2020 19:16:54 +0200 Subject: [OpenWrt-Devel] Google Season of Docs projects for OpenWrt In-Reply-To: References: <20200608101405.GA102675@tuxmachine.localdomain> Message-ID: <20200608171654.GA117902@tuxmachine.localdomain> Hi, On 08-06-20, Stan Grishin wrote: > I've had a look at the project ideas posted, and I'd like to put my > name forward for a few areas where I'd like to contribute: > > 1. There is a great documentation for creating lua-based luci > applications and model/cbi which allowed me to start creating WebUI > applications without knowing much about Lua. I believe it would be > beneficial to have similar documentation for the new javascript UI. I > don't have much experience with javascript, but I can read and with > some supervision I hope I can document things. I think what you're looking for already exists? https://openwrt.github.io/luci/jsapi/ The links on https://github.com/openwrt/luci/wiki/Documentation were broken, I have just fixed them. LuCI is quite different from the other components (and as you said already has extensive documentation). Project 1 is mostly about the other core components at https://git.openwrt.org/?a=project_list;pf=project > 2. The showcase project -- as someone who pushed for the "why use > LEDE" page when the site was redesigned, I'm glad the importance of > this is recognized by core developers. In addition or instead of #1, I > can help out with some DNS or VPN-related articles. > > I have contributed to some wiki pages (sadly changes since > overwritten), LEDE showcase and READMEs on my own packages > (simple-adblock and vpn-policy-routing). I guess you are referring to https://openwrt.org/#why_use_openwrt and https://openwrt.org/reasons_to_use_openwrt ? This is a good start: while these pages are mostly general, I'm thinking of Project 4 as a way to showcase specific setups and use-cases. In other words, it's complementary. Most of the project is about producing content, but there is a first part about thinking how to organize/publish things. Do you have ideas about this? Wiki pages, blog posts, videos, something else? > Let me know if/how I should proceed. For details on the process if you want to apply, please see https://developers.google.com/season-of-docs/docs/tech-writer-guide The deadline to apply is in one month, so you still have time. > PS. I'm glad you brought up the LineageOS wiki, I wish we could > supplement the ToH with something like the search at > https://wiki.lineageos.org/, where when you start typing some letters > from your devices it lists supported ones matching what you typed. > With a variety of platforms/devices supported by OpenWrt it may be a > daunting task for a new user just trying to figure out how to find the > OpenWrt binaries for a specific device. I'll let Paul answer, as I think he was the one proposing this. Thanks, Baptiste PS: please keep discussion in the same email thread. > On Mon, Jun 8, 2020 at 3:32 AM wrote: > > > > ---------- Forwarded message ---------- > > From: Baptiste Jonglez > > To: openwrt-devel at lists.openwrt.org > > Cc: > > Bcc: > > Date: Mon, 8 Jun 2020 12:14:05 +0200 > > Subject: [OpenWrt-Devel] Google Season of Docs projects for OpenWrt > > Hi, > > > > As discussed previously, OpenWrt has applied and been accepted for the > > Season of Docs. We have three mentors (me, Jow, Thomas H?hn), while Hauke > > and Paul are "project administrators". > > > > We started proposing projects here: https://openwrt.org/google-season-of-docs > > > > Feel free to discuss the proposed projects here, especially if you plan to > > apply as a technical writer. The goal is to clarify the projects if > > needed, and make sure that we provide a good match between projects and > > technical writer applications. > > > > The deadline for applying as a technical writer is July 9, see > > https://developers.google.com/season-of-docs/docs/timeline > > > > More information about being a technical writer (requirements, stipend > > amount, etc) is here: https://developers.google.com/season-of-docs/docs/tech-writer-guide > > > > Baptiste > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dwmw2 at infradead.org Mon Jun 8 14:50:38 2020 From: dwmw2 at infradead.org (David Woodhouse) Date: Mon, 08 Jun 2020 19:50:38 +0100 Subject: [OpenWrt-Devel] [PATCH v2][umdns] Fix advertised IPv6 addresses In-Reply-To: <8702abcee7d099213e9f587de42bac5dee455c39.camel@infradead.org> References: <8702abcee7d099213e9f587de42bac5dee455c39.camel@infradead.org> Message-ID: <176ce241274ce5a28d63d07774766deeb06e0d8e.camel@infradead.org> The dns_reply_a() function appears to filter out IPv6 addresses other than link-local. This means that advertised services are unreachable over IPv6 (since on the client side, we drop the interface identifier so link-local addresses aren't usable anyway). Fix it to include all addresses, in accordance with RFC6762 ?6.2: When a Multicast DNS responder sends a Multicast DNS response message containing its own address records, it MUST include all addresses that are valid on the interface on which it is sending the message, and MUST NOT include addresses that are not valid on that interface (such as addresses that may be configured on the host's other interfaces). For example, if an interface has both an IPv6 link- local and an IPv6 routable address, both should be included in the response message so that queriers receive both and can make their own choice about which to use. This allows a querier that only has an IPv6 link-local address to connect to the link-local address, and a different querier that has an IPv6 routable address to connect to the IPv6 routable address instead. --- v2: Include all addresses; don't exclude LL diff --git a/dns.c b/dns.c index 1d3362f..3e902d0 100644 --- a/dns.c +++ b/dns.c @@ -200,10 +200,8 @@ dns_reply_a(struct interface *iface, struct sockaddr *to, int ttl) dns_add_answer(TYPE_A, (uint8_t *) &sa->sin_addr, 4, ttl); } if (ifa->ifa_addr->sa_family == AF_INET6) { - uint8_t ll_prefix[] = {0xfe, 0x80 }; sa6 = (struct sockaddr_in6 *) ifa->ifa_addr; - if (!memcmp(&sa6->sin6_addr, &ll_prefix, 2)) - dns_add_answer(TYPE_AAAA, (uint8_t *) &sa6->sin6_addr, 16, ttl); + dns_add_answer(TYPE_AAAA, (uint8_t *) &sa6->sin6_addr, 16, ttl); } } dns_send_answer(iface, to, mdns_hostname_local); -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5174 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Mon Jun 8 16:01:47 2020 From: openwrt-devel at lists.openwrt.org (Johann Neuhauser via openwrt-devel) Date: Mon, 8 Jun 2020 22:01:47 +0200 Subject: [OpenWrt-Devel] [PATCH] hostapd: hostapd_set_psk_file: fix defaut value for mac Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: Johann Neuhauser Subject: [PATCH] hostapd: hostapd_set_psk_file: fix defaut value for mac Date: Mon, 8 Jun 2020 22:01:47 +0200 Size: 3130 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From devel-sven at geroedel.de Mon Jun 8 17:53:43 2020 From: devel-sven at geroedel.de (Sven Roederer) Date: Mon, 08 Jun 2020 23:53:43 +0200 Subject: [OpenWrt-Devel] [PATCH] build, imagebuilder: Do not require libncurses-dev In-Reply-To: <20200414211447.324042-1-mail@aparcar.org> References: <20200414211447.324042-1-mail@aparcar.org> Message-ID: <9826759.b33H7hSvdo@strike> Am Dienstag, 14. April 2020, 23:14:47 CEST schrieb Paul Spooren: > The buildroot and SDK both require `libncurses-dev` to be installed on > the system, however the ImageBuilder uses precompiled binaries. > > This patch changes the prerequirements checks to skip the > `libncurses-dev` part if running as ImageBuilder. > Hi Paul, I gave this today a test on my spare computer, but it still complained about the missing libncurses. I tested with snapshot imagebuilder (r13519-8a858363b0) with just calling "make image" Any ideas? Sven > Signed-off-by: Paul Spooren > --- > include/prereq-build.mk | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/prereq-build.mk b/include/prereq-build.mk > index 830a9eff9a..72fb6ad97a 100644 > --- a/include/prereq-build.mk > +++ b/include/prereq-build.mk > @@ -51,10 +51,12 @@ $(eval $(call TestHostCommand,working-g++, \ > g++ -x c++ -o $(TMP_DIR)/a.out - -lstdc++ && \ > $(TMP_DIR)/a.out)) > > +ifndef IB > $(eval $(call TestHostCommand,ncurses, \ > Please install ncurses. (Missing libncurses.so or ncurses.h), \ > echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \ > gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out - -lncurses)) > +endif > > ifeq ($(HOST_OS),Linux) > zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stokito at gmail.com Mon Jun 8 18:38:33 2020 From: stokito at gmail.com (Sergey Ponomarev) Date: Tue, 9 Jun 2020 01:38:33 +0300 Subject: [OpenWrt-Devel] [PATCH] uhttpd: serve precompressed files Message-ID: <2ead7db7-b2f0-d3b7-1e63-17b120c32087@gmail.com> Follow up on this patch: 1. The patch it was tested and accepted into ArednMesh.org because they works with distant networks https://github.com/aredn/aredn_ar71xx/pull/276. The same problem is actual for a regular WiFi networks e.g. trying to login into Luci when something wrong with wifi and you want to check connectivity. So speaking about space vs network tradeoff then network may be more important. The patch looks fine but we can add support of other browser supported encoders: DEFLATE, LZ4 and Brotli. Also if we requested the compressed file itself e.g. /backup.tar.gz then user wants to download the archive as is so no need to add Content-Encoding header. 2. There is a patch "uhttpd: add support for gzipped content encoding" Message ID 1443738134-5929-2-git-send-email-ak77 at tnode.com https://patchwork.ozlabs.org/project/openwrt/patch/1443738134-5929-2-git-send-email-ak77 at tnode.com/ which makes on the fly encoding. But the patch looks like forgotten but I added it's author to CC. I reviewed it's code and the patch looks good and it can be even slightly improved by switching from gzip to raw DEFLATE i.e. gzip without header and checksum so more lightweight. To switch to deflate just need to just negate windowBits param of deflateInit2 i.e. instead of `16 | MAX_WBITS` use `-(16 | MAX_WBITS)`. Anyway precompressing makes sense if use Brotli instead of gzip and this may solve the space/network/cpu tradeoff. I checked on my homepage: ?204800 www_homepage.tar?????? ?? i.e. uncompressed size ?? 68114 www_homepage.tar.br? ??? assets precompressed with brotli ? 70220 www_homepage.tar.xz?????? as it will be compressed in openwrt image ? 68180 www_homepage.tar.br.xz?? so precompressed with brotli asset takes the same place in openwrt image Off course sizes still may be better in xz but anyway it looks like we can safely precompress the Luci assets. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From karlsberg at softart-ge.com Tue Jun 9 05:11:06 2020 From: karlsberg at softart-ge.com (Reiner Karlsberg) Date: Tue, 9 Jun 2020 11:11:06 +0200 Subject: [OpenWrt-Devel] Build error on latest trunk: meson, python, zstd Message-ID: C++ compiler for the host machine: mipsel-openwrt-linux-musl-g++ (gcc 8.4.0 "mipsel-openwrt-linux-musl-g++ (OpenWrt GCC 8.4.0 r13520-68b94f0fb4) 8.4.0") C++ linker for the host machine: mipsel-openwrt-linux-musl-g++ ld.bfd 2.31.1 Build machine cpu family: x86_64 Build machine cpu: x86_64 Host machine cpu family: mipsel Host machine cpu: mt7620 Target machine cpu family: mipsel Target machine cpu: mt7620 Program python3 found: YES (/etc/openwrt/WE826/staging_dir/host/bin/python) Could not introspect Python (['/etc/openwrt/WE826/staging_dir/host/bin/python', '-c', "import sysconfig\nimport json\nimport sys\n\ninstall_paths = sysconfig.get_paths(scheme='posix_prefix', vars={'base': '', 'platbase': '', 'installed_base': ''})\n\ndef links_against_libpython():\n from distutils.core import Distribution, Extension\n cmd = Distribution().get_command_obj('build_ext')\n cmd.ensure_finalized()\n return bool(cmd.get_libraries(Extension('dummy', [])))\n\nprint (json.dumps ({\n 'variables': sysconfig.get_config_vars(),\n 'paths': sysconfig.get_paths(),\n 'install_paths': install_paths,\n 'version': sysconfig.get_python_version(),\n 'platform': sysconfig.get_platform(),\n 'is_pypy': '__pypy__' in sys.builtin_module_names,\n 'link_libpython': links_against_libpython(),\n}))\n"]): exit code 1 Program stdout: Program stderr: Traceback (most recent call last): File "", line 20, in File "", line 8, in links_against_libpython ModuleNotFoundError: No module named 'distutils.core' ../../../../build_dir/target-mipsel_24kc_musl/zstd-1.4.5/build/meson/meson.build:25:0: ERROR: ['/etc/openwrt/WE826/staging_dir/host/bin/python']> is not a valid python or it is missing setuptools _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fercerpav at gmail.com Tue Jun 9 05:22:17 2020 From: fercerpav at gmail.com (Paul Fertser) Date: Tue, 9 Jun 2020 12:22:17 +0300 Subject: [OpenWrt-Devel] Build error on latest trunk: meson, python, zstd In-Reply-To: References: Message-ID: <20200609092217.GW24504@home.paul.comp> Hello, On Tue, Jun 09, 2020 at 11:11:06AM +0200, Reiner Karlsberg wrote: > ['/etc/openwrt/WE826/staging_dir/host/bin/python']> is not a valid python or > it is missing setuptools OpenWrt build system checks for Python3 presence in the prereq stage but it doesn't check if it has setuptools installed or not. In other words, your host Python is missing setuptools needed by meson needed by zstd from packages feed. -- Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software! mailto:fercerpav at gmail.com _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From sven at narfation.org Tue Jun 9 09:23:04 2020 From: sven at narfation.org (Sven Eckelmann) Date: Tue, 9 Jun 2020 15:23:04 +0200 Subject: [OpenWrt-Devel] [PATCH] ipq40xx: essedma: Disable TCP segmentation offload for IPv6 Message-ID: <20200609132304.31669-1-sven@narfation.org> It was noticed that the the whole MAC can hang when transferring data from one ar40xx port (WAN ports) to the CPU and from the CPU back to another ar40xx port (LAN ports). The CPU was doing only NATing in that process. Usually, the problem first starts with a simple data corruption: $ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.4.0-amd64-netinst.iso -O /dev/null ... Connecting to saimei.ftp.acc.umu.se (saimei.ftp.acc.umu.se)|2001:6b0:19::138|:443... connected. ... Read error at byte 48807936/352321536 (Decryption has failed.). Retrying. But after a short while, the whole MAC will stop to react. No traffic can be transported anymore from the CPU port from/to the AR40xx PHY/switch and the MAC has to be resetted. Signed-off-by: Sven Eckelmann --- The problem was first observed on OpenWrt 18.06 and OpenWrt 19.07. It would be good that this patch (or maybe even a better one) is copied to these versions (and then refreshed). Thanks ...le-TCP-segmentation-offload-for-IPv6.patch | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 target/linux/ipq40xx/patches-5.4/712-essedma-Disable-TCP-segmentation-offload-for-IPv6.patch diff --git a/target/linux/ipq40xx/patches-5.4/712-essedma-Disable-TCP-segmentation-offload-for-IPv6.patch b/target/linux/ipq40xx/patches-5.4/712-essedma-Disable-TCP-segmentation-offload-for-IPv6.patch new file mode 100644 index 0000000000..1b165d0051 --- /dev/null +++ b/target/linux/ipq40xx/patches-5.4/712-essedma-Disable-TCP-segmentation-offload-for-IPv6.patch @@ -0,0 +1,46 @@ +From: Sven Eckelmann +Date: Tue, 9 Jun 2020 14:08:44 +0200 +Subject: essedma: Disable TCP segmentation offload for IPv6 + +It was noticed that the the whole MAC can hang when transferring data from +one ar40xx port (WAN ports) to the CPU and from the CPU back to another +ar40xx port (LAN ports). The CPU was doing only NATing in that process. + +Usually, the problem first starts with a simple data corruption: + + $ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.4.0-amd64-netinst.iso -O /dev/null + ... + Connecting to saimei.ftp.acc.umu.se (saimei.ftp.acc.umu.se)|2001:6b0:19::138|:443... connected. + ... + Read error at byte 48807936/352321536 (Decryption has failed.). Retrying. + +But after a short while, the whole MAC will stop to react. No traffic can +be transported anymore from the CPU port from/to the AR40xx PHY/switch and +the MAC has to be resetted. + +Signed-off-by: Sven Eckelmann + +--- a/drivers/net/ethernet/qualcomm/essedma/edma_axi.c ++++ b/drivers/net/ethernet/qualcomm/essedma/edma_axi.c +@@ -970,17 +970,14 @@ static int edma_axi_probe(struct platfor + edma_netdev[i]->features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM + | NETIF_F_HW_VLAN_CTAG_TX + | NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_SG | +- NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GRO; ++ NETIF_F_TSO | NETIF_F_GRO; + edma_netdev[i]->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM | + NETIF_F_HW_VLAN_CTAG_RX +- | NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | +- NETIF_F_GRO; ++ | NETIF_F_SG | NETIF_F_TSO | NETIF_F_GRO; + edma_netdev[i]->vlan_features = NETIF_F_HW_CSUM | NETIF_F_SG | +- NETIF_F_TSO | NETIF_F_TSO6 | +- NETIF_F_GRO; ++ NETIF_F_TSO | NETIF_F_GRO; + edma_netdev[i]->wanted_features = NETIF_F_HW_CSUM | NETIF_F_SG | +- NETIF_F_TSO | NETIF_F_TSO6 | +- NETIF_F_GRO; ++ NETIF_F_TSO | NETIF_F_GRO; + + #ifdef CONFIG_RFS_ACCEL + edma_netdev[i]->features |= NETIF_F_RXHASH | NETIF_F_NTUPLE; -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From sven at narfation.org Tue Jun 9 09:28:52 2020 From: sven at narfation.org (Sven Eckelmann) Date: Tue, 09 Jun 2020 15:28:52 +0200 Subject: [OpenWrt-Devel] [PATCH] ipq40xx: essedma: Disable TCP segmentation offload for IPv6 In-Reply-To: <20200609132304.31669-1-sven@narfation.org> References: <20200609132304.31669-1-sven@narfation.org> Message-ID: <2039656.4ZSncNqmDY@bentobox> On Tuesday, 9 June 2020 15:23:04 CEST Sven Eckelmann wrote: [...] > The problem was first observed on OpenWrt 18.06 and OpenWrt 19.07. It would > be good that this patch (or maybe even a better one) is copied to these > versions (and then refreshed). > > Thanks > > ...le-TCP-segmentation-offload-for-IPv6.patch | 46 +++++++++++++++++++ > 1 file changed, 46 insertions(+) > create mode 100644 target/linux/ipq40xx/patches-5.4/712-essedma-Disable-TCP-segmentation-offload-for-IPv6.patch Ok, master doesn't use a patch file anymore to integrated the essedma driver. Everything was moved to target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/ A simpler patch will follow in a second. Kind regards, Sven -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: This is a digitally signed message part. URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From sven at narfation.org Tue Jun 9 09:35:04 2020 From: sven at narfation.org (Sven Eckelmann) Date: Tue, 9 Jun 2020 15:35:04 +0200 Subject: [OpenWrt-Devel] [PATCH v2] ipq40xx: essedma: Disable TCP segmentation offload for IPv6 Message-ID: <20200609133504.6563-1-sven@narfation.org> It was noticed that the the whole MAC can hang when transferring data from one ar40xx port (WAN ports) to the CPU and from the CPU back to another ar40xx port (LAN ports). The CPU was doing only NATing in that process. Usually, the problem first starts with a simple data corruption: $ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.4.0-amd64-netinst.iso -O /dev/null ... Connecting to saimei.ftp.acc.umu.se (saimei.ftp.acc.umu.se)|2001:6b0:19::138|:443... connected. ... Read error at byte 48807936/352321536 (Decryption has failed.). Retrying. But after a short while, the whole MAC will stop to react. No traffic can be transported anymore from the CPU port from/to the AR40xx PHY/switch and the MAC has to be resetted. Signed-off-by: Sven Eckelmann --- v2: * move the changes directly to target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c The problem was first observed on OpenWrt 18.06 and OpenWrt 19.07. It would be good that the patch (or maybe even a better one) is "backported". This actually means copying the one from the v1 [1] to the correct ipq40xx patch folder and then refresh the patch. Thanks [1] https://patchwork.ozlabs.org/project/openwrt/patch/20200609132304.31669-1-sven at narfation.org/ .../drivers/net/ethernet/qualcomm/essedma/edma_axi.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c b/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c index b619bbbab9..96a82b3116 100644 --- a/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c +++ b/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c @@ -970,17 +970,14 @@ static int edma_axi_probe(struct platform_device *pdev) edma_netdev[i]->features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_SG | - NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GRO; + NETIF_F_TSO | NETIF_F_GRO; edma_netdev[i]->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_CTAG_RX - | NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | - NETIF_F_GRO; + | NETIF_F_SG | NETIF_F_TSO | NETIF_F_GRO; edma_netdev[i]->vlan_features = NETIF_F_HW_CSUM | NETIF_F_SG | - NETIF_F_TSO | NETIF_F_TSO6 | - NETIF_F_GRO; + NETIF_F_TSO | NETIF_F_GRO; edma_netdev[i]->wanted_features = NETIF_F_HW_CSUM | NETIF_F_SG | - NETIF_F_TSO | NETIF_F_TSO6 | - NETIF_F_GRO; + NETIF_F_TSO | NETIF_F_GRO; #ifdef CONFIG_RFS_ACCEL edma_netdev[i]->features |= NETIF_F_RXHASH | NETIF_F_NTUPLE; -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From karlsberg at softart-ge.com Tue Jun 9 11:18:42 2020 From: karlsberg at softart-ge.com (Reiner Karlsberg) Date: Tue, 9 Jun 2020 17:18:42 +0200 Subject: [OpenWrt-Devel] Build error on latest trunk: LuaJIT Message-ID: <11126f86-06ea-a03b-5eaf-716542dc3b25@softart-ge.com> make -j1 -C /etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3 HOST_CC="gcc -O2 -I/etc/openwrt/WE826_PCS3/staging_dir/host/include -I/etc/openwrt/WE826/staging_dir/hostpkg/include -I/etc/openwrt/WE826_PCS3/staging_dir/target-mipsel_24kc_musl/host/include -m32" CROSS="mipsel-openwrt-linux-musl-" DPREFIX=/etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3/ipkg-install/usr PREFIX=/usr TARGET_SYS=Linux TARGET_CFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -ffile-prefix-map=/etc/openwrt/WE826_PCS3/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3=LuaJIT-2.1.0-beta3 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" BUILDMODE=dynamic make[4]: Entering directory '/etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3' ==== Building LuaJIT 2.1.0-beta3 ==== make -C src make[5]: Entering directory '/etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3/src' HOSTCC host/minilua.o In file included from /usr/lib/gcc/x86_64-linux-gnu/9/include-fixed/limits.h:194, from /usr/lib/gcc/x86_64-linux-gnu/9/include-fixed/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/9/include-fixed/limits.h:34, from host/minilua.c:33: /usr/include/limits.h:26:10: fatal error: bits/libc-header-start.h: No such file or directory 26 | #include | ^~~~~~~~~~~~~~~~~~~~~~~~~~ _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Tue Jun 9 11:37:47 2020 From: rosenp at gmail.com (Rosen Penev) Date: Tue, 9 Jun 2020 08:37:47 -0700 Subject: [OpenWrt-Devel] Build error on latest trunk: LuaJIT In-Reply-To: <11126f86-06ea-a03b-5eaf-716542dc3b25@softart-ge.com> References: <11126f86-06ea-a03b-5eaf-716542dc3b25@softart-ge.com> Message-ID: On Tue, Jun 9, 2020 at 8:19 AM Reiner Karlsberg wrote: > > make -j1 -C /etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3 HOST_CC="gcc -O2 > -I/etc/openwrt/WE826_PCS3/staging_dir/host/include -I/etc/openwrt/WE826/staging_dir/hostpkg/include > -I/etc/openwrt/WE826_PCS3/staging_dir/target-mipsel_24kc_musl/host/include -m32" CROSS="mipsel-openwrt-linux-musl-" > DPREFIX=/etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3/ipkg-install/usr PREFIX=/usr > TARGET_SYS=Linux TARGET_CFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt > -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float > -ffile-prefix-map=/etc/openwrt/WE826_PCS3/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3=LuaJIT-2.1.0-beta3 > -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" BUILDMODE=dynamic > make[4]: Entering directory '/etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3' > > ==== Building LuaJIT 2.1.0-beta3 ==== > make -C src > make[5]: Entering directory '/etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/LuaJIT-2.1.0-beta3/src' > HOSTCC host/minilua.o > In file included from /usr/lib/gcc/x86_64-linux-gnu/9/include-fixed/limits.h:194, > from /usr/lib/gcc/x86_64-linux-gnu/9/include-fixed/syslimits.h:7, > from /usr/lib/gcc/x86_64-linux-gnu/9/include-fixed/limits.h:34, > from host/minilua.c:33: > /usr/include/limits.h:26:10: fatal error: bits/libc-header-start.h: No such file or directory > 26 | #include > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > Needs 32-bit gcc installed on the host. > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From john at phrozen.org Tue Jun 9 12:25:42 2020 From: john at phrozen.org (John Crispin) Date: Tue, 9 Jun 2020 18:25:42 +0200 Subject: [OpenWrt-Devel] [PATCH v2] ipq40xx: essedma: Disable TCP segmentation offload for IPv6 In-Reply-To: <20200609133504.6563-1-sven@narfation.org> References: <20200609133504.6563-1-sven@narfation.org> Message-ID: <8528da9c-8f1f-2e8f-1100-e02bd2304546@phrozen.org> On 09.06.20 15:35, Sven Eckelmann wrote: > It was noticed that the the whole MAC can hang when transferring data from > one ar40xx port (WAN ports) to the CPU and from the CPU back to another > ar40xx port (LAN ports). The CPU was doing only NATing in that process. > > Usually, the problem first starts with a simple data corruption: > > $ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.4.0-amd64-netinst.iso -O /dev/null > ... > Connecting to saimei.ftp.acc.umu.se (saimei.ftp.acc.umu.se)|2001:6b0:19::138|:443... connected. > ... > Read error at byte 48807936/352321536 (Decryption has failed.). Retrying. > > But after a short while, the whole MAC will stop to react. No traffic can > be transported anymore from the CPU port from/to the AR40xx PHY/switch and > the MAC has to be resetted. > > Signed-off-by: Sven Eckelmann Acked-by: John Crispin > --- > v2: > * move the changes directly to > target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c > > The problem was first observed on OpenWrt 18.06 and OpenWrt 19.07. It would > be good that the patch (or maybe even a better one) is "backported". This > actually means copying the one from the v1 [1] to the correct ipq40xx patch > folder and then refresh the patch. > > Thanks > > [1] https://patchwork.ozlabs.org/project/openwrt/patch/20200609132304.31669-1-sven at narfation.org/ > > .../drivers/net/ethernet/qualcomm/essedma/edma_axi.c | 11 ++++------- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c b/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c > index b619bbbab9..96a82b3116 100644 > --- a/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c > +++ b/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma_axi.c > @@ -970,17 +970,14 @@ static int edma_axi_probe(struct platform_device *pdev) > edma_netdev[i]->features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM > | NETIF_F_HW_VLAN_CTAG_TX > | NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_SG | > - NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GRO; > + NETIF_F_TSO | NETIF_F_GRO; > edma_netdev[i]->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM | > NETIF_F_HW_VLAN_CTAG_RX > - | NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | > - NETIF_F_GRO; > + | NETIF_F_SG | NETIF_F_TSO | NETIF_F_GRO; > edma_netdev[i]->vlan_features = NETIF_F_HW_CSUM | NETIF_F_SG | > - NETIF_F_TSO | NETIF_F_TSO6 | > - NETIF_F_GRO; > + NETIF_F_TSO | NETIF_F_GRO; > edma_netdev[i]->wanted_features = NETIF_F_HW_CSUM | NETIF_F_SG | > - NETIF_F_TSO | NETIF_F_TSO6 | > - NETIF_F_GRO; > + NETIF_F_TSO | NETIF_F_GRO; > > #ifdef CONFIG_RFS_ACCEL > edma_netdev[i]->features |= NETIF_F_RXHASH | NETIF_F_NTUPLE; > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From sebastian_ml at gmx.net Tue Jun 9 13:18:55 2020 From: sebastian_ml at gmx.net (Sebastian Kemper) Date: Tue, 9 Jun 2020 19:18:55 +0200 Subject: [OpenWrt-Devel] [PATCH] ltq-vmmc: update permission handling Message-ID: <20200609171855.GA6432@darth.lan> This commit addresses two permission issues. 1. The firmware is currently just copied. It can end up with o= on the device (this is the case for voice_ar9_firmware.bin for instance). Instead of copying it the Makefile is changed to use the macro "$(INSTALL_DATA)" in order for the file to be world-readable. 2. A configuration file /etc/config/vmmc is added and the init script updated accordingly, to allow changing the group of the device nodes. Like this applications running as non-root may access the device nodes after the user changes the configuration to the appropriate group (for instance "asterisk"). Currently asterisk users update init scripts to fix the permissions. With a configuration option the user experience is easier and more straight-forward. Signed-off-by: Sebastian Kemper --- package/kernel/lantiq/ltq-vmmc/Makefile | 7 +++--- .../kernel/lantiq/ltq-vmmc/files/vmmc.conf | 6 +++++ .../kernel/lantiq/ltq-vmmc/files/vmmc.init | 25 +++++++++++-------- 3 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 package/kernel/lantiq/ltq-vmmc/files/vmmc.conf diff --git a/package/kernel/lantiq/ltq-vmmc/Makefile b/package/kernel/lantiq/ltq-vmmc/Makefile index 99263cce43..a1ea142925 100644 --- a/package/kernel/lantiq/ltq-vmmc/Makefile +++ b/package/kernel/lantiq/ltq-vmmc/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=drv_vmmc PKG_VERSION:=1.9.0 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_HASH:=707f515eb727c032418c4da67d7e86884bb56cdc2a606e8f6ded6057d8767e57 @@ -168,9 +168,10 @@ define Build/InstallDev endef define KernelPackage/ltq-vmmc/install - $(INSTALL_DIR) $(1)/etc/init.d $(1)/$(FW_DIR) + $(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d $(1)/$(FW_DIR) $(INSTALL_BIN) ./files/vmmc.init $(1)/etc/init.d/vmmc - $(CP) $(PKG_BUILD_DIR)/firmware/$(FW_SOURCE) $(1)/$(FW_DIR)/$(FW_TARGET) + $(INSTALL_CONF) ./files/vmmc.conf $(1)/etc/config/vmmc + $(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/$(FW_SOURCE) $(1)/$(FW_DIR)/$(FW_TARGET) ln -s /$(FW_DIR)/$(FW_TARGET) $(1)/$(FW_DIR)/$(FW_TARGET_GENERIC) $(CP) $(PKG_BUILD_DIR)/coef/$(COEF_SRC) $(1)/$(FW_DIR)/$(COEF_TARGET) $(CP) $(PKG_BUILD_DIR)/coef/$(COEF_SRC_FXO) $(1)/$(FW_DIR)/$(COEF_TARGET_FXO) diff --git a/package/kernel/lantiq/ltq-vmmc/files/vmmc.conf b/package/kernel/lantiq/ltq-vmmc/files/vmmc.conf new file mode 100644 index 0000000000..80abe58d79 --- /dev/null +++ b/package/kernel/lantiq/ltq-vmmc/files/vmmc.conf @@ -0,0 +1,6 @@ +# /dev/vmmc* nodes are by default created with ownership root:root. With +# the below setting the group can be changed, so that software like +# asterisk not running as root can properly access the hardware. + +config vmmc 'nodes' + #option group "asterisk" diff --git a/package/kernel/lantiq/ltq-vmmc/files/vmmc.init b/package/kernel/lantiq/ltq-vmmc/files/vmmc.init index 100a97dc45..3734fcecb3 100644 --- a/package/kernel/lantiq/ltq-vmmc/files/vmmc.init +++ b/package/kernel/lantiq/ltq-vmmc/files/vmmc.init @@ -5,15 +5,18 @@ START=31 start() { - [ ! -c /dev/vmmc10 ] && { - mknod /dev/vmmc10 c 122 10 - mknod /dev/vmmc11 c 122 11 - mknod /dev/vmmc12 c 122 12 - mknod /dev/vmmc13 c 122 13 - mknod /dev/vmmc14 c 122 14 - mknod /dev/vmmc15 c 122 15 - mknod /dev/vmmc16 c 122 16 - mknod /dev/vmmc17 c 122 17 - mknod /dev/vmmc18 c 122 18 - } + config_load vmmc + config_get GROUP nodes group "" + + if [ -n "$GROUP" ]; then + group_exists "$GROUP" || GROUP= + fi + + for i in 10 11 12 13 14 15 16 17 18; do + if ! [ -e /dev/vmmc$i ]; then + mknod -m 664 /dev/vmmc$i c 122 $i + [ -n "$GROUP" ] && [ -c /dev/vmmc$i ] && \ + chown :"$GROUP" /dev/vmmc$i + fi + done } -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Tue Jun 9 13:48:24 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Tue, 9 Jun 2020 19:48:24 +0200 Subject: [OpenWrt-Devel] [PATCH] mvebu: remove non-existant board name solidrun, clearfog-a1 Message-ID: <20200609174824.26780-1-freifunk@adrianschmutzler.de> In 02_network, the board name solidrun,clearfog-a1 is used in a case, but it does not seem to be used/exist anywhere else in OpenWrt. The valid strings are: - solidrun,clearfog-pro-a1 - solidrun,clearfog-base-a1 Looks like it has been introduced by accident, so remove it. Fixes: 12795ec9f16b ("mvebu: split interface configuration for clearfog pro and base") Signed-off-by: Adrian Schmutzler --- target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network | 1 - 1 file changed, 1 deletion(-) diff --git a/target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network b/target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network index 44188c5fa7..9718b332a7 100755 --- a/target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network +++ b/target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network @@ -30,7 +30,6 @@ mvebu_setup_interfaces() marvell,axp-gp) ucidef_set_interface_lan "eth0 eth1 eth2 eth3" ;; - solidrun,clearfog-a1|\ solidrun,clearfog-pro-a1) # eth0 is standalone ethernet # eth1 is switch -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From chunkeey at gmail.com Tue Jun 9 16:28:26 2020 From: chunkeey at gmail.com (Christian Lamparter) Date: Tue, 9 Jun 2020 22:28:26 +0200 Subject: [OpenWrt-Devel] [PATCH] apm821xx: move device definitions to subfiles In-Reply-To: <20200607111346.2164-1-freifunk@adrianschmutzler.de> References: <20200607111346.2164-1-freifunk@adrianschmutzler.de> Message-ID: <536c5ace-2604-fd6b-0b30-b3f514af06e2@gmail.com> On 2020-06-07 13:13, Adrian Schmutzler wrote: > With several subtargets, the image/Makefile becomes crowded after a > while. Many targets have moved their device definitions to $subtarget.mk > files to have them more organized, let's do this here as well. > > While at it, also move subtarget-specific build recipes. > > Cc: Christian Lamparter > Signed-off-by: Adrian Schmutzler I guess this is meant in the big picture of the series. Sure, if this scratches the itch. Acked-by: Christian Lamparter _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at aparcar.org Tue Jun 9 22:28:30 2020 From: mail at aparcar.org (Paul Spooren) Date: Tue, 9 Jun 2020 22:28:30 -0400 Subject: [OpenWrt-Devel] [PATCH] build, imagebuilder: Do not require libncurses-dev In-Reply-To: <9826759.b33H7hSvdo@strike> References: <20200414211447.324042-1-mail@aparcar.org> <9826759.b33H7hSvdo@strike> Message-ID: Hi Sven, thanks for testing! You're right, I tried on a testing VM and had the same issue. I'm afraid I had libncurses-dev and libncurses5-dev installed but only removed one while testing :( It should be fixed via https://github.com/openwrt/openwrt/pull/3098 Best, Paul On 6/8/20 5:53 PM, Sven Roederer wrote: > Am Dienstag, 14. April 2020, 23:14:47 CEST schrieb Paul Spooren: >> The buildroot and SDK both require `libncurses-dev` to be installed on >> the system, however the ImageBuilder uses precompiled binaries. >> >> This patch changes the prerequirements checks to skip the >> `libncurses-dev` part if running as ImageBuilder. >> > Hi Paul, > > I gave this today a test on my spare computer, but it still complained about > the missing libncurses. > I tested with snapshot imagebuilder (r13519-8a858363b0) with just calling > "make image" > > Any ideas? > > Sven > >> Signed-off-by: Paul Spooren >> --- >> include/prereq-build.mk | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/include/prereq-build.mk b/include/prereq-build.mk >> index 830a9eff9a..72fb6ad97a 100644 >> --- a/include/prereq-build.mk >> +++ b/include/prereq-build.mk >> @@ -51,10 +51,12 @@ $(eval $(call TestHostCommand,working-g++, \ >> g++ -x c++ -o $(TMP_DIR)/a.out - -lstdc++ && \ >> $(TMP_DIR)/a.out)) >> >> +ifndef IB >> $(eval $(call TestHostCommand,ncurses, \ >> Please install ncurses. (Missing libncurses.so or ncurses.h), \ >> echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \ >> gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out - -lncurses)) >> +endif >> >> ifeq ($(HOST_OS),Linux) >> zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic > > > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at aparcar.org Wed Jun 10 04:13:09 2020 From: mail at aparcar.org (Paul Spooren) Date: Wed, 10 Jun 2020 04:13:09 -0400 Subject: [OpenWrt-Devel] [PATCH] build, imagebuilder: Do not require libncurses-dev In-Reply-To: <9826759.b33H7hSvdo@strike> References: <20200414211447.324042-1-mail@aparcar.org> <9826759.b33H7hSvdo@strike> Message-ID: <1cbc1b1f-97f4-9a77-9c20-6d2c315d3a69@aparcar.org> Hi, > Hi Paul, > > I gave this today a test on my spare computer, but it still complained about > the missing libncurses. > I tested with snapshot imagebuilder (r13519-8a858363b0) with just calling > "make image" > > Any ideas? It's just a PR and not yet merged. Once merged give it another 24 hours. Best, Paul _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Wed Jun 10 05:09:24 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Wed, 10 Jun 2020 10:09:24 +0100 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] Message-ID: Hi, Jason, I'm trying to build OpenWrt master with Thumb-2 instructions for my Turris Omnia (both kernel and userspace) with GCC 9.3.0 and Binutils 2.34 from the toolchain. [1] Everything seems to work apart from WireGuard, for some reason the module won't load, throwing the relocation error in $subject (other backported compat modules load just fine). Do you have any idea about the possible cause? This is mostly a heads-up, since I'm surely treading officially unsupported grounds. ;) Thanks, Rui [1] Interestingly enough, the final image is bigger (maybe the Thumb-2 encoding is less redundant and doesn't compress as well as ARM?). _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Wed Jun 10 05:20:42 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Wed, 10 Jun 2020 03:20:42 -0600 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: Hi Rui, I'm unable to reproduce this: $ git clone https://git.zx2c4.com/wireguard-linux-compat $ ARCH=arm make -C wireguard-linux-compat/src test-qemu -j$(nproc) [... big test suite ...] $ vim wireguard-linux-compat/qemu-build/arm/linux-5.5.14/.config [... enable CONFIG_THUMB2_KERNEL=y ...] $ ARCH=arm make -C wireguard-linux-compat/src test-qemu -j$(nproc) [... big test suite ...] Is there some config combination you can stick into the test harness to repro what you're seeing? Jason _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Wed Jun 10 05:31:48 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Wed, 10 Jun 2020 10:31:48 +0100 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: Hi, Jason, Thanks for the quick reply! On Wed, 10 Jun 2020 at 10:20, Jason A. Donenfeld wrote: > > Is there some config combination you can stick into the test harness > to repro what you're seeing? Good question. :) You're testing in QEMU (which I personally never used), right? I don't know how familiar you are with OpenWrt, but I can surely send you my configuration (it's spread across multiple files, though). Thanks, Rui _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Wed Jun 10 05:33:26 2020 From: openwrt-devel at lists.openwrt.org (R. Diez via openwrt-devel) Date: Wed, 10 Jun 2020 11:33:26 +0200 Subject: [OpenWrt-Devel] [PATCH] build: IS_TTY is now set according to GNU Make's MAKE_TERMOUT References: <20200610093326.18897-1-rdiezmail-openwrt.ref@yahoo.com> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: "R. Diez" Subject: [PATCH] build: IS_TTY is now set according to GNU Make's MAKE_TERMOUT Date: Wed, 10 Jun 2020 11:33:26 +0200 Size: 5183 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Wed Jun 10 06:02:23 2020 From: openwrt-devel at lists.openwrt.org (R. Diez via openwrt-devel) Date: Wed, 10 Jun 2020 12:02:23 +0200 Subject: [OpenWrt-Devel] [PATCH] build: do not hard-code IS_TTY in script scripts/feeds References: <20200610100223.22950-1-rdiezmail-openwrt.ref@yahoo.com> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: "R. Diez" Subject: [PATCH] build: do not hard-code IS_TTY in script scripts/feeds Date: Wed, 10 Jun 2020 12:02:23 +0200 Size: 6061 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Wed Jun 10 06:05:28 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Wed, 10 Jun 2020 11:05:28 +0100 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: Hi, Jason, On Wed, 10 Jun 2020 at 10:31, Rui Salvaterra wrote: > > Good question. :) You're testing in QEMU (which I personally never > used), right? I don't know how familiar you are with OpenWrt, but I > can surely send you my configuration (it's spread across multiple > files, though). Ok, so this is what I do (on a pristine tree, after cloning the buildroot and the packages feed): First, I change the CPU subtype to neon (sadly, the Armada 385 is castrated upstream since the 370 only supports VFPv3-D16 :/). diff --git a/target/linux/mvebu/cortexa9/target.mk b/target/linux/mvebu/cortexa9/target.mk index cdd4d86e49..9af3c95d7b 100644 --- a/target/linux/mvebu/cortexa9/target.mk +++ b/target/linux/mvebu/cortexa9/target.mk @@ -10,5 +10,5 @@ include $(TOPDIR)/rules.mk ARCH:=arm BOARDNAME:=Marvell Armada 37x/38x/XP CPU_TYPE:=cortex-a9 -CPU_SUBTYPE:=vfpv3-d16 +CPU_SUBTYPE:=neon KERNELNAME:=zImage dtbs Then, I use the attached configuration files. The .config (for OpenWrt) in the buildroot, and config-default (for the kernel itself) in target/linux/mvebu/cortexa9/. Let me know if you need anything else! Thanks, Rui -------------- next part -------------- A non-text attachment was scrubbed... Name: .config Type: application/octet-stream Size: 238274 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: config-default Type: application/octet-stream Size: 7890 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Wed Jun 10 06:09:43 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Wed, 10 Jun 2020 04:09:43 -0600 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: On Wed, Jun 10, 2020 at 4:05 AM Rui Salvaterra wrote: > > Hi, Jason, > > On Wed, 10 Jun 2020 at 10:31, Rui Salvaterra wrote: > > > > Good question. :) You're testing in QEMU (which I personally never > > used), right? I don't know how familiar you are with OpenWrt, but I > > can surely send you my configuration (it's spread across multiple > > files, though). > > Ok, so this is what I do (on a pristine tree, after cloning the > buildroot and the packages feed): > > First, I change the CPU subtype to neon (sadly, the Armada 385 is > castrated upstream since the 370 only supports VFPv3-D16 :/). > > diff --git a/target/linux/mvebu/cortexa9/target.mk > b/target/linux/mvebu/cortexa9/target.mk > index cdd4d86e49..9af3c95d7b 100644 > --- a/target/linux/mvebu/cortexa9/target.mk > +++ b/target/linux/mvebu/cortexa9/target.mk > @@ -10,5 +10,5 @@ include $(TOPDIR)/rules.mk > ARCH:=arm > BOARDNAME:=Marvell Armada 37x/38x/XP > CPU_TYPE:=cortex-a9 > -CPU_SUBTYPE:=vfpv3-d16 > +CPU_SUBTYPE:=neon > KERNELNAME:=zImage dtbs > > Then, I use the attached configuration files. The .config (for > OpenWrt) in the buildroot, and config-default (for the kernel itself) > in target/linux/mvebu/cortexa9/. > > Let me know if you need anything else! Eventually I can probably get this building and testing and find some hardware for this and such. But if you'd like things to move faster, trying to reproduce the issue in the qemu test suite will result in a quicker fix. Jason _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fe at dev.tdt.de Wed Jun 10 09:23:25 2020 From: fe at dev.tdt.de (Florian Eckert) Date: Wed, 10 Jun 2020 15:23:25 +0200 Subject: [OpenWrt-Devel] Conversion issue in lua ubus binding Message-ID: Hello Community, I have recently discovered that there is a conversion problem with the ubus lua binding. I think it is due to the following commit [1] from the ubus project. Can anyone confirm this? I have a lua program that loads the json object from ubus and extracts a value. On a 32 bit system (lantiq_xrx200) every works as expected, but for the 64 bit system (x86_64) I get for the value -71 the value 18446744073709552000. If I do an ubus call on the shell the value on x86_64 and lantiq_xrx200 looks the same value -71 which is the correct one. So I think it has to do with the conversion in the ubus lua binding. Regards Florian [1] https://git.openwrt.org/?p=project/ubus.git;a=commitdiff;h=171469e3138cce191892e20b6fd35b52c9368064 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 10 12:10:40 2020 From: ynezz at true.cz (=?UTF-8?q?Petr=20=C5=A0tetiar?=) Date: Wed, 10 Jun 2020 18:10:40 +0200 Subject: [OpenWrt-Devel] [PATCH] mvebu: fix bootloader kernel commandline mangling Message-ID: <20200610161040.8903-1-ynezz@true.cz> Currently I'm unable to boot initramfs image with `console=ttyS0,115200` kernel commandline as the bootloader mangling resets kernel commandline if there is no `root=` option provided, efectively clearing whatever I pass to the kernel, making the `root=` option mandatory. Signed-off-by: Petr ?tetiar --- ...Mangle-bootloader-s-kernel-arguments.patch | 61 +++++++++++-------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/target/linux/mvebu/patches-5.4/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-5.4/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch index 2f942ea3af63..5969a10a865c 100644 --- a/target/linux/mvebu/patches-5.4/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/mvebu/patches-5.4/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch @@ -21,10 +21,10 @@ was found, resulting in blank cmdline and failure to boot. Signed-off-by: Michael Gray --- - arch/arm/Kconfig | 11 +++++ - arch/arm/boot/compressed/atags_to_fdt.c | 72 ++++++++++++++++++++++++++++++++- - init/main.c | 16 ++++++++ - 3 files changed, 98 insertions(+), 1 deletion(-) + arch/arm/Kconfig | 11 ++++ + arch/arm/boot/compressed/atags_to_fdt.c | 85 ++++++++++++++++++++++++- + init/main.c | 16 +++++ + 3 files changed, 111 insertions(+), 1 deletion(-) --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -57,7 +57,7 @@ Signed-off-by: Michael Gray #else #define do_extend_cmdline 0 #endif -@@ -67,6 +69,65 @@ static uint32_t get_cell_size(const void +@@ -67,6 +69,72 @@ static uint32_t get_cell_size(const void return cell_size; } @@ -78,7 +78,8 @@ Signed-off-by: Michael Gray + do { + ptr++; + ptr = strchr(ptr, 'r'); -+ if(!ptr) return dest; ++ if (!ptr) ++ goto no_append; + + } while (ptr != str && *(ptr-1) != ' '); + @@ -97,25 +98,31 @@ Signed-off-by: Michael Gray + + /* if append-rootblock property is set use it to append to command line */ + rootblock = getprop(fdt, "/chosen", "append-rootblock", &l); -+ if(rootblock != NULL) { -+ if(*dest != ' ') { -+ *dest = ' '; -+ dest++; -+ len++; -+ } -+ if (len + l + i <= COMMAND_LINE_SIZE) { -+ memcpy(dest, rootblock, l); -+ dest += l - 1; -+ memcpy(dest, ptr, i); -+ dest += i; -+ } -+ } else { -+ len = strlen(str); -+ if (len + 1 < COMMAND_LINE_SIZE) { -+ memcpy(dest, str, len); -+ dest += len; -+ } ++ if (rootblock == NULL) ++ goto no_append; ++ ++ if (*dest != ' ') { ++ *dest = ' '; ++ dest++; ++ len++; ++ } ++ ++ if (len + l + i <= COMMAND_LINE_SIZE) { ++ memcpy(dest, rootblock, l); ++ dest += l - 1; ++ memcpy(dest, ptr, i); ++ dest += i; + } ++ ++ return dest; ++ ++no_append: ++ len = strlen(str); ++ if (len + 1 < COMMAND_LINE_SIZE) { ++ memcpy(dest, str, len); ++ dest += len; ++ } ++ + return dest; +} +#endif @@ -123,7 +130,7 @@ Signed-off-by: Michael Gray static void merge_fdt_bootargs(void *fdt, const char *fdt_cmdline) { char cmdline[COMMAND_LINE_SIZE]; -@@ -86,12 +147,21 @@ static void merge_fdt_bootargs(void *fdt +@@ -86,12 +154,21 @@ static void merge_fdt_bootargs(void *fdt /* and append the ATAG_CMDLINE */ if (fdt_cmdline) { @@ -145,7 +152,7 @@ Signed-off-by: Michael Gray } *ptr = '\0'; -@@ -166,7 +236,9 @@ int atags_to_fdt(void *atag_list, void * +@@ -166,7 +243,9 @@ int atags_to_fdt(void *atag_list, void * else setprop_string(fdt, "/chosen", "bootargs", atag->u.cmdline.cmdline); @@ -156,7 +163,7 @@ Signed-off-by: Michael Gray if (memcount >= sizeof(mem_reg_property)/4) continue; if (!atag->u.mem.size) -@@ -210,6 +282,10 @@ int atags_to_fdt(void *atag_list, void * +@@ -210,6 +289,10 @@ int atags_to_fdt(void *atag_list, void * setprop(fdt, "/memory", "reg", mem_reg_property, 4 * memcount * memsize); } _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ldir at darbyshire-bryant.me.uk Wed Jun 10 12:27:27 2020 From: ldir at darbyshire-bryant.me.uk (Kevin Darbyshire-Bryant) Date: Wed, 10 Jun 2020 17:27:27 +0100 Subject: [OpenWrt-Devel] [PATCH] odhcpd: remove bogus IPKG_INSTROOT reference Message-ID: <20200610162727.19344-1-ldir@darbyshire-bryant.me.uk> IPKG_INSTROOT is only set under image builder and we won't be running this script at build time either, so remove the reference before it gets cargo-culted into other scripts. Signed-off-by: Kevin Darbyshire-Bryant --- package/network/services/odhcpd/Makefile | 2 +- package/network/services/odhcpd/files/odhcpd-update | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/network/services/odhcpd/Makefile b/package/network/services/odhcpd/Makefile index 6510ce6c80..07d7d7d673 100644 --- a/package/network/services/odhcpd/Makefile +++ b/package/network/services/odhcpd/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=odhcpd -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git diff --git a/package/network/services/odhcpd/files/odhcpd-update b/package/network/services/odhcpd/files/odhcpd-update index 9bc7abcc1c..c1814e00b0 100755 --- a/package/network/services/odhcpd/files/odhcpd-update +++ b/package/network/services/odhcpd/files/odhcpd-update @@ -1,6 +1,6 @@ #!/bin/sh # Make dnsmasq reread hostfile by sending SIGHUP signal -. $IPKG_INSTROOT/lib/functions/procd.sh +. /lib/functions/procd.sh procd_send_signal dnsmasq -- 2.24.3 (Apple Git-128) _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dedeckeh at gmail.com Wed Jun 10 15:58:44 2020 From: dedeckeh at gmail.com (Hans Dedecker) Date: Wed, 10 Jun 2020 21:58:44 +0200 Subject: [OpenWrt-Devel] [PATCH] odhcpd: remove bogus IPKG_INSTROOT reference In-Reply-To: <20200610162727.19344-1-ldir@darbyshire-bryant.me.uk> References: <20200610162727.19344-1-ldir@darbyshire-bryant.me.uk> Message-ID: On Wed, Jun 10, 2020 at 6:27 PM Kevin Darbyshire-Bryant wrote: > > IPKG_INSTROOT is only set under image builder and we won't be running > this script at build time either, so remove the reference before it gets > cargo-culted into other scripts. > > Signed-off-by: Kevin Darbyshire-Bryant Acked-by: Hans Dedecker > --- > package/network/services/odhcpd/Makefile | 2 +- > package/network/services/odhcpd/files/odhcpd-update | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/package/network/services/odhcpd/Makefile b/package/network/services/odhcpd/Makefile > index 6510ce6c80..07d7d7d673 100644 > --- a/package/network/services/odhcpd/Makefile > +++ b/package/network/services/odhcpd/Makefile > @@ -8,7 +8,7 @@ > include $(TOPDIR)/rules.mk > > PKG_NAME:=odhcpd > -PKG_RELEASE:=3 > +PKG_RELEASE:=4 > > PKG_SOURCE_PROTO:=git > PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git > diff --git a/package/network/services/odhcpd/files/odhcpd-update b/package/network/services/odhcpd/files/odhcpd-update > index 9bc7abcc1c..c1814e00b0 100755 > --- a/package/network/services/odhcpd/files/odhcpd-update > +++ b/package/network/services/odhcpd/files/odhcpd-update > @@ -1,6 +1,6 @@ > #!/bin/sh > # Make dnsmasq reread hostfile by sending SIGHUP signal > > -. $IPKG_INSTROOT/lib/functions/procd.sh > +. /lib/functions/procd.sh > > procd_send_signal dnsmasq > -- > 2.24.3 (Apple Git-128) > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Wed Jun 10 16:14:59 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Wed, 10 Jun 2020 23:14:59 +0300 Subject: [OpenWrt-Devel] [PATCH v2 0/3] ath79: add support for D-Link DAP-2695-A1 Message-ID: <20200610201502.4175358-1-stijn@linux-ipv6.be> This series adds support for the D-Link DAP-2695-A1 to the ath79 target. Also available in the ath79_dap-2695-a1 branch of my staging tree at [0]. Successfully tested sysupgrade from ar71xx to ath79. As discussed on IRC, I prefer to keep the network setup identical to ar71xx, so this wasn't changed. Changes since v1: * Drop the commit that put D-Link images definitions in a separate file, to focus on getting support for the device in order rather than wasting time over something cosmetic. * Drop default-state = "off" from leds, set default-state = "on" for power LED, add aliases indicating boot, failsafe and upgrade, add linux,default-trigger = "phy1tpt" to wlan2g. * Rename wifi_2g node to be consistent with the label. * Use gpio-keys instead of gpio-keys-polled. * Rename button node to reset. * Add newline before partitions node. * Drop uboot label. * Drop board from /etc/board.d/01_leds. * Add ath10k-ct and firmware to DEFAULT_PACKAGES. [0] https://git.openwrt.org/?p=openwrt/staging/stintel.git;a=summary Stijn Tintel (3): mtd: enable wrgg support for ath79 ath79: enable wrgg MTD splitter ath79: add support for D-Link DAP-2695-A1 package/system/mtd/src/Makefile | 2 +- target/linux/ath79/config-4.19 | 1 + target/linux/ath79/config-5.4 | 1 + .../ath79/dts/qca9558_dlink_dap-2695-a1.dts | 178 ++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 6 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 + .../etc/uci-defaults/09_fix-checksum | 8 + .../base-files/lib/preinit/10_fix_eth_mac.sh | 4 + target/linux/ath79/image/generic.mk | 33 ++++ 10 files changed, 240 insertions(+), 1 deletion(-) create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Wed Jun 10 16:15:00 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Wed, 10 Jun 2020 23:15:00 +0300 Subject: [OpenWrt-Devel] [PATCH v2 1/3] mtd: enable wrgg support for ath79 In-Reply-To: <20200610201502.4175358-1-stijn@linux-ipv6.be> References: <20200610201502.4175358-1-stijn@linux-ipv6.be> Message-ID: <20200610201502.4175358-2-stijn@linux-ipv6.be> This is required for the D-Link DAP-2695-A1. Signed-off-by: Stijn Tintel --- package/system/mtd/src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/system/mtd/src/Makefile b/package/system/mtd/src/Makefile index e504a04478..6da31a04a4 100644 --- a/package/system/mtd/src/Makefile +++ b/package/system/mtd/src/Makefile @@ -8,7 +8,7 @@ obj.wrg = wrg.o md5.o obj.wrgg = wrgg.o md5.o obj.tpl = tpl_ramips_recoveryflag.o obj.ar71xx = trx.o $(obj.seama) $(obj.wrgg) -obj.ath79 = $(obj.seama) +obj.ath79 = $(obj.seama) $(obj.wrgg) obj.gemini = $(obj.wrgg) obj.brcm = trx.o obj.bcm47xx = $(obj.brcm) -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Wed Jun 10 16:15:01 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Wed, 10 Jun 2020 23:15:01 +0300 Subject: [OpenWrt-Devel] [PATCH v2 2/3] ath79: enable wrgg MTD splitter In-Reply-To: <20200610201502.4175358-1-stijn@linux-ipv6.be> References: <20200610201502.4175358-1-stijn@linux-ipv6.be> Message-ID: <20200610201502.4175358-3-stijn@linux-ipv6.be> This is required for the D-Link DAP-2695-A1. Signed-off-by: Stijn Tintel --- target/linux/ath79/config-4.19 | 1 + target/linux/ath79/config-5.4 | 1 + 2 files changed, 2 insertions(+) diff --git a/target/linux/ath79/config-4.19 b/target/linux/ath79/config-4.19 index cfa0ebd759..81fd017aba 100644 --- a/target/linux/ath79/config-4.19 +++ b/target/linux/ath79/config-4.19 @@ -171,6 +171,7 @@ CONFIG_MTD_SPLIT_LZMA_FW=y CONFIG_MTD_SPLIT_SEAMA_FW=y CONFIG_MTD_SPLIT_TPLINK_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y +CONFIG_MTD_SPLIT_WRGG_FW=y CONFIG_MTD_VIRT_CONCAT=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y diff --git a/target/linux/ath79/config-5.4 b/target/linux/ath79/config-5.4 index 80f7209b5b..b458edce1e 100644 --- a/target/linux/ath79/config-5.4 +++ b/target/linux/ath79/config-5.4 @@ -178,6 +178,7 @@ CONFIG_MTD_SPLIT_LZMA_FW=y CONFIG_MTD_SPLIT_SEAMA_FW=y CONFIG_MTD_SPLIT_TPLINK_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y +CONFIG_MTD_SPLIT_WRGG_FW=y CONFIG_MTD_VIRT_CONCAT=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Wed Jun 10 16:15:02 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Wed, 10 Jun 2020 23:15:02 +0300 Subject: [OpenWrt-Devel] [PATCH v2 3/3] ath79: add support for D-Link DAP-2695-A1 In-Reply-To: <20200610201502.4175358-1-stijn@linux-ipv6.be> References: <20200610201502.4175358-1-stijn@linux-ipv6.be> Message-ID: <20200610201502.4175358-4-stijn@linux-ipv6.be> Hardware: * SoC: Qualcomm Atheros QCA9558 * RAM: 256MB * Flash: 16MB SPI NOR * Ethernet: 2x 10/100/1000 (1x 802.3at PoE-PD) * WiFi 2.4GHz: Qualcomm Atheros QCA9558 * WiFi 5GHz: Qualcomm Ahteros QCA9880-2R4E * LEDS: 1x 5GHz, 1x 2.4GHz, 1x LAN1(POE), 1x LAN2, 1x POWER * Buttons: 1x RESET * UART: 1x RJ45 RS-232 Console port Installation via stock firmware: * Install the factory image via the stock firmware web interface Installation via bootloader Emergency Web Server: * Connect your PC to the LAN1(PoE) port * Configure your PC with IP address 192.168.0.90 * Open a serial console to the Console port (115200,8n1) * Press "q" within 2s when "press 'q' to stop autoboot" appears * Open http://192.168.0.50 in a browser * Upload either the factory or the sysupgrade image * Once you see "write image into flash...OK,dest addr=0x9f070000" you can power-cycle the device. Ignore "checksum bad" messages. Setting the MAC addresses for the ethernet interfaces via /etc/board.d/02_network adds the following snippets to /etc/config/network: config device 'lan_eth0_1_dev' option name 'eth0.1' option macaddr 'xx:xx:xx:xx:xx:xx' config device 'wan_eth1_2_dev' option name 'eth1.2' option macaddr 'xx:xx:xx:xx:xx:xx' This would result in the proper MAC addresses being set for the VLAN subinterfaces, but the parent interfaces would still have a random MAC address. Using untagged VLANs could solve this, but would still leave those extra snippets in /etc/config/network, and then the device VLAN setup would differ from the one used in ar71xx. Therefore, the MAC addresses of the ethernet interfaces are being set via preinit instead. Signed-off-by: Stijn Tintel --- .../ath79/dts/qca9558_dlink_dap-2695-a1.dts | 178 ++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 6 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 + .../etc/uci-defaults/09_fix-checksum | 8 + .../base-files/lib/preinit/10_fix_eth_mac.sh | 4 + target/linux/ath79/image/generic.mk | 33 ++++ 7 files changed, 237 insertions(+) create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts new file mode 100644 index 0000000000..8d8c796ed8 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts @@ -0,0 +1,178 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "qca955x.dtsi" + +/ { + compatible = "dlink,dap-2695-a1", "qca,qca9557"; + model = "D-link DAP-2695-A1"; + + chosen { + bootargs = "console=ttyS0,115200n8"; + }; + + aliases { + led-boot = &led_power_red; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_red; + }; + + leds { + compatible = "gpio-leds"; + + led_power_green: power_green { + label = "d-link:green:power"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + led_power_red: power_red { + label = "d-link:red:power"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + wifi2g { + label = "d-link:green:wifi2g"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + }; + + keys { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + + reset at 0 { + label = "reset"; + linux,code = ; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&spi { + status = "okay"; + num-cs = <1>; + + flash at 0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mx25l12805d"; + reg = <0>; + spi-max-frequency = <25000000>; + partitions { + + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "u-boot"; + reg = <0x000000 0x040000>; + read-only; + }; + + partition at 40000 { + label = "bdcfg"; + reg = <0x040000 0x010000>; + read-only; + }; + + partition at 50000 { + label = "rgdb"; + reg = <0x050000 0x010000>; + read-only; + }; + + partition at 60000 { + label = "langpack"; + reg = <0x060000 0x010000>; + read-only; + }; + + partition at 70000 { + compatible = "wrg"; + label = "firmware"; + reg = <0x070000 0xf00000>; + }; + + partition at f70000 { + label = "captival"; + reg = <0xf70000 0x070000>; + read-only; + }; + + partition at fe0000 { + label = "certificate"; + reg = <0xfe0000 0x010000>; + read-only; + }; + + art: partition at ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy at 0 { + reg = <0>; + + qca,ar8327-initvals = < + 0x04 0x07600000 /* PORT0_PAD_CTRL */ + 0x0c 0x00080080 /* PORT6_PAD_CTRL */ + 0x7c 0x0000007e /* PORT0_STATUS */ + 0x94 0x0000007e /* PORT6_STATUS */ + >; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&phy0>; + phy-mode = "rgmii"; + pll-data = <0x56000000 0x00000101 0x00001616>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +ð1 { + status = "okay"; + + phy-mask = <0>; + phy-mode = "sgmii"; + pll-data = <0x03000101 0x00000101 0x00001616>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&pcie0 { + status = "okay"; +}; + +&uart { + status = "okay"; +}; + +&wmac { + status = "okay"; + + qca,no-eeprom; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 1672f093a7..d5964e9a0f 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -136,6 +136,9 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0 at eth0" "2:wan" "3:lan" "4:lan" ;; + dlink,dap-2695-a1) + ucidef_add_switch "switch0" "0 at eth0" "2:lan" "3:wan" "6 at eth1" + ;; dlink,dir-825-b1) ucidef_set_interface_wan "eth1" ucidef_add_switch "switch0" \ @@ -359,6 +362,9 @@ ath79_setup_macs() devolo,magic-2-wifi) label_mac=$(macaddr_add "$(mtd_get_mac_binary art 0x1002)" 3) ;; + dlink,dap-2695-a1) + label_mac=$(mtd_get_mac_ascii bdcfg "wlanmac") + ;; dlink,dir-825-b1) lan_mac=$(mtd_get_mac_text "caldata" 0xffa0) wan_mac=$(mtd_get_mac_text "caldata" 0xffb4) diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index e0fa5ff354..972157604d 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -14,6 +14,10 @@ case "$FIRMWARE" in avm,fritz450e) caldata_extract_reverse "urlader" 0x1541 0x440 ;; + dlink,dap-2695-a1) + caldata_extract "art" 0x1000 0x440 + ath9k_patch_mac $(mtd_get_mac_ascii bdcfg "wlanmac") + ;; dlink,dir-505|\ dlink,dir-825-c1|\ dlink,dir-835-a1) diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 29815a1ada..603557d6c2 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -40,6 +40,10 @@ case "$FIRMWARE" in caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) -1) ;; + dlink,dap-2695-a1) + caldata_extract "art" 0x5000 0x844 + ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac_a) + ;; dlink,dir-859-a1) caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac") diff --git a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum index 22c9483e74..085ad2e925 100644 --- a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum +++ b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum @@ -6,9 +6,17 @@ fix_seama_header() { [ "$kernel_size" ] && mtd -c 0x$kernel_size fixseama firmware } +fixwrgg() { + local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"kernel".*/\1/p' /proc/mtd) + [ "$kernel_size" ] && mtd -c 0x$kernel_size fixwrgg firmware +} + board=$(board_name) case "$board" in +dlink,dap-2695-a1) + fixwrgg + ;; qihoo,c301) fix_seama_header ;; diff --git a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh index da1583a825..59fd36b2e9 100644 --- a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh +++ b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh @@ -8,6 +8,10 @@ preinit_set_mac_address() { avm,fritz450e) ip link set dev eth0 address $(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)")) ;; + dlink,dap-2695-a1) + ip link set dev eth0 address $(mtd_get_mac_ascii bdcfg "lanmac") + ip link set dev eth1 address $(mtd_get_mac_ascii bdcfg "wanmac") + ;; enterasys,ws-ap3705i) ip link set dev eth0 address $(mtd_get_mac_ascii u-boot-env0 ethaddr) ;; diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 45dfc6bdad..c865542639 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -6,6 +6,7 @@ include ./common-yuncore.mk DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK DEVICE_VARS += KERNEL_INITRAMFS_PREFIX +DEVICE_VARS += DAP_SIGNATURE define Build/add-elecom-factory-initramfs $(eval edimax_model=$(word 1,$(1))) @@ -49,6 +50,14 @@ define Build/cybertan-trx -rm $@-empty.bin endef +define Build/mkwrggimg + $(STAGING_DIR_HOST)/bin/mkwrggimg -b \ + -i $@ -o $@.imghdr -d /dev/mtdblock/1 \ + -m $(DEVICE_MODEL)-$(DEVICE_VARIANT) -s $(DAP_SIGNATURE) \ + -v $(VERSION_DIST) -B $(REVISION) + mv $@.imghdr $@ +endef + define Build/nec-enc $(STAGING_DIR_HOST)/bin/nec-enc \ -i $@ -o $@.new -k $(1) @@ -88,6 +97,10 @@ define Build/teltonika-fw-fake-checksum dd of=$@ bs=1 count=16 seek=$$offs conv=notrunc endef +define Build/wrgg-pad-rootfs + $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@ +endef + define Device/seama KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma KERNEL_INITRAMFS := $$(KERNEL) | seama @@ -458,6 +471,26 @@ define Device/devolo_magic-2-wifi endef TARGET_DEVICES += devolo_magic-2-wifi +define Device/dlink_dap-2695-a1 + SOC := qca9558 + DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DAP-2965 + DEVICE_VARIANT := A1 + IMAGES := factory.img sysupgrade.bin + IMAGE_SIZE := 15360k + IMAGE/default := append-kernel | pad-offset 65536 160 + IMAGE/factory.img := $$(IMAGE/default) | append-rootfs | wrgg-pad-rootfs | \ + mkwrggimg | check-size + IMAGE/sysupgrade.bin := $$(IMAGE/default) | mkwrggimg | append-rootfs | \ + wrgg-pad-rootfs | append-metadata | check-size + KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma + KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg + DAP_SIGNATURE := wapac02_dkbs_dap2695 + SUPPORTED_DEVICES += dap-2695-a1 +endef +TARGET_DEVICES += dlink_dap-2695-a1 + define Device/dlink_dir-505 SOC := ar9330 DEVICE_VENDOR := D-Link -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From robimarko at gmail.com Wed Jun 10 17:08:16 2020 From: robimarko at gmail.com (Robert Marko) Date: Wed, 10 Jun 2020 23:08:16 +0200 Subject: [OpenWrt-Devel] fstools mount_root on a non OpenWrt system Message-ID: Hi, I am trying to utilize fstools mount_root to enable using UBIFS RW overlay on top of SquashFS on a non OpenWrt based embedded system. I have used a shell script as the init process that mounts /proc and then executes mount_root and after that is done calls /sbin/init so systemd will then be PID1. Unfortunately, when calling mount_root from the script will cause: Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 Are there any other kernel config requirements other than OverlayFS? I went through the preinit and I can't find anything relevant other than simply calling mount_root there. Thanks Robert -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From nafeesmushtaq871 at gmail.com Wed Jun 10 17:31:48 2020 From: nafeesmushtaq871 at gmail.com (Nafees Mushtaq) Date: Wed, 10 Jun 2020 14:31:48 -0700 (PDT) Subject: [OpenWrt-Devel] Proposal for Luci.AI Inc. Message-ID: <5ee15144.1c69fb81.7ec4d.17c9@mx.google.com> Hi, I am a software engineering consultant. I want to contact the hiring manager or CEO of "Luci.AI Inc.". I can help you with my engineering service. I am a Sr.Developer with 7 years of experience. I can create a management system, portal, mobile application or a website for "Luci.AI Inc.". - Sign Agreement (NDA) for data and content protection. - Pay only for the work done and delivered. - Fast delivery of the product with daily reports. - Easy coordination through screen sharing tools. - Portfolio: http://NafeesMushtaq.com - Linkedin: https://linkedin.com/in/nafeesmushtaq I will be more than happy to answer any questions you might have. Have an awesome day! Regards, Nafees Mushtaq Cell: +92 336 9940567 Skype: nafees.mushtaq ________________________________________________________________ `Luci.AI Inc. Job: Lead a creative team to build full-stack web applications. Participate in requirements analysis, system design, and implementation of back-end systems from the? _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Wed Jun 10 19:40:25 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Thu, 11 Jun 2020 01:40:25 +0200 Subject: [OpenWrt-Devel] [PATCH v2 3/3] ath79: add support for D-Link DAP-2695-A1 In-Reply-To: <20200610201502.4175358-4-stijn@linux-ipv6.be> References: <20200610201502.4175358-1-stijn@linux-ipv6.be> <20200610201502.4175358-4-stijn@linux-ipv6.be> Message-ID: <00e501d63f80$84194260$8c4bc720$@adrianschmutzler.de> Hi, a few minor comments below. > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Stijn Tintel > Sent: Mittwoch, 10. Juni 2020 22:15 > To: openwrt-devel at lists.openwrt.org > Cc: mail at adrianschmutzler.de > Subject: [OpenWrt-Devel] [PATCH v2 3/3] ath79: add support for D-Link DAP- > 2695-A1 > > Hardware: > * SoC: Qualcomm Atheros QCA9558 > * RAM: 256MB > * Flash: 16MB SPI NOR > * Ethernet: 2x 10/100/1000 (1x 802.3at PoE-PD) > * WiFi 2.4GHz: Qualcomm Atheros QCA9558 > * WiFi 5GHz: Qualcomm Ahteros QCA9880-2R4E > * LEDS: 1x 5GHz, 1x 2.4GHz, 1x LAN1(POE), 1x LAN2, 1x POWER > * Buttons: 1x RESET > * UART: 1x RJ45 RS-232 Console port > > Installation via stock firmware: > * Install the factory image via the stock firmware web interface > > Installation via bootloader Emergency Web Server: > * Connect your PC to the LAN1(PoE) port > * Configure your PC with IP address 192.168.0.90 > * Open a serial console to the Console port (115200,8n1) > * Press "q" within 2s when "press 'q' to stop autoboot" appears > * Open http://192.168.0.50 in a browser > * Upload either the factory or the sysupgrade image > * Once you see "write image into flash...OK,dest addr=0x9f070000" you > can power-cycle the device. Ignore "checksum bad" messages. > > Setting the MAC addresses for the ethernet interfaces via > /etc/board.d/02_network adds the following snippets to > /etc/config/network: > > config device 'lan_eth0_1_dev' > option name 'eth0.1' > option macaddr 'xx:xx:xx:xx:xx:xx' > > config device 'wan_eth1_2_dev' > option name 'eth1.2' > option macaddr 'xx:xx:xx:xx:xx:xx' > > This would result in the proper MAC addresses being set for the VLAN > subinterfaces, but the parent interfaces would still have a random MAC > address. Using untagged VLANs could solve this, but would still leave those > extra snippets in /etc/config/network, and then the device VLAN setup > would differ from the one used in ar71xx. Therefore, the MAC addresses of > the ethernet interfaces are being set via preinit instead. I liked the comment about the MAC addresses that was in the commit message before. While I see that you have adjusted the addresses based on our discussion, the fact that three of them are the same is quite helpful for somebody looking things up, so I would add it back here, e.g. " The bdcfg partition contains 4 MAC address labels: - lanmac - wanmac - wlanmac - wlanmac_a The first 3 all contain the same MAC address, which is also the one on the label. " > > Signed-off-by: Stijn Tintel > --- > .../ath79/dts/qca9558_dlink_dap-2695-a1.dts | 178 ++++++++++++++++++ > .../generic/base-files/etc/board.d/02_network | 6 + > .../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 + > .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 + > .../etc/uci-defaults/09_fix-checksum | 8 + > .../base-files/lib/preinit/10_fix_eth_mac.sh | 4 + > target/linux/ath79/image/generic.mk | 33 ++++ > 7 files changed, 237 insertions(+) > create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts > > diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts > b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts > new file mode 100644 > index 0000000000..8d8c796ed8 > --- /dev/null > +++ b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts > @@ -0,0 +1,178 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; > + > +#include > +#include > + > +#include "qca955x.dtsi" > + > +/ { > + compatible = "dlink,dap-2695-a1", "qca,qca9557"; > + model = "D-link DAP-2695-A1"; > + > + chosen { > + bootargs = "console=ttyS0,115200n8"; > + }; > + > + aliases { > + led-boot = &led_power_red; > + led-failsafe = &led_power_red; > + led-running = &led_power_green; > + led-upgrade = &led_power_red; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led_power_green: power_green { > + label = "d-link:green:power"; > + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; > + default-state = "on"; > + }; > + > + led_power_red: power_red { > + label = "d-link:red:power"; > + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; > + }; > + > + wifi2g { > + label = "d-link:green:wifi2g"; > + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; > + linux,default-trigger = "phy1tpt"; > + }; > + }; > + > + keys { > + compatible = "gpio-keys"; > + #address-cells = <1>; > + #size-cells = <0>; I think address-cells and size-cells can be just dropped here. > + > + reset at 0 { Based on the common use in ath79, this would be just "reset" instead of reset at 0 (like for the LEDs). > + label = "reset"; > + linux,code = ; > + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; > + }; > + }; > +}; > + > +&spi { > + status = "okay"; > + num-cs = <1>; > + > + flash at 0 { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "mx25l12805d"; > + reg = <0>; > + spi-max-frequency = <25000000>; > + partitions { > + The empty line was supposed to be _before_ "partitions {", not after, so the block is visually separated. :-) Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Thu Jun 11 00:59:55 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Thu, 11 Jun 2020 07:59:55 +0300 Subject: [OpenWrt-Devel] [PATCH v3 0/3] ath79: add support for D-Link DAP-2695-A1 Message-ID: <20200611045958.206718-1-stijn@linux-ipv6.be> This series adds support for the D-Link DAP-2695-A1 to the ath79 target. Also available in the ath79_dap-2695-a1 branch of my staging tree at [0]. Successfully tested sysupgrade from ar71xx to ath79. As discussed on IRC, I prefer to keep the network setup identical to ar71xx, so this wasn't changed. Changes since v2: * Change compatible from qca,qca9557 to qca,qca9558. * Drop {address,size}-cells from keys. * Rename reset at 0 to just reset. * Move empty newline before partitions node. Changes since v1: * Drop the commit that put D-Link images definitions in a separate file, to focus on getting support for the device in order rather than wasting time over something cosmetic. * Drop default-state = "off" from leds, set default-state = "on" for power LED, add aliases indicating boot, failsafe and upgrade, add linux,default-trigger = "phy1tpt" to wlan2g. * Rename wifi_2g node to be consistent with the label. * Use gpio-keys instead of gpio-keys-polled. * Rename button node to reset. * Add newline before partitions node. * Drop uboot label. * Drop board from /etc/board.d/01_leds. * Add ath10k-ct and firmware to DEFAULT_PACKAGES. [0] https://git.openwrt.org/?p=openwrt/staging/stintel.git;a=summary Stijn Tintel (3): mtd: enable wrgg support for ath79 ath79: enable wrgg MTD splitter ath79: add support for D-Link DAP-2695-A1 package/system/mtd/src/Makefile | 2 +- target/linux/ath79/config-4.19 | 1 + target/linux/ath79/config-5.4 | 1 + .../ath79/dts/qca9558_dlink_dap-2695-a1.dts | 176 ++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 6 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 + .../etc/uci-defaults/09_fix-checksum | 8 + .../base-files/lib/preinit/10_fix_eth_mac.sh | 4 + target/linux/ath79/image/generic.mk | 33 ++++ 10 files changed, 238 insertions(+), 1 deletion(-) create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Thu Jun 11 00:59:56 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Thu, 11 Jun 2020 07:59:56 +0300 Subject: [OpenWrt-Devel] [PATCH v3 1/3] mtd: enable wrgg support for ath79 In-Reply-To: <20200611045958.206718-1-stijn@linux-ipv6.be> References: <20200611045958.206718-1-stijn@linux-ipv6.be> Message-ID: <20200611045958.206718-2-stijn@linux-ipv6.be> This is required for the D-Link DAP-2695-A1. Signed-off-by: Stijn Tintel --- package/system/mtd/src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/system/mtd/src/Makefile b/package/system/mtd/src/Makefile index e504a04478..6da31a04a4 100644 --- a/package/system/mtd/src/Makefile +++ b/package/system/mtd/src/Makefile @@ -8,7 +8,7 @@ obj.wrg = wrg.o md5.o obj.wrgg = wrgg.o md5.o obj.tpl = tpl_ramips_recoveryflag.o obj.ar71xx = trx.o $(obj.seama) $(obj.wrgg) -obj.ath79 = $(obj.seama) +obj.ath79 = $(obj.seama) $(obj.wrgg) obj.gemini = $(obj.wrgg) obj.brcm = trx.o obj.bcm47xx = $(obj.brcm) -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Thu Jun 11 00:59:57 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Thu, 11 Jun 2020 07:59:57 +0300 Subject: [OpenWrt-Devel] [PATCH v3 2/3] ath79: enable wrgg MTD splitter In-Reply-To: <20200611045958.206718-1-stijn@linux-ipv6.be> References: <20200611045958.206718-1-stijn@linux-ipv6.be> Message-ID: <20200611045958.206718-3-stijn@linux-ipv6.be> This is required for the D-Link DAP-2695-A1. Signed-off-by: Stijn Tintel --- target/linux/ath79/config-4.19 | 1 + target/linux/ath79/config-5.4 | 1 + 2 files changed, 2 insertions(+) diff --git a/target/linux/ath79/config-4.19 b/target/linux/ath79/config-4.19 index cfa0ebd759..81fd017aba 100644 --- a/target/linux/ath79/config-4.19 +++ b/target/linux/ath79/config-4.19 @@ -171,6 +171,7 @@ CONFIG_MTD_SPLIT_LZMA_FW=y CONFIG_MTD_SPLIT_SEAMA_FW=y CONFIG_MTD_SPLIT_TPLINK_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y +CONFIG_MTD_SPLIT_WRGG_FW=y CONFIG_MTD_VIRT_CONCAT=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y diff --git a/target/linux/ath79/config-5.4 b/target/linux/ath79/config-5.4 index 80f7209b5b..b458edce1e 100644 --- a/target/linux/ath79/config-5.4 +++ b/target/linux/ath79/config-5.4 @@ -178,6 +178,7 @@ CONFIG_MTD_SPLIT_LZMA_FW=y CONFIG_MTD_SPLIT_SEAMA_FW=y CONFIG_MTD_SPLIT_TPLINK_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y +CONFIG_MTD_SPLIT_WRGG_FW=y CONFIG_MTD_VIRT_CONCAT=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stijn at linux-ipv6.be Thu Jun 11 00:59:58 2020 From: stijn at linux-ipv6.be (Stijn Tintel) Date: Thu, 11 Jun 2020 07:59:58 +0300 Subject: [OpenWrt-Devel] [PATCH v3 3/3] ath79: add support for D-Link DAP-2695-A1 In-Reply-To: <20200611045958.206718-1-stijn@linux-ipv6.be> References: <20200611045958.206718-1-stijn@linux-ipv6.be> Message-ID: <20200611045958.206718-4-stijn@linux-ipv6.be> Hardware: * SoC: Qualcomm Atheros QCA9558 * RAM: 256MB * Flash: 16MB SPI NOR * Ethernet: 2x 10/100/1000 (1x 802.3at PoE-PD) * WiFi 2.4GHz: Qualcomm Atheros QCA9558 * WiFi 5GHz: Qualcomm Ahteros QCA9880-2R4E * LEDS: 1x 5GHz, 1x 2.4GHz, 1x LAN1(POE), 1x LAN2, 1x POWER * Buttons: 1x RESET * UART: 1x RJ45 RS-232 Console port Installation via stock firmware: * Install the factory image via the stock firmware web interface Installation via bootloader Emergency Web Server: * Connect your PC to the LAN1(PoE) port * Configure your PC with IP address 192.168.0.90 * Open a serial console to the Console port (115200,8n1) * Press "q" within 2s when "press 'q' to stop autoboot" appears * Open http://192.168.0.50 in a browser * Upload either the factory or the sysupgrade image * Once you see "write image into flash...OK,dest addr=0x9f070000" you can power-cycle the device. Ignore "checksum bad" messages. Setting the MAC addresses for the ethernet interfaces via /etc/board.d/02_network adds the following snippets to /etc/config/network: config device 'lan_eth0_1_dev' option name 'eth0.1' option macaddr 'xx:xx:xx:xx:xx:xx' config device 'wan_eth1_2_dev' option name 'eth1.2' option macaddr 'xx:xx:xx:xx:xx:xx' This would result in the proper MAC addresses being set for the VLAN subinterfaces, but the parent interfaces would still have a random MAC address. Using untagged VLANs could solve this, but would still leave those extra snippets in /etc/config/network, and then the device VLAN setup would differ from the one used in ar71xx. Therefore, the MAC addresses of the ethernet interfaces are being set via preinit instead. The bdcfg partition contains 4 MAC address labels: - lanmac - wanmac - wlanmac - wlanmac_a The first 3 all contain the same MAC address, which is also the one on the label. Signed-off-by: Stijn Tintel --- .../ath79/dts/qca9558_dlink_dap-2695-a1.dts | 176 ++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 6 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 + .../etc/uci-defaults/09_fix-checksum | 8 + .../base-files/lib/preinit/10_fix_eth_mac.sh | 4 + target/linux/ath79/image/generic.mk | 33 ++++ 7 files changed, 235 insertions(+) create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts new file mode 100644 index 0000000000..4ae9ee2b47 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts @@ -0,0 +1,176 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "qca955x.dtsi" + +/ { + compatible = "dlink,dap-2695-a1", "qca,qca9558"; + model = "D-link DAP-2695-A1"; + + chosen { + bootargs = "console=ttyS0,115200n8"; + }; + + aliases { + led-boot = &led_power_red; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_red; + }; + + leds { + compatible = "gpio-leds"; + + led_power_green: power_green { + label = "d-link:green:power"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + led_power_red: power_red { + label = "d-link:red:power"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + wifi2g { + label = "d-link:green:wifi2g"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&spi { + status = "okay"; + num-cs = <1>; + + flash at 0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mx25l12805d"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "u-boot"; + reg = <0x000000 0x040000>; + read-only; + }; + + partition at 40000 { + label = "bdcfg"; + reg = <0x040000 0x010000>; + read-only; + }; + + partition at 50000 { + label = "rgdb"; + reg = <0x050000 0x010000>; + read-only; + }; + + partition at 60000 { + label = "langpack"; + reg = <0x060000 0x010000>; + read-only; + }; + + partition at 70000 { + compatible = "wrg"; + label = "firmware"; + reg = <0x070000 0xf00000>; + }; + + partition at f70000 { + label = "captival"; + reg = <0xf70000 0x070000>; + read-only; + }; + + partition at fe0000 { + label = "certificate"; + reg = <0xfe0000 0x010000>; + read-only; + }; + + art: partition at ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy at 0 { + reg = <0>; + + qca,ar8327-initvals = < + 0x04 0x07600000 /* PORT0_PAD_CTRL */ + 0x0c 0x00080080 /* PORT6_PAD_CTRL */ + 0x7c 0x0000007e /* PORT0_STATUS */ + 0x94 0x0000007e /* PORT6_STATUS */ + >; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&phy0>; + phy-mode = "rgmii"; + pll-data = <0x56000000 0x00000101 0x00001616>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +ð1 { + status = "okay"; + + phy-mask = <0>; + phy-mode = "sgmii"; + pll-data = <0x03000101 0x00000101 0x00001616>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&pcie0 { + status = "okay"; +}; + +&uart { + status = "okay"; +}; + +&wmac { + status = "okay"; + + qca,no-eeprom; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 23a945aadc..283e510416 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -136,6 +136,9 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0 at eth0" "2:wan" "3:lan" "4:lan" ;; + dlink,dap-2695-a1) + ucidef_add_switch "switch0" "0 at eth0" "2:lan" "3:wan" "6 at eth1" + ;; dlink,dir-825-b1) ucidef_set_interface_wan "eth1" ucidef_add_switch "switch0" \ @@ -361,6 +364,9 @@ ath79_setup_macs() devolo,magic-2-wifi) label_mac=$(macaddr_add "$(mtd_get_mac_binary art 0x1002)" 3) ;; + dlink,dap-2695-a1) + label_mac=$(mtd_get_mac_ascii bdcfg "wlanmac") + ;; dlink,dir-825-b1) lan_mac=$(mtd_get_mac_text "caldata" 0xffa0) wan_mac=$(mtd_get_mac_text "caldata" 0xffb4) diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index fa36aab4fe..56d083b4bf 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -14,6 +14,10 @@ case "$FIRMWARE" in avm,fritz450e) caldata_extract_reverse "urlader" 0x1541 0x440 ;; + dlink,dap-2695-a1) + caldata_extract "art" 0x1000 0x440 + ath9k_patch_mac $(mtd_get_mac_ascii bdcfg "wlanmac") + ;; dlink,dir-505|\ dlink,dir-825-c1|\ dlink,dir-835-a1) diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 29815a1ada..603557d6c2 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -40,6 +40,10 @@ case "$FIRMWARE" in caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) -1) ;; + dlink,dap-2695-a1) + caldata_extract "art" 0x5000 0x844 + ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac_a) + ;; dlink,dir-859-a1) caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac") diff --git a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum index 22c9483e74..085ad2e925 100644 --- a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum +++ b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum @@ -6,9 +6,17 @@ fix_seama_header() { [ "$kernel_size" ] && mtd -c 0x$kernel_size fixseama firmware } +fixwrgg() { + local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"kernel".*/\1/p' /proc/mtd) + [ "$kernel_size" ] && mtd -c 0x$kernel_size fixwrgg firmware +} + board=$(board_name) case "$board" in +dlink,dap-2695-a1) + fixwrgg + ;; qihoo,c301) fix_seama_header ;; diff --git a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh index da1583a825..59fd36b2e9 100644 --- a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh +++ b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh @@ -8,6 +8,10 @@ preinit_set_mac_address() { avm,fritz450e) ip link set dev eth0 address $(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)")) ;; + dlink,dap-2695-a1) + ip link set dev eth0 address $(mtd_get_mac_ascii bdcfg "lanmac") + ip link set dev eth1 address $(mtd_get_mac_ascii bdcfg "wanmac") + ;; enterasys,ws-ap3705i) ip link set dev eth0 address $(mtd_get_mac_ascii u-boot-env0 ethaddr) ;; diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 05b769b9c3..e92dbc99d6 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -6,6 +6,7 @@ include ./common-yuncore.mk DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK DEVICE_VARS += KERNEL_INITRAMFS_PREFIX +DEVICE_VARS += DAP_SIGNATURE define Build/add-elecom-factory-initramfs $(eval edimax_model=$(word 1,$(1))) @@ -49,6 +50,14 @@ define Build/cybertan-trx -rm $@-empty.bin endef +define Build/mkwrggimg + $(STAGING_DIR_HOST)/bin/mkwrggimg -b \ + -i $@ -o $@.imghdr -d /dev/mtdblock/1 \ + -m $(DEVICE_MODEL)-$(DEVICE_VARIANT) -s $(DAP_SIGNATURE) \ + -v $(VERSION_DIST) -B $(REVISION) + mv $@.imghdr $@ +endef + define Build/nec-enc $(STAGING_DIR_HOST)/bin/nec-enc \ -i $@ -o $@.new -k $(1) @@ -88,6 +97,10 @@ define Build/teltonika-fw-fake-checksum dd of=$@ bs=1 count=16 seek=$$offs conv=notrunc endef +define Build/wrgg-pad-rootfs + $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@ +endef + define Device/seama KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma KERNEL_INITRAMFS := $$(KERNEL) | seama @@ -458,6 +471,26 @@ define Device/devolo_magic-2-wifi endef TARGET_DEVICES += devolo_magic-2-wifi +define Device/dlink_dap-2695-a1 + SOC := qca9558 + DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DAP-2965 + DEVICE_VARIANT := A1 + IMAGES := factory.img sysupgrade.bin + IMAGE_SIZE := 15360k + IMAGE/default := append-kernel | pad-offset 65536 160 + IMAGE/factory.img := $$(IMAGE/default) | append-rootfs | wrgg-pad-rootfs | \ + mkwrggimg | check-size + IMAGE/sysupgrade.bin := $$(IMAGE/default) | mkwrggimg | append-rootfs | \ + wrgg-pad-rootfs | append-metadata | check-size + KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma + KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg + DAP_SIGNATURE := wapac02_dkbs_dap2695 + SUPPORTED_DEVICES += dap-2695-a1 +endef +TARGET_DEVICES += dlink_dap-2695-a1 + define Device/dlink_dir-505 SOC := ar9330 DEVICE_VENDOR := D-Link -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Thu Jun 11 05:28:59 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Thu, 11 Jun 2020 11:28:59 +0200 Subject: [OpenWrt-Devel] [PATCH] ramips: fix IPv4-only corner case in 01_enable_packet_steering Message-ID: <20200611092859.2254-1-freifunk@adrianschmutzler.de> The uci config section network.globals set up in /bin/config_generate will only be created if /proc/sys/net/ipv6 exists. Correspondingly, lacking IPv6 support, the command uci set network.globals.packet_steering=1 will fail with "uci: Invalid argument" as the network.globals config has not been set up. Fix that by adding the setup there as well. Fixes: dfd62e575c6c ("ramips: enable packet steering by default on mt7621") Signed-off-by: Adrian Schmutzler --- .../mt7621/base-files/etc/uci-defaults/01_enable_packet_steering | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering index 6a77229f29..114c7e1a46 100644 --- a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering +++ b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering @@ -1,4 +1,5 @@ uci -q get network.globals.packet_steering > /dev/null || { + uci set network.globals='globals' uci set network.globals.packet_steering=1 uci commit network } -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Thu Jun 11 06:08:46 2020 From: openwrt-devel at lists.openwrt.org (R. Diez via openwrt-devel) Date: Thu, 11 Jun 2020 12:08:46 +0200 Subject: [OpenWrt-Devel] Problems with e-mail DMARC policy, and other usability issues References: <930b49e0-38f2-62b9-6f36-3d81ac6bd7a9.ref@yahoo.com> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: "R. Diez" Subject: Problems with e-mail DMARC policy, and other usability issues Date: Thu, 11 Jun 2020 12:08:46 +0200 Size: 9634 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Thu Jun 11 06:55:45 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Thu, 11 Jun 2020 12:55:45 +0200 Subject: [OpenWrt-Devel] Problems with e-mail DMARC policy, and other usability issues In-Reply-To: <930b49e0-38f2-62b9-6f36-3d81ac6bd7a9@yahoo.com> References: <930b49e0-38f2-62b9-6f36-3d81ac6bd7a9.ref@yahoo.com> <930b49e0-38f2-62b9-6f36-3d81ac6bd7a9@yahoo.com> Message-ID: <009f01d63fde$dc3b6d20$94b24760$@adrianschmutzler.de> Hi, > -----Original Message----- > From: R. Diez [mailto:rdiezmail-openwrt at yahoo.com] > Sent: Donnerstag, 11. Juni 2020 12:09 > To: openwrt-devel at lists.openwrt.org > Subject: Problems with e-mail DMARC policy, and other usability issues > > Hi all: > > I am trying to contribute a few trivial changes to OpenWrt. So far it has been > frustrating. I recently jumped through all the hoops and managed to e-mail > the patches correctly (or so I believe): > > http://lists.infradead.org/pipermail/openwrt-devel/2020-June/023887.html > http://lists.infradead.org/pipermail/openwrt-devel/2020-June/023888.html > > However, when I look at Patchwork, it has picked up the following lines as > part of the commit message: > > ------------8<------------8<------------ > The sender domain has a DMARC Reject/Quarantine policy which disallows > sending mailing list messages using the original "From" header. > > To mitigate this problem, the original message has been wrapped > automatically by the mailing list software. > ------------8<------------8<------------ > > I am sure you have seen that often in this mailing list. > > The Patchwork links where you can see that effect are: > > https://patchwork.ozlabs.org/project/openwrt/patch/mailman.21997.15917 > 81638.2542.openwrt-devel at lists.openwrt.org/ > > https://patchwork.ozlabs.org/project/openwrt/patch/mailman.22006.15917 > 83382.2542.openwrt-devel at lists.openwrt.org/ > > > I am not mailing list expert, but I have seen this problem recently with > Microsoft Office 365 and with many other open-source-based mailing lists. It > has been talked about everywhere because many e-mail providers have > been tightening e-mail policies in an uphill battle against spam. > > I am using Yahoo, which I am not particular proud of, but this is a general > issue affecting other providers. Under Patchwork, I could quickly find a few > other people who got those lines in their commit messages too. > > Microsoft had to change the way their online system handles mailing list e- > mails, and many other people had to change their ways too. > > From what I gathered, I believe it is reasonable for providers to demand that > you shall not forge e-mails (send e-mails pretending to be the user). > And that is what many mailing lists actually tried to do until recently. > > Could you please stop your mailing list server from adding that "The sender > domain has a DMARC..." warning? The server should do whatever wrapping / > "reply to" header / forwarding it needs to do, or it has been decided it is best > to do, and stop warning about it. Well, the problem is that mailing lists and SPF don't work well together. The domain of your e-mail has a domain that has DMARC configured in way that means "Throw away this e-mail if the From header doesn't match the sender's address". However, the basic concept of a mailing list requires it to change the From header. So there is no nice way out. If the wrapping was removed, all recipients would receive a mail where the From: header won't match the sender's address. Their mail provider would then either move it to Spam or delete it right away, as that's what _your_ DMARC setting tells them. Don't know how patchwork will treat those mails, but most people on the list just wouldn't receive your mails anymore. Therefore, the wrapping provides a way to still have your mails delivered. There is a few ways out of it, but none of them is really compelling: - Disable spam protection on the sender side: If you don't use SPF/DMARC, you won't have any problems. It's just normal mail then. Of course, then you won't help others to identify spam anymore. - Adjust your DMARC policy to p=none . This will tell the sender side that it should still accept your mails even if SPF fails. That's what I'm using right now, and it doesn't have messages wrapped. Of course, it doesn't really provide a substantial spamming protection for the receiver anymore either. - Don't use mailing list if you want to use sender-based spam protection. Haha ... However, since you use a @yahoo.com mail address, you won't have control over your domain, and therefore cannot adjust the SPF/DMARC settings yahoo puts there. So, the options just discussed are effectively unavailable to you, except for the third one, which doesn't help you either. So, your options are limited now to 1. ask yahoo to disable/adjust DMARC/SPF, which I don't think they will do 2. get yourself a different mail address 3. live with the mail wrapping Sorry, but this is not us being mean, it's just the fact that this kind of spam protection and mailing list are inherently incompatible. (Another theoretical option might be to set up DKIM, as IIRC DMARC will be okay if either DKIM _or_ SPF is okay. However, setting up DKIM is almost impossible with one of the standard mail providers, and I'm not sure whether DKIM will survive the list anyway.) If I was wrong somewhere, I would be glad if one of the pros could correct me. Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From karlp at tweak.net.au Thu Jun 11 07:26:12 2020 From: karlp at tweak.net.au (Karl Palsson) Date: Thu, 11 Jun 2020 11:26:12 -0000 Subject: [OpenWrt-Devel] Problems with e-mail DMARC policy, and other usability issues In-Reply-To: <009f01d63fde$dc3b6d20$94b24760$@adrianschmutzler.de> References: <009f01d63fde$dc3b6d20$94b24760$@adrianschmutzler.de> Message-ID: <9GnQsIJEomI6AEMPVi9giB4tx2WcR4gFsykcvkZD23fc@mailpile> wrote: > > However, the basic concept of a mailing list requires it to > change the From header. ... does it though? I know it does traditionally, but... is that really the only way? IFF you keep this, then yeah, sure, all the other justifications are fine, but it's clearly not working well. If the purpose of the mailling list is for human interaction, then I'd argue it most certainly does _not_ need to be doing this. If the purpose of the mailing list is for automated processes to handle patches from specially formatted mails, then..... is it really the best tool? (hahahaaaa.... oh, I made myself sad) Sincerely, Karl Palsson -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP-digital-signature.html Type: application/pgp-signature Size: 1175 bytes Desc: OpenPGP Digital Signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From jo at mein.io Thu Jun 11 07:55:09 2020 From: jo at mein.io (Jo-Philipp Wich) Date: Thu, 11 Jun 2020 13:55:09 +0200 Subject: [OpenWrt-Devel] Problems with e-mail DMARC policy, and other usability issues In-Reply-To: <9GnQsIJEomI6AEMPVi9giB4tx2WcR4gFsykcvkZD23fc@mailpile> References: <009f01d63fde$dc3b6d20$94b24760$@adrianschmutzler.de> <9GnQsIJEomI6AEMPVi9giB4tx2WcR4gFsykcvkZD23fc@mailpile> Message-ID: Hi, > ... does it though? I know it does traditionally, but... is that really > the only way? IFF you keep this, then yeah, sure, all the other > justifications are fine, but it's clearly not working well. in the past we did rewrite the sender to the list mail address and (iirc) added the original sender as Reply-To. While this generally works, it also mangles patches in a sense that the patch author is set to the mailing list address, which is generally not wanted. Nowadays it is probably not that critical since we have a hooks and checks in place to reject pushes with commits where Author != S-o-b and scripts [1] to rewrite the author based on the first S-o-b. It will add a bit of work for the maintainer though. > If the purpose of the mailing list is for automated processes to handle > patches from specially formatted mails, then..... is it really the best > tool? (hahahaaaa.... oh, I made myself sad) Inspired by the op's mail I took a look if patchwork could theoretically handle patches as attachments, but it appears not to be the case, at least judging from what I've seen in the configuration. Personally, I'm not married to patchwork, any system that grabs patches out of a mailing list and puts them in some kind of database is fine. I have no idea though how complex hosting a Gerrit instance (and keeping it operational and updated over a number of years) is. Regards, Jo 1: https://git.openwrt.org/?p=maintainer-tools.git;a=blob;f=sob2from.sh -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From jeffery.to at gmail.com Thu Jun 11 07:56:37 2020 From: jeffery.to at gmail.com (Jeffery To) Date: Thu, 11 Jun 2020 19:56:37 +0800 Subject: [OpenWrt-Devel] Problems with e-mail DMARC policy, and other usability issues In-Reply-To: <009f01d63fde$dc3b6d20$94b24760$@adrianschmutzler.de> References: <930b49e0-38f2-62b9-6f36-3d81ac6bd7a9.ref@yahoo.com> <930b49e0-38f2-62b9-6f36-3d81ac6bd7a9@yahoo.com> <009f01d63fde$dc3b6d20$94b24760$@adrianschmutzler.de> Message-ID: Hello, On Thu, Jun 11, 2020 at 6:56 PM wrote: > Sorry, but this is not us being mean, it's just the fact that this kind of > spam protection and mailing list are inherently incompatible. > I don't think OP was asking for spam protection to be disabled... I think the main issue is the DMARC warning is being picked up by Patchwork as part of the commit message. OP's suggestions (forwarding/wrapping the original message without adding the DMARC warning text, switching to another patch management system like Gerrit, having Patchwork pick up patches from attachments) are workarounds for this issue. Jeff -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From hauke at hauke-m.de Thu Jun 11 08:21:43 2020 From: hauke at hauke-m.de (Hauke Mehrtens) Date: Thu, 11 Jun 2020 14:21:43 +0200 Subject: [OpenWrt-Devel] [PATCH v2 2/2] octeontx: enable Cavium CPT and ZIP drivers In-Reply-To: References: <1591117502-28100-1-git-send-email-tharvey@gateworks.com> <1591117502-28100-2-git-send-email-tharvey@gateworks.com> Message-ID: <80d365f9-c09a-591e-00a8-37f71f2f0b86@hauke-m.de> On 6/3/20 10:16 PM, Tim Harvey wrote: > On Tue, Jun 2, 2020 at 3:21 PM Hauke Mehrtens wrote: >> >> On 6/2/20 7:05 PM, Tim Harvey wrote: >>> The CPT module requires firmware which we add here as well. >>> >>> Signed-off-by: Tim Harvey >>> --- >>> v2: added license file for firmware >>> --- >>> target/linux/octeontx/config-5.4 | 11 +++++++++++ >>> target/linux/octeontx/files/firmware/cpt8x-mc-ae.out | Bin 0 -> 9760 bytes >>> target/linux/octeontx/files/firmware/cpt8x-mc-se.out | Bin 0 -> 35584 bytes >>> target/linux/octeontx/files/firmware/license.txt | 11 +++++++++++ >>> 4 files changed, 22 insertions(+) >>> create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-ae.out >>> create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-se.out >>> create mode 100644 target/linux/octeontx/files/firmware/license.txt >>> >>> diff --git a/target/linux/octeontx/config-5.4 b/target/linux/octeontx/config-5.4 >>> index cfb8b19..9fcd12b 100644 >>> --- a/target/linux/octeontx/config-5.4 >>> +++ b/target/linux/octeontx/config-5.4 >> ...... >>> @@ -233,6 +239,8 @@ CONFIG_EEPROM_AT24=y >>> CONFIG_EFI_EARLYCON=y >>> CONFIG_EXT4_FS=y >>> CONFIG_EXT4_FS_POSIX_ACL=y >>> +CONFIG_EXTRA_FIRMWARE="cpt8x-mc-ae.out cpt8x-mc-se.out" >>> +CONFIG_EXTRA_FIRMWARE_DIR="firmware" >>> CONFIG_F2FS_FS=y >>> CONFIG_F2FS_FS_XATTR=y >>> CONFIG_F2FS_STAT_FS=y >> .... >>> >>> diff --git a/target/linux/octeontx/files/firmware/license.txt b/target/linux/octeontx/files/firmware/license.txt >>> new file mode 100644 >>> index 0000000..531eaba >>> --- /dev/null >>> +++ b/target/linux/octeontx/files/firmware/license.txt >> >> Hi, >> >> I think this is not compatible with the OpenWrt license or at least goes >> into a gray area. >> >>> @@ -0,0 +1,11 @@ >>> +Copyright (C) 2019 Marvell International Ltd. >>> + >>> +The software package is subject to the Marvell binary license that prohibits the >>> +licensee to modify the software, in any manner and that prohibits to distribute >>> +the software as a stand-alone product. >> >> Is the distribution in >> target/linux/octeontx/files/firmware/cpt8x-mc-se.out not a standalone >> product? > > Hauke, > > I agree that this is a gray area for sure. I don't like the wording at > all either. > >> You can create a link to https://git.openwrt.org where you can directly >> download it when we push it into openwrt master. >> > > I'm not sure what you mean by this. Are you saying we can still push > the firmware binaries 'somewhere' on https://git.openwrt.org but not > include the build process? I do not know if such a link would be a distribution as a standalone product: https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob_plain;f=target/linux/lantiq/files/firmware/lantiq/xrx200_phy11g_a14.bin;hb=HEAD I would prefer if the user has to get the firmware files from somewhere else if we wants to use this feature as long as Marvell is not willing to change the license. >>> +Any use of the software, in all or in >>> +part, shall not be made subject to or otherwise contaminated by, a copyleft open >>> +source license (as defined by the Open Source Initiative), such as without >>> +limitation, GNU GPL or LGPL licenses. >> >> Adding this file in CONFIG_EXTRA_FIRMWARE could be seen as bundeling it >> with GPL code. >> >> The CONFIG_EXTRA_FIRMWARE option says this: >> WARNING: If you include additional firmware files into your binary >> kernel image that are not available under the terms of the GPL, >> then it may be a violation of the GPL to distribute the resulting >> image since it combines both GPL and non-GPL work. You should >> consult a lawyer of your own before distributing such an image. >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/firmware_loader/Kconfig#n32 >> >>> +Any software which integrates this code or any part of it thereof, should >>> +include in its header the above license. >> >> We would have to extend the license information for all our octeontx >> binaries to add this information. >> > > I can replace this with a patch that enables the cpt driver as a > module to make it easier for people to use but they will have to go > get firmware and place it in their /lib/firmware on their rootfs this > way. > >> >> If this firmware contains cryptography we could also violate some export >> control regulation, but normally no one cares. >> > > agreed. Having this as a module and the user has to download the firmware on his own would be nice. If you add a script to make it easier to download it would be nice, but not necessary in my opineon. If the system still works without this firmware I am also find with building this into the kernel if this would be needed. Hauke -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ldir at darbyshire-bryant.me.uk Thu Jun 11 10:46:40 2020 From: ldir at darbyshire-bryant.me.uk (Kevin Darbyshire-Bryant) Date: Thu, 11 Jun 2020 15:46:40 +0100 Subject: [OpenWrt-Devel] Merged: odhcpd: remove bogus IPKG_INSTROOT reference In-Reply-To: <20200610162727.19344-1-ldir@darbyshire-bryant.me.uk> References: <20200610162727.19344-1-ldir@darbyshire-bryant.me.uk> Message-ID: <20200611144640.95473-1-ldir@darbyshire-bryant.me.uk> Merged into my staging tree. Thank you! _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From martin.matejek at gmx.com Thu Jun 11 11:55:22 2020 From: martin.matejek at gmx.com (=?UTF-8?Q?Martin_Mat=c4=9bjek?=) Date: Thu, 11 Jun 2020 17:55:22 +0200 Subject: [OpenWrt-Devel] iwinfo: DFS channels are not listed Message-ID: <7d10cda7-4504-a8e2-7574-074e95f0d78f@gmx.com> Hi, DFS channels are not marked as DFS, even though iw will detect that just fine. Getting frequencies list through ubus/iwinfo will result in this output # iwinfo wlan0 freqlist 2.412 GHz (Channel 1) 2.417 GHz (Channel 2) 2.422 GHz (Channel 3) 2.427 GHz (Channel 4) 2.432 GHz (Channel 5) 2.437 GHz (Channel 6) 2.442 GHz (Channel 7) 2.447 GHz (Channel 8) 2.452 GHz (Channel 9) 2.457 GHz (Channel 10) 2.462 GHz (Channel 11) 5.180 GHz (Channel 36) 5.200 GHz (Channel 40) 5.220 GHz (Channel 44) 5.240 GHz (Channel 48) 5.260 GHz (Channel 52) 5.280 GHz (Channel 56) 5.300 GHz (Channel 60) 5.320 GHz (Channel 64) 5.500 GHz (Channel 100) 5.520 GHz (Channel 104) 5.540 GHz (Channel 108) 5.560 GHz (Channel 112) 5.580 GHz (Channel 116) 5.600 GHz (Channel 120) 5.620 GHz (Channel 124) 5.640 GHz (Channel 128) 5.660 GHz (Channel 132) 5.680 GHz (Channel 136) 5.700 GHz (Channel 140) 5.720 GHz (Channel 144) 5.745 GHz (Channel 149) 5.765 GHz (Channel 153) 5.785 GHz (Channel 157) 5.805 GHz (Channel 161) 5.825 GHz (Channel 165) However iw will correctly return DFS flags # iw list Frequencies: * 5180 MHz [36] (23.0 dBm) * 5200 MHz [40] (23.0 dBm) * 5220 MHz [44] (23.0 dBm) * 5240 MHz [48] (23.0 dBm) * 5260 MHz [52] (23.0 dBm) (radar detection) * 5280 MHz [56] (23.0 dBm) (radar detection) * 5300 MHz [60] (23.0 dBm) (radar detection) * 5320 MHz [64] (23.0 dBm) (radar detection) * 5500 MHz [100] (23.0 dBm) (radar detection) * 5520 MHz [104] (23.0 dBm) (radar detection) * 5540 MHz [108] (23.0 dBm) (radar detection) * 5560 MHz [112] (23.0 dBm) (radar detection) * 5580 MHz [116] (23.0 dBm) (radar detection) * 5600 MHz [120] (23.0 dBm) (radar detection) * 5620 MHz [124] (23.0 dBm) (radar detection) * 5640 MHz [128] (23.0 dBm) (radar detection) * 5660 MHz [132] (23.0 dBm) (radar detection) * 5680 MHz [136] (23.0 dBm) (radar detection) * 5700 MHz [140] (23.0 dBm) (radar detection) * 5720 MHz [144] (23.0 dBm) (radar detection) * 5745 MHz [149] (30.0 dBm) * 5765 MHz [153] (30.0 dBm) * 5785 MHz [157] (30.0 dBm) * 5805 MHz [161] (30.0 dBm) * 5825 MHz [165] (30.0 dBm) * 5845 MHz [169] (disabled) * 5865 MHz [173] (disabled) This is probably due to certain condition in iwinfo/src/iwinfo_nl80211.c line 2757 e->restricted = ( freqs[NL80211_FREQUENCY_ATTR_NO_IR] && !freqs[NL80211_FREQUENCY_ATTR_RADAR] ) ? 1 : 0; I'm not entirely sure what restricted is supposed to mean in this context. Perhaps it could be handy to add radar boolean flag (or something similar) to struct iwinfo_freqlist_entry, that would be independent of NL80211_FREQUENCY_ATTR_NO_IR. That would of course mean breaking/extending ABI and I'm not sure if that won't break other code as well. I have already prepared such changes and I can send a patch, but I would like to know first if this is the correct way to address this. Regards Martin _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From jo at mein.io Thu Jun 11 12:05:03 2020 From: jo at mein.io (Jo-Philipp Wich) Date: Thu, 11 Jun 2020 18:05:03 +0200 Subject: [OpenWrt-Devel] iwinfo: DFS channels are not listed In-Reply-To: <7d10cda7-4504-a8e2-7574-074e95f0d78f@gmx.com> References: <7d10cda7-4504-a8e2-7574-074e95f0d78f@gmx.com> Message-ID: Hi, since nobody really uses the `restricted` field (apart from LuCI itself I believe) and since I'd like to avoid changing the ABI, I would be fine with changing the condition to NO_IR || DFS or even just DFS. Initially the restricted flag was supposed to give a hint to the ui which channels are unavailable (in the sense that the radio won't come up when these are selected) - however most drivers seems to actually support DFS nowadays so maybe we can drop the DFS condition entirely and only mark NO_IR channels as restricted. Regards, Jo -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From hauke at hauke-m.de Thu Jun 11 12:15:04 2020 From: hauke at hauke-m.de (Hauke Mehrtens) Date: Thu, 11 Jun 2020 18:15:04 +0200 Subject: [OpenWrt-Devel] [PATCH v2] toolchain: remove gcc libssp and use libc variant In-Reply-To: References: Message-ID: On 6/6/20 1:42 AM, Ian Cooper wrote: > Removes the standalone implementation of stack smashing protection > in gcc's libssp in favour of the native implementation in musl, > glibc and uClibc and introduces a uniform configuration interface. > > This also makes kernel-level stack smashing protection available > for builds using non-musl libc (subject to architecture support). > > Signed-off-by: Ian Cooper > --- > > Update fixes an artefact with menuconfig which caused a toolchain > menu option to move to the front page of menuconfig due to the > removal of a prompt associated with a different CONFIG_ variable. > > NOTE: after applying this patch you must do a make dirclean as the > entire toolchain and all packages will need to be rebuilt. > > This patch does not change the behaviour ot the musl toolchain. > There are no changes to the uclibc toolchain since it's already > being compiled with it's native ssp implementation enabled. If a toolchain recompilation is only needed for glibc this should be ok. > > config/Config-build.in | 4 ---- > toolchain/Config.in | 6 +++++- > toolchain/gcc/Config.in | 8 -------- > toolchain/glibc/common.mk | 3 ++- > 4 files changed, 7 insertions(+), 14 deletions(-) > > diff --git a/config/Config-build.in b/config/Config-build.in > index 61a9265ad7..ac1e05d2ff 100644 > --- a/config/Config-build.in > +++ b/config/Config-build.in > @@ -249,7 +249,6 @@ menu "Global build settings" > > choice > prompt "User space Stack-Smashing Protection" > - depends on USE_MUSL > default PKG_CC_STACKPROTECTOR_REGULAR > help > Enable GCC Stack Smashing Protection (SSP) for userspace applications > @@ -257,18 +256,15 @@ menu "Global build settings" > bool "None" > config PKG_CC_STACKPROTECTOR_REGULAR > bool "Regular" > - select GCC_LIBSSP if !USE_MUSL > depends on KERNEL_CC_STACKPROTECTOR_REGULAR > config PKG_CC_STACKPROTECTOR_STRONG > bool "Strong" > - select GCC_LIBSSP if !USE_MUSL > depends on KERNEL_CC_STACKPROTECTOR_STRONG Do you know why the user space stack protector depends on the kernel stack protector? I assumed this should be independent? You should not fix it in this patch, I am just curious and if this is not needed we should fix it in an other patch. > endchoice > > choice > prompt "Kernel space Stack-Smashing Protection" > default KERNEL_CC_STACKPROTECTOR_REGULAR > - depends on USE_MUSL || !(x86_64 || i386) > help > Enable GCC Stack-Smashing Protection (SSP) for the kernel > config KERNEL_CC_STACKPROTECTOR_NONE > diff --git a/toolchain/Config.in b/toolchain/Config.in > index 762f4e10d7..e2af1c2c8e 100644 > --- a/toolchain/Config.in > +++ b/toolchain/Config.in > @@ -283,8 +283,12 @@ config USE_MUSL > default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && !(arc) > bool > > +config GCC_LIBSSP > + default n > + bool > + As nothing activates GCC_LIBSSP it is always false. I think we can remove this, this is not used by any package in the Kconfig part as far as I see it and only in some Makefiles and should be removed there later, but should not harm. > config SSP_SUPPORT > - default y if USE_MUSL || GCC_LIBSSP > + default y if !PKG_CC_STACKPROTECTOR_NONE > bool > > config USE_EXTERNAL_LIBC > diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in > index 7d7f34210a..4b2ba7aaae 100644 > --- a/toolchain/gcc/Config.in > +++ b/toolchain/gcc/Config.in > @@ -47,14 +47,6 @@ config GCC_DEFAULT_SSP > help > Use gcc configure option --enable-default-ssp to turn on -fstack-protector-strong by default. > > -config GCC_LIBSSP > - bool > - prompt "Build gcc libssp" if TOOLCHAINOPTS > - depends on !USE_MUSL > - default y if !USE_MUSL > - help > - Enable Stack-Smashing Protection support > - > config SJLJ_EXCEPTIONS > bool > prompt "Use setjump()/longjump() exceptions" if TOOLCHAINOPTS > diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk > index db4f0fcc0e..f0b95d3cc7 100644 > --- a/toolchain/glibc/common.mk > +++ b/toolchain/glibc/common.mk > @@ -39,7 +39,6 @@ ifeq ($(ARCH),mips64) > endif > endif > > - > # -Os miscompiles w. 2.24 gcc5/gcc6 > # only -O2 tested by upstream changeset > # "Optimize i386 syscall inlining for GCC 5" > @@ -61,6 +60,8 @@ GLIBC_CONFIGURE:= \ > --without-cvs \ > --enable-add-ons \ > --$(if $(CONFIG_SOFT_FLOAT),without,with)-fp \ > + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_REGULAR),--enable-stack-protector=yes) \ > + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_STRONG),--enable-stack-protector=strong) \ > --enable-kernel=4.14.0 > > export libc_cv_ssp=no > The libssp package is packaged in package/libs/toolchain/Makefile shouldn't it be removed there too? Then the dependency in include/package-defaults.mk can then also be removed. Hauke -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From iancooper at hotmail.com Thu Jun 11 12:58:52 2020 From: iancooper at hotmail.com (Ian Cooper) Date: Thu, 11 Jun 2020 17:58:52 +0100 Subject: [OpenWrt-Devel] [PATCH v2] toolchain: remove gcc libssp and use libc variant In-Reply-To: References: Message-ID: On Thu, 11 Jun 2020 18:15:04 +0200 Hauke Mehrtens wrote: > On 6/6/20 1:42 AM, Ian Cooper wrote: > > Removes the standalone implementation of stack smashing protection > > in gcc's libssp in favour of the native implementation in musl, > > glibc and uClibc and introduces a uniform configuration interface. > > > > This also makes kernel-level stack smashing protection available > > for builds using non-musl libc (subject to architecture support). > > > > Signed-off-by: Ian Cooper > > --- > > > > Update fixes an artefact with menuconfig which caused a toolchain > > menu option to move to the front page of menuconfig due to the > > removal of a prompt associated with a different CONFIG_ variable. > > > > NOTE: after applying this patch you must do a make dirclean as the > > entire toolchain and all packages will need to be rebuilt. > > > > This patch does not change the behaviour ot the musl toolchain. > > There are no changes to the uclibc toolchain since it's already > > being compiled with it's native ssp implementation enabled. > > If a toolchain recompilation is only needed for glibc this should be ok. > > > > > > config/Config-build.in | 4 ---- > > toolchain/Config.in | 6 +++++- > > toolchain/gcc/Config.in | 8 -------- > > toolchain/glibc/common.mk | 3 ++- > > 4 files changed, 7 insertions(+), 14 deletions(-) > > > > diff --git a/config/Config-build.in b/config/Config-build.in > > index 61a9265ad7..ac1e05d2ff 100644 > > --- a/config/Config-build.in > > +++ b/config/Config-build.in > > @@ -249,7 +249,6 @@ menu "Global build settings" > > > > choice > > prompt "User space Stack-Smashing Protection" > > - depends on USE_MUSL > > default PKG_CC_STACKPROTECTOR_REGULAR > > help > > Enable GCC Stack Smashing Protection (SSP) for userspace applications > > @@ -257,18 +256,15 @@ menu "Global build settings" > > bool "None" > > config PKG_CC_STACKPROTECTOR_REGULAR > > bool "Regular" > > - select GCC_LIBSSP if !USE_MUSL > > depends on KERNEL_CC_STACKPROTECTOR_REGULAR > > config PKG_CC_STACKPROTECTOR_STRONG > > bool "Strong" > > - select GCC_LIBSSP if !USE_MUSL > > depends on KERNEL_CC_STACKPROTECTOR_STRONG > > Do you know why the user space stack protector depends on the kernel > stack protector? I assumed this should be independent? You should not > fix it in this patch, I am just curious and if this is not needed we > should fix it in an other patch. No I don't know why this dependency was initially created. I agree that on the face of it there should not be a dependency. A lot of this code is 12 - 15 years old, so there was probably a good reason at one point in time. > > > endchoice > > > > choice > > prompt "Kernel space Stack-Smashing Protection" > > default KERNEL_CC_STACKPROTECTOR_REGULAR > > - depends on USE_MUSL || !(x86_64 || i386) > > help > > Enable GCC Stack-Smashing Protection (SSP) for the kernel > > config KERNEL_CC_STACKPROTECTOR_NONE > > diff --git a/toolchain/Config.in b/toolchain/Config.in > > index 762f4e10d7..e2af1c2c8e 100644 > > --- a/toolchain/Config.in > > +++ b/toolchain/Config.in > > @@ -283,8 +283,12 @@ config USE_MUSL > > default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && !(arc) > > bool > > > > +config GCC_LIBSSP > > + default n > > + bool > > + > > As nothing activates GCC_LIBSSP it is always false. I think we can > remove this, this is not used by any package in the Kconfig part as far > as I see it and only in some Makefiles and should be removed there > later, but should not harm. The approach I was taking was to try to eliminate libssp by making as few changes as possible. Removing it here is fine, but then also requires the removal of the libssp package in package/libs/toolchain/Makefile and the removal of the dependency from include/package-defaults.mk as you point out below. There are two additional removals that should be made: in the host build of binutils, where the configure flag --enable-libssp can be removed in the file toolchain/binutils/Makefile and in toolchain/gcc/common.mk to remove the configure option to build libssp if GCC_LIBSSP is enabled. I left these in based on the minimal change philosophy. If you think complete removal in this way is desirable I'll make the changes, do a bunch of test builds and send an updated patch. A git grep shows three references to GCC_LIBSSP in the packages feed. > > > config SSP_SUPPORT > > - default y if USE_MUSL || GCC_LIBSSP > > + default y if !PKG_CC_STACKPROTECTOR_NONE > > bool > > > > config USE_EXTERNAL_LIBC > > diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in > > index 7d7f34210a..4b2ba7aaae 100644 > > --- a/toolchain/gcc/Config.in > > +++ b/toolchain/gcc/Config.in > > @@ -47,14 +47,6 @@ config GCC_DEFAULT_SSP > > help > > Use gcc configure option --enable-default-ssp to turn on -fstack-protector-strong by default. > > > > -config GCC_LIBSSP > > - bool > > - prompt "Build gcc libssp" if TOOLCHAINOPTS > > - depends on !USE_MUSL > > - default y if !USE_MUSL > > - help > > - Enable Stack-Smashing Protection support > > - > > config SJLJ_EXCEPTIONS > > bool > > prompt "Use setjump()/longjump() exceptions" if TOOLCHAINOPTS > > diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk > > index db4f0fcc0e..f0b95d3cc7 100644 > > --- a/toolchain/glibc/common.mk > > +++ b/toolchain/glibc/common.mk > > @@ -39,7 +39,6 @@ ifeq ($(ARCH),mips64) > > endif > > endif > > > > - > > # -Os miscompiles w. 2.24 gcc5/gcc6 > > # only -O2 tested by upstream changeset > > # "Optimize i386 syscall inlining for GCC 5" > > @@ -61,6 +60,8 @@ GLIBC_CONFIGURE:= \ > > --without-cvs \ > > --enable-add-ons \ > > --$(if $(CONFIG_SOFT_FLOAT),without,with)-fp \ > > + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_REGULAR),--enable-stack-protector=yes) \ > > + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_STRONG),--enable-stack-protector=strong) \ > > --enable-kernel=4.14.0 > > > > export libc_cv_ssp=no > > > > The libssp package is packaged in package/libs/toolchain/Makefile > shouldn't it be removed there too? > Then the dependency in include/package-defaults.mk can then also be removed. > > Hauke > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at flyn.org Thu Jun 11 19:11:56 2020 From: mike at flyn.org (W. Michael Petullo) Date: Thu, 11 Jun 2020 18:11:56 -0500 Subject: [OpenWrt-Devel] ubiformat: bad UBI magic Message-ID: <20200611231156.GA2639@imp> I am having some trouble with installing an OpenWrt image I built onto a Mikrotik RB493AH. I have been using a RB493G for a long time, but I just bought a 493AH to serve as a backup. The following, when run on the router, produces the error as indicated: $ ubiformat /dev/mtd6 -f /tmp/openwrt-ar71xx-mikrotik-nand-64m-rootfs.ubi ubiformat: 1 eraseblocks have valid erase counter, mean value is 0 ubiformat: 3839 eraseblocks are supposedly empty ubiformat: erase counter 0 will be used for all eraseblocks ubiformat: note, arbitrary erase counter value may be specified using -e option ubiformat: continue? (y/N) y ubiformat: warning!: VID header and data offsets on flash are 2048 and 4096, which is different to requested offsets 512 and 1024 ubiformat: use erase counter 0 for all eraseblocks ubiformat: use new offsets 512 and 1024? ubiformat: continue? (y/N) ubiformat: use offsets 512 and 1024 ubiformat: flashing eraseblock 0 -- 0 % complete ubiformat: flashing eraseblock 1 -- 0 % complete ubiformat: error!: bad UBI magic 00000000, should be 0x55424923 ubiformat: error!: bad EC header at eraseblock 1 of "/tmp/openwrt-ar71xx-mikrotik-nand-64m-rootfs.ubi" I suspect this is either a hardware problem or an incorrect use of mkfs.ubifs, ubinize, or ubiformat. Does anyone have any experience with the RB493AH? -- Mike :wq _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From shep971 at centurylink.net Thu Jun 11 22:36:54 2020 From: shep971 at centurylink.net (Heppler, J. Scott) Date: Thu, 11 Jun 2020 19:36:54 -0700 Subject: [OpenWrt-Devel] [PATCH] ramips: fix port display for TRENDnet TEW-810DR Message-ID: <20200612023654.GA37114@centurylink.net> Was unable to communicate TEW-810DR port order was inverted similar to the D-Link DIR-810L. Tested - Patch corrects port order. Signed-off-by: J. Scott Heppler --- target/linux/ramips/mt7620/base-files/etc/board.d/02_network | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network index c70e4ff8e4..f85b7cfed1 100755 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network @@ -25,7 +25,6 @@ ramips_setup_interfaces() ralink,mt7620a-mt7610e-evb|\ ralink,mt7620a-v22sg-evb|\ sanlinking,d240|\ - trendnet,tew-810dr|\ youku,yk1|\ zbtlink,zbt-ape522ii|\ zbtlink,zbt-we826-16m|\ @@ -109,6 +108,7 @@ ramips_setup_interfaces() "0:lan" "6 at eth0" ;; dlink,dir-810l|\ + trendnet,tew-810dr|\ zbtlink,zbt-we2026) ucidef_add_switch "switch0" \ "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6 at eth0" -- 2.20.1 -- J. Scott Heppler _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From notice at email.cekom.com.cn Thu Jun 11 23:06:45 2020 From: notice at email.cekom.com.cn (=?utf-8?B?5LiW5by65YWD5Lu255S15ZWG?=) Date: Fri, 12 Jun 2020 11:06:45 +0800 Subject: [OpenWrt-Devel] =?utf-8?b?56CU5Y+R5qC35ZOBMOi0ueeUqO+8jOWFqA==?= =?utf-8?b?55CDMjAw5a62SUMs5YWD5Lu2LOadkOaWmSzku6rlmags5py655S1LOmDqA==?= =?utf-8?b?5Lu26aG257qn5ZOB54mM5o6I5p2D5YiG6ZSA?= Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Fri Jun 12 06:42:41 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Fri, 12 Jun 2020 12:42:41 +0200 Subject: [OpenWrt-Devel] [PATCH] ramips: fix port display for TRENDnet TEW-810DR In-Reply-To: <20200612023654.GA37114@centurylink.net> References: <20200612023654.GA37114@centurylink.net> Message-ID: <005001d640a6$333cf4f0$99b6ded0$@adrianschmutzler.de> Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Heppler, J. Scott > Sent: Freitag, 12. Juni 2020 04:37 > To: openwrt-devel at openwrt.org > Subject: [OpenWrt-Devel] [PATCH] ramips: fix port display for TRENDnet > TEW-810DR > > Was unable to communicate TEW-810DR port order was inverted similar to > the D-Link DIR-810L. Tested - Patch corrects port order. just to make the history clear, so we do it right this time: patchstate "1": Your initial device support. Both devices had a "Portorder A", which Roger reported to be inverted. patchstate "2": I provided two patches in my staging area, where the port order (for LuCI) was inverted for _both_ devices; let's call it "Portorder B". Roger confirmed that this port order is correct on the DIR-810L. patchstate "3": I pushed a different patch to master, where only the port order for DIR-810L was inverted. This is the current state of the OpenWrt master, i.e. DIR-810L: portorder B TEW-810DR: portorder A From your e-mail from two/three days ago, I was under the impression that you tested with patchstate 2 and told me that the port order B is inverted for your device. So I kept it at portorder A. This patch, in contrast, will change your device to portorder "B", matching the one of DIR-810L in master. So, taking this history into account, please confirm (either just to me or to the list) that your patch is actually doing the right thing and then we may finally settle this :-) Best Adrian > > Signed-off-by: J. Scott Heppler > --- > target/linux/ramips/mt7620/base-files/etc/board.d/02_network | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network > b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network > index c70e4ff8e4..f85b7cfed1 100755 > --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network > +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network > @@ -25,7 +25,6 @@ ramips_setup_interfaces() > ralink,mt7620a-mt7610e-evb|\ > ralink,mt7620a-v22sg-evb|\ > sanlinking,d240|\ > - trendnet,tew-810dr|\ > youku,yk1|\ > zbtlink,zbt-ape522ii|\ > zbtlink,zbt-we826-16m|\ > @@ -109,6 +108,7 @@ ramips_setup_interfaces() > "0:lan" "6 at eth0" > ;; > dlink,dir-810l|\ > + trendnet,tew-810dr|\ > zbtlink,zbt-we2026) > ucidef_add_switch "switch0" \ > "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" > "6 at eth0" > -- > 2.20.1 > > > -- > J. Scott Heppler > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From gio at diveni.re Fri Jun 12 06:59:52 2020 From: gio at diveni.re (Gio) Date: Fri, 12 Jun 2020 12:59:52 +0200 Subject: [OpenWrt-Devel] [PATCH uclient] Add option to read POST data from file Message-ID: <4574871.31r3eYUQgx@lifestock> Passing post data in command line is convenient but has limited size, and may become tricky to correctly escape passed data expecially in scripts. This patch add the option --post-file so the data to post can be read from a file. I haven't compiled the patch (it is not clear to me where fiddle into openwrt build system so this patch get included) but it should work fine, the patch is in attachment too just in case my mail client mangle the pasted text... Signed-off-by: Gioacchino Mazzurco --- diff --git a/uclient-fetch.c b/uclient-fetch.c index a06be5d..5c70316 100644 --- a/uclient-fetch.c +++ b/uclient-fetch.c @@ -43,6 +43,7 @@ static const char *user_agent = "uclient-fetch"; static const char *post_data; +static const char *post_file; static struct ustream_ssl_ctx *ssl_ctx; static const struct ustream_ssl_ops *ssl_ops; static int quiet = false; @@ -334,7 +335,7 @@ static int init_request(struct uclient *cl) msg_connecting(cl); - rc = uclient_http_set_request_type(cl, post_data ? "POST" : "GET"); + rc = uclient_http_set_request_type(cl, post_data || post_file ? "POST" : "GET"); if (rc) return rc; @@ -347,6 +348,25 @@ static int init_request(struct uclient *cl) uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); uclient_write(cl, post_data, strlen(post_data)); } + else if(post_file) + { + uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); + + FILE input_file = fopen(post_file, "r"); + if (!input_file) + return errno; + + char tbuf[1000]; + size_t rlen = 0; + do + { + rlen = fread(tbuf, 1, 1000, input_file); + uclient_write(cl, tbuf, rlen); + } + while(rlen) + + fclose(input_file) + } rc = uclient_request(cl); if (rc) @@ -516,6 +536,7 @@ enum { L_PASSWORD, L_USER_AGENT, L_POST_DATA, + L_POST_FILE, L_SPIDER, L_TIMEOUT, L_CONTINUE, @@ -532,6 +553,7 @@ static const struct option longopts[] = { [L_PASSWORD] = { "password", required_argument }, [L_USER_AGENT] = { "user-agent", required_argument }, [L_POST_DATA] = { "post-data", required_argument }, + [L_POST_FILE] = { "post-file", required_argument }, [L_SPIDER] = { "spider", no_argument }, [L_TIMEOUT] = { "timeout", required_argument }, [L_CONTINUE] = { "continue", no_argument }, @@ -598,6 +620,9 @@ int main(int argc, char **argv) case L_POST_DATA: post_data = optarg; break; + case L_POST_FILE: + post_file = optarg; + break; case L_SPIDER: no_output = true; break; -------------- next part -------------- A non-text attachment was scrubbed... Name: post_file.patch Type: text/x-patch Size: 2024 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From daniel at makrotopia.org Fri Jun 12 10:25:38 2020 From: daniel at makrotopia.org (Daniel Golle) Date: Fri, 12 Jun 2020 15:25:38 +0100 Subject: [OpenWrt-Devel] [PATCH uclient v2] uclient-fetch: add option to read POST data from file In-Reply-To: <4574871.31r3eYUQgx@lifestock> References: <4574871.31r3eYUQgx@lifestock> Message-ID: <20200612142538.GA304638@makrotopia.org> Passing post data in command line is convenient but has limited size, and may become tricky to correctly escape passed data especially in scripts. This patch add the option --post-file so the data to post can be read from a file. Tested on x86/64. Signed-off-by: Gioacchino Mazzurco Signed-off-by: Daniel Golle --- v2: make it compile, handle errors, add usage info, fix typos uclient-fetch.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/uclient-fetch.c b/uclient-fetch.c index a06be5d..6119328 100644 --- a/uclient-fetch.c +++ b/uclient-fetch.c @@ -43,6 +43,7 @@ static const char *user_agent = "uclient-fetch"; static const char *post_data; +static const char *post_file; static struct ustream_ssl_ctx *ssl_ctx; static const struct ustream_ssl_ops *ssl_ops; static int quiet = false; @@ -334,7 +335,7 @@ static int init_request(struct uclient *cl) msg_connecting(cl); - rc = uclient_http_set_request_type(cl, post_data ? "POST" : "GET"); + rc = uclient_http_set_request_type(cl, post_data || post_file ? "POST" : "GET"); if (rc) return rc; @@ -347,6 +348,26 @@ static int init_request(struct uclient *cl) uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); uclient_write(cl, post_data, strlen(post_data)); } + else if(post_file) + { + FILE *input_file; + uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); + + input_file = fopen(post_file, "r"); + if (!input_file) + return errno; + + char tbuf[1000]; + size_t rlen = 0; + do + { + rlen = fread(tbuf, 1, 1000, input_file); + uclient_write(cl, tbuf, rlen); + } + while(rlen); + + fclose(input_file); + } rc = uclient_request(cl); if (rc) @@ -460,6 +481,7 @@ static int usage(const char *progname) " --password= HTTP authentication password\n" " --user-agent|-U Set HTTP user agent\n" " --post-data=STRING use the POST method; send STRING as the data\n" + " --post-file=FILE use the POST method; send FILE as the data\n" " --spider|-s Spider mode - only check file existence\n" " --timeout=N|-T N Set connect/request timeout to N seconds\n" " --proxy=on|off|-Y on|off Enable/disable env var configured proxy\n" @@ -516,6 +538,7 @@ enum { L_PASSWORD, L_USER_AGENT, L_POST_DATA, + L_POST_FILE, L_SPIDER, L_TIMEOUT, L_CONTINUE, @@ -532,6 +555,7 @@ static const struct option longopts[] = { [L_PASSWORD] = { "password", required_argument }, [L_USER_AGENT] = { "user-agent", required_argument }, [L_POST_DATA] = { "post-data", required_argument }, + [L_POST_FILE] = { "post-file", required_argument }, [L_SPIDER] = { "spider", no_argument }, [L_TIMEOUT] = { "timeout", required_argument }, [L_CONTINUE] = { "continue", no_argument }, @@ -598,6 +622,9 @@ int main(int argc, char **argv) case L_POST_DATA: post_data = optarg; break; + case L_POST_FILE: + post_file = optarg; + break; case L_SPIDER: no_output = true; break; @@ -718,7 +745,7 @@ int main(int argc, char **argv) /* no error received, we can enter main loop */ uloop_run(); } else { - fprintf(stderr, "Failed to establish connection\n"); + fprintf(stderr, "Failed to send request: %s\n", strerror(rc)); error_ret = 4; } -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From iancooper at hotmail.com Fri Jun 12 12:41:39 2020 From: iancooper at hotmail.com (Ian Cooper) Date: Fri, 12 Jun 2020 17:41:39 +0100 Subject: [OpenWrt-Devel] [PATCH] build: allow alternative gzip image compression utility Message-ID: Allow the user to specify an alternative option-compatible gzip utility such as the parallel pigz gzip utility, which speeds up compression of target images and archives considerably. Signed-off-by: Ian Cooper --- On my 4-core i7-4790s, it takes a full 10 minutes to build the images for my x86_64 build as there are lots of packages included in the image. The largest part of this time is the gzip compression. The pigz utility is much faster, even on my limited 4 cores. Below is the timing of a make target/install for the gzip and pigz utilities using gzip on 4-core i7-4790 real 9m48.480s user 8m41.578s sys 0m44.228s using pigz on 4-core i7-4790 real 3m34.367s user 11m23.081s sys 0m49.984s config/Config-images.in | 10 ++++++++++ include/image-commands.mk | 2 +- include/image.mk | 10 ++++++---- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/config/Config-images.in b/config/Config-images.in index 4c54ac9399..7c3bc2760e 100644 --- a/config/Config-images.in +++ b/config/Config-images.in @@ -287,4 +287,14 @@ menu "Target Images" it will be mounted by PARTUUID which makes the kernel find the appropriate disk automatically. + config TARGET_IMAGE_COMPRESSION_UTILITY + string + prompt "Gzip image compression utility" + default "gzip" + help + Specify the name of the image compression binary used to gzip + compress images. This utility must be option compatible with + gzip. A good alternative would be the parallel gzip utility + pigz. + endmenu diff --git a/include/image-commands.mk b/include/image-commands.mk index e7db7128b4..faba8658c0 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -174,7 +174,7 @@ define Build/lzma-no-dict endef define Build/gzip - gzip -f -9n -c $@ $(1) > $@.new + $(call qstrip,$(CONFIG_TARGET_IMAGE_COMPRESSION_UTILITY)) -f -9n -c $@ $(1) > $@.new @mv $@.new $@ endef diff --git a/include/image.mk b/include/image.mk index 984b64fb9c..61182a22ac 100644 --- a/include/image.mk +++ b/include/image.mk @@ -151,7 +151,7 @@ endef ifdef CONFIG_TARGET_IMAGES_GZIP define Image/Gzip rm -f $(1).gz - gzip -9n $(1) + $(call qstrip,$(CONFIG_TARGET_IMAGE_COMPRESSION_UTILITY)) -9n $(1) endef endif @@ -317,13 +317,15 @@ ifdef CONFIG_TARGET_ROOTFS_TARGZ define Image/Build/targz $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \ $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ - -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz + -C $(TARGET_DIR)/ . | $(call qstrip,$(CONFIG_TARGET_IMAGE_COMPRESSION_UTILITY)) \ + -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz endef endif ifdef CONFIG_TARGET_ROOTFS_CPIOGZ define Image/Build/cpiogz - ( cd $(TARGET_DIR); find . | cpio -o -H newc -R root:root | gzip -9n >$(BIN_DIR)/$(IMG_ROOTFS).cpio.gz ) + ( cd $(TARGET_DIR); find . | cpio -o -H newc -R root:root | \ + $(call qstrip,$(CONFIG_TARGET_IMAGE_COMPRESSION_UTILITY)) -9n >$(BIN_DIR)/$(IMG_ROOTFS).cpio.gz ) endef endif @@ -567,7 +569,7 @@ define Device/Build/image .IGNORE: $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)) $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)).gz: $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)) - gzip -c -9n $$^ > $$@ + $(call qstrip,$(CONFIG_TARGET_IMAGE_COMPRESSION_UTILITY)) -c -9n $$^ > $$@ $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)) cp $$^ $$@ -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From roman at advem.lv Fri Jun 12 14:43:46 2020 From: roman at advem.lv (Roman Yeryomin) Date: Fri, 12 Jun 2020 21:43:46 +0300 Subject: [OpenWrt-Devel] [PATCH v2] build: improve ccache support Message-ID: <20200612184346.18877-1-roman@advem.lv> 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.mk b/rules.mk index 66ddea2883..e734b4a582 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:=$(if $(call qstrip,$(CONFIG_CCACHE_DIR)),$(call qstrip,$(CONFIG_CCACHE_DIR)),$(TOPDIR)/.ccache) + export CCACHE_COMPILERCHECK:=%compiler% -dumpmachine; %compiler% -dumpversion endif TARGET_CONFIGURE_OPTS = \ diff --git a/target/sdk/Makefile b/target/sdk/Makefile index 6d81834720..d3552b47eb 100644 --- a/target/sdk/Makefile +++ b/target/sdk/Makefile @@ -20,7 +20,7 @@ STAGING_SUBDIR_HOST := staging_dir/host STAGING_SUBDIR_TARGET := staging_dir/$(TARGET_DIR_NAME) STAGING_SUBDIR_TOOLCHAIN := staging_dir/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)_$(LIBC)$(if $(CONFIG_arm),_eabi) -EXCLUDE_DIRS:=*/ccache/* \ +EXCLUDE_DIRS:= \ */stamp \ */stampfiles \ */man \ @@ -135,11 +135,7 @@ $(BIN_DIR)/$(SDK_NAME).tar.xz: clean $(TOPDIR)/package/kernel/linux \ $(SDK_BUILD_DIR)/package/ - -rm -rf \ - $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)/ccache \ - $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_TARGET)/ccache \ - $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_TOOLCHAIN)/ccache \ - $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)/.prereq-build + -rm -rf $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)/.prereq-build -rm -f $(SDK_BUILD_DIR)/feeds.conf.default $(if $(BASE_FEED),echo "$(BASE_FEED)" > $(SDK_BUILD_DIR)/feeds.conf.default) diff --git a/target/toolchain/Makefile b/target/toolchain/Makefile index ef2dc68a97..5002ff7835 100644 --- a/target/toolchain/Makefile +++ b/target/toolchain/Makefile @@ -15,7 +15,7 @@ override MAKEFLAGS= TOOLCHAIN_NAME:=$(VERSION_DIST_SANITIZED)-toolchain-$(if $(CONFIG_VERSION_FILENAMES),$(VERSION_NUMBER)-)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))_gcc-$(GCCV)$(DIR_SUFFIX).$(HOST_OS)-$(HOST_ARCH) TOOLCHAIN_BUILD_DIR:=$(BUILD_DIR)/$(TOOLCHAIN_NAME) -EXCLUDE_DIRS:=*/ccache \ +EXCLUDE_DIRS:= \ */initial \ */stamp \ */stampfiles \ -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From roman at advem.lv Fri Jun 12 15:00:42 2020 From: roman at advem.lv (Roman Yeryomin) Date: Fri, 12 Jun 2020 22:00:42 +0300 Subject: [OpenWrt-Devel] [PATCH] build: improve ccache support In-Reply-To: References: <20200601153226.15229-1-roman@advem.lv> <6406348b-1e10-5e6d-0c20-9e2716099833@nbd.name> Message-ID: <81dc074fbde7f03f8cdbf1262df0f1f9@advem.lv> 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 at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at meshplusplus.com Fri Jun 12 15:10:06 2020 From: mike at meshplusplus.com (Michael Jones) Date: Fri, 12 Jun 2020 14:10:06 -0500 Subject: [OpenWrt-Devel] [PATCH v2] build: improve ccache support In-Reply-To: <20200612184346.18877-1-roman@advem.lv> References: <20200612184346.18877-1-roman@advem.lv> Message-ID: On Fri, Jun 12, 2020 at 1:44 PM Roman Yeryomin 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. > 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 > > Wonderful, this solves my use case. A minor nitpick, but you may want to also add a CONFIG_CCACHE_COMPILER_CHECK as well. I personally will not change it, as I use the value that you are already setting, but it's something to consider. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From jo at mein.io Fri Jun 12 16:42:11 2020 From: jo at mein.io (Jo-Philipp Wich) Date: Fri, 12 Jun 2020 22:42:11 +0200 Subject: [OpenWrt-Devel] [PATCH uclient v2] uclient-fetch: add option to read POST data from file In-Reply-To: <20200612142538.GA304638@makrotopia.org> References: <4574871.31r3eYUQgx@lifestock> <20200612142538.GA304638@makrotopia.org> Message-ID: <70c34171-a853-3adb-d1ff-3774ad28baa1@wwsnet.net> Hi Gio, Daniel, > [...] > --- > v2: make it compile, handle errors, add usage info, fix typos > > uclient-fetch.c | 31 +++++++++++++++++++++++++++++-- > 1 file changed, 29 insertions(+), 2 deletions(-) > > diff --git a/uclient-fetch.c b/uclient-fetch.c > index a06be5d..6119328 100644 > --- a/uclient-fetch.c > +++ b/uclient-fetch.c > @@ -43,6 +43,7 @@ > > static const char *user_agent = "uclient-fetch"; > static const char *post_data; > +static const char *post_file; > static struct ustream_ssl_ctx *ssl_ctx; > static const struct ustream_ssl_ops *ssl_ops; > static int quiet = false; > @@ -334,7 +335,7 @@ static int init_request(struct uclient *cl) > > msg_connecting(cl); > > - rc = uclient_http_set_request_type(cl, post_data ? "POST" : "GET"); > + rc = uclient_http_set_request_type(cl, post_data || post_file ? "POST" : "GET"); > if (rc) > return rc; > > @@ -347,6 +348,26 @@ static int init_request(struct uclient *cl) > uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); > uclient_write(cl, post_data, strlen(post_data)); > } > + else if(post_file) > + { > + FILE *input_file; > + uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); I think the Content-Type header should be configurable. Hard coding it to x-www-form-urlencoded severely limits the usefulness of this post-data feature (regardless of it being passed via command line argument or file) - or did I miss the ability to override it? > + > + input_file = fopen(post_file, "r"); > + if (!input_file) > + return errno; > + > + char tbuf[1000]; It probably doesn't matter but why not using a base-2 value here? E.g. 1024. > + size_t rlen = 0; > + do > + { > + rlen = fread(tbuf, 1, 1000, input_file); Please replace 1000 with sizeof(tbuf). > + uclient_write(cl, tbuf, rlen); > + } > + while(rlen); > + > + fclose(input_file); > + } > > rc = uclient_request(cl); > if (rc) > @@ -460,6 +481,7 @@ static int usage(const char *progname) > " --password= HTTP authentication password\n" > " --user-agent|-U Set HTTP user agent\n" > " --post-data=STRING use the POST method; send STRING as the data\n" > + " --post-file=FILE use the POST method; send FILE as the data\n" > " --spider|-s Spider mode - only check file existence\n" > " --timeout=N|-T N Set connect/request timeout to N seconds\n" > " --proxy=on|off|-Y on|off Enable/disable env var configured proxy\n" > @@ -516,6 +538,7 @@ enum { > L_PASSWORD, > L_USER_AGENT, > L_POST_DATA, > + L_POST_FILE, > L_SPIDER, > L_TIMEOUT, > L_CONTINUE, > @@ -532,6 +555,7 @@ static const struct option longopts[] = { > [L_PASSWORD] = { "password", required_argument }, > [L_USER_AGENT] = { "user-agent", required_argument }, > [L_POST_DATA] = { "post-data", required_argument }, > + [L_POST_FILE] = { "post-file", required_argument }, > [L_SPIDER] = { "spider", no_argument }, > [L_TIMEOUT] = { "timeout", required_argument }, > [L_CONTINUE] = { "continue", no_argument }, > @@ -598,6 +622,9 @@ int main(int argc, char **argv) > case L_POST_DATA: > post_data = optarg; > break; > + case L_POST_FILE: > + post_file = optarg; > + break; > case L_SPIDER: > no_output = true; > break; > @@ -718,7 +745,7 @@ int main(int argc, char **argv) > /* no error received, we can enter main loop */ > uloop_run(); > } else { > - fprintf(stderr, "Failed to establish connection\n"); > + fprintf(stderr, "Failed to send request: %s\n", strerror(rc)); This looks unrelated? Maybe add some "also fix error message in case of send failure" note to the commit message if it is intended. > error_ret = 4; > } > > Regards, Jo -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From daniel at makrotopia.org Fri Jun 12 23:15:36 2020 From: daniel at makrotopia.org (Daniel Golle) Date: Sat, 13 Jun 2020 04:15:36 +0100 Subject: [OpenWrt-Devel] [PATCH uclient v2] uclient-fetch: add option to read POST data from file In-Reply-To: <70c34171-a853-3adb-d1ff-3774ad28baa1@wwsnet.net> References: <4574871.31r3eYUQgx@lifestock> <20200612142538.GA304638@makrotopia.org> <70c34171-a853-3adb-d1ff-3774ad28baa1@wwsnet.net> Message-ID: <20200613031536.GA2794@makrotopia.org> Hi Jo, thanks for the quick review! On Fri, Jun 12, 2020 at 10:42:11PM +0200, Jo-Philipp Wich wrote: > Hi Gio, Daniel, > > > [...] > > --- > > v2: make it compile, handle errors, add usage info, fix typos > > > > uclient-fetch.c | 31 +++++++++++++++++++++++++++++-- > > 1 file changed, 29 insertions(+), 2 deletions(-) > > > > diff --git a/uclient-fetch.c b/uclient-fetch.c > > index a06be5d..6119328 100644 > > --- a/uclient-fetch.c > > +++ b/uclient-fetch.c > > @@ -43,6 +43,7 @@ > > > > static const char *user_agent = "uclient-fetch"; > > static const char *post_data; > > +static const char *post_file; > > static struct ustream_ssl_ctx *ssl_ctx; > > static const struct ustream_ssl_ops *ssl_ops; > > static int quiet = false; > > @@ -334,7 +335,7 @@ static int init_request(struct uclient *cl) > > > > msg_connecting(cl); > > > > - rc = uclient_http_set_request_type(cl, post_data ? "POST" : "GET"); > > + rc = uclient_http_set_request_type(cl, post_data || post_file ? "POST" : "GET"); > > if (rc) > > return rc; > > > > @@ -347,6 +348,26 @@ static int init_request(struct uclient *cl) > > uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); > > uclient_write(cl, post_data, strlen(post_data)); > > } > > + else if(post_file) > > + { > > + FILE *input_file; > > + uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); > > I think the Content-Type header should be configurable. Hard coding it to > x-www-form-urlencoded severely limits the usefulness of this post-data feature > (regardless of it being passed via command line argument or file) - or did I > miss the ability to override it? I agree with your argument, but that would break/exceed wget cmdline compatibility (from WGET(1) manpage): Wget does not currently support "multipart/form-data" for transmitting POST data; only "application/x-www-form-urlencoded". So at least we should have 'application/x-www-form-urlencoded' set as default and allow setting different Content-Type using an optional extra parameter to set it to other common types such as 'application/json; charset=utf-8' > > > + > > + input_file = fopen(post_file, "r"); > > + if (!input_file) > > + return errno; > > + > > + char tbuf[1000]; > > It probably doesn't matter but why not using a base-2 value here? E.g. 1024. > > > + size_t rlen = 0; > > + do > > + { > > + rlen = fread(tbuf, 1, 1000, input_file); > > Please replace 1000 with sizeof(tbuf). > > > + uclient_write(cl, tbuf, rlen); > > + } > > + while(rlen); > > + > > + fclose(input_file); > > + } > > > > rc = uclient_request(cl); > > if (rc) > > @@ -460,6 +481,7 @@ static int usage(const char *progname) > > " --password= HTTP authentication password\n" > > " --user-agent|-U Set HTTP user agent\n" > > " --post-data=STRING use the POST method; send STRING as the data\n" > > + " --post-file=FILE use the POST method; send FILE as the data\n" > > " --spider|-s Spider mode - only check file existence\n" > > " --timeout=N|-T N Set connect/request timeout to N seconds\n" > > " --proxy=on|off|-Y on|off Enable/disable env var configured proxy\n" > > @@ -516,6 +538,7 @@ enum { > > L_PASSWORD, > > L_USER_AGENT, > > L_POST_DATA, > > + L_POST_FILE, > > L_SPIDER, > > L_TIMEOUT, > > L_CONTINUE, > > @@ -532,6 +555,7 @@ static const struct option longopts[] = { > > [L_PASSWORD] = { "password", required_argument }, > > [L_USER_AGENT] = { "user-agent", required_argument }, > > [L_POST_DATA] = { "post-data", required_argument }, > > + [L_POST_FILE] = { "post-file", required_argument }, > > [L_SPIDER] = { "spider", no_argument }, > > [L_TIMEOUT] = { "timeout", required_argument }, > > [L_CONTINUE] = { "continue", no_argument }, > > @@ -598,6 +622,9 @@ int main(int argc, char **argv) > > case L_POST_DATA: > > post_data = optarg; > > break; > > + case L_POST_FILE: > > + post_file = optarg; > > + break; > > case L_SPIDER: > > no_output = true; > > break; > > @@ -718,7 +745,7 @@ int main(int argc, char **argv) > > /* no error received, we can enter main loop */ > > uloop_run(); > > } else { > > - fprintf(stderr, "Failed to establish connection\n"); > > + fprintf(stderr, "Failed to send request: %s\n", strerror(rc)); > > This looks unrelated? Maybe add some "also fix error message in case of send > failure" note to the commit message if it is intended. It was just weird to see 'Failed to establish connection' as the error message when what actually happened was that the file with POST data could not be found or read from. So not entirely unrelated, but true, should be mentioned in the commit message or even be a seperate commit. Cheers Daniel > > > error_ret = 4; > > } > > > > > > > Regards, > Jo > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From karlsberg at softart-ge.com Sat Jun 13 04:16:03 2020 From: karlsberg at softart-ge.com (Reiner Karlsberg) Date: Sat, 13 Jun 2020 10:16:03 +0200 Subject: [OpenWrt-Devel] Build error on latest trunk: mariadb Message-ID: <0ad5f642-bb2c-f6dc-49b0-5b4d85ec04ad@softart-ge.com> cd "/etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/mariadb-10.4.13/ipkg-install/usr/bin"; find . -maxdepth 1 -type l -regex './mariadb[-]*' | xargs -I{} cp -fpR {} "/etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/mariadb-10.4.13/ipkg-mipsel_24kc/mariadb-client/usr/bin"; install -m0755 /etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/mariadb-10.4.13/ipkg-install/usr/bin/mysql_upgrade /etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/mariadb-10.4.13/ipkg-mipsel_24kc/mariadb-client/usr/bin install: cannot stat '/etc/openwrt/WE826/build_dir/target-mipsel_24kc_musl/mariadb-10.4.13/ipkg-install/usr/bin/mysql_upgrade': No such file or directory _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From john at phrozen.org Sat Jun 13 12:36:59 2020 From: john at phrozen.org (John Crispin) Date: Sat, 13 Jun 2020 18:36:59 +0200 Subject: [OpenWrt-Devel] [PATCH 1/2] hostapd: add 11AX script support Message-ID: <20200613163700.10091-1-john@phrozen.org> Signed-off-by: John Crispin --- package/network/services/hostapd/files/hostapd-basic.config | 2 +- package/network/services/hostapd/files/hostapd-full.config | 2 +- package/network/services/hostapd/files/hostapd-mini.config | 2 +- package/network/services/hostapd/files/hostapd.sh | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package/network/services/hostapd/files/hostapd-basic.config b/package/network/services/hostapd/files/hostapd-basic.config index 19ea850f6b..c3726dd552 100644 --- a/package/network/services/hostapd/files/hostapd-basic.config +++ b/package/network/services/hostapd/files/hostapd-basic.config @@ -168,7 +168,7 @@ CONFIG_IEEE80211AC=y # Note: This is experimental and work in progress. The definitions are still # subject to change and this should not be expected to interoperate with the # final IEEE 802.11ax version. -#CONFIG_IEEE80211AX=y +CONFIG_IEEE80211AX=y # Remove debugging code that is printing out debug messages to stdout. # This can be used to reduce the size of the hostapd considerably if debugging diff --git a/package/network/services/hostapd/files/hostapd-full.config b/package/network/services/hostapd/files/hostapd-full.config index 0ecce423e7..118ba000ba 100644 --- a/package/network/services/hostapd/files/hostapd-full.config +++ b/package/network/services/hostapd/files/hostapd-full.config @@ -168,7 +168,7 @@ CONFIG_IEEE80211AC=y # Note: This is experimental and work in progress. The definitions are still # subject to change and this should not be expected to interoperate with the # final IEEE 802.11ax version. -#CONFIG_IEEE80211AX=y +CONFIG_IEEE80211AX=y # Remove debugging code that is printing out debug messages to stdout. # This can be used to reduce the size of the hostapd considerably if debugging diff --git a/package/network/services/hostapd/files/hostapd-mini.config b/package/network/services/hostapd/files/hostapd-mini.config index d9511441e6..8589c41bde 100644 --- a/package/network/services/hostapd/files/hostapd-mini.config +++ b/package/network/services/hostapd/files/hostapd-mini.config @@ -168,7 +168,7 @@ CONFIG_IEEE80211AC=y # Note: This is experimental and work in progress. The definitions are still # subject to change and this should not be expected to interoperate with the # final IEEE 802.11ax version. -#CONFIG_IEEE80211AX=y +CONFIG_IEEE80211AX=y # Remove debugging code that is printing out debug messages to stdout. # This can be used to reduce the size of the hostapd considerably if debugging diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh index f4e2aa559c..50573ebd42 100644 --- a/package/network/services/hostapd/files/hostapd.sh +++ b/package/network/services/hostapd/files/hostapd.sh @@ -807,9 +807,9 @@ wpa_supplicant_set_fixed_freq() { VHT*) append network_data "vht=1" "$N$T";; esac case "$htmode" in - VHT80) append network_data "max_oper_chwidth=1" "$N$T";; - VHT160) append network_data "max_oper_chwidth=2" "$N$T";; - VHT20|VHT40) append network_data "max_oper_chwidth=0" "$N$T";; + VHT80|HE80) append network_data "max_oper_chwidth=1" "$N$T";; + VHT160|HE160) append network_data "max_oper_chwidth=2" "$N$T";; + VHT20|VHT40|HE20|HE40) append network_data "max_oper_chwidth=0" "$N$T";; *) append network_data "disable_vht=1" "$N$T";; esac } -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From john at phrozen.org Sat Jun 13 12:37:00 2020 From: john at phrozen.org (John Crispin) Date: Sat, 13 Jun 2020 18:37:00 +0200 Subject: [OpenWrt-Devel] [PATCH 2/2] mac80211: add 11AX script support In-Reply-To: <20200613163700.10091-1-john@phrozen.org> References: <20200613163700.10091-1-john@phrozen.org> Message-ID: <20200613163700.10091-2-john@phrozen.org> Signed-off-by: John Crispin --- .../files/lib/netifd/wireless/mac80211.sh | 131 ++++++++++++++++-- .../mac80211/files/lib/wifi/mac80211.sh | 7 +- 2 files changed, 128 insertions(+), 10 deletions(-) diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index 4171af2f60..79f38eca8f 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -55,6 +55,12 @@ drv_mac80211_init_device_config() { short_gi_40 \ max_amsdu \ dsss_cck_40 + config_add_int \ + he_su_beamformer:1 \ + he_su_beamformee:0 \ + he_mu_beamformer:1 \ + he_twt_required:0 \ + he_spr_sr_control:0 } drv_mac80211_init_iface_config() { @@ -95,6 +101,20 @@ mac80211_add_capabilities() { export -n -- "$__var=$__out" } +mac80211_add_he_capabilities() { + local __out= oifs + + oifs="$IFS" + IFS=: + for capab in "$@"; do + set -- $capab + [ "$(($4))" -gt 0 ] || continue + [ "$(((0x$2) & $3))" -gt 0 ] || continue + append base_cfg "$1=1" "$N" + done + IFS="$oifs" +} + mac80211_hostapd_setup_base() { local phy="$1" @@ -118,8 +138,8 @@ mac80211_hostapd_setup_base() { ieee80211n=1 ht_capab= case "$htmode" in - VHT20|HT20) ;; - HT40*|VHT40|VHT80|VHT160) + VHT20|HT20|HE20) ;; + HT40*|VHT40|HE40|VHT80|HE80|VHT160|HE160) case "$hwmode" in a) case "$(( ($channel / 4) % 2 ))" in @@ -191,8 +211,8 @@ mac80211_hostapd_setup_base() { enable_ac=0 idx="$channel" case "$htmode" in - VHT20) enable_ac=1;; - VHT40) + VHT20|HE20) enable_ac=1;; + VHT40|HE40) case "$(( ($channel / 4) % 2 ))" in 1) idx=$(($channel + 2));; 0) idx=$(($channel - 2));; @@ -201,7 +221,7 @@ mac80211_hostapd_setup_base() { append base_cfg "vht_oper_chwidth=0" "$N" append base_cfg "vht_oper_centr_freq_seg0_idx=$idx" "$N" ;; - VHT80) + VHT80|HE80) case "$(( ($channel / 4) % 4 ))" in 1) idx=$(($channel + 6));; 2) idx=$(($channel + 2));; @@ -212,7 +232,7 @@ mac80211_hostapd_setup_base() { append base_cfg "vht_oper_chwidth=1" "$N" append base_cfg "vht_oper_centr_freq_seg0_idx=$idx" "$N" ;; - VHT160) + VHT160|HE160) case "$channel" in 36|40|44|48|52|56|60|64) idx=50;; 100|104|108|112|116|120|124|128) idx=114;; @@ -320,6 +340,99 @@ mac80211_hostapd_setup_base() { [ -n "$vht_capab" ] && append base_cfg "vht_capab=$vht_capab" "$N" fi + # 802.11ax + enable_ax=0 + idx="$channel" + case "$htmode" in + HE20) enable_ax=1;; + HE40) + case "$(( ($channel / 4) % 2 ))" in + 1) idx=$(($channel + 2));; + 0) idx=$(($channel - 2));; + esac + enable_ax=1 + if [ $channel -ge 36 ]; then + append base_cfg "he_oper_chwidth=0" "$N" + append base_cfg "he_oper_centr_freq_seg0_idx=$idx" "$N" + fi + ;; + HE80) + case "$(( ($channel / 4) % 4 ))" in + 1) idx=$(($channel + 6));; + 2) idx=$(($channel + 2));; + 3) idx=$(($channel - 2));; + 0) idx=$(($channel - 6));; + esac + enable_ax=1 + append base_cfg "he_oper_chwidth=1" "$N" + append base_cfg "he_oper_centr_freq_seg0_idx=$idx" "$N" + ;; + HE160) + case "$channel" in + 36|40|44|48|52|56|60|64) idx=50;; + 100|104|108|112|116|120|124|128) idx=114;; + esac + enable_ax=1 + append base_cfg "he_oper_chwidth=2" "$N" + append base_cfg "he_oper_centr_freq_seg0_idx=$idx" "$N" + ;; + esac + + if [ "$enable_ax" != "0" ]; then + json_get_vars \ + he_su_beamformer:1 \ + he_su_beamformee:0 \ + he_mu_beamformer:1 \ + he_twt_required:0 \ + he_spr_sr_control:0 + + append base_cfg "ieee80211ax=1" "$N" + he_phy_cap=$(iw phy "$phy" info | awk -F "[()]" '/HE PHY Capabilities/ { print $2 }' | head -1) + he_phy_cap=${he_phy_cap:2} + he_mac_cap=$(iw phy "$phy" info | awk -F "[()]" '/HE MAC Capabilities/ { print $2 }' | head -1) + he_mac_cap=${he_mac_cap:2} + + mac80211_add_he_capabilities \ + he_su_beamformer:${he_phy_cap:6:2}:0x80:$he_su_beamformer \ + he_su_beamformee:${he_phy_cap:8:2}:0x1:$he_su_beamformee \ + he_mu_beamformer:${he_phy_cap:8:2}:0x2:$he_mu_beamformer \ + he_spr_sr_control:${he_phy_cap:14:2}:0x1:$he_spr_sr_control \ + he_twt_required:${he_mac_cap:0:2}:0x6:$he_twt_required \ + + bsscolor=$(head -1 /dev/urandom | tr -dc '0-9' | head -c2) + bsscolor=$(($bsscolor + 1)) + bsscolor=$(($bsscolor % 63)) + + append base_cfg "he_bss_color=$bsscolor" "$N" + append base_cfg "he_default_pe_duration=4" "$N" + append base_cfg "he_mu_edca_qos_info_param_count=0" "$N" + append base_cfg "he_mu_edca_qos_info_q_ack=0" "$N" + append base_cfg "he_mu_edca_qos_info_queue_request=0" "$N" + append base_cfg "he_mu_edca_qos_info_txop_request=0" "$N" + append base_cfg "he_mu_edca_ac_be_aifsn=8" "$N" + append base_cfg "he_mu_edca_ac_be_aci=0" "$N" + append base_cfg "he_mu_edca_ac_be_ecwmin=9" "$N" + append base_cfg "he_mu_edca_ac_be_ecwmax=10" "$N" + append base_cfg "he_mu_edca_ac_be_timer=255" "$N" + append base_cfg "he_mu_edca_ac_bk_aifsn=15" "$N" + append base_cfg "he_mu_edca_ac_bk_aci=1" "$N" + append base_cfg "he_mu_edca_ac_bk_ecwmin=9" "$N" + append base_cfg "he_mu_edca_ac_bk_ecwmax=10" "$N" + append base_cfg "he_mu_edca_ac_bk_timer=255" "$N" + append base_cfg "he_mu_edca_ac_vi_ecwmin=5" "$N" + append base_cfg "he_mu_edca_ac_vi_ecwmax=7" "$N" + append base_cfg "he_mu_edca_ac_vi_aifsn=5" "$N" + append base_cfg "he_mu_edca_ac_vi_aci=2" "$N" + append base_cfg "he_mu_edca_ac_vi_timer=255" "$N" + append base_cfg "he_mu_edca_ac_vo_aifsn=5" "$N" + append base_cfg "he_mu_edca_ac_vo_aci=3" "$N" + append base_cfg "he_mu_edca_ac_vo_ecwmin=5" "$N" + append base_cfg "he_mu_edca_ac_vo_ecwmax=7" "$N" + append base_cfg "he_mu_edca_ac_vo_timer=255" "$N" + fi + + + hostapd_prepare_device_config "$hostapd_conf_file" nl80211 cat >> "$hostapd_conf_file" < From: Baptiste Jonglez Fixes: FS#3177 Cc: Felix Fietkau Cc: Rafa? Mi?ecki Signed-off-by: Baptiste Jonglez --- package/libs/libubox/Makefile | 2 +- ...s-iteration-in-the-blobmsg_check_arr.patch | 75 ++++++++++ ...sg-fix-length-in-blobmsg_check_array.patch | 28 ++++ ...-and-fix-name-length-checks-in-blobm.patch | 49 +++++++ ...21-blobmsg-fix-missing-length-checks.patch | 138 ++++++++++++++++++ 5 files changed, 291 insertions(+), 1 deletion(-) create mode 100644 package/libs/libubox/patches/0018-blobmsg-fix-attrs-iteration-in-the-blobmsg_check_arr.patch create mode 100644 package/libs/libubox/patches/0019-blobmsg-fix-length-in-blobmsg_check_array.patch create mode 100644 package/libs/libubox/patches/0020-blobmsg-simplify-and-fix-name-length-checks-in-blobm.patch create mode 100644 package/libs/libubox/patches/0021-blobmsg-fix-missing-length-checks.patch diff --git a/package/libs/libubox/Makefile b/package/libs/libubox/Makefile index e3a827c1ab..e4f1a6b503 100644 --- a/package/libs/libubox/Makefile +++ b/package/libs/libubox/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libubox -PKG_RELEASE=4 +PKG_RELEASE=5 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/libubox.git diff --git a/package/libs/libubox/patches/0018-blobmsg-fix-attrs-iteration-in-the-blobmsg_check_arr.patch b/package/libs/libubox/patches/0018-blobmsg-fix-attrs-iteration-in-the-blobmsg_check_arr.patch new file mode 100644 index 0000000000..2834e10ee3 --- /dev/null +++ b/package/libs/libubox/patches/0018-blobmsg-fix-attrs-iteration-in-the-blobmsg_check_arr.patch @@ -0,0 +1,75 @@ +From 5e75160f48785464f9213c6bc8c72b9372c5318b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Sat, 23 May 2020 13:18:51 +0200 +Subject: [PATCH] blobmsg: fix attrs iteration in the blobmsg_check_array_len() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Starting with 75e300aeec25 ("blobmsg: fix wrong payload len passed from +blobmsg_check_array") blobmsg_check_array_len() gets *blob* length +passed as argument. It cannot be used with __blobmsg_for_each_attr() +which expects *data* length. + +Use blobmsg_for_each_attr() which calculates *data* length on its own. + +The same bug was already reported in the past and there was fix attempt +in the commit cd75136b1342 ("blobmsg: fix wrong payload len passed from +blobmsg_check_array"). That change made blobmsg_check_attr_len() calls +fail however. + +This is hopefully the correct & complete fix: +1. blobmsg_check_array_len() gets *blob* length +2. It calls blobmsg_check_attr_len() which requires *blob* length +3. It uses blobmsg_for_each_attr() which gets *data* length + +This fixes iterating over random memory treated as attrs. That was +resulting in check failing randomly for totally correct blobs. It's +critical e.g. for procd project with its instance_fill_array() failing +and procd not starting services. + +Fixes: 75e300aeec25 ("blobmsg: fix wrong payload len passed from blobmsg_check_array") +Signed-off-by: Rafa? Mi?ecki +--- + blobmsg.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/blobmsg.c b/blobmsg.c +index 8b9877d..59045e1 100644 +--- a/blobmsg.c ++++ b/blobmsg.c +@@ -117,16 +117,18 @@ int blobmsg_check_array(const struct blob_attr *attr, int type) + return blobmsg_check_array_len(attr, type, blob_len(attr)); + } + +-int blobmsg_check_array_len(const struct blob_attr *attr, int type, size_t len) ++int blobmsg_check_array_len(const struct blob_attr *attr, int type, ++ size_t blob_len) + { + struct blob_attr *cur; ++ size_t rem; + bool name; + int size = 0; + + if (type > BLOBMSG_TYPE_LAST) + return -1; + +- if (!blobmsg_check_attr_len(attr, false, len)) ++ if (!blobmsg_check_attr_len(attr, false, blob_len)) + return -1; + + switch (blobmsg_type(attr)) { +@@ -140,11 +142,11 @@ int blobmsg_check_array_len(const struct blob_attr *attr, int type, size_t len) + return -1; + } + +- __blobmsg_for_each_attr(cur, attr, len) { ++ blobmsg_for_each_attr(cur, attr, rem) { + if (type != BLOBMSG_TYPE_UNSPEC && blobmsg_type(cur) != type) + return -1; + +- if (!blobmsg_check_attr_len(cur, name, len)) ++ if (!blobmsg_check_attr_len(cur, name, rem)) + return -1; + + size++; diff --git a/package/libs/libubox/patches/0019-blobmsg-fix-length-in-blobmsg_check_array.patch b/package/libs/libubox/patches/0019-blobmsg-fix-length-in-blobmsg_check_array.patch new file mode 100644 index 0000000000..9db2fb4f9f --- /dev/null +++ b/package/libs/libubox/patches/0019-blobmsg-fix-length-in-blobmsg_check_array.patch @@ -0,0 +1,28 @@ +From c2fc622b771f679e8f55060ac60cfe02b9a80995 Mon Sep 17 00:00:00 2001 +From: Felix Fietkau +Date: Mon, 25 May 2020 13:44:20 +0200 +Subject: [PATCH] blobmsg: fix length in blobmsg_check_array + +blobmsg_check_array_len expects the length of the full attribute buffer, +not just the data length. +Due to other missing length checks (fixed in the next commit), this did +not show up as a test failure + +Signed-off-by: Felix Fietkau +--- + blobmsg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/blobmsg.c b/blobmsg.c +index 59045e1..daaa9fc 100644 +--- a/blobmsg.c ++++ b/blobmsg.c +@@ -114,7 +114,7 @@ bool blobmsg_check_attr_len(const struct blob_attr *attr, bool name, size_t len) + + int blobmsg_check_array(const struct blob_attr *attr, int type) + { +- return blobmsg_check_array_len(attr, type, blob_len(attr)); ++ return blobmsg_check_array_len(attr, type, blob_raw_len(attr)); + } + + int blobmsg_check_array_len(const struct blob_attr *attr, int type, diff --git a/package/libs/libubox/patches/0020-blobmsg-simplify-and-fix-name-length-checks-in-blobm.patch b/package/libs/libubox/patches/0020-blobmsg-simplify-and-fix-name-length-checks-in-blobm.patch new file mode 100644 index 0000000000..a481208789 --- /dev/null +++ b/package/libs/libubox/patches/0020-blobmsg-simplify-and-fix-name-length-checks-in-blobm.patch @@ -0,0 +1,49 @@ +From 639c29d19717616b809d9a1e9042461ab8024370 Mon Sep 17 00:00:00 2001 +From: Felix Fietkau +Date: Mon, 25 May 2020 14:49:35 +0200 +Subject: [PATCH] blobmsg: simplify and fix name length checks in + blobmsg_check_name + +blobmsg_hdr_valid_namelen was omitted when name==false +The blob_len vs blobmsg_namelen changes were not taking into account +potential padding between name and data + +Signed-off-by: Felix Fietkau +--- + blobmsg.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +diff --git a/blobmsg.c b/blobmsg.c +index daaa9fc..308bef7 100644 +--- a/blobmsg.c ++++ b/blobmsg.c +@@ -48,8 +48,8 @@ static bool blobmsg_hdr_valid_namelen(const struct blobmsg_hdr *hdr, size_t len) + + static bool blobmsg_check_name(const struct blob_attr *attr, size_t len, bool name) + { +- char *limit = (char *) attr + len; + const struct blobmsg_hdr *hdr; ++ uint16_t namelen; + + hdr = blobmsg_hdr_from_blob(attr, len); + if (!hdr) +@@ -58,16 +58,11 @@ static bool blobmsg_check_name(const struct blob_attr *attr, size_t len, bool na + if (name && !hdr->namelen) + return false; + +- if (name && !blobmsg_hdr_valid_namelen(hdr, len)) +- return false; +- +- if ((char *) hdr->name + blobmsg_namelen(hdr) + 1 > limit) +- return false; +- +- if (blobmsg_namelen(hdr) > (blob_len(attr) - sizeof(struct blobmsg_hdr))) ++ namelen = blobmsg_namelen(hdr); ++ if (blob_len(attr) < (size_t)blobmsg_hdrlen(namelen)) + return false; + +- if (hdr->name[blobmsg_namelen(hdr)] != 0) ++ if (hdr->name[namelen] != 0) + return false; + + return true; diff --git a/package/libs/libubox/patches/0021-blobmsg-fix-missing-length-checks.patch b/package/libs/libubox/patches/0021-blobmsg-fix-missing-length-checks.patch new file mode 100644 index 0000000000..bfc440a329 --- /dev/null +++ b/package/libs/libubox/patches/0021-blobmsg-fix-missing-length-checks.patch @@ -0,0 +1,138 @@ +From 66195aee50424cbda0c2d858014e4cc58a2dc029 Mon Sep 17 00:00:00 2001 +From: Felix Fietkau +Date: Mon, 25 May 2020 12:40:04 +0200 +Subject: [PATCH] blobmsg: fix missing length checks + +blobmsg_check_attr_len was calling blobmsg_check_data for some, but not all +attribute types. These checks was missing for arrays and tables. + +Additionally, the length check in blobmsg_check_data was a bit off, since +it was comparing the blobmsg data length against the raw blob attr length. + +Fix this by checking the raw blob length against the buffer length in +blobmsg_hdr_from_blob + +Signed-off-by: Felix Fietkau +--- + blobmsg.c | 66 +++++++++++++++++-------------------------------------- + 1 file changed, 20 insertions(+), 46 deletions(-) + +diff --git a/blobmsg.c b/blobmsg.c +index 308bef7..7da4183 100644 +--- a/blobmsg.c ++++ b/blobmsg.c +@@ -30,31 +30,18 @@ bool blobmsg_check_attr(const struct blob_attr *attr, bool name) + return blobmsg_check_attr_len(attr, name, blob_raw_len(attr)); + } + +-static const struct blobmsg_hdr* blobmsg_hdr_from_blob(const struct blob_attr *attr, size_t len) +-{ +- if (len < sizeof(struct blob_attr) + sizeof(struct blobmsg_hdr)) +- return NULL; +- +- return blob_data(attr); +-} +- +-static bool blobmsg_hdr_valid_namelen(const struct blobmsg_hdr *hdr, size_t len) +-{ +- if (len < sizeof(struct blob_attr) + sizeof(struct blobmsg_hdr) + blobmsg_namelen(hdr) + 1) +- return false; +- +- return true; +-} +- +-static bool blobmsg_check_name(const struct blob_attr *attr, size_t len, bool name) ++static bool blobmsg_check_name(const struct blob_attr *attr, bool name) + { + const struct blobmsg_hdr *hdr; + uint16_t namelen; + +- hdr = blobmsg_hdr_from_blob(attr, len); +- if (!hdr) ++ if (!blob_is_extended(attr)) ++ return !name; ++ ++ if (blob_len(attr) < sizeof(struct blobmsg_hdr)) + return false; + ++ hdr = (const struct blobmsg_hdr *)blob_data(attr); + if (name && !hdr->namelen) + return false; + +@@ -68,29 +55,20 @@ static bool blobmsg_check_name(const struct blob_attr *attr, size_t len, bool na + return true; + } + +-static const char* blobmsg_check_data(const struct blob_attr *attr, size_t len, size_t *data_len) +-{ +- char *limit = (char *) attr + len; +- const char *data; +- +- *data_len = blobmsg_data_len(attr); +- if (*data_len > blob_raw_len(attr)) +- return NULL; +- +- data = blobmsg_data(attr); +- if (data + *data_len > limit) +- return NULL; +- +- return data; +-} +- + bool blobmsg_check_attr_len(const struct blob_attr *attr, bool name, size_t len) + { + const char *data; + size_t data_len; + int id; + +- if (!blobmsg_check_name(attr, len, name)) ++ if (len < sizeof(struct blob_attr)) ++ return false; ++ ++ data_len = blob_raw_len(attr); ++ if (data_len < sizeof(struct blob_attr) || data_len > len) ++ return false; ++ ++ if (!blobmsg_check_name(attr, name)) + return false; + + id = blob_id(attr); +@@ -100,9 +78,8 @@ bool blobmsg_check_attr_len(const struct blob_attr *attr, bool name, size_t len) + if (!blob_type[id]) + return true; + +- data = blobmsg_check_data(attr, len, &data_len); +- if (!data) +- return false; ++ data = blobmsg_data(attr); ++ data_len = blobmsg_data_len(attr); + + return blob_check_type(data, data_len, blob_type[id]); + } +@@ -206,13 +183,13 @@ int blobmsg_parse(const struct blobmsg_policy *policy, int policy_len, + } + + __blob_for_each_attr(attr, data, len) { +- hdr = blobmsg_hdr_from_blob(attr, len); +- if (!hdr) ++ if (!blobmsg_check_attr_len(attr, false, len)) + return -1; + +- if (!blobmsg_hdr_valid_namelen(hdr, len)) +- return -1; ++ if (!blob_is_extended(attr)) ++ continue; + ++ hdr = blob_data(attr); + for (i = 0; i < policy_len; i++) { + if (!policy[i].name) + continue; +@@ -224,9 +201,6 @@ int blobmsg_parse(const struct blobmsg_policy *policy, int policy_len, + if (blobmsg_namelen(hdr) != pslen[i]) + continue; + +- if (!blobmsg_check_attr_len(attr, true, len)) +- return -1; +- + if (tb[i]) + continue; -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Sat Jun 13 14:33:40 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Sat, 13 Jun 2020 20:33:40 +0200 Subject: [OpenWrt-Devel] [PATCH 2/2] mac80211: add 11AX script support In-Reply-To: <20200613163700.10091-2-john@phrozen.org> References: <20200613163700.10091-1-john@phrozen.org> <20200613163700.10091-2-john@phrozen.org> Message-ID: <002e01d641b1$298c5d90$7ca518b0$@adrianschmutzler.de> Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of John Crispin > Sent: Samstag, 13. Juni 2020 18:37 > To: openwrt-devel at lists.openwrt.org > Cc: John Crispin > Subject: [OpenWrt-Devel] [PATCH 2/2] mac80211: add 11AX script support > > Signed-off-by: John Crispin > --- > .../files/lib/netifd/wireless/mac80211.sh | 131 ++++++++++++++++-- > .../mac80211/files/lib/wifi/mac80211.sh | 7 +- > 2 files changed, 128 insertions(+), 10 deletions(-) > > diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh > b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh > index 4171af2f60..79f38eca8f 100644 > --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh > +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh > @@ -55,6 +55,12 @@ drv_mac80211_init_device_config() { > short_gi_40 \ > max_amsdu \ > dsss_cck_40 > + config_add_int \ > + he_su_beamformer:1 \ > + he_su_beamformee:0 \ > + he_mu_beamformer:1 \ > + he_twt_required:0 \ > + he_spr_sr_control:0 There seem to be some indent problems here and ... > } > > drv_mac80211_init_iface_config() { > @@ -95,6 +101,20 @@ mac80211_add_capabilities() { > export -n -- "$__var=$__out" > } > > +mac80211_add_he_capabilities() { > + local __out= oifs > + > + oifs="$IFS" > + IFS=: > + for capab in "$@"; do > + set -- $capab > + [ "$(($4))" -gt 0 ] || continue > + [ "$(((0x$2) & $3))" -gt 0 ] || continue > + append base_cfg "$1=1" "$N" > + done > + IFS="$oifs" > +} > + > mac80211_hostapd_setup_base() { > local phy="$1" > > @@ -118,8 +138,8 @@ mac80211_hostapd_setup_base() { > ieee80211n=1 > ht_capab= > case "$htmode" in > - VHT20|HT20) ;; > - HT40*|VHT40|VHT80|VHT160) > + VHT20|HT20|HE20) ;; > + HT40*|VHT40|HE40|VHT80|HE80|VHT160|HE160) > case "$hwmode" in > a) > case "$(( ($channel / 4) % 2 ))" in @@ - > 191,8 +211,8 @@ mac80211_hostapd_setup_base() { > enable_ac=0 > idx="$channel" > case "$htmode" in > - VHT20) enable_ac=1;; > - VHT40) > + VHT20|HE20) enable_ac=1;; > + VHT40|HE40) > case "$(( ($channel / 4) % 2 ))" in > 1) idx=$(($channel + 2));; > 0) idx=$(($channel - 2));; > @@ -201,7 +221,7 @@ mac80211_hostapd_setup_base() { > append base_cfg "vht_oper_chwidth=0" "$N" > append base_cfg > "vht_oper_centr_freq_seg0_idx=$idx" "$N" > ;; > - VHT80) > + VHT80|HE80) > case "$(( ($channel / 4) % 4 ))" in > 1) idx=$(($channel + 6));; > 2) idx=$(($channel + 2));; > @@ -212,7 +232,7 @@ mac80211_hostapd_setup_base() { > append base_cfg "vht_oper_chwidth=1" "$N" > append base_cfg > "vht_oper_centr_freq_seg0_idx=$idx" "$N" > ;; > - VHT160) > + VHT160|HE160) > case "$channel" in > 36|40|44|48|52|56|60|64) idx=50;; > 100|104|108|112|116|120|124|128) idx=114;; > @@ -320,6 +340,99 @@ mac80211_hostapd_setup_base() { > [ -n "$vht_capab" ] && append base_cfg > "vht_capab=$vht_capab" "$N" > fi > > + # 802.11ax > + enable_ax=0 > + idx="$channel" > + case "$htmode" in > + HE20) enable_ax=1;; > + HE40) > + case "$(( ($channel / 4) % 2 ))" in > + 1) idx=$(($channel + 2));; > + 0) idx=$(($channel - 2));; > + esac > + enable_ax=1 > + if [ $channel -ge 36 ]; then > + append base_cfg "he_oper_chwidth=0" "$N" > + append base_cfg > "he_oper_centr_freq_seg0_idx=$idx" "$N" > + fi > + ;; > + HE80) > + case "$(( ($channel / 4) % 4 ))" in > + 1) idx=$(($channel + 6));; > + 2) idx=$(($channel + 2));; > + 3) idx=$(($channel - 2));; > + 0) idx=$(($channel - 6));; > + esac > + enable_ax=1 > + append base_cfg "he_oper_chwidth=1" "$N" > + append base_cfg > "he_oper_centr_freq_seg0_idx=$idx" "$N" > + ;; > + HE160) > + case "$channel" in > + 36|40|44|48|52|56|60|64) idx=50;; > + 100|104|108|112|116|120|124|128) idx=114;; > + esac > + enable_ax=1 > + append base_cfg "he_oper_chwidth=2" "$N" > + append base_cfg > "he_oper_centr_freq_seg0_idx=$idx" "$N" > + ;; > + esac > + > + if [ "$enable_ax" != "0" ]; then > + json_get_vars \ > + he_su_beamformer:1 \ > + he_su_beamformee:0 \ > + he_mu_beamformer:1 \ > + he_twt_required:0 \ > + he_spr_sr_control:0 > + > + append base_cfg "ieee80211ax=1" "$N" > + he_phy_cap=$(iw phy "$phy" info | awk -F "[()]" '/HE PHY > Capabilities/ { print $2 }' | head -1) > + he_phy_cap=${he_phy_cap:2} > + he_mac_cap=$(iw phy "$phy" info | awk -F "[()]" '/HE MAC > Capabilities/ { print $2 }' | head -1) > + he_mac_cap=${he_mac_cap:2} > + > + mac80211_add_he_capabilities \ > + > he_su_beamformer:${he_phy_cap:6:2}:0x80:$he_su_beamformer \ > + > he_su_beamformee:${he_phy_cap:8:2}:0x1:$he_su_beamformee \ > + > he_mu_beamformer:${he_phy_cap:8:2}:0x2:$he_mu_beamformer > \ > + > he_spr_sr_control:${he_phy_cap:14:2}:0x1:$he_spr_sr_control \ > + > he_twt_required:${he_mac_cap:0:2}:0x6:$he_twt_required \ ... here a single additional tab would be enough. Best Adrian > + > + bsscolor=$(head -1 /dev/urandom | tr -dc '0-9' | head -c2) > + bsscolor=$(($bsscolor + 1)) > + bsscolor=$(($bsscolor % 63)) > + > + append base_cfg "he_bss_color=$bsscolor" "$N" > + append base_cfg "he_default_pe_duration=4" "$N" > + append base_cfg "he_mu_edca_qos_info_param_count=0" > "$N" > + append base_cfg "he_mu_edca_qos_info_q_ack=0" "$N" > + append base_cfg > "he_mu_edca_qos_info_queue_request=0" "$N" > + append base_cfg "he_mu_edca_qos_info_txop_request=0" > "$N" > + append base_cfg "he_mu_edca_ac_be_aifsn=8" "$N" > + append base_cfg "he_mu_edca_ac_be_aci=0" "$N" > + append base_cfg "he_mu_edca_ac_be_ecwmin=9" "$N" > + append base_cfg "he_mu_edca_ac_be_ecwmax=10" "$N" > + append base_cfg "he_mu_edca_ac_be_timer=255" "$N" > + append base_cfg "he_mu_edca_ac_bk_aifsn=15" "$N" > + append base_cfg "he_mu_edca_ac_bk_aci=1" "$N" > + append base_cfg "he_mu_edca_ac_bk_ecwmin=9" "$N" > + append base_cfg "he_mu_edca_ac_bk_ecwmax=10" "$N" > + append base_cfg "he_mu_edca_ac_bk_timer=255" "$N" > + append base_cfg "he_mu_edca_ac_vi_ecwmin=5" "$N" > + append base_cfg "he_mu_edca_ac_vi_ecwmax=7" "$N" > + append base_cfg "he_mu_edca_ac_vi_aifsn=5" "$N" > + append base_cfg "he_mu_edca_ac_vi_aci=2" "$N" > + append base_cfg "he_mu_edca_ac_vi_timer=255" "$N" > + append base_cfg "he_mu_edca_ac_vo_aifsn=5" "$N" > + append base_cfg "he_mu_edca_ac_vo_aci=3" "$N" > + append base_cfg "he_mu_edca_ac_vo_ecwmin=5" "$N" > + append base_cfg "he_mu_edca_ac_vo_ecwmax=7" "$N" > + append base_cfg "he_mu_edca_ac_vo_timer=255" "$N" > + fi > + > + > + > hostapd_prepare_device_config "$hostapd_conf_file" nl80211 > cat >> "$hostapd_conf_file" < ${channel:+channel=$channel} > @@ -658,8 +771,8 @@ mac80211_setup_supplicant_noctl() { > > mac80211_prepare_iw_htmode() { > case "$htmode" in > - VHT20|HT20) iw_htmode=HT20;; > - HT40*|VHT40|VHT160) > + VHT20|HT20|HE20) iw_htmode=HT20;; > + HT40*|VHT40|HE40|VHT160) > case "$hwmode" in > a) > case "$(( ($channel / 4) % 2 ))" in @@ - > 683,7 +796,7 @@ mac80211_prepare_iw_htmode() { > esac > [ "$auto_channel" -gt 0 ] && iw_htmode="HT40+" > ;; > - VHT80) > + VHT80|HE80) > iw_htmode="80MHZ" > ;; > NONE|NOHT) > diff --git a/package/kernel/mac80211/files/lib/wifi/mac80211.sh > b/package/kernel/mac80211/files/lib/wifi/mac80211.sh > index be9c537926..fc3b43b4c6 100644 > --- a/package/kernel/mac80211/files/lib/wifi/mac80211.sh > +++ b/package/kernel/mac80211/files/lib/wifi/mac80211.sh > @@ -80,12 +80,17 @@ detect_mac80211() { > htmode="" > ht_capab="" > > - iw phy "$dev" info | grep -q 'Capabilities:' && htmode=HT20 > + iw phy "$dev" info | grep -q 'Capabilities:' && { > + htmode=HT20 > + iw phy "$dev" info | grep -q 'HE.*Capabilities' && > htmode="HE20" > + } > > iw phy "$dev" info | grep -q '5180 MHz' && { > mode_band="a" > channel="36" > + iw phy "$dev" info | grep -q '5180 MHz.*disabled' && > channel=149 > iw phy "$dev" info | grep -q 'VHT Capabilities' && > htmode="VHT80" > + iw phy "$dev" info | grep -q 'HE.*Capabilities' && > htmode="HE80" > } > > [ -n "$htmode" ] && ht_capab="set > wireless.radio${devidx}.htmode=$htmode" > -- > 2.25.1 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From joe at ayerscasa.com Sat Jun 13 15:00:51 2020 From: joe at ayerscasa.com (Joe Ayers) Date: Sat, 13 Jun 2020 14:00:51 -0500 Subject: [OpenWrt-Devel] newer mikrotik boards not booting? Message-ID: Anyone else seeing this on recently purchased Mikrotik models? Installing openwrt 19.07.03 on a Mikrotik LHG 5 boots, initfs and appears to succeed with sysupgrade. Then the device is in an infinite boot loop. It appears there's no console configured in routerboot to see what it is doing. Any pointers to turn on? Note, I'm working with another individual seeing this on a new LHG 5 model device. I have reproduced and tested on a newly purchased SXTsq 5HPnD, which has a motherboard labeled "LHG 5HPnD". Prior SXTsq 5HPnD and LHG 5HPnD models have been working fine. [admin at MikroTik] /system routerboard> print routerboard: yes board-name: SXTsq 5 model: RouterBOARD SXTsq 5HPnD serial-number: xxxxxxxxxxxx firmware-type: ar9344L factory-firmware: 3.41 current-firmware: 3.41 upgrade-firmware: 6.47 No baud-rate options? [admin at MikroTik] /system routerboard settings> print auto-upgrade: no boot-device: nand-if-fail-then-ethernet regulatory-domain-ce: no cpu-frequency: 600MHz boot-protocol: bootp force-backup-booter: no silent-boot: no protected-routerboot: disabled reformat-hold-button: 20s reformat-hold-button-max: 10m sysupgrade log: Commencing upgrade. Closing all shell sessions. Watchdog handover: fd=3 - watchdog - Sending TERM to remaining processes ... crond uhttpd xinetd sh dnsmasq sh ntpd netifd hostapd [ 146.589174] device wlan0 left promiscuouse [ 146.593957] br-lan: port 2(wlan0) entered disabled state sleep sleep ubusd urngd logd rpcd Sending KILL to remaining processes ... /lib/upgrade/stage2: line 126: [-x: not found Performing system upgrade... Unlocking firmware ... Writing from to firmware ... Upgrade completed Rebooting system... umount: can't unmount /dev: Resource busy umount: can't unmount /tmp: Resource busy umount: can't unmount /: Invalid argument [ 185.682795] Removing MTD device #1 (hard_config) with use count 1 [ 185.690133] reboot: Restarting system regards, Joe AE6XE _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Sat Jun 13 16:08:52 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Sat, 13 Jun 2020 22:08:52 +0200 Subject: [OpenWrt-Devel] [RFC PATCH] kirkwood: use real model names for Linksys devices Message-ID: <20200613200852.28760-1-freifunk@adrianschmutzler.de> This replaces the internal device names "Audi" and "Viper" with the real model names, which a user would look for. This makes the Linksys devices on this target consistent with the names recently changed for mvebu based on the same idea. Signed-off-by: Adrian Schmutzler --- While marked as RFC, this patch should be fully ready for merge already. --- package/boot/uboot-envtools/files/kirkwood | 4 ++-- target/linux/kirkwood/base-files/etc/board.d/01_leds | 2 +- .../linux/kirkwood/base-files/etc/board.d/02_network | 4 ++-- target/linux/kirkwood/base-files/etc/init.d/bootcount | 4 ++-- .../linux/kirkwood/base-files/lib/upgrade/platform.sh | 4 ++-- .../arch/arm/boot/dts/kirkwood-linksys-audi.dts | 2 +- target/linux/kirkwood/image/Makefile | 10 ++++++---- target/linux/kirkwood/patches-5.4/105-ea4500.patch | 9 +++++++++ 8 files changed, 25 insertions(+), 14 deletions(-) diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood index b5f7ddccb7..10dde84c8c 100644 --- a/package/boot/uboot-envtools/files/kirkwood +++ b/package/boot/uboot-envtools/files/kirkwood @@ -16,14 +16,14 @@ case "$board" in cloudengines,pogoe02|\ cloudengines,pogoplugv4|\ iom,ix2-200|\ -linksys,viper|\ +linksys,ea4500|\ raidsonic,ib-nas62x0|\ seagate,dockstar|\ zyxel,nsa310b|\ zyxel,nsa325) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" ;; -linksys,audi) +linksys,ea3500) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x4000" "0x4000" ;; esac diff --git a/target/linux/kirkwood/base-files/etc/board.d/01_leds b/target/linux/kirkwood/base-files/etc/board.d/01_leds index bba845eae5..7e589e9bfc 100755 --- a/target/linux/kirkwood/base-files/etc/board.d/01_leds +++ b/target/linux/kirkwood/base-files/etc/board.d/01_leds @@ -13,7 +13,7 @@ case "$board" in "iom,ix2-200") ucidef_set_led_timer "health" "health" "status:white:rebuild_led" "200" "800" ;; -"linksys,viper") +"linksys,ea4500") ucidef_set_led_default "pulse" "pulse" "viper:white:pulse" "1" ;; "zyxel,nsa310b") diff --git a/target/linux/kirkwood/base-files/etc/board.d/02_network b/target/linux/kirkwood/base-files/etc/board.d/02_network index df01b0bb1b..3c844f2819 100755 --- a/target/linux/kirkwood/base-files/etc/board.d/02_network +++ b/target/linux/kirkwood/base-files/etc/board.d/02_network @@ -24,8 +24,8 @@ case "$board" in "seagate,goflexnet") ucidef_set_interface_lan "eth0" "dhcp" ;; -"linksys,audi"|\ -"linksys,viper") +"linksys,ea3500"|\ +"linksys,ea4500") ucidef_set_interfaces_lan_wan "ethernet1 ethernet2 ethernet3 ethernet4" "internet" ucidef_set_interface_macaddr "wan" $( mtd_get_mac_ascii u_env eth1addr ) ;; diff --git a/target/linux/kirkwood/base-files/etc/init.d/bootcount b/target/linux/kirkwood/base-files/etc/init.d/bootcount index 478f3d0134..b1e5152326 100755 --- a/target/linux/kirkwood/base-files/etc/init.d/bootcount +++ b/target/linux/kirkwood/base-files/etc/init.d/bootcount @@ -4,8 +4,8 @@ START=99 boot() { case $(board_name) in - linksys,audi|\ - linksys,viper) + linksys,ea3500|\ + linksys,ea4500) mtd resetbc s_env || true ;; esac diff --git a/target/linux/kirkwood/base-files/lib/upgrade/platform.sh b/target/linux/kirkwood/base-files/lib/upgrade/platform.sh index 6d63a0a4b7..4629395347 100644 --- a/target/linux/kirkwood/base-files/lib/upgrade/platform.sh +++ b/target/linux/kirkwood/base-files/lib/upgrade/platform.sh @@ -11,8 +11,8 @@ platform_do_upgrade() { local board="$(board_name)" case "$board" in - "linksys,audi"|\ - "linksys,viper") + linksys,ea3500|\ + linksys,ea4500) platform_do_upgrade_linksys "$1" ;; *) diff --git a/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts b/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts index 90250fefc8..5952f57a4a 100644 --- a/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts +++ b/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts @@ -16,7 +16,7 @@ / { model = "Linksys Audi (EA3500)"; - compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood"; + compatible = "linksys,ea3500", "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood"; memory at 0 { device_type = "memory"; diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index 552ee44ee4..c56415bf1c 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -78,7 +78,7 @@ define Device/iom_ix2-200 endef TARGET_DEVICES += iom_ix2-200 -define Device/linksys_audi +define Device/linksys_ea3500 DEVICE_VENDOR := Linksys DEVICE_MODEL := EA3500 (Audi) DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug @@ -90,11 +90,12 @@ define Device/linksys_audi UBINIZE_OPTS := -E 5 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi BOARD_NAME := linksys-audi + SUPPORTED_DEVICES += linksys,audi DEFAULT := n endef -TARGET_DEVICES += linksys_audi +TARGET_DEVICES += linksys_ea3500 -define Device/linksys_viper +define Device/linksys_ea4500 DEVICE_VENDOR := Linksys DEVICE_MODEL := E4200v2 / EA4500 (Viper) DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug @@ -103,8 +104,9 @@ define Device/linksys_viper UBINIZE_OPTS := -E 5 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi BOARD_NAME := linksys-viper + SUPPORTED_DEVICES += linksys,viper endef -TARGET_DEVICES += linksys_viper +TARGET_DEVICES += linksys_ea4500 define Device/raidsonic_ib-nas62x0 DEVICE_VENDOR := RaidSonic diff --git a/target/linux/kirkwood/patches-5.4/105-ea4500.patch b/target/linux/kirkwood/patches-5.4/105-ea4500.patch index 0d97ad14a2..c2bbe9d240 100644 --- a/target/linux/kirkwood/patches-5.4/105-ea4500.patch +++ b/target/linux/kirkwood/patches-5.4/105-ea4500.patch @@ -1,5 +1,14 @@ --- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts +++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts +@@ -16,7 +16,7 @@ + + / { + model = "Linksys Viper (E4200v2 / EA4500)"; +- compatible = "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood"; ++ compatible = "linksys,ea4500", "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood"; + + memory { + device_type = "memory"; @@ -24,6 +24,10 @@ }; -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mike at meshplusplus.com Sat Jun 13 17:53:17 2020 From: mike at meshplusplus.com (Michael Jones) Date: Sat, 13 Jun 2020 16:53:17 -0500 Subject: [OpenWrt-Devel] /usr/share/libubox/jshn.sh and piping json text to json_load Message-ID: Hi List, I'm looking to load some json text that's being piped through grep / sed / awk into the json handling capabilities provided by /usr/share/libubox/jshn.sh Looking here: https://git.openwrt.org/?p=project/libubox.git;a=blob;f=jshn.c;h=1b685e5fb0d853c4053389242b92c34967beb94f;hb=HEAD I don't see any kind of handling of stdin. So I'm guessing that piping data into the shell json handling code isn't an expected use case. Does anyone have any suggestions beyond the obvious solution of loading the data into a shell variable first? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From info at hwinfotech.net Sun Jun 14 04:27:15 2020 From: info at hwinfotech.net (HW Infotech) Date: Sun, 14 Jun 2020 08:27:15 +0000 Subject: [OpenWrt-Devel] Website and Mobile App Development Message-ID: We have ? 500+ clone ScriptHi, I am Waseem From HW Infotech. ? Please share your phone number or Skype id, Whatsapp if you are looking to develop a clone of any website. Work in the following area : ? Clone Script for any Website and Mobile APP -Development and Digital Marketing for App, Web, Software Clone Scripts ?Readymade Script for useful product -Shop Website Templates, Clone Scripts, & Marketplace Software | HW Infotech ?Software Requirement Specification Documentation ?A wireframe design for Website, ERP, Product &Mobile app ?PHP Framework & MYSQL, HTML5, CSS3, JavaScript, jQuery, XML, JSON. ?eCommerce, WordPress,Magento,Open Cart, Joomla, Magento 2, Prestashop ?Mobile APP- Android, IOS, Phone Gap and Flutter ?SEO, SMO, and PPC ?Install and config the project ?Plugin: Customize and create a new plugin ?Migrate & Upgrade: sustainable development and long-term ?WHM Panel server configuration ?Server Optimization ?Website and Server Penetration testing ?Load Balancing and Failover clustering Server ?Mail Server configuration for bulk emailing Contact us - Hire A Developer | Web and App Development Services | HW Infotech Regards Waseem www.hwinfotech.com??Gurugram | California |London|Vancouver|Abuja | Melbourne http://app.hwinfotech.net/index.php/lists/dd296hm0jzd67/unsubscribe/cf475n9ca2d95/ok072mq8cc88f -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at aparcar.org Sun Jun 14 05:33:31 2020 From: mail at aparcar.org (Paul Spooren) Date: Sat, 13 Jun 2020 23:33:31 -1000 Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in image filename Message-ID: <20200614093330.17516-1-mail@aparcar.org> The target/subtarget information in image filenames is barely of any use for developers or end users. A developer reads the profile name and the target is either obvious due to previous work or `cd targets/ && grep -r ` tells the target within 3ms. If no buildroot is available `cat | tail -c 200` allows a look at the attached metadata which includes the target/subtarget. For users the information is entirely useless and maybe even harmful. Target names like `cortexa9` could easily be mistaken as an actual device name while the only relevant information would be `linksys_wrt3200acm`. Images are more realistically downloaded via a Wiki entry or a firmware wizard. This commit therefore adds the new image option called CONFIG_TARGET_FILENAMES to make the target/subtarget filename part optional. It is disabled by default. As the profile name `generic` appears multiple times in the x86 target as well as in oceton and ath25, the proposed patch on GitHub should be merged first: * treewide: use unique profile names #3082 https://github.com/openwrt/openwrt/pull/3082 Newly produced files would look like the following: * openwrt-linksys_wrt3200acm-initramfs-kernel.bin * openwrt-linksys_wrt3200acm.manifest * openwrt-linksys_wrt3200acm-squashfs-factory.img * openwrt-linksys_wrt3200acm-squashfs-sysupgrade.bin Signed-off-by: Paul Spooren --- It's been a while since I made a controversial patch[0] so it feels about time. [0]: https://github.com/openwrt/openwrt/pull/2107 include/image.mk | 9 +++++---- package/base-files/image-config.in | 9 +++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/include/image.mk b/include/image.mk index 984b64fb9c..c6fc467c9e 100644 --- a/include/image.mk +++ b/include/image.mk @@ -37,11 +37,12 @@ KDIR=$(KERNEL_BUILD_DIR) KDIR_TMP=$(KDIR)/tmp DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts +IMG_PREFIX_TARGET:=$(if $(CONFIG_TARGET_FILENAMES),$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))-) IMG_PREFIX_EXTRA:=$(if $(EXTRA_IMAGE_NAME),$(call sanitize,$(EXTRA_IMAGE_NAME))-) IMG_PREFIX_VERNUM:=$(if $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NUMBER))-) IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call sanitize,$(VERSION_CODE))-) -IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) +IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(IMG_PREFIX_TARGET) IMG_ROOTFS:=$(IMG_PREFIX)-rootfs IMG_COMBINED:=$(IMG_PREFIX)-combined IMG_PART_SIGNATURE:=$(shell echo $(SOURCE_DATE_EPOCH)$(LINUX_VERMAGIC) | mkhash md5 | cut -b1-8) @@ -293,7 +294,7 @@ endef define Image/Manifest $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ - $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest + $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),$(PROFILE_SANITIZED)).manifest endef define Image/gzip-ext4-padded-squashfs @@ -317,7 +318,7 @@ ifdef CONFIG_TARGET_ROOTFS_TARGZ define Image/Build/targz $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \ $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ - -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz + -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),$(PROFILE_SANITIZED))-rootfs.tar.gz endef endif @@ -385,7 +386,7 @@ define Device/Init IMAGES := ARTIFACTS := - IMAGE_PREFIX := $(IMG_PREFIX)-$(1) + IMAGE_PREFIX := $(IMG_PREFIX)$(1) IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2) IMAGE_SIZE := KERNEL_PREFIX = $$(IMAGE_PREFIX) diff --git a/package/base-files/image-config.in b/package/base-files/image-config.in index 3432db525a..5a70d51a7a 100644 --- a/package/base-files/image-config.in +++ b/package/base-files/image-config.in @@ -264,6 +264,15 @@ if VERSIONOPT Enable this to include the revision identifier or the configured version code into the firmware image, SDK- and Image Builder archive file names + + config TARGET_FILENAMES + bool + prompt "Target and subtarget in filenames" + default n + help + Enable this to include the target (and subtarget) in + firmware image, SDK- and Image Builder archive file names + endif -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Sun Jun 14 06:56:34 2020 From: openwrt-devel at lists.openwrt.org (Roger Pueyo Centelles | Guifi.net via openwrt-devel) Date: Sun, 14 Jun 2020 12:56:34 +0200 Subject: [OpenWrt-Devel] newer mikrotik boards not booting? In-Reply-To: References: Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: "Roger Pueyo Centelles | Guifi.net" Subject: Re: [OpenWrt-Devel] newer mikrotik boards not booting? Date: Sun, 14 Jun 2020 12:56:34 +0200 Size: 8530 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dwmw2 at infradead.org Sun Jun 14 07:09:09 2020 From: dwmw2 at infradead.org (David Woodhouse) Date: Sun, 14 Jun 2020 12:09:09 +0100 Subject: [OpenWrt-Devel] [PATCH] firmware-utils/ptgen: allow explicit placement of partitions Message-ID: For Banana Pi R2 we need to place the U-Boot partition at precisely 0x50000. Signed-off-by: David Woodhouse --- This is part of the Banana Pi R2 support in https://github.com/openwrt/openwrt/pull/3101 but I'll send it under separate cover for review too. tools/firmware-utils/src/ptgen.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/tools/firmware-utils/src/ptgen.c b/tools/firmware-utils/src/ptgen.c index 83067c104d..9d6ff13640 100644 --- a/tools/firmware-utils/src/ptgen.c +++ b/tools/firmware-utils/src/ptgen.c @@ -106,6 +106,7 @@ struct pte { }; struct partinfo { + unsigned long start; unsigned long size; int type; }; @@ -290,8 +291,16 @@ static int gen_ptable(uint32_t signature, int nr) pte[i].type = parts[i].type; start = sect + sectors; - if (kb_align != 0) + if (parts[i].start != 0) { + if (parts[i].start * 2 < start) { + fprintf(stderr, "Invalid start %ld for partition %d!\n", + parts[i].start, i); + return ret; + } + start = parts[i].start * 2; + } else if (kb_align != 0) { start = round_to_kb(start); + } pte[i].start = cpu_to_le32(start); sect = start + parts[i].size * 2; @@ -369,8 +378,16 @@ static int gen_gptable(uint32_t signature, guid_t guid, unsigned nr) return ret; } start = sect + sectors; - if (kb_align != 0) + if (parts[i].start != 0) { + if (parts[i].start * 2 < start) { + fprintf(stderr, "Invalid start %ld for partition %d!\n", + parts[i].start, i); + return ret; + } + start = parts[i].start * 2; + } else if (kb_align != 0) { start = round_to_kb(start); + } gpte[i].start = cpu_to_le64(start); sect = start + parts[i].size * 2; @@ -481,13 +498,14 @@ fail: static void usage(char *prog) { - fprintf(stderr, "Usage: %s [-v] [-n] [-g] -h -s -o [-a 0..4] [-l ] [-G ] [[-t ] -p ...] \n", prog); + fprintf(stderr, "Usage: %s [-v] [-n] [-g] -h -s -o [-a 0..4] [-l ] [-G ] [[-t ] -p [@]...] \n", prog); exit(EXIT_FAILURE); } int main (int argc, char **argv) { unsigned char type = 0x83; + char *p; int ch; int part = 0; uint32_t signature = 0x5452574F; /* 'OWRT' */ @@ -519,7 +537,13 @@ int main (int argc, char **argv) fputs("Too many partitions\n", stderr); exit(EXIT_FAILURE); } + p = strchr(optarg, '@'); + if (p) { + *(p++) = 0; + parts[part].start = to_kbytes(p); + } parts[part].size = to_kbytes(optarg); + fprintf(stderr, "part %ld %ld\n", parts[part].start, parts[part].size); parts[part++].type = type; break; case 't': -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5174 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Sun Jun 14 07:27:41 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Sun, 14 Jun 2020 13:27:41 +0200 Subject: [OpenWrt-Devel] newer mikrotik boards not booting? In-Reply-To: <5b7684ce-e7f3-d6e9-7bfb-ff9f1923a63c@guifi.net> References: <5b7684ce-e7f3-d6e9-7bfb-ff9f1923a63c@guifi.net> Message-ID: <00ad01d6423e$d2a45940$77ed0bc0$@adrianschmutzler.de> > > Sending TERM to remaining processes ... crond uhttpd xinetd sh dnsmasq > > sh ntpd netifd hostapd [ 146.589174] device wlan0 left promiscuouse [ > > 146.593957] br-lan: port 2(wlan0) entered disabled state sleep sleep > > ubusd urngd logd rpcd Sending KILL to remaining processes ... > > /lib/upgrade/stage2: line 126: [-x: not found > > This last line does not look good, but I can't locate it in the source code :( The stage2 file is here: https://github.com/openwrt/openwrt/blob/master/package/base-files/files/lib/upgrade/stage2 But I don't see any -x there ... Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From daniel at makrotopia.org Sun Jun 14 15:10:41 2020 From: daniel at makrotopia.org (Daniel Golle) Date: Sun, 14 Jun 2020 20:10:41 +0100 Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in image filename In-Reply-To: <20200614093330.17516-1-mail@aparcar.org> References: <20200614093330.17516-1-mail@aparcar.org> Message-ID: <20200614191041.GE7682@makrotopia.org> On Sat, Jun 13, 2020 at 11:33:31PM -1000, Paul Spooren wrote: > The target/subtarget information in image filenames is barely of any use > for developers or end users. > > A developer reads the profile name and the target is either obvious due > to previous work or `cd targets/ && grep -r ` tells the target > within 3ms. If no buildroot is available `cat | tail -c 200` > allows a look at the attached metadata which includes the > target/subtarget. > > For users the information is entirely useless and maybe even harmful. > Target names like `cortexa9` could easily be mistaken as an actual > device name while the only relevant information would be > `linksys_wrt3200acm`. Images are more realistically downloaded via a > Wiki entry or a firmware wizard. > > This commit therefore adds the new image option called > CONFIG_TARGET_FILENAMES to make the target/subtarget filename part > optional. It is disabled by default. > > As the profile name `generic` appears multiple times in the x86 target > as well as in oceton and ath25, the proposed patch on GitHub should be > merged first: > * treewide: use unique profile names #3082 > https://github.com/openwrt/openwrt/pull/3082 > > Newly produced files would look like the following: > * openwrt-linksys_wrt3200acm-initramfs-kernel.bin > * openwrt-linksys_wrt3200acm.manifest > * openwrt-linksys_wrt3200acm-squashfs-factory.img > * openwrt-linksys_wrt3200acm-squashfs-sysupgrade.bin > > Signed-off-by: Paul Spooren Once all the requirements (unique and informative image names) are in place to make this work: Acked-by: Daniel Golle > --- > It's been a while since I made a controversial patch[0] so it feels > about time. > > [0]: https://github.com/openwrt/openwrt/pull/2107 > > include/image.mk | 9 +++++---- > package/base-files/image-config.in | 9 +++++++++ > 2 files changed, 14 insertions(+), 4 deletions(-) > > diff --git a/include/image.mk b/include/image.mk > index 984b64fb9c..c6fc467c9e 100644 > --- a/include/image.mk > +++ b/include/image.mk > @@ -37,11 +37,12 @@ KDIR=$(KERNEL_BUILD_DIR) > KDIR_TMP=$(KDIR)/tmp > DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts > > +IMG_PREFIX_TARGET:=$(if $(CONFIG_TARGET_FILENAMES),$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))-) > IMG_PREFIX_EXTRA:=$(if $(EXTRA_IMAGE_NAME),$(call sanitize,$(EXTRA_IMAGE_NAME))-) > IMG_PREFIX_VERNUM:=$(if $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NUMBER))-) > IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call sanitize,$(VERSION_CODE))-) > > -IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) > +IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(IMG_PREFIX_TARGET) > IMG_ROOTFS:=$(IMG_PREFIX)-rootfs > IMG_COMBINED:=$(IMG_PREFIX)-combined > IMG_PART_SIGNATURE:=$(shell echo $(SOURCE_DATE_EPOCH)$(LINUX_VERMAGIC) | mkhash md5 | cut -b1-8) > @@ -293,7 +294,7 @@ endef > > define Image/Manifest > $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ > - $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest > + $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),$(PROFILE_SANITIZED)).manifest > endef > > define Image/gzip-ext4-padded-squashfs > @@ -317,7 +318,7 @@ ifdef CONFIG_TARGET_ROOTFS_TARGZ > define Image/Build/targz > $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \ > $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ > - -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz > + -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),$(PROFILE_SANITIZED))-rootfs.tar.gz > endef > endif > > @@ -385,7 +386,7 @@ define Device/Init > > IMAGES := > ARTIFACTS := > - IMAGE_PREFIX := $(IMG_PREFIX)-$(1) > + IMAGE_PREFIX := $(IMG_PREFIX)$(1) > IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2) > IMAGE_SIZE := > KERNEL_PREFIX = $$(IMAGE_PREFIX) > diff --git a/package/base-files/image-config.in b/package/base-files/image-config.in > index 3432db525a..5a70d51a7a 100644 > --- a/package/base-files/image-config.in > +++ b/package/base-files/image-config.in > @@ -264,6 +264,15 @@ if VERSIONOPT > Enable this to include the revision identifier or the configured > version code into the firmware image, SDK- and Image Builder archive > file names > + > + config TARGET_FILENAMES > + bool > + prompt "Target and subtarget in filenames" > + default n > + help > + Enable this to include the target (and subtarget) in > + firmware image, SDK- and Image Builder archive file names > + > endif > > > -- > 2.20.1 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From joe at ayerscasa.com Sun Jun 14 15:11:04 2020 From: joe at ayerscasa.com (Joe Ayers) Date: Sun, 14 Jun 2020 14:11:04 -0500 Subject: [OpenWrt-Devel] newer mikrotik boards not booting? In-Reply-To: <5b7684ce-e7f3-d6e9-7bfb-ff9f1923a63c@guifi.net> References: <5b7684ce-e7f3-d6e9-7bfb-ff9f1923a63c@guifi.net> Message-ID: > > Anyone else seeing this on recently purchased Mikrotik models? > > Installing openwrt 19.07.03 on a Mikrotik LHG 5 boots, initfs and > > appears to succeed with sysupgrade. Then the device is in an infinite > > boot loop. It appears there's no console configured in routerboot to > > see what it is doing. Any pointers to turn on? > Is it the same with 19.07.2 or 19.07.1? Just to make sure it's not a > regression in OpenWrt. 19.07.3 and 19.07.2 have the same behavior -- after flashing, infinite boot loop. > > Note, I'm working with another individual seeing this on a new LHG 5 > > model device. I have reproduced and tested on a newly purchased SXTsq > > 5HPnD, which has a motherboard labeled "LHG 5HPnD". Prior SXTsq > > 5HPnD and LHG 5HPnD models have been working fine. > > When you boot via TFTP, can you check whether the dmesg lines "Kernel > command line" are the same on older and newer devices? > not working -- new device, openwrt image, 19.07.2, from initramfs boot: [ 0.000000] Kernel command line: no-uart no-nand parts=1 boot_part_size=16777216 gpio=228923 HZ=300000000 mem=64M kmac=74:4D:28:6A:28:F4 board=lhg hw_opt=00284001 boot=0 mlc=11 console=ttyS0,115200 rootfstype=squashfs noinitrd not working -- new device, openwrt image, 19.07.3, from initramfs boot: [ 0.000000] Kernel command line: no-uart no-nand parts=1 boot_part_size=16777216 gpio=228923 HZ=300000000 mem=64M kmac=74:4D:28:6A:28:F4 board=lhg hw_opt=00284001 boot=0 mlc=11 console=ttyS0,115200 rootfstype=squashfs noinitrd Yes, working -- older LHG 5HPnD device, AREDN image based on 19.07.2, flashed image boot (I don't have this device in hand to flash openwrt image directly): [ 0.000000] Kernel command line: no-uart no-buzzer no-nand parts=1 boot_part_size=16777216 gpio=261675 HZ=300000000 mem=64M kmac=64:D1:54:93:9E:A2 board=lhg ver=3.41 hw_opt=00284001 boot=1 mlc=11 console=ttyS0,115200 rootfstype=squashfs noinitrd > > sysupgrade log: > > > > Commencing upgrade. Closing all shell sessions. > > Watchdog handover: fd=3 > > - watchdog - > > Sending TERM to remaining processes ... crond uhttpd xinetd sh dnsmasq > > sh ntpd netifd hostapd [ 146.589174] device wlan0 left promiscuouse > > [ 146.593957] br-lan: port 2(wlan0) entered disabled state > > sleep sleep ubusd urngd logd rpcd > > Sending KILL to remaining processes ... > > /lib/upgrade/stage2: line 126: [-x: not found > > This last line does not look good, but I can't locate it in the source > code :( > I can't reproduce, not sure what this error was all about. Suggest we ignore, unless further occurrences. 19.07.2 sysupgrade on new device. From cpuinfo, "MikroTik RouterBOARD SXTsq 5HPnD", with motherboard label "LHG 5HPnD": root at OpenWrt:/tmp# sysupgrade -n -F openwrt-19.07.2-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin Device unknown not supported by this image Supported devices: rb-750-r2 rb-750up-r2 rb-750p-pbr2 rb-911-2hn rb-911-5hn rb-931-2nd rb-941-2nd rb-951ui-2nd rb-952ui-5ac2nd rb-962uigs-5hact2hnt rb-lhg-5nd rb-map-2nd rb-mapl-2nd rb-wap-2nd rb-wapr-2nd rb-sxt-2nd-r3 Sysupgrade is not yet supported on unknown. Image check failed but --force given - will update anyway! Commencing upgrade. Closing all shell sessions. Watchdog handover: fd=3 - watchdog - killall: telnetd: no process killed Sending TERM to remaining processes ... netifd odhcpd uhttpd ntpd dnsmasq ubusd urngd logd rpcd Sending KILL to remaining processes ... Performing system upgrade... Unlocking firmware ... Writing from to firmware ... Upgrade completed Rebooting system... umount: can't unmount /dev: Resource busy umount: can't unmount /tmp: Resource busy umount: can't unmount /: Invalid argument [ 1082.724168] reboot: Restarting system 19.07.3 sysupgrade on new device. From cpuinfo, "MikroTik RouterBOARD SXTsq 5HPnD", with motherboard label "LHG 5HPnD": root at OpenWrt:/tmp# sysupgrade -n -F openwrt-19.07.3-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin Device unknown not supported by this image Supported devices: rb-750-r2 rb-750up-r2 rb-750p-pbr2 rb-911-2hn rb-911-5hn rb-931-2nd rb-941-2nd rb-951ui-2nd rb-952ui-5ac2nd rb-962uigs-5hact2hnt rb-lhg-5nd rb-map-2nd rb-mapl-2nd rb-wap-2nd rb-wapr-2nd rb-sxt-2nd-r3 Sysupgrade is not yet supported on unknown. Image check failed but --force given - will update anyway! Commencing upgrade. Closing all shell sessions. Watchdog handover: fd=3 - watchdog - killall: telnetd: no process killed Sending TERM to remaining processes ... netifd odhcpd uhttpd ntpd dnsmasq ubusd urngd logd rpcd Sending KILL to remaining processes ... Performing system upgrade... Unlocking firmware ... Writing from to firmware ... Upgrade completed Rebooting system... umount: can't unmount /dev: Resource busy umount: can't unmount /tmp: Resource busy umount: can't unmount /: Invalid argument [ 304.564494] Removing MTD device #1 (hard_config) with use count 1 [ 304.571849] reboot: Restarting system Same result with 19.07.2 and 19.07.3, device in infinite boot loop. Joe AE6XE _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From paweldembicki at gmail.com Sun Jun 14 15:52:11 2020 From: paweldembicki at gmail.com (=?UTF-8?Q?Pawe=C5=82_Dembicki?=) Date: Sun, 14 Jun 2020 21:52:11 +0200 Subject: [OpenWrt-Devel] [RFC PATCH] kirkwood: use real model names for Linksys devices In-Reply-To: <20200613200852.28760-1-freifunk@adrianschmutzler.de> References: <20200613200852.28760-1-freifunk@adrianschmutzler.de> Message-ID: sob., 13 cze 2020 o 22:09 Adrian Schmutzler napisa?(a): > Hi Adrian, > This replaces the internal device names "Audi" and "Viper" with the > real model names, which a user would look for. This makes the > Linksys devices on this target consistent with the names recently > changed for mvebu based on the same idea. > > Signed-off-by: Adrian Schmutzler > --- > > While marked as RFC, this patch should be fully ready for merge already. > > --- > package/boot/uboot-envtools/files/kirkwood | 4 ++-- > target/linux/kirkwood/base-files/etc/board.d/01_leds | 2 +- > .../linux/kirkwood/base-files/etc/board.d/02_network | 4 ++-- > target/linux/kirkwood/base-files/etc/init.d/bootcount | 4 ++-- > .../linux/kirkwood/base-files/lib/upgrade/platform.sh | 4 ++-- > .../arch/arm/boot/dts/kirkwood-linksys-audi.dts | 2 +- > target/linux/kirkwood/image/Makefile | 10 ++++++---- > target/linux/kirkwood/patches-5.4/105-ea4500.patch | 9 +++++++++ > 8 files changed, 25 insertions(+), 14 deletions(-) > > diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood > index b5f7ddccb7..10dde84c8c 100644 > --- a/package/boot/uboot-envtools/files/kirkwood > +++ b/package/boot/uboot-envtools/files/kirkwood > @@ -16,14 +16,14 @@ case "$board" in > cloudengines,pogoe02|\ > cloudengines,pogoplugv4|\ > iom,ix2-200|\ > -linksys,viper|\ > +linksys,ea4500|\ > raidsonic,ib-nas62x0|\ > seagate,dockstar|\ > zyxel,nsa310b|\ > zyxel,nsa325) > ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" > ;; > -linksys,audi) > +linksys,ea3500) > ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x4000" "0x4000" > ;; > esac > diff --git a/target/linux/kirkwood/base-files/etc/board.d/01_leds b/target/linux/kirkwood/base-files/etc/board.d/01_leds > index bba845eae5..7e589e9bfc 100755 > --- a/target/linux/kirkwood/base-files/etc/board.d/01_leds > +++ b/target/linux/kirkwood/base-files/etc/board.d/01_leds > @@ -13,7 +13,7 @@ case "$board" in > "iom,ix2-200") > ucidef_set_led_timer "health" "health" "status:white:rebuild_led" "200" "800" > ;; > -"linksys,viper") > +"linksys,ea4500") > ucidef_set_led_default "pulse" "pulse" "viper:white:pulse" "1" > ;; > "zyxel,nsa310b") > diff --git a/target/linux/kirkwood/base-files/etc/board.d/02_network b/target/linux/kirkwood/base-files/etc/board.d/02_network > index df01b0bb1b..3c844f2819 100755 > --- a/target/linux/kirkwood/base-files/etc/board.d/02_network > +++ b/target/linux/kirkwood/base-files/etc/board.d/02_network > @@ -24,8 +24,8 @@ case "$board" in > "seagate,goflexnet") > ucidef_set_interface_lan "eth0" "dhcp" > ;; > -"linksys,audi"|\ > -"linksys,viper") > +"linksys,ea3500"|\ > +"linksys,ea4500") > ucidef_set_interfaces_lan_wan "ethernet1 ethernet2 ethernet3 ethernet4" "internet" > ucidef_set_interface_macaddr "wan" $( mtd_get_mac_ascii u_env eth1addr ) > ;; > diff --git a/target/linux/kirkwood/base-files/etc/init.d/bootcount b/target/linux/kirkwood/base-files/etc/init.d/bootcount > index 478f3d0134..b1e5152326 100755 > --- a/target/linux/kirkwood/base-files/etc/init.d/bootcount > +++ b/target/linux/kirkwood/base-files/etc/init.d/bootcount > @@ -4,8 +4,8 @@ START=99 > > boot() { > case $(board_name) in > - linksys,audi|\ > - linksys,viper) > + linksys,ea3500|\ > + linksys,ea4500) > mtd resetbc s_env || true > ;; > esac > diff --git a/target/linux/kirkwood/base-files/lib/upgrade/platform.sh b/target/linux/kirkwood/base-files/lib/upgrade/platform.sh > index 6d63a0a4b7..4629395347 100644 > --- a/target/linux/kirkwood/base-files/lib/upgrade/platform.sh > +++ b/target/linux/kirkwood/base-files/lib/upgrade/platform.sh > @@ -11,8 +11,8 @@ platform_do_upgrade() { > local board="$(board_name)" > > case "$board" in > - "linksys,audi"|\ > - "linksys,viper") > + linksys,ea3500|\ > + linksys,ea4500) > platform_do_upgrade_linksys "$1" > ;; > *) > diff --git a/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts b/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts > index 90250fefc8..5952f57a4a 100644 > --- a/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts > +++ b/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts > @@ -16,7 +16,7 @@ > > / { > model = "Linksys Audi (EA3500)"; > - compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood"; > + compatible = "linksys,ea3500", "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood"; > > memory at 0 { > device_type = "memory"; > diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile > index 552ee44ee4..c56415bf1c 100644 > --- a/target/linux/kirkwood/image/Makefile > +++ b/target/linux/kirkwood/image/Makefile > @@ -78,7 +78,7 @@ define Device/iom_ix2-200 > endef > TARGET_DEVICES += iom_ix2-200 > > -define Device/linksys_audi > +define Device/linksys_ea3500 > DEVICE_VENDOR := Linksys > DEVICE_MODEL := EA3500 (Audi) > DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug > @@ -90,11 +90,12 @@ define Device/linksys_audi > UBINIZE_OPTS := -E 5 > IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi > BOARD_NAME := linksys-audi > + SUPPORTED_DEVICES += linksys,audi You didn't add "SUPPORTED_DEVICES" in mvebu. After movement to DSA, images have broken config after sysupgrade. Maybe at this moment drop this line? > DEFAULT := n > endef > -TARGET_DEVICES += linksys_audi > +TARGET_DEVICES += linksys_ea3500 > > -define Device/linksys_viper > +define Device/linksys_ea4500 > DEVICE_VENDOR := Linksys > DEVICE_MODEL := E4200v2 / EA4500 (Viper) > DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug > @@ -103,8 +104,9 @@ define Device/linksys_viper > UBINIZE_OPTS := -E 5 > IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi > BOARD_NAME := linksys-viper > + SUPPORTED_DEVICES += linksys,viper The same issue like in Audi. > endef > -TARGET_DEVICES += linksys_viper > +TARGET_DEVICES += linksys_ea4500 > > define Device/raidsonic_ib-nas62x0 > DEVICE_VENDOR := RaidSonic > diff --git a/target/linux/kirkwood/patches-5.4/105-ea4500.patch b/target/linux/kirkwood/patches-5.4/105-ea4500.patch > index 0d97ad14a2..c2bbe9d240 100644 > --- a/target/linux/kirkwood/patches-5.4/105-ea4500.patch > +++ b/target/linux/kirkwood/patches-5.4/105-ea4500.patch > @@ -1,5 +1,14 @@ > --- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts > +++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts > +@@ -16,7 +16,7 @@ > + > + / { > + model = "Linksys Viper (E4200v2 / EA4500)"; > +- compatible = "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood"; > ++ compatible = "linksys,ea4500", "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood"; > + > + memory { > + device_type = "memory"; > @@ -24,6 +24,10 @@ > }; > > -- > 2.20.1 BR, Pawel Dembicki _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Sun Jun 14 16:00:48 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Sun, 14 Jun 2020 22:00:48 +0200 Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in image filename In-Reply-To: <20200614093330.17516-1-mail@aparcar.org> References: <20200614093330.17516-1-mail@aparcar.org> Message-ID: <002a01d64286$7fc90660$7f5b1320$@adrianschmutzler.de> Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Paul Spooren > Sent: Sonntag, 14. Juni 2020 11:34 > To: openwrt-devel at lists.openwrt.org > Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in image > filename > > The target/subtarget information in image filenames is barely of any use for > developers or end users. > > A developer reads the profile name and the target is either obvious due to > previous work or `cd targets/ && grep -r ` tells the target within > 3ms. If no buildroot is available `cat | tail -c 200` allows a look at the > attached metadata which includes the target/subtarget. > > For users the information is entirely useless and maybe even harmful. > Target names like `cortexa9` could easily be mistaken as an actual device > name while the only relevant information would be `linksys_wrt3200acm`. > Images are more realistically downloaded via a Wiki entry or a firmware > wizard. > > This commit therefore adds the new image option called > CONFIG_TARGET_FILENAMES to make the target/subtarget filename part > optional. It is disabled by default. > > As the profile name `generic` appears multiple times in the x86 target as well > as in oceton and ath25, the proposed patch on GitHub should be merged > first: > * treewide: use unique profile names #3082 > https://github.com/openwrt/openwrt/pull/3082 > > Newly produced files would look like the following: > * openwrt-linksys_wrt3200acm-initramfs-kernel.bin > * openwrt-linksys_wrt3200acm.manifest > * openwrt-linksys_wrt3200acm-squashfs-factory.img > * openwrt-linksys_wrt3200acm-squashfs-sysupgrade.bin I just think of ar71xx and ath79, where we have the same device but different targets. Of course, the name won't be exactly equal, as ath79 will have e.g. tplink_ prefix and ar71xx won't. For bcm63xx, we have two subtargets that build the same devices. If we look at PR#2957, we might have a now bmips target at some point that features the same devices as bcm63xx. This won't necessarily break anything, as images will still be in different folders (at least in /bin). However, we couldn't tell the difference between ar71xx/ath79 or similar from the image name (easily) after this change, or whether it's generic or smp for bcm63xx. For my personal taste, this drawback is bigger that the gain we will get from removing the target/subtarget part. So, unless there is overwhelming support, I tend to NAK this. Best Adrian > > Signed-off-by: Paul Spooren > --- > It's been a while since I made a controversial patch[0] so it feels about time. > > [0]: https://github.com/openwrt/openwrt/pull/2107 > > include/image.mk | 9 +++++---- > package/base-files/image-config.in | 9 +++++++++ > 2 files changed, 14 insertions(+), 4 deletions(-) > > diff --git a/include/image.mk b/include/image.mk index > 984b64fb9c..c6fc467c9e 100644 > --- a/include/image.mk > +++ b/include/image.mk > @@ -37,11 +37,12 @@ KDIR=$(KERNEL_BUILD_DIR) > KDIR_TMP=$(KDIR)/tmp > DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts > > +IMG_PREFIX_TARGET:=$(if $(CONFIG_TARGET_FILENAMES),$(BOARD)$(if > +$(SUBTARGET),-$(SUBTARGET))-) > IMG_PREFIX_EXTRA:=$(if $(EXTRA_IMAGE_NAME),$(call > sanitize,$(EXTRA_IMAGE_NAME))-) IMG_PREFIX_VERNUM:=$(if > $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NUMBER))-) > IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call > sanitize,$(VERSION_CODE))-) > > -IMG_PREFIX:=$(VERSION_DIST_SANITIZED)- > $(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$ > (BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) > +IMG_PREFIX:=$(VERSION_DIST_SANITIZED)- > $(IMG_PREFIX_VERNUM)$(IMG_PREFIX_ > +VERCODE)$(IMG_PREFIX_EXTRA)$(IMG_PREFIX_TARGET) > IMG_ROOTFS:=$(IMG_PREFIX)-rootfs > IMG_COMBINED:=$(IMG_PREFIX)-combined > IMG_PART_SIGNATURE:=$(shell echo > $(SOURCE_DATE_EPOCH)$(LINUX_VERMAGIC) | mkhash md5 | cut -b1-8) > @@ -293,7 +294,7 @@ endef > > define Image/Manifest > $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ > - $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),- > $(PROFILE_SANITIZED)).manifest > + $(BIN_DIR)/$(IMG_PREFIX)$(if > +$(PROFILE_SANITIZED),$(PROFILE_SANITIZED)).manifest > endef > > define Image/gzip-ext4-padded-squashfs > @@ -317,7 +318,7 @@ ifdef CONFIG_TARGET_ROOTFS_TARGZ > define Image/Build/targz > $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s -- > sort=name \ > $(if $(SOURCE_DATE_EPOCH),-- > mtime="@$(SOURCE_DATE_EPOCH)") \ > - -C $(TARGET_DIR)/ . | gzip -9n > > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),- > $(PROFILE_SANITIZED))-rootfs.tar.gz > + -C $(TARGET_DIR)/ . | gzip -9n > > $(BIN_DIR)/$(IMG_PREFIX)$(if > +$(PROFILE_SANITIZED),$(PROFILE_SANITIZED))-rootfs.tar.gz > endef > endif > > @@ -385,7 +386,7 @@ define Device/Init > > IMAGES := > ARTIFACTS := > - IMAGE_PREFIX := $(IMG_PREFIX)-$(1) > + IMAGE_PREFIX := $(IMG_PREFIX)$(1) > IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2) > IMAGE_SIZE := > KERNEL_PREFIX = $$(IMAGE_PREFIX) > diff --git a/package/base-files/image-config.in b/package/base-files/image- > config.in > index 3432db525a..5a70d51a7a 100644 > --- a/package/base-files/image-config.in > +++ b/package/base-files/image-config.in > @@ -264,6 +264,15 @@ if VERSIONOPT > Enable this to include the revision identifier or the > configured > version code into the firmware image, SDK- and > Image Builder archive > file names > + > + config TARGET_FILENAMES > + bool > + prompt "Target and subtarget in filenames" > + default n > + help > + Enable this to include the target (and subtarget) in > + firmware image, SDK- and Image Builder archive file > names > + > endif > > > -- > 2.20.1 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Sun Jun 14 16:12:27 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Sun, 14 Jun 2020 22:12:27 +0200 Subject: [OpenWrt-Devel] [RFC PATCH] kirkwood: use real model names for Linksys devices In-Reply-To: References: <20200613200852.28760-1-freifunk@adrianschmutzler.de> Message-ID: <003b01d64288$205364d0$60fa2e70$@adrianschmutzler.de> Hi, > > + SUPPORTED_DEVICES += linksys,audi > > You didn't add "SUPPORTED_DEVICES" in mvebu. After movement to DSA, > images have broken config after sysupgrade. Maybe at this moment drop > this line? Hmm, adding support for DSA has been already 45 days ago. So there will be at least a few DSA devices out there that already have adapted the new config (at least for viper, for audi somebody would have to build his own image, so there might be much less), but still have the "audi"/"viper" name. Those would then be annoyed by the need to force upgrade. On the other side, the users that may be hindered from destroying their network config by the rename without keeping SUPPORTED_DEVICES might be many more; and the early adopters might be more ready to deal with the forced upgrade (where they could actually keep their config) than the others might be with cleaning up a broken network config. So, all in all I'm inclined to follow this suggestion, unless somebody has a strong point against it. (I would also drop the BOARD_NAME then, and use DEVICE_DTS instead.) Thanks for making me aware of this. Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at aparcar.org Sun Jun 14 16:22:26 2020 From: mail at aparcar.org (Paul Spooren) Date: Sun, 14 Jun 2020 10:22:26 -1000 Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in image filename In-Reply-To: <002a01d64286$7fc90660$7f5b1320$@adrianschmutzler.de> References: <20200614093330.17516-1-mail@aparcar.org> <002a01d64286$7fc90660$7f5b1320$@adrianschmutzler.de> Message-ID: Hi, On 6/14/20 10:00 AM, mail at adrianschmutzler.de wrote: >> -----Original Message----- >> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] >> On Behalf Of Paul Spooren >> Sent: Sonntag, 14. Juni 2020 11:34 >> To: openwrt-devel at lists.openwrt.org >> Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in image >> filename >> >> The target/subtarget information in image filenames is barely of any use for >> developers or end users. >> >> A developer reads the profile name and the target is either obvious due to >> previous work or `cd targets/ && grep -r ` tells the target within >> 3ms. If no buildroot is available `cat | tail -c 200` allows a look at the >> attached metadata which includes the target/subtarget. >> >> For users the information is entirely useless and maybe even harmful. >> Target names like `cortexa9` could easily be mistaken as an actual device >> name while the only relevant information would be `linksys_wrt3200acm`. >> Images are more realistically downloaded via a Wiki entry or a firmware >> wizard. >> >> This commit therefore adds the new image option called >> CONFIG_TARGET_FILENAMES to make the target/subtarget filename part >> optional. It is disabled by default. >> >> As the profile name `generic` appears multiple times in the x86 target as well >> as in oceton and ath25, the proposed patch on GitHub should be merged >> first: >> * treewide: use unique profile names #3082 >> https://github.com/openwrt/openwrt/pull/3082 >> >> Newly produced files would look like the following: >> * openwrt-linksys_wrt3200acm-initramfs-kernel.bin >> * openwrt-linksys_wrt3200acm.manifest >> * openwrt-linksys_wrt3200acm-squashfs-factory.img >> * openwrt-linksys_wrt3200acm-squashfs-sysupgrade.bin > I just think of ar71xx and ath79, where we have the same device but different targets. Of course, the name won't be exactly equal, as ath79 will have e.g. tplink_ prefix and ar71xx won't. Isn't ar71xx removed from master builds? It's neither at snapshot https://downloads.openwrt.org/snapshots/targets/ nor planed to be re-added to any upcoming release, is it? > For bcm63xx, we have two subtargets that build the same devices. > If we look at PR#2957, we might have a now bmips target at some point that features the same devices as bcm63xx. Can you please explain why that's the case? Why do we offer different images for the same device? I understand that for ar71xx -> ath79 within a transfer period but it's never the scope to offer different "flavors" long term, is it? > This won't necessarily break anything, as images will still be in different folders (at least in /bin). I would be at least confusing and reverts the "unique profile name" idea. > However, we couldn't tell the difference between ar71xx/ath79 or similar from the image name (easily) after this change, or whether it's generic or smp for bcm63xx. For my personal taste, this drawback is bigger that the gain we will get from removing the target/subtarget part. Again, this sounds like a undesirable state where we not only build but also maintain multiple images for the save device. Wouldn't it be possible to add the target to all those "legacy images", however remove it wherever a target uses device tree and images.mk aka has long term support? > So, unless there is overwhelming support, I tend to NAK this. :( > Best Paul > >> Signed-off-by: Paul Spooren >> --- >> It's been a while since I made a controversial patch[0] so it feels about time. >> >> [0]: https://github.com/openwrt/openwrt/pull/2107 >> >> include/image.mk | 9 +++++---- >> package/base-files/image-config.in | 9 +++++++++ >> 2 files changed, 14 insertions(+), 4 deletions(-) >> >> diff --git a/include/image.mk b/include/image.mk index >> 984b64fb9c..c6fc467c9e 100644 >> --- a/include/image.mk >> +++ b/include/image.mk >> @@ -37,11 +37,12 @@ KDIR=$(KERNEL_BUILD_DIR) >> KDIR_TMP=$(KDIR)/tmp >> DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts >> >> +IMG_PREFIX_TARGET:=$(if $(CONFIG_TARGET_FILENAMES),$(BOARD)$(if >> +$(SUBTARGET),-$(SUBTARGET))-) >> IMG_PREFIX_EXTRA:=$(if $(EXTRA_IMAGE_NAME),$(call >> sanitize,$(EXTRA_IMAGE_NAME))-) IMG_PREFIX_VERNUM:=$(if >> $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NUMBER))-) >> IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call >> sanitize,$(VERSION_CODE))-) >> >> -IMG_PREFIX:=$(VERSION_DIST_SANITIZED)- >> $(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$ >> (BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) >> +IMG_PREFIX:=$(VERSION_DIST_SANITIZED)- >> $(IMG_PREFIX_VERNUM)$(IMG_PREFIX_ >> +VERCODE)$(IMG_PREFIX_EXTRA)$(IMG_PREFIX_TARGET) >> IMG_ROOTFS:=$(IMG_PREFIX)-rootfs >> IMG_COMBINED:=$(IMG_PREFIX)-combined >> IMG_PART_SIGNATURE:=$(shell echo >> $(SOURCE_DATE_EPOCH)$(LINUX_VERMAGIC) | mkhash md5 | cut -b1-8) >> @@ -293,7 +294,7 @@ endef >> >> define Image/Manifest >> $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ >> - $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),- >> $(PROFILE_SANITIZED)).manifest >> + $(BIN_DIR)/$(IMG_PREFIX)$(if >> +$(PROFILE_SANITIZED),$(PROFILE_SANITIZED)).manifest >> endef >> >> define Image/gzip-ext4-padded-squashfs >> @@ -317,7 +318,7 @@ ifdef CONFIG_TARGET_ROOTFS_TARGZ >> define Image/Build/targz >> $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s -- >> sort=name \ >> $(if $(SOURCE_DATE_EPOCH),-- >> mtime="@$(SOURCE_DATE_EPOCH)") \ >> - -C $(TARGET_DIR)/ . | gzip -9n > >> $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),- >> $(PROFILE_SANITIZED))-rootfs.tar.gz >> + -C $(TARGET_DIR)/ . | gzip -9n > >> $(BIN_DIR)/$(IMG_PREFIX)$(if >> +$(PROFILE_SANITIZED),$(PROFILE_SANITIZED))-rootfs.tar.gz >> endef >> endif >> >> @@ -385,7 +386,7 @@ define Device/Init >> >> IMAGES := >> ARTIFACTS := >> - IMAGE_PREFIX := $(IMG_PREFIX)-$(1) >> + IMAGE_PREFIX := $(IMG_PREFIX)$(1) >> IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2) >> IMAGE_SIZE := >> KERNEL_PREFIX = $$(IMAGE_PREFIX) >> diff --git a/package/base-files/image-config.in b/package/base-files/image- >> config.in >> index 3432db525a..5a70d51a7a 100644 >> --- a/package/base-files/image-config.in >> +++ b/package/base-files/image-config.in >> @@ -264,6 +264,15 @@ if VERSIONOPT >> Enable this to include the revision identifier or the >> configured >> version code into the firmware image, SDK- and >> Image Builder archive >> file names >> + >> + config TARGET_FILENAMES >> + bool >> + prompt "Target and subtarget in filenames" >> + default n >> + help >> + Enable this to include the target (and subtarget) in >> + firmware image, SDK- and Image Builder archive file >> names >> + >> endif >> >> >> -- >> 2.20.1 >> >> >> _______________________________________________ >> openwrt-devel mailing list >> openwrt-devel at lists.openwrt.org >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From paweldembicki at gmail.com Sun Jun 14 16:29:44 2020 From: paweldembicki at gmail.com (=?UTF-8?Q?Pawe=C5=82_Dembicki?=) Date: Sun, 14 Jun 2020 22:29:44 +0200 Subject: [OpenWrt-Devel] [RFC PATCH] kirkwood: use real model names for Linksys devices In-Reply-To: <003b01d64288$205364d0$60fa2e70$@adrianschmutzler.de> References: <20200613200852.28760-1-freifunk@adrianschmutzler.de> <003b01d64288$205364d0$60fa2e70$@adrianschmutzler.de> Message-ID: niedz., 14 cze 2020 o 22:12 napisa?(a): > > Hi, > > > > + SUPPORTED_DEVICES += linksys,audi > > > > You didn't add "SUPPORTED_DEVICES" in mvebu. After movement to DSA, > > images have broken config after sysupgrade. Maybe at this moment drop > > this line? > > Hmm, adding support for DSA has been already 45 days ago. > So there will be at least a few DSA devices out there that already have adapted the new config (at least for viper, for audi somebody would have to build his own image, so there might be much less), but still have the "audi"/"viper" name. Those would then be annoyed by the need to force upgrade. > > On the other side, the users that may be hindered from destroying their network config by the rename without keeping SUPPORTED_DEVICES might be many more; and the early adopters might be more ready to deal with the forced upgrade (where they could actually keep their config) than the others might be with cleaning up a broken network config. > Snapshot users are likely intermediate/expert users. They know, that snapshots could have surprises. The problem will start with stable 20.X, when regular people will update their <=19.07 devices. Your sysupgrade patch is at this moment the only way to make it proper in future. > So, all in all I'm inclined to follow this suggestion, unless somebody has a strong point against it. > (I would also drop the BOARD_NAME then, and use DEVICE_DTS instead.) > > Thanks for making me aware of this. > > Best > > Adrian BR, Pawel Dembicki _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From noreply at github.com Sun Jun 14 17:07:33 2020 From: noreply at github.com (Stephen Walker) Date: Sun, 14 Jun 2020 14:07:33 -0700 Subject: [OpenWrt-Devel] [sdwalker/sdwalker.github.io] f336f8: This week's update Message-ID: Branch: refs/heads/master Home: https://github.com/sdwalker/sdwalker.github.io Commit: f336f8e076dee2483b9a8840d03b9273b890d0a3 https://github.com/sdwalker/sdwalker.github.io/commit/f336f8e076dee2483b9a8840d03b9273b890d0a3 Author: Stephen Walker Date: 2020-06-14 (Sun, 14 Jun 2020) Changed paths: M uscan/index-18.06.html M uscan/index-19.07.html M uscan/index.html Log Message: ----------- This week's update _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Sun Jun 14 18:13:00 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Mon, 15 Jun 2020 00:13:00 +0200 Subject: [OpenWrt-Devel] [RFT PATCH v2] kirkwood: use real model names for Linksys devices Message-ID: <20200614221300.9518-1-freifunk@adrianschmutzler.de> This replaces the internal device names "Audi" and "Viper" with the real model names, which a user would look for. This makes the Linksys devices on this target consistent with the names recently changed for mvebu based on the same idea. After the recent switch from swconfig to DSA, this also drops the SUPPORTED_DEVICES for these devices. This might serve as indirect warning to not just upgrade into a broken config. Signed-off-by: Adrian Schmutzler --- Please run-test this patch on the devices if possible, I don't have them. --- package/boot/uboot-envtools/files/kirkwood | 4 ++-- target/linux/kirkwood/base-files/etc/board.d/01_leds | 2 +- .../linux/kirkwood/base-files/etc/board.d/02_network | 4 ++-- .../linux/kirkwood/base-files/etc/init.d/bootcount | 4 ++-- .../kirkwood/base-files/lib/upgrade/platform.sh | 4 ++-- .../arch/arm/boot/dts/kirkwood-linksys-audi.dts | 2 +- target/linux/kirkwood/image/Makefile | 12 ++++++------ target/linux/kirkwood/patches-5.4/105-ea4500.patch | 9 +++++++++ 8 files changed, 25 insertions(+), 16 deletions(-) diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood index b5f7ddccb7..10dde84c8c 100644 --- a/package/boot/uboot-envtools/files/kirkwood +++ b/package/boot/uboot-envtools/files/kirkwood @@ -16,14 +16,14 @@ case "$board" in cloudengines,pogoe02|\ cloudengines,pogoplugv4|\ iom,ix2-200|\ -linksys,viper|\ +linksys,ea4500|\ raidsonic,ib-nas62x0|\ seagate,dockstar|\ zyxel,nsa310b|\ zyxel,nsa325) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" ;; -linksys,audi) +linksys,ea3500) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x4000" "0x4000" ;; esac diff --git a/target/linux/kirkwood/base-files/etc/board.d/01_leds b/target/linux/kirkwood/base-files/etc/board.d/01_leds index bbe689bbb5..7186663ed1 100755 --- a/target/linux/kirkwood/base-files/etc/board.d/01_leds +++ b/target/linux/kirkwood/base-files/etc/board.d/01_leds @@ -13,7 +13,7 @@ case "$board" in "iom,ix2-200") ucidef_set_led_timer "health" "health" "status:white:rebuild_led" "200" "800" ;; -"linksys,viper") +"linksys,ea4500") ucidef_set_led_default "pulse" "pulse" "viper:white:pulse" "1" ;; esac diff --git a/target/linux/kirkwood/base-files/etc/board.d/02_network b/target/linux/kirkwood/base-files/etc/board.d/02_network index df01b0bb1b..3c844f2819 100755 --- a/target/linux/kirkwood/base-files/etc/board.d/02_network +++ b/target/linux/kirkwood/base-files/etc/board.d/02_network @@ -24,8 +24,8 @@ case "$board" in "seagate,goflexnet") ucidef_set_interface_lan "eth0" "dhcp" ;; -"linksys,audi"|\ -"linksys,viper") +"linksys,ea3500"|\ +"linksys,ea4500") ucidef_set_interfaces_lan_wan "ethernet1 ethernet2 ethernet3 ethernet4" "internet" ucidef_set_interface_macaddr "wan" $( mtd_get_mac_ascii u_env eth1addr ) ;; diff --git a/target/linux/kirkwood/base-files/etc/init.d/bootcount b/target/linux/kirkwood/base-files/etc/init.d/bootcount index 478f3d0134..b1e5152326 100755 --- a/target/linux/kirkwood/base-files/etc/init.d/bootcount +++ b/target/linux/kirkwood/base-files/etc/init.d/bootcount @@ -4,8 +4,8 @@ START=99 boot() { case $(board_name) in - linksys,audi|\ - linksys,viper) + linksys,ea3500|\ + linksys,ea4500) mtd resetbc s_env || true ;; esac diff --git a/target/linux/kirkwood/base-files/lib/upgrade/platform.sh b/target/linux/kirkwood/base-files/lib/upgrade/platform.sh index 6d63a0a4b7..4629395347 100644 --- a/target/linux/kirkwood/base-files/lib/upgrade/platform.sh +++ b/target/linux/kirkwood/base-files/lib/upgrade/platform.sh @@ -11,8 +11,8 @@ platform_do_upgrade() { local board="$(board_name)" case "$board" in - "linksys,audi"|\ - "linksys,viper") + linksys,ea3500|\ + linksys,ea4500) platform_do_upgrade_linksys "$1" ;; *) diff --git a/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts b/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts index 90250fefc8..5952f57a4a 100644 --- a/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts +++ b/target/linux/kirkwood/files-5.4/arch/arm/boot/dts/kirkwood-linksys-audi.dts @@ -16,7 +16,7 @@ / { model = "Linksys Audi (EA3500)"; - compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood"; + compatible = "linksys,ea3500", "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood"; memory at 0 { device_type = "memory"; diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index b8cc92760d..f67a26f12e 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -80,7 +80,7 @@ define Device/iom_ix2-200 endef TARGET_DEVICES += iom_ix2-200 -define Device/linksys_audi +define Device/linksys_ea3500 DEVICE_VENDOR := Linksys DEVICE_MODEL := EA3500 (Audi) DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug @@ -91,11 +91,11 @@ define Device/linksys_audi KERNEL_IN_UBI := UBINIZE_OPTS := -E 5 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi - BOARD_NAME := linksys-audi + DEVICE_DTS := kirkwood-linksys-audi endef -TARGET_DEVICES += linksys_audi +TARGET_DEVICES += linksys_ea3500 -define Device/linksys_viper +define Device/linksys_ea4500 DEVICE_VENDOR := Linksys DEVICE_MODEL := E4200v2 / EA4500 (Viper) DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug @@ -103,9 +103,9 @@ define Device/linksys_viper KERNEL_IN_UBI := UBINIZE_OPTS := -E 5 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi - BOARD_NAME := linksys-viper + DEVICE_DTS := kirkwood-linksys-viper endef -TARGET_DEVICES += linksys_viper +TARGET_DEVICES += linksys_ea4500 define Device/raidsonic_ib-nas62x0 DEVICE_VENDOR := RaidSonic diff --git a/target/linux/kirkwood/patches-5.4/105-ea4500.patch b/target/linux/kirkwood/patches-5.4/105-ea4500.patch index 0d97ad14a2..c2bbe9d240 100644 --- a/target/linux/kirkwood/patches-5.4/105-ea4500.patch +++ b/target/linux/kirkwood/patches-5.4/105-ea4500.patch @@ -1,5 +1,14 @@ --- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts +++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts +@@ -16,7 +16,7 @@ + + / { + model = "Linksys Viper (E4200v2 / EA4500)"; +- compatible = "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood"; ++ compatible = "linksys,ea4500", "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood"; + + memory { + device_type = "memory"; @@ -24,6 +24,10 @@ }; -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Sun Jun 14 18:31:57 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Mon, 15 Jun 2020 00:31:57 +0200 Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in image filename In-Reply-To: References: <20200614093330.17516-1-mail@aparcar.org> <002a01d64286$7fc90660$7f5b1320$@adrianschmutzler.de> Message-ID: <005001d6429b$9d8f8100$d8ae8300$@adrianschmutzler.de> Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Paul Spooren > Sent: Sonntag, 14. Juni 2020 22:22 > To: mail at adrianschmutzler.de; openwrt-devel at lists.openwrt.org > Subject: Re: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in > image filename > > Hi, > > On 6/14/20 10:00 AM, mail at adrianschmutzler.de wrote: > >> -----Original Message----- > >> From: openwrt-devel [mailto:openwrt-devel- > bounces at lists.openwrt.org] > >> On Behalf Of Paul Spooren > >> Sent: Sonntag, 14. Juni 2020 11:34 > >> To: openwrt-devel at lists.openwrt.org > >> Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in > >> image filename > >> > >> The target/subtarget information in image filenames is barely of any > >> use for developers or end users. > >> > >> A developer reads the profile name and the target is either obvious > >> due to previous work or `cd targets/ && grep -r ` tells the > >> target within 3ms. If no buildroot is available `cat | tail > >> -c 200` allows a look at the attached metadata which includes the > target/subtarget. > >> > >> For users the information is entirely useless and maybe even harmful. > >> Target names like `cortexa9` could easily be mistaken as an actual > >> device name while the only relevant information would be > `linksys_wrt3200acm`. > >> Images are more realistically downloaded via a Wiki entry or a > >> firmware wizard. > >> > >> This commit therefore adds the new image option called > >> CONFIG_TARGET_FILENAMES to make the target/subtarget filename part > >> optional. It is disabled by default. > >> > >> As the profile name `generic` appears multiple times in the x86 > >> target as well as in oceton and ath25, the proposed patch on GitHub > >> should be merged > >> first: > >> * treewide: use unique profile names #3082 > >> https://github.com/openwrt/openwrt/pull/3082 > >> > >> Newly produced files would look like the following: > >> * openwrt-linksys_wrt3200acm-initramfs-kernel.bin > >> * openwrt-linksys_wrt3200acm.manifest > >> * openwrt-linksys_wrt3200acm-squashfs-factory.img > >> * openwrt-linksys_wrt3200acm-squashfs-sysupgrade.bin > > I just think of ar71xx and ath79, where we have the same device but > different targets. Of course, the name won't be exactly equal, as ath79 will > have e.g. tplink_ prefix and ar71xx won't. > Isn't ar71xx removed from master builds? It's neither at snapshot > https://downloads.openwrt.org/snapshots/targets/ nor planed to be re- > added to any upcoming release, is it? Yes, but it's just an example for a similar situation which might arise in the future. Then, we even might not have the current situation with the different device names, but may end up with completely identical names except for the target. > > For bcm63xx, we have two subtargets that build the same devices. > > If we look at PR#2957, we might have a now bmips target at some point > that features the same devices as bcm63xx. > Can you please explain why that's the case? Why do we offer different > images for the same device? I understand that for ar71xx -> ath79 within a I don't have any idea why this situation at bcm63xx exists; I just got aware of it at some point. Maybe Noltari or KanjiMonster can help ... > transfer period but it's never the scope to offer different "flavors" > long term, is it? > > This won't necessarily break anything, as images will still be in different > folders (at least in /bin). > I would be at least confusing and reverts the "unique profile name" idea. > > However, we couldn't tell the difference between ar71xx/ath79 or similar > from the image name (easily) after this change, or whether it's generic or > smp for bcm63xx. For my personal taste, this drawback is bigger that the gain > we will get from removing the target/subtarget part. > Again, this sounds like a undesirable state where we not only build but also > maintain multiple images for the save device. Wouldn't it be possible to add > the target to all those "legacy images", however remove it wherever a target > uses device tree and images.mk aka has long term support? Well, just look at the situation in 19.07. There we have both ar71xx and ath79 for the same devices, and even if we wanted, it would actually be quite hard to really filter out the ath79 devices in ar71xx. I really don't think removing the target from image names will pay out in the future. > > So, unless there is overwhelming support, I tend to NAK this. > :( A compromise could be found by just removing the subtarget, but keeping the target in file names. This would mostly solve your problem with the generic names (at least there would be less duplicate info), but there would be significantly less situations where this was an impediment. Normally, no duplicate devices in a target exist, and if they are moved between subtargets, they are actually moved and not copied. The only remaining problem I can think of at the moment would be the bcm63xx situation, and maybe that one can be resolved at low cost. Best Adrian > > Best > Paul > > > >> Signed-off-by: Paul Spooren > >> --- > >> It's been a while since I made a controversial patch[0] so it feels about > time. > >> > >> [0]: https://github.com/openwrt/openwrt/pull/2107 > >> > >> include/image.mk | 9 +++++---- > >> package/base-files/image-config.in | 9 +++++++++ > >> 2 files changed, 14 insertions(+), 4 deletions(-) > >> > >> diff --git a/include/image.mk b/include/image.mk index > >> 984b64fb9c..c6fc467c9e 100644 > >> --- a/include/image.mk > >> +++ b/include/image.mk > >> @@ -37,11 +37,12 @@ KDIR=$(KERNEL_BUILD_DIR) > KDIR_TMP=$(KDIR)/tmp > >> DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts > >> > >> +IMG_PREFIX_TARGET:=$(if > $(CONFIG_TARGET_FILENAMES),$(BOARD)$(if > >> +$(SUBTARGET),-$(SUBTARGET))-) > >> IMG_PREFIX_EXTRA:=$(if $(EXTRA_IMAGE_NAME),$(call > >> sanitize,$(EXTRA_IMAGE_NAME))-) IMG_PREFIX_VERNUM:=$(if > >> $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NUMBER))-) > >> IMG_PREFIX_VERCODE:=$(if > $(CONFIG_VERSION_CODE_FILENAMES),$(call > >> sanitize,$(VERSION_CODE))-) > >> > >> -IMG_PREFIX:=$(VERSION_DIST_SANITIZED)- > >> > $(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$ > >> (BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) > >> +IMG_PREFIX:=$(VERSION_DIST_SANITIZED)- > >> $(IMG_PREFIX_VERNUM)$(IMG_PREFIX_ > >> +VERCODE)$(IMG_PREFIX_EXTRA)$(IMG_PREFIX_TARGET) > >> IMG_ROOTFS:=$(IMG_PREFIX)-rootfs > >> IMG_COMBINED:=$(IMG_PREFIX)-combined > >> IMG_PART_SIGNATURE:=$(shell echo > >> $(SOURCE_DATE_EPOCH)$(LINUX_VERMAGIC) | mkhash md5 | cut -b1-8) > @@ > >> -293,7 +294,7 @@ endef > >> > >> define Image/Manifest > >> $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ > >> - $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),- > >> $(PROFILE_SANITIZED)).manifest > >> + $(BIN_DIR)/$(IMG_PREFIX)$(if > >> +$(PROFILE_SANITIZED),$(PROFILE_SANITIZED)).manifest > >> endef > >> > >> define Image/gzip-ext4-padded-squashfs @@ -317,7 +318,7 @@ ifdef > >> CONFIG_TARGET_ROOTFS_TARGZ > >> define Image/Build/targz > >> $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s -- > >> sort=name \ > >> $(if $(SOURCE_DATE_EPOCH),-- > >> mtime="@$(SOURCE_DATE_EPOCH)") \ > >> - -C $(TARGET_DIR)/ . | gzip -9n > > >> $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),- > >> $(PROFILE_SANITIZED))-rootfs.tar.gz > >> + -C $(TARGET_DIR)/ . | gzip -9n > > >> $(BIN_DIR)/$(IMG_PREFIX)$(if > >> +$(PROFILE_SANITIZED),$(PROFILE_SANITIZED))-rootfs.tar.gz > >> endef > >> endif > >> > >> @@ -385,7 +386,7 @@ define Device/Init > >> > >> IMAGES := > >> ARTIFACTS := > >> - IMAGE_PREFIX := $(IMG_PREFIX)-$(1) > >> + IMAGE_PREFIX := $(IMG_PREFIX)$(1) > >> IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2) > >> IMAGE_SIZE := > >> KERNEL_PREFIX = $$(IMAGE_PREFIX) > >> diff --git a/package/base-files/image-config.in > >> b/package/base-files/image- config.in index 3432db525a..5a70d51a7a > >> 100644 > >> --- a/package/base-files/image-config.in > >> +++ b/package/base-files/image-config.in > >> @@ -264,6 +264,15 @@ if VERSIONOPT > >> Enable this to include the revision identifier or the > configured > >> version code into the firmware image, SDK- and > Image Builder > >> archive > >> file names > >> + > >> + config TARGET_FILENAMES > >> + bool > >> + prompt "Target and subtarget in filenames" > >> + default n > >> + help > >> + Enable this to include the target (and subtarget) in > >> + firmware image, SDK- and Image Builder archive file > >> names > >> + > >> endif > >> > >> > >> -- > >> 2.20.1 > >> > >> > >> _______________________________________________ > >> openwrt-devel mailing list > >> openwrt-devel at lists.openwrt.org > >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From stangri at melmac.net Sun Jun 14 20:40:27 2020 From: stangri at melmac.net (Stan Grishin) Date: Sun, 14 Jun 2020 17:40:27 -0700 Subject: [OpenWrt-Devel] [RFC PATCH] kirkwood: use real model names for Linksys devices In-Reply-To: References: Message-ID: > ---------- Forwarded message ---------- > From: "Pawe? Dembicki" > To: Adrian Schmutzler > Cc: OpenWrt Development List > Bcc: > Date: Sun, 14 Jun 2020 21:52:11 +0200 > Subject: Re: [OpenWrt-Devel] [RFC PATCH] kirkwood: use real model names for Linksys devices > sob., 13 cze 2020 o 22:09 Adrian Schmutzler > napisa?(a): > > > > Hi Adrian, > > > This replaces the internal device names "Audi" and "Viper" with the > > real model names, which a user would look for. This makes the > > Linksys devices on this target consistent with the names recently > > changed for mvebu based on the same idea. > > Is it possible to get a notification when/if this is merged so I could update the device names at https://github.com/openwrt/luci/tree/master/applications/luci-app-advanced-reboot/luasrc/advanced-reboot/devices for luci-app-advanced-reboot? _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Mon Jun 15 04:14:33 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Mon, 15 Jun 2020 09:14:33 +0100 Subject: [OpenWrt-Devel] master (mvebu): irq 77: nobody cared Message-ID: Hi, guys, After some time, the pca953x on my Turris Omnia decides it's not having any more of it. I thought I had screwed up my configuration somewhere, so I installed the current (r13563-69e7d14e1b) snapshot and tried to reproduce the issue. Stack trace follows. [12865.018034] irq 77: nobody cared (try booting with the "irqpoll" option) [12865.024759] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.4.45 #0 [12865.030690] Hardware name: Marvell Armada 380/385 (Device Tree) [12865.036633] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [12865.044398] [] (show_stack) from [] (dump_stack+0x94/0xa8) [12865.051639] [] (dump_stack) from [] (__report_bad_irq+0x3c/0xc0) [12865.059401] [] (__report_bad_irq) from [] (note_interrupt+0x114/0x2b4) [12865.067688] [] (note_interrupt) from [] (handle_irq_event_percpu+0x58/0x64) [12865.076408] [] (handle_irq_event_percpu) from [] (handle_irq_event+0x44/0x68) [12865.085302] [] (handle_irq_event) from [] (handle_level_irq+0xc4/0x14c) [12865.093673] [] (handle_level_irq) from [] (generic_handle_irq+0x24/0x34) [12865.102132] [] (generic_handle_irq) from [] (mvebu_gpio_irq_handler+0xc4/0x160) [12865.111199] [] (mvebu_gpio_irq_handler) from [] (generic_handle_irq+0x24/0x34) [12865.120179] [] (generic_handle_irq) from [] (__handle_domain_irq+0x5c/0xb4) [12865.128900] [] (__handle_domain_irq) from [] (gic_handle_irq+0x4c/0x90) [12865.137271] [] (gic_handle_irq) from [] (__irq_svc+0x6c/0x90) [12865.144769] Exception stack(0xc0b01f30 to 0xc0b01f78) [12865.149832] 1f20: 00000000 072e7da0 eedd98f4 c01146a0 [12865.158028] 1f40: ffffe000 c0b03e68 c0b03ea8 00000001 00000000 c0a47528 c0b0dd34 00000000 [12865.166224] 1f60: 00000000 c0b01f80 c01083e8 c01083ec 60000013 ffffffff [12865.172858] [] (__irq_svc) from [] (arch_cpu_idle+0x38/0x3c) [12865.180275] [] (arch_cpu_idle) from [] (do_idle+0x1a4/0x1dc) [12865.187690] [] (do_idle) from [] (cpu_startup_entry+0x18/0x1c) [12865.195281] [] (cpu_startup_entry) from [] (start_kernel+0x550/0x564) [12865.203475] handlers: [12865.205754] [<1dcc285b>] irq_default_primary_handler threaded [<9350caa2>] pca953x_irq_handler [12865.214387] Disabling IRQ #77 Any ideas about what could cause this? Cheers, Rui _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From magdalenaweidner8 at gmail.com Mon Jun 15 11:07:49 2020 From: magdalenaweidner8 at gmail.com (Magdalena Weidner) Date: Mon, 15 Jun 2020 16:07:49 +0100 Subject: [OpenWrt-Devel] =?utf-8?q?Ben=C3=B6tigen_Sie_einen_Kredit_zwisch?= =?utf-8?q?en_Privatpersonen=3F?= Message-ID: Mit Kredit ohne Bank haben Sie eine andere M?glichkeit zu leihen, ohne durch die Banken gehen zu m?ssen, wo Sie nach bestimmten Kriterien ausgew?hlt werden, die unter anderem Ihre famili?re und finanzielle Situation betreffen. Wenn Sie beispielsweise in einem tempor?ren Gesch?ft arbeiten, k?nnen Sie immer noch Kredite aufnehmen, da Sie keine Belege wie die letzten Gehaltsabrechnungen, die einen stabilen Arbeitsplatz bescheinigen, ben?tigen. Ein Kredit ohne Bank ist auch die ideale L?sung f?r Menschen in einer Situation von Bankverboten, die aber einen Kredit aufnehmen m?ssen, um Arbeit zu erledigen, Geld aufzubauen, Haushaltsger?te zu kaufen oder sogar ein Auto zu reparieren, das zum Beispiel zur Expansion dient der Jobsuchbereich f?r Arbeitslose. F?r den Kreditnehmer bietet der Kredit zwischen Einzelpersonen den Vorteil eines interessanten Zinssatzes, ohne durch verschiedene administrative Schritte zu gehen, was den Prozess beschleunigt, um die Mittel schnell zu erhalten. Der Kreditgeber hat seinerseits eine durchschnittliche Rendite von 3%, was oft dem Zinssatz entspricht, der f?r diese Art von Verfahren eingef?hrt wurde und der viel niedriger ist als der von den Banken mit ihrem Produkt angebotene Zinssatz. F?r weitere Informationen wenden Sie sich bitte an eine Adresse: FINANZIERUNG AUTO E-mail: financementauto51 at gmail.com _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Mon Jun 15 11:59:47 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Mon, 15 Jun 2020 17:59:47 +0200 Subject: [OpenWrt-Devel] [RFC PATCH] kirkwood: use real model names for Linksys devices In-Reply-To: References: Message-ID: <008f01d6432d$fee57c10$fcb07430$@adrianschmutzler.de> Hi, > Is it possible to get a notification when/if this is merged so I could update the > device names at > https://github.com/openwrt/luci/tree/master/applications/luci-app- > advanced-reboot/luasrc/advanced-reboot/devices > for luci-app-advanced-reboot? Yes, I try hard to remember that. > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mschiffer at universe-factory.net Mon Jun 15 13:32:16 2020 From: mschiffer at universe-factory.net (Matthias Schiffer) Date: Mon, 15 Jun 2020 19:32:16 +0200 Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in image filename In-Reply-To: <005001d6429b$9d8f8100$d8ae8300$@adrianschmutzler.de> References: <20200614093330.17516-1-mail@aparcar.org> <002a01d64286$7fc90660$7f5b1320$@adrianschmutzler.de> <005001d6429b$9d8f8100$d8ae8300$@adrianschmutzler.de> Message-ID: >>> I just think of ar71xx and ath79, where we have the same device but >> different targets. Of course, the name won't be exactly equal, as ath79 will >> have e.g. tplink_ prefix and ar71xx won't. >> Isn't ar71xx removed from master builds? It's neither at snapshot >> https://downloads.openwrt.org/snapshots/targets/ nor planed to be re- >> added to any upcoming release, is it? > > Yes, but it's just an example for a similar situation which might arise in the future. Then, we even might not have the current situation with the different device names, but may end up with completely identical names except for the target. > >>> For bcm63xx, we have two subtargets that build the same devices. >>> If we look at PR#2957, we might have a now bmips target at some point >> that features the same devices as bcm63xx. >> Can you please explain why that's the case? Why do we offer different >> images for the same device? I understand that for ar71xx -> ath79 within a > > I don't have any idea why this situation at bcm63xx exists; I just got aware of it at some point. Maybe Noltari or KanjiMonster can help ... > >> transfer period but it's never the scope to offer different "flavors" >> long term, is it? >>> This won't necessarily break anything, as images will still be in different >> folders (at least in /bin). >> I would be at least confusing and reverts the "unique profile name" idea. >>> However, we couldn't tell the difference between ar71xx/ath79 or similar >> from the image name (easily) after this change, or whether it's generic or >> smp for bcm63xx. For my personal taste, this drawback is bigger that the gain >> we will get from removing the target/subtarget part. >> Again, this sounds like a undesirable state where we not only build but also >> maintain multiple images for the save device. Wouldn't it be possible to add >> the target to all those "legacy images", however remove it wherever a target >> uses device tree and images.mk aka has long term support? > > Well, just look at the situation in 19.07. There we have both ar71xx and ath79 for the same devices, and even if we wanted, it would actually be quite hard to really filter out the ath79 devices in ar71xx. I really don't think removing the target from image names will pay out in the future. > >>> So, unless there is overwhelming support, I tend to NAK this. >> :( > > A compromise could be found by just removing the subtarget, but keeping the target in file names. This would mostly solve your problem with the generic names (at least there would be less duplicate info), but there would be significantly less situations where this was an impediment. Normally, no duplicate devices in a target exist, and if they are moved between subtargets, they are actually moved and not copied. The only remaining problem I can think of at the moment would be the bcm63xx situation, and maybe that one can be resolved at low cost. > > Best > > Adrian What about x86-{generic,legacy,64,...}? These subtargets each define a device just called "generic", with the image names only distinguished by their subtarget name. Matthias _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Mon Jun 15 13:51:28 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Mon, 15 Jun 2020 19:51:28 +0200 Subject: [OpenWrt-Devel] [PATCH] bcm63xx: a226m-fwb: fix linux partition offset Message-ID: <2235597.0Tboij76b4@tool> The Pirelli A226M-FWB has a wrong linux partition offset, probably caused by a copy-paste error. As of result of this, OpenWrt is currently broken in this unit. Fix it. Signed-off-by: Daniel Gonz?lez Cabanelas --- target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts index d0b1e55213..b477fb40de 100644 --- a/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts +++ b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts @@ -109,7 +109,7 @@ linux at 10000 { label = "linux"; - reg = <0x010000 0xfc0000>; + reg = <0x020000 0xfc0000>; compatible = "brcm,bcm963xx-imagetag"; }; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at david-bauer.net Mon Jun 15 14:47:26 2020 From: mail at david-bauer.net (David Bauer) Date: Mon, 15 Jun 2020 20:47:26 +0200 Subject: [OpenWrt-Devel] [PATCH] mac80211: ath9k: enable MFP capability unconditionally Message-ID: <20200615184726.28038-1-mail@david-bauer.net> ath9k will already fallback on software-crypto for chipsets not supporting IEEE802.11w (MFP). So advertising MFP is not dependent on disabling HW crypto for all traffic entirely. Tested on Sonicwall SonicPoint Ni (AR9132) Signed-off-by: David Bauer --- ...abled-MFP-capability-unconditionally.patch | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 package/kernel/mac80211/patches/ath/450-ath9k-enabled-MFP-capability-unconditionally.patch diff --git a/package/kernel/mac80211/patches/ath/450-ath9k-enabled-MFP-capability-unconditionally.patch b/package/kernel/mac80211/patches/ath/450-ath9k-enabled-MFP-capability-unconditionally.patch new file mode 100644 index 0000000000..c75d6c7982 --- /dev/null +++ b/package/kernel/mac80211/patches/ath/450-ath9k-enabled-MFP-capability-unconditionally.patch @@ -0,0 +1,34 @@ +From d946085ff5a331de64e91a2e3c96b9ca79d740f5 Mon Sep 17 00:00:00 2001 +From: David Bauer +Date: Mon, 15 Jun 2020 00:10:34 +0200 +Subject: [PATCH] ath9k: enabled MFP capability unconditionally + +ath9k will already fallback on software-crypto for chipsets not +supporting IEEE802.11w (MFP). So advertising MFP is not dependent +on disabling HW crypto for all traffic entirely. + +Signed-off-by: David Bauer +--- + drivers/net/wireless/ath/ath9k/init.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +--- a/drivers/net/wireless/ath/ath9k/init.c ++++ b/drivers/net/wireless/ath/ath9k/init.c +@@ -928,6 +928,7 @@ static void ath9k_set_hw_capab(struct at + ieee80211_hw_set(hw, HOST_BROADCAST_PS_BUFFERING); + ieee80211_hw_set(hw, SUPPORT_FAST_XMIT); + ieee80211_hw_set(hw, SUPPORTS_CLONED_SKBS); ++ ieee80211_hw_set(hw, MFP_CAPABLE); + + if (ath9k_ps_enable) + ieee80211_hw_set(hw, SUPPORTS_PS); +@@ -940,9 +941,6 @@ static void ath9k_set_hw_capab(struct at + IEEE80211_RADIOTAP_MCS_HAVE_STBC; + } + +- if (AR_SREV_9160_10_OR_LATER(sc->sc_ah) || ath9k_modparam_nohwcrypt) +- ieee80211_hw_set(hw, MFP_CAPABLE); +- + hw->wiphy->features |= NL80211_FEATURE_ACTIVE_MONITOR | + NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE | + NL80211_FEATURE_P2P_GO_CTWIN; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Mon Jun 15 15:23:40 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Mon, 15 Jun 2020 20:23:40 +0100 Subject: [OpenWrt-Devel] master: mvebu (Turris Omnia): pca953x: unhandled interrupts on Linux 5.4.45 Message-ID: Hi, again, As a follow-up on this morning's email [1], I narrowed down the issue to the PCA9538 expander driver. For some reason, when CONFIG_GPIO_PCA953X_IRQ is enabled, interrupts will eventually go unhandled, causing the kernel to complain loudly and disable the respective interrupt line. I never had this problem on OpenWrt 19.07 with Linux 4.14.x. Any suggestions (apart from disabling CONFIG_GPIO_PCA953X_IRQ or passing irqpoll in the kernel command line)? Thanks in advance, Rui [1] https://lists.openwrt.org/pipermail/openwrt-devel/2020-June/023954.html _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at aparcar.org Mon Jun 15 15:49:06 2020 From: mail at aparcar.org (Paul Spooren) Date: Mon, 15 Jun 2020 09:49:06 -1000 Subject: [OpenWrt-Devel] [PATCH][RFC] build: disable target name in image filename In-Reply-To: References: <20200614093330.17516-1-mail@aparcar.org> <002a01d64286$7fc90660$7f5b1320$@adrianschmutzler.de> <005001d6429b$9d8f8100$d8ae8300$@adrianschmutzler.de> Message-ID: On 6/15/20 7:32 AM, Matthias Schiffer wrote: >>>> I just think of ar71xx and ath79, where we have the same device but >>> different targets. Of course, the name won't be exactly equal, as ath79 will >>> have e.g. tplink_ prefix and ar71xx won't. >>> Isn't ar71xx removed from master builds? It's neither at snapshot >>> https://downloads.openwrt.org/snapshots/targets/ nor planed to be re- >>> added to any upcoming release, is it? >> Yes, but it's just an example for a similar situation which might arise in the future. Then, we even might not have the current situation with the different device names, but may end up with completely identical names except for the target. >> >>>> For bcm63xx, we have two subtargets that build the same devices. >>>> If we look at PR#2957, we might have a now bmips target at some point >>> that features the same devices as bcm63xx. >>> Can you please explain why that's the case? Why do we offer different >>> images for the same device? I understand that for ar71xx -> ath79 within a >> I don't have any idea why this situation at bcm63xx exists; I just got aware of it at some point. Maybe Noltari or KanjiMonster can help ... >> >>> transfer period but it's never the scope to offer different "flavors" >>> long term, is it? >>>> This won't necessarily break anything, as images will still be in different >>> folders (at least in /bin). >>> I would be at least confusing and reverts the "unique profile name" idea. >>>> However, we couldn't tell the difference between ar71xx/ath79 or similar >>> from the image name (easily) after this change, or whether it's generic or >>> smp for bcm63xx. For my personal taste, this drawback is bigger that the gain >>> we will get from removing the target/subtarget part. >>> Again, this sounds like a undesirable state where we not only build but also >>> maintain multiple images for the save device. Wouldn't it be possible to add >>> the target to all those "legacy images", however remove it wherever a target >>> uses device tree and images.mk aka has long term support? >> Well, just look at the situation in 19.07. There we have both ar71xx and ath79 for the same devices, and even if we wanted, it would actually be quite hard to really filter out the ath79 devices in ar71xx. I really don't think removing the target from image names will pay out in the future. >> >>>> So, unless there is overwhelming support, I tend to NAK this. >>> :( >> A compromise could be found by just removing the subtarget, but keeping the target in file names. This would mostly solve your problem with the generic names (at least there would be less duplicate info), but there would be significantly less situations where this was an impediment. Normally, no duplicate devices in a target exist, and if they are moved between subtargets, they are actually moved and not copied. The only remaining problem I can think of at the moment would be the bcm63xx situation, and maybe that one can be resolved at low cost. >> >> Best >> >> Adrian > > What about x86-{generic,legacy,64,...}? These subtargets each define a > device just called "generic", with the image names only distinguished by > their subtarget name. That's why I created this PR earlier, I should have created a patchset instead of splitting it on the ML and GitHub... https://github.com/openwrt/openwrt/pull/3082 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Mon Jun 15 16:46:57 2020 From: openwrt-devel at lists.openwrt.org (Martin Blumenstingl via openwrt-devel) Date: Mon, 15 Jun 2020 22:46:57 +0200 Subject: [OpenWrt-Devel] [PATCH] bcm63xx: a226m-fwb: fix linux partition offset In-Reply-To: <2235597.0Tboij76b4@tool> References: <2235597.0Tboij76b4@tool> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: Martin Blumenstingl Subject: Re: [OpenWrt-Devel] [PATCH] bcm63xx: a226m-fwb: fix linux partition offset Date: Mon, 15 Jun 2020 22:46:57 +0200 Size: 4330 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Mon Jun 15 17:01:24 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Mon, 15 Jun 2020 23:01:24 +0200 Subject: [OpenWrt-Devel] [PATCH] bcm63xx: a226m-fwb: fix linux partition offset In-Reply-To: References: <2235597.0Tboij76b4@tool> Message-ID: <013d01d64358$215c52d0$6414f870$@adrianschmutzler.de> > -----Original Message----- > From: Martin Blumenstingl [mailto:martin.blumenstingl at googlemail.com] > Sent: Montag, 15. Juni 2020 22:47 > To: Daniel Gonz?lez Cabanelas > Cc: openwrt-devel at lists.openwrt.org; noltari at gmail.com > Subject: Re: [OpenWrt-Devel] [PATCH] bcm63xx: a226m-fwb: fix linux > partition offset > > Hi Daniel, > > On Mon, Jun 15, 2020 at 7:52 PM Daniel Gonz?lez Cabanelas > wrote: > [...] > > diff --git a/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts > > b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts > > index d0b1e55213..b477fb40de 100644 > > --- a/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts > > +++ b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts > > @@ -109,7 +109,7 @@ > > > > linux at 10000 { > please update the unit-address (above) as well, otherwise tools (like > dtc) may start to complain I did this already when I merged the patch today. :-) > > > Martin -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From iancooper at hotmail.com Mon Jun 15 17:14:04 2020 From: iancooper at hotmail.com (Ian Cooper) Date: Mon, 15 Jun 2020 22:14:04 +0100 Subject: [OpenWrt-Devel] [PATCH v3] toolchain: remove gcc libssp and use libc variant Message-ID: Removes the standalone implementation of stack smashing protection in gcc's libssp in favour of the native implementation available in glibc and uclibc. Musl libc already uses its native ssp, so this patch does not affect musl-based toolchains. Stack smashing protection configuration options are now uniform across all supported libc variants. This also makes kernel-level stack smashing protection available for x86_64 and i386 builds using non-musl libc. Signed-off-by: Ian Cooper --- V3: remove all references to gcc's libssp everywhere. Compile tested on x86_64 glibc, x86_64 musl, arc uclibc, i386 glibc Run-tested on x86_64 glibc Note: if applying this patch on a glibc or uclibc toolchain, you must do a make dirclean as the toolchain and all packages will need to be rebuilt due to elimination of gcc's libssp in those toolchains. Musl toolchains do not require a rebuild. config/Config-build.in | 4 ---- include/package-defaults.mk | 2 +- package/libs/toolchain/Makefile | 41 --------------------------------- toolchain/Config.in | 2 +- toolchain/gcc/Config.in | 8 ------- toolchain/gcc/common.mk | 9 +------- toolchain/glibc/common.mk | 3 ++- 7 files changed, 5 insertions(+), 64 deletions(-) diff --git a/config/Config-build.in b/config/Config-build.in index 61a9265ad7..ac1e05d2ff 100644 --- a/config/Config-build.in +++ b/config/Config-build.in @@ -249,7 +249,6 @@ menu "Global build settings" choice prompt "User space Stack-Smashing Protection" - depends on USE_MUSL default PKG_CC_STACKPROTECTOR_REGULAR help Enable GCC Stack Smashing Protection (SSP) for userspace applications @@ -257,18 +256,15 @@ menu "Global build settings" bool "None" config PKG_CC_STACKPROTECTOR_REGULAR bool "Regular" - select GCC_LIBSSP if !USE_MUSL depends on KERNEL_CC_STACKPROTECTOR_REGULAR config PKG_CC_STACKPROTECTOR_STRONG bool "Strong" - select GCC_LIBSSP if !USE_MUSL depends on KERNEL_CC_STACKPROTECTOR_STRONG endchoice choice prompt "Kernel space Stack-Smashing Protection" default KERNEL_CC_STACKPROTECTOR_REGULAR - depends on USE_MUSL || !(x86_64 || i386) help Enable GCC Stack-Smashing Protection (SSP) for the kernel config KERNEL_CC_STACKPROTECTOR_NONE diff --git a/include/package-defaults.mk b/include/package-defaults.mk index 31e331b2d5..2fed72b1a4 100644 --- a/include/package-defaults.mk +++ b/include/package-defaults.mk @@ -5,7 +5,7 @@ # See /LICENSE for more information. # -PKG_DEFAULT_DEPENDS = +libc +GCC_LIBSSP:libssp +USE_GLIBC:librt +USE_GLIBC:libpthread +PKG_DEFAULT_DEPENDS = +libc +USE_GLIBC:librt +USE_GLIBC:libpthread ifneq ($(PKG_NAME),toolchain) PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),$(PKG_DEFAULT_DEPENDS) $(filter-out $(PKG_DEFAULT_DEPENDS),$(2))) diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile index c13e9e4928..f92a1779da 100644 --- a/package/libs/toolchain/Makefile +++ b/package/libs/toolchain/Makefile @@ -83,33 +83,6 @@ define Package/libatomic/config endmenu endef -define Package/libssp -$(call Package/gcc/Default) - DEPENDS+=@GCC_LIBSSP - TITLE:=GCC support library -endef - -define Package/libssp/config - menu "Configuration" - depends on EXTERNAL_TOOLCHAIN && PACKAGE_libssp - - config LIBSSP_ROOT_DIR - string - prompt "libssp shared library base directory" - depends on EXTERNAL_TOOLCHAIN && PACKAGE_libssp - default TOOLCHAIN_ROOT if !NATIVE_TOOLCHAIN - default "/" if NATIVE_TOOLCHAIN - - config LIBSSP_FILE_SPEC - string - prompt "libssp shared library files (use wildcards)" - depends on EXTERNAL_TOOLCHAIN && PACKAGE_libssp - default "./lib/libssp.so.*" - - endmenu -endef - - define Package/libstdcpp $(call Package/gcc/Default) NAME:=libstdc++ @@ -519,11 +492,6 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) $(CP) $(TOOLCHAIN_DIR)/lib/libgfortran.so.* $(1)/usr/lib/ endef - define Package/libssp/install - $(INSTALL_DIR) $(1)/lib - $(CP) $(TOOLCHAIN_DIR)/lib/libssp.so.* $(1)/lib/ - endef - define Package/libstdcpp/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(TOOLCHAIN_DIR)/lib/libstdc++.so.* $(1)/usr/lib/ @@ -670,14 +638,6 @@ else done endef - define Package/libssp/install - for file in $(call qstrip,$(CONFIG_LIBSSP_FILE_SPEC)); do \ - $(INSTALL_DIR) $(1)/lib ; \ - $(CP) $(call qstrip,$(CONFIG_LIBSSP_ROOT_DIR))/$$$$file $(1)/lib/ ; \ - done ; \ - exit 0 - endef - define Package/libstdcpp/install for file in $(call qstrip,$(CONFIG_LIBSTDCPP_FILE_SPEC)); do \ $(INSTALL_DIR) $(1)/lib ; \ @@ -789,7 +749,6 @@ endif $(eval $(call BuildPackage,libc)) $(eval $(call BuildPackage,libgcc)) $(eval $(call BuildPackage,libatomic)) -$(eval $(call BuildPackage,libssp)) $(eval $(call BuildPackage,libstdcpp)) $(eval $(call BuildPackage,libasan)) $(eval $(call BuildPackage,libtsan)) diff --git a/toolchain/Config.in b/toolchain/Config.in index 762f4e10d7..cb557d4ad3 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -284,7 +284,7 @@ config USE_MUSL bool config SSP_SUPPORT - default y if USE_MUSL || GCC_LIBSSP + default y if !PKG_CC_STACKPROTECTOR_NONE bool config USE_EXTERNAL_LIBC diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 7d7f34210a..4b2ba7aaae 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -47,14 +47,6 @@ config GCC_DEFAULT_SSP help Use gcc configure option --enable-default-ssp to turn on -fstack-protector-strong by default. -config GCC_LIBSSP - bool - prompt "Build gcc libssp" if TOOLCHAINOPTS - depends on !USE_MUSL - default y if !USE_MUSL - help - Enable Stack-Smashing Protection support - config SJLJ_EXCEPTIONS bool prompt "Use setjump()/longjump() exceptions" if TOOLCHAINOPTS diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index 7fb30285aa..ec3ea8fff1 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -104,6 +104,7 @@ GCC_CONFIGURE:= \ --disable-multilib \ --disable-libmpx \ --disable-nls \ + --disable-libssp \ $(GRAPHITE_CONFIGURE) \ --with-host-libstdcxx=-lstdc++ \ $(SOFT_FLOAT_CONFIG_OPTION) \ @@ -131,14 +132,6 @@ ifneq ($(CONFIG_GCC_DEFAULT_SSP),) --enable-default-ssp endif -ifneq ($(CONFIG_GCC_LIBSSP),) - GCC_CONFIGURE+= \ - --enable-libssp -else - GCC_CONFIGURE+= \ - --disable-libssp -endif - ifneq ($(CONFIG_EXTRA_TARGET_ARCH),) GCC_CONFIGURE+= \ --enable-biarch \ diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk index db4f0fcc0e..f0b95d3cc7 100644 --- a/toolchain/glibc/common.mk +++ b/toolchain/glibc/common.mk @@ -39,7 +39,6 @@ ifeq ($(ARCH),mips64) endif endif - # -Os miscompiles w. 2.24 gcc5/gcc6 # only -O2 tested by upstream changeset # "Optimize i386 syscall inlining for GCC 5" @@ -61,6 +60,8 @@ GLIBC_CONFIGURE:= \ --without-cvs \ --enable-add-ons \ --$(if $(CONFIG_SOFT_FLOAT),without,with)-fp \ + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_REGULAR),--enable-stack-protector=yes) \ + $(if $(CONFIG_PKG_CC_STACKPROTECTOR_STRONG),--enable-stack-protector=strong) \ --enable-kernel=4.14.0 export libc_cv_ssp=no -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From hauke at hauke-m.de Mon Jun 15 17:18:10 2020 From: hauke at hauke-m.de (Hauke Mehrtens) Date: Mon, 15 Jun 2020 23:18:10 +0200 Subject: [OpenWrt-Devel] [PATCH v2] toolchain: remove gcc libssp and use libc variant In-Reply-To: References: Message-ID: <96286a2e-0872-85c2-afbd-39b68f889058@hauke-m.de> On 6/11/20 6:58 PM, Ian Cooper wrote: > On Thu, 11 Jun 2020 18:15:04 +0200 Hauke Mehrtens wrote: > >> On 6/6/20 1:42 AM, Ian Cooper wrote: ..... >> >> As nothing activates GCC_LIBSSP it is always false. I think we can >> remove this, this is not used by any package in the Kconfig part as far >> as I see it and only in some Makefiles and should be removed there >> later, but should not harm. > > The approach I was taking was to try to eliminate libssp by making as > few changes as possible. Removing it here is fine, but then also requires > the removal of the libssp package in package/libs/toolchain/Makefile and > the removal of the dependency from include/package-defaults.mk as you point > out below. > > There are two additional removals that should be made: in the host build of > binutils, where the configure flag --enable-libssp can be removed in the file > toolchain/binutils/Makefile and in toolchain/gcc/common.mk to remove the > configure option to build libssp if GCC_LIBSSP is enabled. > > I left these in based on the minimal change philosophy. If you think complete > removal in this way is desirable I'll make the changes, do a bunch of test > builds and send an updated patch. > > A git grep shows three references to GCC_LIBSSP in the packages feed. > I would prefer if it gets removed completely in one pull commit. When it is not split over multiple commits it is easier to find everything later when someone looks at these changes in some years. Hauke _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Mon Jun 15 17:21:22 2020 From: dgcbueu at gmail.com (=?UTF-8?Q?Daniel_Gonz=C3=A1lez_Cabanelas?=) Date: Mon, 15 Jun 2020 23:21:22 +0200 Subject: [OpenWrt-Devel] [PATCH] bcm63xx: a226m-fwb: fix linux partition offset In-Reply-To: <013d01d64358$215c52d0$6414f870$@adrianschmutzler.de> References: <2235597.0Tboij76b4@tool> <013d01d64358$215c52d0$6414f870$@adrianschmutzler.de> Message-ID: El lun., 15 jun. 2020 a las 23:06, escribi?: > > > -----Original Message----- > > From: Martin Blumenstingl [mailto:martin.blumenstingl at googlemail.com] > > Sent: Montag, 15. Juni 2020 22:47 > > To: Daniel Gonz?lez Cabanelas > > Cc: openwrt-devel at lists.openwrt.org; noltari at gmail.com > > Subject: Re: [OpenWrt-Devel] [PATCH] bcm63xx: a226m-fwb: fix linux > > partition offset > > > > Hi Daniel, > > > > On Mon, Jun 15, 2020 at 7:52 PM Daniel Gonz?lez Cabanelas > > wrote: > > [...] > > > diff --git a/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts > > > b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts > > > index d0b1e55213..b477fb40de 100644 > > > --- a/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts > > > +++ b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts > > > @@ -109,7 +109,7 @@ > > > > > > linux at 10000 { > > please update the unit-address (above) as well, otherwise tools (like > > dtc) may start to complain > > I did this already when I merged the patch today. :-) > Thank you. Regards > > > > > > Martin _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From iancooper at hotmail.com Mon Jun 15 17:45:58 2020 From: iancooper at hotmail.com (Ian Cooper) Date: Mon, 15 Jun 2020 22:45:58 +0100 Subject: [OpenWrt-Devel] [PATCH v2] toolchain: remove gcc libssp and use libc variant In-Reply-To: <96286a2e-0872-85c2-afbd-39b68f889058@hauke-m.de> References: <96286a2e-0872-85c2-afbd-39b68f889058@hauke-m.de> Message-ID: On Mon, 15 Jun 2020 23:18:10 +0200 Hauke Mehrtens wrote: > On 6/11/20 6:58 PM, Ian Cooper wrote: > > On Thu, 11 Jun 2020 18:15:04 +0200 Hauke Mehrtens wrote: > > > >> On 6/6/20 1:42 AM, Ian Cooper wrote: > ..... > >> > >> As nothing activates GCC_LIBSSP it is always false. I think we can > >> remove this, this is not used by any package in the Kconfig part as far > >> as I see it and only in some Makefiles and should be removed there > >> later, but should not harm. > > > > The approach I was taking was to try to eliminate libssp by making as > > few changes as possible. Removing it here is fine, but then also requires > > the removal of the libssp package in package/libs/toolchain/Makefile and > > the removal of the dependency from include/package-defaults.mk as you point > > out below. > > > > There are two additional removals that should be made: in the host build of > > binutils, where the configure flag --enable-libssp can be removed in the file > > toolchain/binutils/Makefile and in toolchain/gcc/common.mk to remove the > > configure option to build libssp if GCC_LIBSSP is enabled. > > > > I left these in based on the minimal change philosophy. If you think complete > > removal in this way is desirable I'll make the changes, do a bunch of test > > builds and send an updated patch. > > > > A git grep shows three references to GCC_LIBSSP in the packages feed. > > > > I would prefer if it gets removed completely in one pull commit. When it > is not split over multiple commits it is easier to find everything later > when someone looks at these changes in some years. In the updated patch I sent out just a few minutes before this reply, everything is completely removed in one commit. > > Hauke _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Mon Jun 15 18:09:33 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Tue, 16 Jun 2020 00:09:33 +0200 Subject: [OpenWrt-Devel] [PATCH] bcm63xx: use the generic nand upgrade on Sercomm devices Message-ID: <2422792.mIOzrAvWME@tool> The Sercomm devices don't need the jffs2 cleanmarkers for the kernel partition. With the stock firmware they are only added when the bootloader partition is upgraded. Furthermore, on the Sercomm H500-s, the specific cfe_jffs2_upgrade_tar function causes OOB corruption. As a result of this, combined with the nature of the mtdsplit driver, the upgrade procedure ends in a bricked device. Use the generic nand_do_upgrade provided by the OpenWrt common functions. Signed-off-by: Daniel Gonz?lez Cabanelas --- target/linux/bcm63xx/base-files/lib/upgrade/platform.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh index 525d3b90b5..0d836729ee 100644 --- a/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/bcm63xx/base-files/lib/upgrade/platform.sh @@ -70,12 +70,15 @@ platform_do_upgrade() { comtrend,vg-8050|\ comtrend,vr-3032u|\ huawei,hg253s-v2|\ - netgear,dgnd3700-v2|\ + netgear,dgnd3700-v2) + REQUIRE_IMAGE_METADATA=1 + cfe_jffs2_upgrade_tar "$1" + ;; sercomm,ad1018|\ sercomm,h500-s-lowi|\ sercomm,h500-s-vfes) REQUIRE_IMAGE_METADATA=1 - cfe_jffs2_upgrade_tar "$1" + nand_do_upgrade "$1" ;; *) default_do_upgrade "$1" -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From hao.hu.upsud at gmail.com Mon Jun 15 19:06:30 2020 From: hao.hu.upsud at gmail.com (hao.hu.upsud at gmail.com) Date: Mon, 15 Jun 2020 16:06:30 -0700 (PDT) Subject: [OpenWrt-Devel] An important information regarding my email address Message-ID: <5ee7fef6.1c69fb81.79f98.7027@mx.google.com> Greetings, I hope this email finds you well. I am writing to you due to the discovery of several security issues of the current email address hoping to be able to mitigate the potential impacts. In fact, the current email address (hao.hu.upsud at gmail.com) has been the victims of several data leakage on the Internet more than 10 times during recent years, which includes Affected Service Date Verified Affected users Password Combolist Jan. 2019 1,247,433,080 Affected Unknown (Collection #1-#5) Jan. 2019 2,191,498,885 Affected myfitnesspal.com Feb. 2018 ? 143,425,495 Affected Unknown (Anti-Public Combolist Jan. 2017) Jan. 2017 948,385,599 Affected dailymotion.com Oct. 2016 ? 85,174,207 tumblr.com May. 2013 ? 73,358,680 Affected dropbox.com Sep. 2012 ? 68,658,165 Affected linkedin.com Jun. 2012 ? 160,144,040 Affected and some more combo list recently published (less than a year) from unknown data sources. This information could be found out from several websites specialized in the information security. A such kind of data breach risked at disclosing my historical email contents and contacts, which may have resulted in the followings without my consent. - private information used by third party to commit malicious actions - identity stolen to make unauthorized actions on my behalf - reaching out my historical contacts for one's own profit or play against myself - other important confidential information disclosed to the third party As the account itself was created in 2011, which covers a long period of time and a variety of activities, the impact might be significant and difficult to assess. At this time, I would wish that you could revert back to me if any suspicious things may have been witnessed and related to me, which may include the things that make you feel - astonished - wrong - emotionally negative Additionally, please kindly update my contact email address to the following new one in your contact list: hao.hu.fr at gmail.com Thank you very much, Kind regards, Hao Hu _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fe at dev.tdt.de Tue Jun 16 04:26:13 2020 From: fe at dev.tdt.de (Florian Eckert) Date: Tue, 16 Jun 2020 10:26:13 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping Message-ID: <20200616082613.892-1-fe@dev.tdt.de> The line_state of the DSL connection is described in the system via a hexadecimal variable. With this change the hexadecimal is mapped to a decimal value. With this change it is now possible to store this value in a database, so that it can be easily evaluated. This is especially relevant for the collectd and gravana backend. Signed-off-by: Florian Eckert --- .../base-files/lib/functions/lantiq_dsl.sh | 82 +++++++++++++------ 1 file changed, 55 insertions(+), 27 deletions(-) diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh index 11b02fc4aa..4827d10bc5 100755 --- a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh +++ b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh @@ -650,40 +650,68 @@ line_data() { line_state() { local lsg=$(dsl_cmd lsg) local ls=$(dsl_val "$lsg" nLineState); - local s; + local s n; case "$ls" in - "0x0") s="not initialized" ;; - "0x1") s="exception" ;; - "0x10") s="not updated" ;; - "0xff") s="idle request" ;; - "0x100") s="idle" ;; - "0x1ff") s="silent request" ;; - "0x200") s="silent" ;; - "0x300") s="handshake" ;; - "0x380") s="full_init" ;; - "0x400") s="discovery" ;; - "0x500") s="training" ;; - "0x600") s="analysis" ;; - "0x700") s="exchange" ;; - "0x800") s="showtime_no_sync" ;; - "0x801") s="showtime_tc_sync" ;; - "0x900") s="fastretrain" ;; - "0xa00") s="lowpower_l2" ;; - "0xb00") s="loopdiagnostic active" ;; - "0xb10") s="loopdiagnostic data exchange" ;; - "0xb20") s="loopdiagnostic data request" ;; - "0xc00") s="loopdiagnostic complete" ;; - "0x1000000") s="test" ;; - "0xd00") s="resync" ;; - "0x3c0") s="short init entry" ;; - "") s="not running daemon"; ls="0xfff" ;; - *) s="unknown" ;; + "0x0") s="not initialized" + n=1 ;; + "0x1") s="exception" + n=2 ;; + "0x10") s="not updated" + n=3 ;; + "0xff") s="idle request" + n=4 ;; + "0x100") s="idle" + n=5 ;; + "0x1ff") s="silent request" + n=6 ;; + "0x200") s="silent" + n=7 ;; + "0x300") s="handshake" + n=8 ;; + "0x380") s="full_init" + n=9 ;; + "0x400") s="discovery" + n=10 ;; + "0x500") s="training" + n=11 ;; + "0x600") s="analysis" + n=12 ;; + "0x700") s="exchange" + n=13 ;; + "0x800") s="showtime_no_sync" + n=14 ;; + "0x801") s="showtime_tc_sync" + n=15 ;; + "0x900") s="fastretrain" + n=16 ;; + "0xa00") s="lowpower_l2" + n=17 ;; + "0xb00") s="loopdiagnostic active" + n=18 ;; + "0xb10") s="loopdiagnostic data exchange" + n=19 ;; + "0xb20") s="loopdiagnostic data request" + n=20 ;; + "0xc00") s="loopdiagnostic complete" + n=21 ;; + "0x1000000") s="test" + n=22 ;; + "0xd00") s="resync" + n=23 ;; + "0x3c0") s="short init entry" + n=24 ;; + "") s="not running daemon" + ls="0xfff" + n=25 ;; + *) s="unknown" + n=26 ;; esac if [ "$action" = "lucistat" ]; then echo "dsl.line_state_num=$ls" echo "dsl.line_state_detail=\"$s\"" + echo "dsl.line_state_mapping=$n" if [ "$ls" = "0x801" ]; then echo "dsl.line_state=\"UP\"" else -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Tue Jun 16 07:27:02 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Tue, 16 Jun 2020 13:27:02 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping In-Reply-To: <20200616082613.892-1-fe@dev.tdt.de> References: <20200616082613.892-1-fe@dev.tdt.de> Message-ID: <004301d643d1$0eccb190$2c6614b0$@adrianschmutzler.de> Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Florian Eckert > Sent: Dienstag, 16. Juni 2020 10:26 > To: john at phrozen.org; dev at kresin.me; Eckert.Florian at googlemail.com > Cc: openwrt-devel at lists.openwrt.org; Florian Eckert > Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping > > The line_state of the DSL connection is described in the system via a > hexadecimal variable. With this change the hexadecimal is mapped to a > decimal value. With this change it is now possible to store this value in a > database, so that it can be easily evaluated. > > This is especially relevant for the collectd and gravana backend. > > Signed-off-by: Florian Eckert > --- > .../base-files/lib/functions/lantiq_dsl.sh | 82 +++++++++++++------ > 1 file changed, 55 insertions(+), 27 deletions(-) > > diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh > b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh > index 11b02fc4aa..4827d10bc5 100755 > --- a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh > +++ b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh > @@ -650,40 +650,68 @@ line_data() { > line_state() { > local lsg=$(dsl_cmd lsg) > local ls=$(dsl_val "$lsg" nLineState); > - local s; > + local s n; > > case "$ls" in > - "0x0") s="not initialized" ;; > - "0x1") s="exception" ;; > - "0x10") s="not updated" ;; > - "0xff") s="idle request" ;; > - "0x100") s="idle" ;; > - "0x1ff") s="silent request" ;; > - "0x200") s="silent" ;; > - "0x300") s="handshake" ;; > - "0x380") s="full_init" ;; > - "0x400") s="discovery" ;; > - "0x500") s="training" ;; > - "0x600") s="analysis" ;; > - "0x700") s="exchange" ;; > - "0x800") s="showtime_no_sync" ;; > - "0x801") s="showtime_tc_sync" ;; > - "0x900") s="fastretrain" ;; > - "0xa00") s="lowpower_l2" ;; > - "0xb00") s="loopdiagnostic active" ;; > - "0xb10") s="loopdiagnostic data exchange" ;; > - "0xb20") s="loopdiagnostic data request" ;; > - "0xc00") s="loopdiagnostic complete" ;; > - "0x1000000") s="test" ;; > - "0xd00") s="resync" ;; > - "0x3c0") s="short init entry" ;; > - "") s="not running daemon"; ls="0xfff" ;; > - *) s="unknown" ;; > + "0x0") s="not initialized" > + n=1 ;; Wouldn't it be more user-friendly to just use the decimal number equivalent of the hex code? Empty and error could be modelled with negative numbers then. Just meant as a suggestion, I won't block this if you keep the current scheme ... Best Adrian > + "0x1") s="exception" > + n=2 ;; > + "0x10") s="not updated" > + n=3 ;; > + "0xff") s="idle request" > + n=4 ;; > + "0x100") s="idle" > + n=5 ;; > + "0x1ff") s="silent request" > + n=6 ;; > + "0x200") s="silent" > + n=7 ;; > + "0x300") s="handshake" > + n=8 ;; > + "0x380") s="full_init" > + n=9 ;; > + "0x400") s="discovery" > + n=10 ;; > + "0x500") s="training" > + n=11 ;; > + "0x600") s="analysis" > + n=12 ;; > + "0x700") s="exchange" > + n=13 ;; > + "0x800") s="showtime_no_sync" > + n=14 ;; > + "0x801") s="showtime_tc_sync" > + n=15 ;; > + "0x900") s="fastretrain" > + n=16 ;; > + "0xa00") s="lowpower_l2" > + n=17 ;; > + "0xb00") s="loopdiagnostic active" > + n=18 ;; > + "0xb10") s="loopdiagnostic data exchange" > + n=19 ;; > + "0xb20") s="loopdiagnostic data request" > + n=20 ;; > + "0xc00") s="loopdiagnostic complete" > + n=21 ;; > + "0x1000000") s="test" > + n=22 ;; > + "0xd00") s="resync" > + n=23 ;; > + "0x3c0") s="short init entry" > + n=24 ;; > + "") s="not running daemon" > + ls="0xfff" > + n=25 ;; > + *) s="unknown" > + n=26 ;; > esac > > if [ "$action" = "lucistat" ]; then > echo "dsl.line_state_num=$ls" > echo "dsl.line_state_detail=\"$s\"" > + echo "dsl.line_state_mapping=$n" > if [ "$ls" = "0x801" ]; then > echo "dsl.line_state=\"UP\"" > else > -- > 2.20.1 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fe at dev.tdt.de Tue Jun 16 07:47:43 2020 From: fe at dev.tdt.de (Florian Eckert) Date: Tue, 16 Jun 2020 13:47:43 +0200 Subject: [OpenWrt-Devel] Conversion issue in lua ubus binding In-Reply-To: References: Message-ID: <85fdf49f58b7c9270144620d9a99dfce@dev.tdt.de> > I have recently discovered that there is a conversion problem with the > ubus lua binding. > I think it is due to the following commit [1] from the ubus project. > Can anyone confirm this? I removed the suspicious commit [1] from my build and did a custom image for x86_64. Now the value is displayed correctly again. So I can verify myself that the change for 64bit platforms breaks the lua ubus binding. Best regards Florian [1] https://git.openwrt.org/?p=project/ubus.git;a=commitdiff;h=171469e3138cce191892e20b6fd35b52c9368064 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Tue Jun 16 08:14:11 2020 From: openwrt-devel at lists.openwrt.org (info--- via openwrt-devel) Date: 16 Jun 2020 14:14:11 +0200 Subject: [OpenWrt-Devel] Receipt For Invoice Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: info at delivers-solutions.com Subject: Receipt For Invoice Date: 16 Jun 2020 14:14:11 +0200 Size: 23521 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fe at dev.tdt.de Tue Jun 16 08:18:32 2020 From: fe at dev.tdt.de (Florian Eckert) Date: Tue, 16 Jun 2020 14:18:32 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping In-Reply-To: <004301d643d1$0eccb190$2c6614b0$@adrianschmutzler.de> References: <20200616082613.892-1-fe@dev.tdt.de> <004301d643d1$0eccb190$2c6614b0$@adrianschmutzler.de> Message-ID: <3523633f9906f23b980f260be84bce9e@dev.tdt.de> Hi Adrian, thanks for your comment >> - "0xd00") s="resync" ;; >> - "0x3c0") s="short init entry" ;; >> - "") s="not running daemon"; ls="0xfff" ;; >> - *) s="unknown" ;; >> + "0x0") s="not initialized" >> + n=1 ;; > > Wouldn't it be more user-friendly to just use the decimal number > equivalent of the hex code? I've been thinking the same thing. But then I have a problem when I want to display the values over time (collectd/gravana). From my point of view the distances are then too small or too large it does not give equal gradations. >> - "0x1000000") s="test" ;; Especially the test value jumps out of line there. I think this is unlikely and could be neglected, but I would like to have a linear gradation. >> - "") s="not running daemon"; ls="0xfff" ;; >> - *) s="unknown" ;; > Empty and error could be modelled with negative numbers then. We can still do that. So we have for "" and * the value -1 and -2. Best regards Florian _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From citrisin at gmail.com Tue Jun 16 10:38:53 2020 From: citrisin at gmail.com (=?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?=) Date: Tue, 16 Jun 2020 16:38:53 +0200 Subject: [OpenWrt-Devel] [PATCH] hostapd: fix compilation of wpa_supplicant Message-ID: <20200616143853.32668-1-karel.koci@nic.cz> Ubus patch as it seems have been broken by some rebase in the past as the location of line that adds ubus object file was in condition for CONFIG_MACSEC. That condition was adding object files that are not touched by ubus patch. This means ubus.o does not have to be included in that case. When it has to be and when build fails is when CONFIG_AP is set. All files included in wpa_supplicant that are touched by this patch are in this condition. This means that this is for sure the original place for it. Signed-off-by: Karel Ko?? --- .../services/hostapd/patches/600-ubus_support.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/network/services/hostapd/patches/600-ubus_support.patch b/package/network/services/hostapd/patches/600-ubus_support.patch index d2d45ac971..f0a637e4b6 100644 --- a/package/network/services/hostapd/patches/600-ubus_support.patch +++ b/package/network/services/hostapd/patches/600-ubus_support.patch @@ -284,16 +284,16 @@ ifdef CONFIG_CODE_COVERAGE CFLAGS += -O0 -fprofile-arcs -ftest-coverage LIBS += -lgcov -@@ -887,6 +893,9 @@ OBJS += ../src/pae/ieee802_1x_secy_ops.o - ifdef CONFIG_AP - OBJS += ../src/ap/wpa_auth_kay.o +@@ -956,6 +962,9 @@ ifdef CONFIG_CTRL_IFACE_MIB + CFLAGS += -DCONFIG_CTRL_IFACE_MIB endif + OBJS += ../src/ap/ctrl_iface_ap.o +ifdef CONFIG_UBUS +OBJS += ../src/ap/ubus.o +endif endif - ifdef CONFIG_IEEE8021X_EAPOL + CFLAGS += -DEAP_SERVER -DEAP_SERVER_IDENTITY --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -6797,6 +6797,8 @@ struct wpa_supplicant * wpa_supplicant_a -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From karel.koci at nic.cz Tue Jun 16 11:07:46 2020 From: karel.koci at nic.cz (=?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?=) Date: Tue, 16 Jun 2020 17:07:46 +0200 Subject: [OpenWrt-Devel] [PATCH] hostapd: fix compilation of wpa_supplicant Message-ID: <20200616150746.30322-1-karel.koci@nic.cz> Ubus patch as it seems have been broken by some rebase in the past as the location of line that adds ubus object file was in condition for CONFIG_MACSEC. That condition was adding object files that are not touched by ubus patch. This means ubus.o does not have to be included in that case. When it has to be and when build fails is when CONFIG_AP is set. All files included in wpa_supplicant that are touched by this patch are in this condition. This means that this is for sure the original place for it. Signed-off-by: Karel Ko?? --- .../services/hostapd/patches/600-ubus_support.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/network/services/hostapd/patches/600-ubus_support.patch b/package/network/services/hostapd/patches/600-ubus_support.patch index d2d45ac971..f0a637e4b6 100644 --- a/package/network/services/hostapd/patches/600-ubus_support.patch +++ b/package/network/services/hostapd/patches/600-ubus_support.patch @@ -284,16 +284,16 @@ ifdef CONFIG_CODE_COVERAGE CFLAGS += -O0 -fprofile-arcs -ftest-coverage LIBS += -lgcov -@@ -887,6 +893,9 @@ OBJS += ../src/pae/ieee802_1x_secy_ops.o - ifdef CONFIG_AP - OBJS += ../src/ap/wpa_auth_kay.o +@@ -956,6 +962,9 @@ ifdef CONFIG_CTRL_IFACE_MIB + CFLAGS += -DCONFIG_CTRL_IFACE_MIB endif + OBJS += ../src/ap/ctrl_iface_ap.o +ifdef CONFIG_UBUS +OBJS += ../src/ap/ubus.o +endif endif - ifdef CONFIG_IEEE8021X_EAPOL + CFLAGS += -DEAP_SERVER -DEAP_SERVER_IDENTITY --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -6797,6 +6797,8 @@ struct wpa_supplicant * wpa_supplicant_a -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Tue Jun 16 11:42:47 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Tue, 16 Jun 2020 17:42:47 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping In-Reply-To: <20200616082613.892-1-fe@dev.tdt.de> References: <20200616082613.892-1-fe@dev.tdt.de> Message-ID: <00a001d643f4$c92fc2c0$5b8f4840$@adrianschmutzler.de> > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Florian Eckert > Sent: Dienstag, 16. Juni 2020 10:26 > To: john at phrozen.org; dev at kresin.me; Eckert.Florian at googlemail.com > Cc: openwrt-devel at lists.openwrt.org; Florian Eckert > Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping > > The line_state of the DSL connection is described in the system via a > hexadecimal variable. With this change the hexadecimal is mapped to a > decimal value. With this change it is now possible to store this value in a > database, so that it can be easily evaluated. Interesting file this lantiq_dsl.sh ... I'm wondering whether all of this really need to be in this file, or whether stuff can be moved to the package actually dealing with it? This might also make it easier to change it when necessary. Adrian > > This is especially relevant for the collectd and gravana backend. > > Signed-off-by: Florian Eckert > --- > .../base-files/lib/functions/lantiq_dsl.sh | 82 +++++++++++++------ > 1 file changed, 55 insertions(+), 27 deletions(-) > > diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh > b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh > index 11b02fc4aa..4827d10bc5 100755 > --- a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh > +++ b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh > @@ -650,40 +650,68 @@ line_data() { > line_state() { > local lsg=$(dsl_cmd lsg) > local ls=$(dsl_val "$lsg" nLineState); > - local s; > + local s n; > > case "$ls" in > - "0x0") s="not initialized" ;; > - "0x1") s="exception" ;; > - "0x10") s="not updated" ;; > - "0xff") s="idle request" ;; > - "0x100") s="idle" ;; > - "0x1ff") s="silent request" ;; > - "0x200") s="silent" ;; > - "0x300") s="handshake" ;; > - "0x380") s="full_init" ;; > - "0x400") s="discovery" ;; > - "0x500") s="training" ;; > - "0x600") s="analysis" ;; > - "0x700") s="exchange" ;; > - "0x800") s="showtime_no_sync" ;; > - "0x801") s="showtime_tc_sync" ;; > - "0x900") s="fastretrain" ;; > - "0xa00") s="lowpower_l2" ;; > - "0xb00") s="loopdiagnostic active" ;; > - "0xb10") s="loopdiagnostic data exchange" ;; > - "0xb20") s="loopdiagnostic data request" ;; > - "0xc00") s="loopdiagnostic complete" ;; > - "0x1000000") s="test" ;; > - "0xd00") s="resync" ;; > - "0x3c0") s="short init entry" ;; > - "") s="not running daemon"; ls="0xfff" ;; > - *) s="unknown" ;; > + "0x0") s="not initialized" > + n=1 ;; > + "0x1") s="exception" > + n=2 ;; > + "0x10") s="not updated" > + n=3 ;; > + "0xff") s="idle request" > + n=4 ;; > + "0x100") s="idle" > + n=5 ;; > + "0x1ff") s="silent request" > + n=6 ;; > + "0x200") s="silent" > + n=7 ;; > + "0x300") s="handshake" > + n=8 ;; > + "0x380") s="full_init" > + n=9 ;; > + "0x400") s="discovery" > + n=10 ;; > + "0x500") s="training" > + n=11 ;; > + "0x600") s="analysis" > + n=12 ;; > + "0x700") s="exchange" > + n=13 ;; > + "0x800") s="showtime_no_sync" > + n=14 ;; > + "0x801") s="showtime_tc_sync" > + n=15 ;; > + "0x900") s="fastretrain" > + n=16 ;; > + "0xa00") s="lowpower_l2" > + n=17 ;; > + "0xb00") s="loopdiagnostic active" > + n=18 ;; > + "0xb10") s="loopdiagnostic data exchange" > + n=19 ;; > + "0xb20") s="loopdiagnostic data request" > + n=20 ;; > + "0xc00") s="loopdiagnostic complete" > + n=21 ;; > + "0x1000000") s="test" > + n=22 ;; > + "0xd00") s="resync" > + n=23 ;; > + "0x3c0") s="short init entry" > + n=24 ;; > + "") s="not running daemon" > + ls="0xfff" > + n=25 ;; > + *) s="unknown" > + n=26 ;; > esac > > if [ "$action" = "lucistat" ]; then > echo "dsl.line_state_num=$ls" > echo "dsl.line_state_detail=\"$s\"" > + echo "dsl.line_state_mapping=$n" > if [ "$ls" = "0x801" ]; then > echo "dsl.line_state=\"UP\"" > else > -- > 2.20.1 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From news at cryt.org Tue Jun 16 21:01:29 2020 From: news at cryt.org (DigiByte Lottery) Date: Wed, 17 Jun 2020 01:01:29 +0000 Subject: [OpenWrt-Devel] Win 20.000$ with DigiByte Lottery Message-ID: <01d445ad24436a514600569a94e393a0@cryt.org> https://mailing.crytrex.com/campaigns/bj128jmtp39af/track-url/wg392lz0hyd2d/38b1508016a46e510f83a082fd08cac93f1c0a49 Try to WIN the JackPot 20.000$ >> FREE 30 DigiByte Signup Bonus + >> 100% Bonus on any Deposits until 30 June 2020 GO! https://digilocation.org/lottery/ https://mailing.crytrex.com/campaigns/bj128jmtp39af/track-url/wg392lz0hyd2d/da6a5ace67536ccc9320a020ad2c6e8fee0bf470 ********************************************* ** Sponsored Newsletter ** no more newsletter? https://mailing.crytrex.com/lists/yb881rh4pcd85/unsubscribe/wg392lz0hyd2d/bj128jmtp39af https://mailing.crytrex.com/campaigns/bj128jmtp39af/track-url/wg392lz0hyd2d/251cb345f775c1bcc652f0f69dcac9426106f136 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Wed Jun 17 05:39:56 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Wed, 17 Jun 2020 11:39:56 +0200 Subject: [OpenWrt-Devel] [PATCH] bcm63xx: HG622: enable LAN LEDs Message-ID: <4232384.NC9VUl5xJ1@tool> The Huawei Echolife HG622 has hardware controlled LAN LEDs. Add the ephy led pinctrl to let the router show LAN activity on these LEDs. Signed-off-by: Daniel Gonz?lez Cabanelas --- target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg622.dts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg622.dts b/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg622.dts index e220909aeb..37893bd163 100644 --- a/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg622.dts +++ b/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg622.dts @@ -86,7 +86,9 @@ &pinctrl { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_pci_gnt0 &pinctrl_pci_req0 + pinctrl-0 = <&pinctrl_ephy0_led &pinctrl_ephy1_led + &pinctrl_ephy2_led &pinctrl_ephy3_led + &pinctrl_pci_gnt0 &pinctrl_pci_req0 &pinctrl_pci_intb &pinctrl_pci_gnt1 &pinctrl_pci_req1>; }; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From cedric.voncken at acksys.fr Wed Jun 17 06:14:59 2020 From: cedric.voncken at acksys.fr (Cedric VONCKEN) Date: Wed, 17 Jun 2020 10:14:59 +0000 Subject: [OpenWrt-Devel] wrong size of off_t in mips platform Message-ID: In the file include/site/mips the off_t size is set to 8 bytes. The QCA95xx/ar71xx processor use this file, and some configure from package use this file to know the size of several types. On this processor platform, I generate a simple program to print the result of sizeof(off_t) on stdout. The output is 4, so the size of type off_t is 4 bytes and not 8 bytes as recorded in the include/site/mips Could you confirm I need to make change in include/site/mips? Regards. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From fe at dev.tdt.de Wed Jun 17 06:21:51 2020 From: fe at dev.tdt.de (Florian Eckert) Date: Wed, 17 Jun 2020 12:21:51 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping In-Reply-To: <00a001d643f4$c92fc2c0$5b8f4840$@adrianschmutzler.de> References: <20200616082613.892-1-fe@dev.tdt.de> <00a001d643f4$c92fc2c0$5b8f4840$@adrianschmutzler.de> Message-ID: <640cd222ceed3d9a5969ba454c3b607a@dev.tdt.de> Hi Adrian, >> The line_state of the DSL connection is described in the system via a >> hexadecimal variable. With this change the hexadecimal is mapped to a >> decimal value. With this change it is now possible to store this value >> in a >> database, so that it can be easily evaluated. > > Interesting file this lantiq_dsl.sh ... > That?s probably right! > I'm wondering whether all of this really need to be in this file, or > whether stuff can be moved to the package actually dealing with it? > This might also make it easier to change it when necessary. > This file is sourced twice: - dsl_control of package ltq-adsl-app [1] - dsl_control of package ltq-vdsl-app [2] If we take this from the target folder then we have to make our own packet ltq-dsl-common for example. And the packages ltq-adsl-app and ltq-vdsl-app could depend on this. When we create a new package, we may also want to move other files from the target directory to the new package? - lantiq.sh [3] This is sourced in 02_network files on the lantiq targets. - led_dsl.sh [4] - pppoa.sh [5] - uci-defaults [6] - dsl_notify.sh [7] These are candidates that could also moved to the new package Best regards Florian [1] https://github.com/openwrt/openwrt/blob/master/package/network/config/ltq-adsl-app/files/dsl_control#L11 [2] https://github.com/openwrt/openwrt/blob/master/package/network/config/ltq-vdsl-app/files/dsl_control#L11 [3] https://github.com/openwrt/openwrt/blob/master/target/linux/lantiq/base-files/lib/functions/lantiq.sh [4] https://github.com/openwrt/openwrt/blob/master/target/linux/lantiq/base-files/etc/hotplug.d/dsl/led_dsl.sh [5] https://github.com/openwrt/openwrt/blob/master/target/linux/lantiq/base-files/etc/hotplug.d/dsl/pppoa.sh [6] https://github.com/openwrt/openwrt/tree/master/target/linux/lantiq/base-files/etc/uci-defaults [7] https://github.com/openwrt/openwrt/blob/master/target/linux/lantiq/base-files/sbin/dsl_notify.sh _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From moeller0 at gmx.de Wed Jun 17 06:36:45 2020 From: moeller0 at gmx.de (Sebastian Moeller) Date: Wed, 17 Jun 2020 12:36:45 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping In-Reply-To: <3523633f9906f23b980f260be84bce9e@dev.tdt.de> References: <20200616082613.892-1-fe@dev.tdt.de> <004301d643d1$0eccb190$2c6614b0$@adrianschmutzler.de> <3523633f9906f23b980f260be84bce9e@dev.tdt.de> Message-ID: <1D9EF033-4C42-4F7D-BED5-A33793FF4D44@gmx.de> Hi Florian, > On Jun 16, 2020, at 14:18, Florian Eckert wrote: > > Hi Adrian, > > thanks for your comment > >>> - "0xd00") s="resync" ;; >>> - "0x3c0") s="short init entry" ;; >>> - "") s="not running daemon"; ls="0xfff" ;; >>> - *) s="unknown" ;; >>> + "0x0") s="not initialized" >>> + n=1 ;; >> Wouldn't it be more user-friendly to just use the decimal number >> equivalent of the hex code? > > I've been thinking the same thing. > But then I have a problem when I want to display the values over time (collectd/gravana). > From my point of view the distances are then too small or too large it does not give equal gradations. I guess lantiq (or rather maxlinear nowadays) might introduce new hex codes into existing gaps which will cause a distruption of the nice monotonic order oc the enumerating decimals you went for. Is there no other data type in graphana that is ordered yet not scaled? Best Regards Sebastian > >>> - "0x1000000") s="test" ;; > > Especially the test value jumps out of line there. I think this is unlikely and could be neglected, > but I would like to have a linear gradation. > > >>> - "") s="not running daemon"; ls="0xfff" ;; >>> - *) s="unknown" ;; >> Empty and error could be modelled with negative numbers then. > > We can still do that. So we have for "" and * the value -1 and -2. > > Best regards > > Florian > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Wed Jun 17 09:19:13 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Wed, 17 Jun 2020 14:19:13 +0100 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: Hi again, Jason, On Wed, 10 Jun 2020 at 11:09, Jason A. Donenfeld wrote: > > Eventually I can probably get this building and testing and find some > hardware for this and such. But if you'd like things to move faster, > trying to reproduce the issue in the qemu test suite will result in a > quicker fix. After a bit more digging [1], I believe I've narrowed it down. CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y is required in order to avoid the emission of R_ARM_THM_JUMP11 relocations in the WireGuard module. I'm now wondering why the compat modules haven't exhibited the same problem (maybe it was just a fluke), but since this kconfig option effectively implies -fno-optimize-sibling-calls [2], it's quite a hefty hammer. Is this something that can be solved in the WireGuard build itself? Thanks in advance, Rui [1] https://github.com/openwrt/openwrt/pull/3079#issuecomment-645297337 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm/Makefile?h=linux-5.4.y#n125 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Wed Jun 17 10:34:26 2020 From: openwrt-devel at lists.openwrt.org (info--- via openwrt-devel) Date: 17 Jun 2020 16:34:26 +0200 Subject: [OpenWrt-Devel] Receipt For Goods Available Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: info at delivers-solutions.com Subject: Receipt For Goods Available Date: 17 Jun 2020 16:34:26 +0200 Size: 3447 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From daniel at makrotopia.org Wed Jun 17 10:54:51 2020 From: daniel at makrotopia.org (Daniel Golle) Date: Wed, 17 Jun 2020 15:54:51 +0100 Subject: [OpenWrt-Devel] [PATCH v3] uclient-fetch: add option to read POST data from file In-Reply-To: <70c34171-a853-3adb-d1ff-3774ad28baa1@wwsnet.net> References: <70c34171-a853-3adb-d1ff-3774ad28baa1@wwsnet.net> Message-ID: <20200617145451.GA19653@makrotopia.org> Passing post data in command line is convenient but has limited size, and may become tricky to correctly escape passed data especially in scripts. This patch add the option --post-file so the data to post can be read from a file or from /dev/stdin. Tested on x86/64. Signed-off-by: Gioacchino Mazzurco Signed-off-by: Daniel Golle --- v3: use 1024 bytes buffer instead of 1000, use sizeof() As original wget also only supports "application/x-www-form-urlencoded" as Content-Type for the POST data, keep it that way in uclient-fetch as well for now. An additional option --post-type may be introduced at a later stage to allow setting "text/json" or "application/octet-stream". v2: make it compile, handle errors, add usage info, fix typos uclient-fetch.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/uclient-fetch.c b/uclient-fetch.c index a06be5d..061f0fd 100644 --- a/uclient-fetch.c +++ b/uclient-fetch.c @@ -43,6 +43,7 @@ static const char *user_agent = "uclient-fetch"; static const char *post_data; +static const char *post_file; static struct ustream_ssl_ctx *ssl_ctx; static const struct ustream_ssl_ops *ssl_ops; static int quiet = false; @@ -334,7 +335,7 @@ static int init_request(struct uclient *cl) msg_connecting(cl); - rc = uclient_http_set_request_type(cl, post_data ? "POST" : "GET"); + rc = uclient_http_set_request_type(cl, post_data || post_file ? "POST" : "GET"); if (rc) return rc; @@ -347,6 +348,26 @@ static int init_request(struct uclient *cl) uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); uclient_write(cl, post_data, strlen(post_data)); } + else if(post_file) + { + FILE *input_file; + uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); + + input_file = fopen(post_file, "r"); + if (!input_file) + return errno; + + char tbuf[1024]; + size_t rlen = 0; + do + { + rlen = fread(tbuf, 1, sizeof(tbuf), input_file); + uclient_write(cl, tbuf, rlen); + } + while(rlen); + + fclose(input_file); + } rc = uclient_request(cl); if (rc) @@ -460,6 +481,7 @@ static int usage(const char *progname) " --password= HTTP authentication password\n" " --user-agent|-U Set HTTP user agent\n" " --post-data=STRING use the POST method; send STRING as the data\n" + " --post-file=FILE use the POST method; send FILE as the data\n" " --spider|-s Spider mode - only check file existence\n" " --timeout=N|-T N Set connect/request timeout to N seconds\n" " --proxy=on|off|-Y on|off Enable/disable env var configured proxy\n" @@ -516,6 +538,7 @@ enum { L_PASSWORD, L_USER_AGENT, L_POST_DATA, + L_POST_FILE, L_SPIDER, L_TIMEOUT, L_CONTINUE, @@ -532,6 +555,7 @@ static const struct option longopts[] = { [L_PASSWORD] = { "password", required_argument }, [L_USER_AGENT] = { "user-agent", required_argument }, [L_POST_DATA] = { "post-data", required_argument }, + [L_POST_FILE] = { "post-file", required_argument }, [L_SPIDER] = { "spider", no_argument }, [L_TIMEOUT] = { "timeout", required_argument }, [L_CONTINUE] = { "continue", no_argument }, @@ -598,6 +622,9 @@ int main(int argc, char **argv) case L_POST_DATA: post_data = optarg; break; + case L_POST_FILE: + post_file = optarg; + break; case L_SPIDER: no_output = true; break; @@ -718,7 +745,7 @@ int main(int argc, char **argv) /* no error received, we can enter main loop */ uloop_run(); } else { - fprintf(stderr, "Failed to establish connection\n"); + fprintf(stderr, "Failed to send request: %s\n", strerror(rc)); error_ret = 4; } -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From jo at mein.io Wed Jun 17 10:58:41 2020 From: jo at mein.io (Jo-Philipp Wich) Date: Wed, 17 Jun 2020 16:58:41 +0200 Subject: [OpenWrt-Devel] [PATCH v3] uclient-fetch: add option to read POST data from file In-Reply-To: <20200617145451.GA19653@makrotopia.org> References: <70c34171-a853-3adb-d1ff-3774ad28baa1@wwsnet.net> <20200617145451.GA19653@makrotopia.org> Message-ID: <38e8807e-1344-1685-e4ab-a962d6c7fc4f@wwsnet.net> Hi, > Passing post data in command line is convenient but has limited size, > and may become tricky to correctly escape passed data especially in > scripts. > This patch add the option --post-file so the data to post can be read > from a file or from /dev/stdin. > Tested on x86/64. > > Signed-off-by: Gioacchino Mazzurco > Signed-off-by: Daniel Golle Acked-by: Jo-Philipp Wich > --- > v3: use 1024 bytes buffer instead of 1000, use sizeof() > As original wget also only supports "application/x-www-form-urlencoded" > as Content-Type for the POST data, keep it that way in uclient-fetch > as well for now. An additional option --post-type may be introduced at > a later stage to allow setting "text/json" or > "application/octet-stream". > > v2: make it compile, handle errors, add usage info, fix typos > > uclient-fetch.c | 31 +++++++++++++++++++++++++++++-- > 1 file changed, 29 insertions(+), 2 deletions(-) > > diff --git a/uclient-fetch.c b/uclient-fetch.c > index a06be5d..061f0fd 100644 > --- a/uclient-fetch.c > +++ b/uclient-fetch.c > @@ -43,6 +43,7 @@ > > static const char *user_agent = "uclient-fetch"; > static const char *post_data; > +static const char *post_file; > static struct ustream_ssl_ctx *ssl_ctx; > static const struct ustream_ssl_ops *ssl_ops; > static int quiet = false; > @@ -334,7 +335,7 @@ static int init_request(struct uclient *cl) > > msg_connecting(cl); > > - rc = uclient_http_set_request_type(cl, post_data ? "POST" : "GET"); > + rc = uclient_http_set_request_type(cl, post_data || post_file ? "POST" : "GET"); > if (rc) > return rc; > > @@ -347,6 +348,26 @@ static int init_request(struct uclient *cl) > uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); > uclient_write(cl, post_data, strlen(post_data)); > } > + else if(post_file) > + { > + FILE *input_file; > + uclient_http_set_header(cl, "Content-Type", "application/x-www-form-urlencoded"); > + > + input_file = fopen(post_file, "r"); > + if (!input_file) > + return errno; > + > + char tbuf[1024]; > + size_t rlen = 0; > + do > + { > + rlen = fread(tbuf, 1, sizeof(tbuf), input_file); > + uclient_write(cl, tbuf, rlen); > + } > + while(rlen); > + > + fclose(input_file); > + } > > rc = uclient_request(cl); > if (rc) > @@ -460,6 +481,7 @@ static int usage(const char *progname) > " --password= HTTP authentication password\n" > " --user-agent|-U Set HTTP user agent\n" > " --post-data=STRING use the POST method; send STRING as the data\n" > + " --post-file=FILE use the POST method; send FILE as the data\n" > " --spider|-s Spider mode - only check file existence\n" > " --timeout=N|-T N Set connect/request timeout to N seconds\n" > " --proxy=on|off|-Y on|off Enable/disable env var configured proxy\n" > @@ -516,6 +538,7 @@ enum { > L_PASSWORD, > L_USER_AGENT, > L_POST_DATA, > + L_POST_FILE, > L_SPIDER, > L_TIMEOUT, > L_CONTINUE, > @@ -532,6 +555,7 @@ static const struct option longopts[] = { > [L_PASSWORD] = { "password", required_argument }, > [L_USER_AGENT] = { "user-agent", required_argument }, > [L_POST_DATA] = { "post-data", required_argument }, > + [L_POST_FILE] = { "post-file", required_argument }, > [L_SPIDER] = { "spider", no_argument }, > [L_TIMEOUT] = { "timeout", required_argument }, > [L_CONTINUE] = { "continue", no_argument }, > @@ -598,6 +622,9 @@ int main(int argc, char **argv) > case L_POST_DATA: > post_data = optarg; > break; > + case L_POST_FILE: > + post_file = optarg; > + break; > case L_SPIDER: > no_output = true; > break; > @@ -718,7 +745,7 @@ int main(int argc, char **argv) > /* no error received, we can enter main loop */ > uloop_run(); > } else { > - fprintf(stderr, "Failed to establish connection\n"); > + fprintf(stderr, "Failed to send request: %s\n", strerror(rc)); > error_ret = 4; > } > > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Wed Jun 17 13:04:28 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Wed, 17 Jun 2020 18:04:28 +0100 Subject: [OpenWrt-Devel] [PATCH] mvebu: refresh config Message-ID: <20200617170426.123307-1-rsalvaterra@gmail.com> CONFIG_GRO_CELLS and CONFIG_PAGE_POOL added. Signed-off-by: Rui Salvaterra --- target/linux/mvebu/config-5.4 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/linux/mvebu/config-5.4 b/target/linux/mvebu/config-5.4 index ac3e73c7f0..feb1ccac8c 100644 --- a/target/linux/mvebu/config-5.4 +++ b/target/linux/mvebu/config-5.4 @@ -216,6 +216,7 @@ CONFIG_GPIO_MVEBU=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_SYSFS=y +CONFIG_GRO_CELLS=y CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDIRQS_SW_RESEND=y @@ -380,6 +381,7 @@ CONFIG_OUTER_CACHE=y CONFIG_OUTER_CACHE_SYNC=y CONFIG_PADATA=y CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PAGE_POOL=y CONFIG_PCI=y CONFIG_PCI_BRIDGE_EMUL=y CONFIG_PCI_DOMAINS=y -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Wed Jun 17 13:35:11 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Wed, 17 Jun 2020 18:35:11 +0100 Subject: [OpenWrt-Devel] [RFC PATCH] mvebu: compile the kernel in Thumb-2 mode for ARMv7 targets Message-ID: <20200617173510.124628-1-rsalvaterra@gmail.com> (Sending as RFC due to the note below.) The Thumb-2 instruction set generates denser code, allowing for more efficient use of the cache and consequently higher execution performance. NOTE: This requires enabling a linker workaround to avoid the emission of R_ARM_THM_JUMP11 relocations [1] in modules, which the kernel doesn't support. Since this effectively implies -fno-optimize-sibling-calls [2], we're generating suboptimal code. While compat modules load and run correctly without this workaround, WireGuard fails to load with an unknown relocation 102 error. [1] https://static.docs.arm.com/ihi0044/e/IHI0044E_aaelf.pdf (page 28) [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm/Makefile?h=linux-5.4.y#n129 Signed-off-by: Rui Salvaterra --- target/linux/mvebu/cortexa9/config-default | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 target/linux/mvebu/cortexa9/config-default diff --git a/target/linux/mvebu/cortexa9/config-default b/target/linux/mvebu/cortexa9/config-default new file mode 100644 index 0000000000..6aff77fda7 --- /dev/null +++ b/target/linux/mvebu/cortexa9/config-default @@ -0,0 +1,2 @@ +CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y +CONFIG_THUMB2_KERNEL=y -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dwmw2 at infradead.org Wed Jun 17 14:29:56 2020 From: dwmw2 at infradead.org (David Woodhouse) Date: Wed, 17 Jun 2020 19:29:56 +0100 Subject: [OpenWrt-Devel] [PATCH][fstools] Use autoclear for overlay loopback device Message-ID: <7fa3102e5272a9bf2b3453a24f1fd741b59b59c0.camel@infradead.org> During a sysupgrade on a block-based device, the partition table might get updated. The partitions have to be completely unused by the time partx is invoked, or it fails thus: partx: /dev/mmcblk1: error deleting partition 3 partx: /dev/mmcblk1: error adding partition 3 That's cosmetic in some cases, but in others where the old root partition overlaps with the new partition where the config is stored during the reboot, it causes a sysugprade failure (resulting in the backup being lost and a completely clean system image). Although we carefully unmount the root and overlay file systems, the problem is that the loopback device used for the overlay isn't being torn down, and it still has a refcount on the root block partition (in the above case, /dev/mmcblk1p3). Installing losetup and adding 'losetup -D' to the switch_to_ramfs() function makes it work nicely. But the better option that doesn't add a new dependency is to use the autoclear flag when setting up the loop device, so it goes away automatically when the overlay file system is unmounted. To make that work sanely, we have to *not* close the fd right after configuring it ? or it'll go away immediately. We could store the fd in the volume struct and either add destructor method or close it after performing the mount? but honestly it just seems simpler and saner to "leak" the fd in the knowledge that it'll get closed when the process exits in a few milliseconds anyway. We can revisit that if anyone really feels strongly about it. Dissent is best expressed in 'diff -up' form. Signed-off-by: David Woodhouse diff --git a/libfstools/rootdisk.c b/libfstools/rootdisk.c index 5a6dcb9..dc861a9 100644 --- a/libfstools/rootdisk.c +++ b/libfstools/rootdisk.c @@ -231,12 +231,19 @@ static int rootdisk_create_loop(struct rootdev_volume *p) snprintf((char *) info.lo_file_name, sizeof(info.lo_file_name), "%s", rootdev); info.lo_offset = p->offset; + info.lo_flags |= LO_FLAGS_AUTOCLEAR; if (ioctl(fd, LOOP_SET_STATUS64, &info) != 0) { ioctl(fd, LOOP_CLR_FD, 0); continue; } + /* + * Don't close fd. Leave it open until this process exits, to avoid + * the autoclear from happening too soon. + */ + fd = -1; + ret = 0; break; } -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5174 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Wed Jun 17 15:51:36 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Wed, 17 Jun 2020 13:51:36 -0600 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: Hi Rui, On Wed, Jun 17, 2020 at 7:19 AM Rui Salvaterra wrote: > After a bit more digging [1], I believe I've narrowed it down. > CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y is required in order to avoid > the emission of R_ARM_THM_JUMP11 relocations in the WireGuard module. > I'm now wondering why the compat modules haven't exhibited the same > problem (maybe it was just a fluke), but since this kconfig option > effectively implies -fno-optimize-sibling-calls [2], it's quite a > hefty hammer. Is this something that can be solved in the WireGuard > build itself? > > Thanks in advance, > Rui > > [1] https://github.com/openwrt/openwrt/pull/3079#issuecomment-645297337 > [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm/Makefile?h=linux-5.4.y#n125 Ahh hah, nice detective work. Reading the Kconfig description, it looks like this is actually a toolchain bug with modules in general: config THUMB2_AVOID_R_ARM_THM_JUMP11 bool "Work around buggy Thumb-2 short branch relocations in gas" depends on THUMB2_KERNEL && MODULES default y help Various binutils versions can resolve Thumb-2 branches to locally-defined, preemptible global symbols as short-range "b.n" branch instructions. This is a problem, because there's no guarantee the final destination of the symbol, or any candidate locations for a trampoline, are within range of the branch. For this reason, the kernel does not support fixing up the R_ARM_THM_JUMP11 (102) relocation in modules at all, and it makes little sense to add support. The symptom is that the kernel fails with an "unsupported relocation" error when loading some modules. Until fixed tools are available, passing -fno-optimize-sibling-calls to gcc should prevent gcc generating code which hits this problem, at the cost of a bit of extra runtime stack usage in some cases. The problem is described in more detail at: https://bugs.launchpad.net/binutils-linaro/+bug/725126 Only Thumb-2 kernels are affected. Unless you are sure your tools don't have this problem, say Y. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Wed Jun 17 16:33:49 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Wed, 17 Jun 2020 14:33:49 -0600 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: So, some more research: it looks like the R_ARM_THM_JUMP11 symbol is actually wg_packet_send_staged_packets, a boring C function with nothing fancy about it. That github issue you pointed to suggested that it might have something to do with complex crypto functions, but it looks like that's not the case. wg_packet_send_staged_packets is plain old boring C. But there is one interesting thing about wg_packet_send_staged_packets: it's defined in send.c, and called from send.c, receive.c, device.c, and netlink.c -- four places. What I suspect is happening is that the linker can't quite figure out how to order the functions in the final executable so that the wg_packet_send_staged_packets definition is sufficiently close to all of its call sites, so it then needs to add that extra trampoline midway to get to it. Stupid linker. I'm playing now if there's some manual reordering I can do in the build system so that this isn't a problem, but I'm not very optimistic that I'll succeed. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Wed Jun 17 16:45:10 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Wed, 17 Jun 2020 14:45:10 -0600 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: <20200617204510.GA396261@zx2c4.com> On Wed, Jun 17, 2020 at 02:33:49PM -0600, Jason A. Donenfeld wrote: > So, some more research: it looks like the R_ARM_THM_JUMP11 symbol is > actually wg_packet_send_staged_packets, a boring C function with > nothing fancy about it. That github issue you pointed to suggested > that it might have something to do with complex crypto functions, but > it looks like that's not the case. wg_packet_send_staged_packets is > plain old boring C. > > But there is one interesting thing about > wg_packet_send_staged_packets: it's defined in send.c, and called from > send.c, receive.c, device.c, and netlink.c -- four places. What I > suspect is happening is that the linker can't quite figure out how to > order the functions in the final executable so that the > wg_packet_send_staged_packets definition is sufficiently close to all > of its call sites, so it then needs to add that extra trampoline > midway to get to it. Stupid linker. I'm playing now if there's some > manual reordering I can do in the build system so that this isn't a > problem, but I'm not very optimistic that I'll succeed. Looks like my explanation there wasn't 100% accurate, but it does seem like the issue occurs when gcc sees a clear tail call that it can optimize into a B instruction instead of a BL instruction. The below patch avoids that, and thus fixes your issue, using a pretty bad trick that's not really suitable for being committed anywhere, but it is perhaps leading us in the right direction: diff --git a/src/send.c b/src/send.c index 828b086a..4bb6911f 100644 --- a/src/send.c +++ b/src/send.c @@ -221,6 +221,8 @@ static bool encrypt_packet(struct sk_buff *skb, struct noise_keypair *keypair, ? ? ?simd_context); ?} ? +volatile char dummy; + ?void wg_packet_send_keepalive(struct wg_peer *peer) ?{ ? struct sk_buff *skb; @@ -240,6 +242,7 @@ void wg_packet_send_keepalive(struct wg_peer *peer) ? } ? ? wg_packet_send_staged_packets(peer); + dummy = -1; ?} ? ?static void wg_packet_create_data_done(struct sk_buff *first, _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Wed Jun 17 16:54:43 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Wed, 17 Jun 2020 14:54:43 -0600 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: <20200617204510.GA396261@zx2c4.com> References: <20200617204510.GA396261@zx2c4.com> Message-ID: <20200617205443.GA403252@zx2c4.com> On Wed, Jun 17, 2020 at 02:45:12PM -0600, Jason A. Donenfeld wrote: > Looks like my explanation there wasn't 100% accurate, but it does seem > like the issue occurs when gcc sees a clear tail call that it can > optimize into a B instruction instead of a BL instruction. > > The below patch avoids that, and thus fixes your issue, using a pretty > bad trick that's not really suitable for being committed anywhere, but > it is perhaps leading us in the right direction: > > diff --git a/src/send.c b/src/send.c > index 828b086a..4bb6911f 100644 > --- a/src/send.c > +++ b/src/send.c > @@ -221,6 +221,8 @@ static bool encrypt_packet(struct sk_buff *skb, struct noise_keypair *keypair, > ? ? ?simd_context); > ?} > ? > +volatile char dummy; > + > ?void wg_packet_send_keepalive(struct wg_peer *peer) > ?{ > ? struct sk_buff *skb; > @@ -240,6 +242,7 @@ void wg_packet_send_keepalive(struct wg_peer *peer) > ? } > ? > ? wg_packet_send_staged_packets(peer); > + dummy = -1; > ?} > ? > ?static void wg_packet_create_data_done(struct sk_buff *first, A better fix with more explanation: it looks like the issue doesn't have to do with the multifile thing I pointed out before, but just that gcc sees it can optimize the tail call into a B instruction, which seems to have a ?2KB range, whereas BL has a ?4MB range. The solution is to just move the location of the function in that file to be closer to the destination of the tail call. I'm not a big fan of that and I'm slightly worried davem will nack it because it makes backporting harder for a fairly speculative gain (at least, I haven't yet taken measurements, though I suppose I could). There's also the question of - why are we doing goofy reordering things to the code to work around a toolchain bug? Shouldn't we fix the toolchain? So, I'll keep thinking... diff --git a/src/send.c b/src/send.c index 828b086a..f44aff8d 100644 --- a/src/send.c +++ b/src/send.c @@ -221,27 +221,6 @@ static bool encrypt_packet(struct sk_buff *skb, struct noise_keypair *keypair, simd_context); } -void wg_packet_send_keepalive(struct wg_peer *peer) -{ - struct sk_buff *skb; - - if (skb_queue_empty(&peer->staged_packet_queue)) { - skb = alloc_skb(DATA_PACKET_HEAD_ROOM + MESSAGE_MINIMUM_LENGTH, - GFP_ATOMIC); - if (unlikely(!skb)) - return; - skb_reserve(skb, DATA_PACKET_HEAD_ROOM); - skb->dev = peer->device->dev; - PACKET_CB(skb)->mtu = skb->dev->mtu; - skb_queue_tail(&peer->staged_packet_queue, skb); - net_dbg_ratelimited("%s: Sending keepalive packet to peer %llu (%pISpfsc)\n", - peer->device->dev->name, peer->internal_id, - &peer->endpoint.addr); - } - - wg_packet_send_staged_packets(peer); -} - static void wg_packet_create_data_done(struct sk_buff *first, struct wg_peer *peer) { @@ -346,6 +325,27 @@ err: kfree_skb_list(first); } +void wg_packet_send_keepalive(struct wg_peer *peer) +{ + struct sk_buff *skb; + + if (skb_queue_empty(&peer->staged_packet_queue)) { + skb = alloc_skb(DATA_PACKET_HEAD_ROOM + MESSAGE_MINIMUM_LENGTH, + GFP_ATOMIC); + if (unlikely(!skb)) + return; + skb_reserve(skb, DATA_PACKET_HEAD_ROOM); + skb->dev = peer->device->dev; + PACKET_CB(skb)->mtu = skb->dev->mtu; + skb_queue_tail(&peer->staged_packet_queue, skb); + net_dbg_ratelimited("%s: Sending keepalive packet to peer %llu (%pISpfsc)\n", + peer->device->dev->name, peer->internal_id, + &peer->endpoint.addr); + } + + wg_packet_send_staged_packets(peer); +} + void wg_packet_purge_staged_packets(struct wg_peer *peer) { spin_lock_bh(&peer->staged_packet_queue.lock); _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Wed Jun 17 17:02:16 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Wed, 17 Jun 2020 15:02:16 -0600 Subject: [OpenWrt-Devel] Any progress on R_ARM_THM_JUMP11 issues? In-Reply-To: <20200617205443.GA403252@zx2c4.com> References: <20200617204510.GA396261@zx2c4.com> <20200617205443.GA403252@zx2c4.com> Message-ID: Hi ARM folks, Rui emailed the OpenWRT list and me about an issue he found when compiling WireGuard. He was compiling kernels with CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=n -- which I'm well aware the Kconfig advices people not to do -- and got the dreaded "unknown relocation 102" error when trying to load the module. I figured out that I could "fix" it in the WireGuard code by either doing some extra stuff after the tail call, so that the B becomes a BL, or by moving the destination of the tail call a bit closer to the callsite, so that THUMB2's jump distance is shorter and fits within the B's limitations, thereby not needing the "JUMP11" relocation. Obviously reordering code for this reason isn't going to fly with upstream patches, nor would adding dummy code to avoid a tail call. And there's already CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y which seems like the right global solution for this. But I am wondering: has anybody heard about toolchain progress toward fixing this? Couldn't the compiler reorder functions itself more intelligently? Or avoid emitting the B in the case that the jump will be too far? Or does nobody care much about 32-bit ARM these days so it's just fallen by the wayside and CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y is the best we've got? Or something else? Jason On Wed, Jun 17, 2020 at 2:54 PM Jason A. Donenfeld wrote: > > On Wed, Jun 17, 2020 at 02:45:12PM -0600, Jason A. Donenfeld wrote: > > Looks like my explanation there wasn't 100% accurate, but it does seem > > like the issue occurs when gcc sees a clear tail call that it can > > optimize into a B instruction instead of a BL instruction. > > > > The below patch avoids that, and thus fixes your issue, using a pretty > > bad trick that's not really suitable for being committed anywhere, but > > it is perhaps leading us in the right direction: > > > > diff --git a/src/send.c b/src/send.c > > index 828b086a..4bb6911f 100644 > > --- a/src/send.c > > +++ b/src/send.c > > @@ -221,6 +221,8 @@ static bool encrypt_packet(struct sk_buff *skb, struct noise_keypair *keypair, > > simd_context); > > } > > > > +volatile char dummy; > > + > > void wg_packet_send_keepalive(struct wg_peer *peer) > > { > > struct sk_buff *skb; > > @@ -240,6 +242,7 @@ void wg_packet_send_keepalive(struct wg_peer *peer) > > } > > > > wg_packet_send_staged_packets(peer); > > + dummy = -1; > > } > > > > static void wg_packet_create_data_done(struct sk_buff *first, > > A better fix with more explanation: it looks like the issue doesn't have > to do with the multifile thing I pointed out before, but just that gcc > sees it can optimize the tail call into a B instruction, which seems to > have a ?2KB range, whereas BL has a ?4MB range. The solution is to just > move the location of the function in that file to be closer to the > destination of the tail call. I'm not a big fan of that and I'm slightly > worried davem will nack it because it makes backporting harder for a > fairly speculative gain (at least, I haven't yet taken measurements, > though I suppose I could). There's also the question of - why are we > doing goofy reordering things to the code to work around a toolchain > bug? Shouldn't we fix the toolchain? So, I'll keep thinking... > > diff --git a/src/send.c b/src/send.c > index 828b086a..f44aff8d 100644 > --- a/src/send.c > +++ b/src/send.c > @@ -221,27 +221,6 @@ static bool encrypt_packet(struct sk_buff *skb, struct noise_keypair *keypair, > simd_context); > } > > -void wg_packet_send_keepalive(struct wg_peer *peer) > -{ > - struct sk_buff *skb; > - > - if (skb_queue_empty(&peer->staged_packet_queue)) { > - skb = alloc_skb(DATA_PACKET_HEAD_ROOM + MESSAGE_MINIMUM_LENGTH, > - GFP_ATOMIC); > - if (unlikely(!skb)) > - return; > - skb_reserve(skb, DATA_PACKET_HEAD_ROOM); > - skb->dev = peer->device->dev; > - PACKET_CB(skb)->mtu = skb->dev->mtu; > - skb_queue_tail(&peer->staged_packet_queue, skb); > - net_dbg_ratelimited("%s: Sending keepalive packet to peer %llu (%pISpfsc)\n", > - peer->device->dev->name, peer->internal_id, > - &peer->endpoint.addr); > - } > - > - wg_packet_send_staged_packets(peer); > -} > - > static void wg_packet_create_data_done(struct sk_buff *first, > struct wg_peer *peer) > { > @@ -346,6 +325,27 @@ err: > kfree_skb_list(first); > } > > +void wg_packet_send_keepalive(struct wg_peer *peer) > +{ > + struct sk_buff *skb; > + > + if (skb_queue_empty(&peer->staged_packet_queue)) { > + skb = alloc_skb(DATA_PACKET_HEAD_ROOM + MESSAGE_MINIMUM_LENGTH, > + GFP_ATOMIC); > + if (unlikely(!skb)) > + return; > + skb_reserve(skb, DATA_PACKET_HEAD_ROOM); > + skb->dev = peer->device->dev; > + PACKET_CB(skb)->mtu = skb->dev->mtu; > + skb_queue_tail(&peer->staged_packet_queue, skb); > + net_dbg_ratelimited("%s: Sending keepalive packet to peer %llu (%pISpfsc)\n", > + peer->device->dev->name, peer->internal_id, > + &peer->endpoint.addr); > + } > + > + wg_packet_send_staged_packets(peer); > +} > + > void wg_packet_purge_staged_packets(struct wg_peer *peer) > { > spin_lock_bh(&peer->staged_packet_queue.lock); > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From jo at mein.io Wed Jun 17 17:21:02 2020 From: jo at mein.io (Jo-Philipp Wich) Date: Wed, 17 Jun 2020 23:21:02 +0200 Subject: [OpenWrt-Devel] Merged: Use autoclear for overlay loopbackdevice Message-ID: <20200617212102.1767618-1-jo@mein.io> Merged into project/fstools.git, branch master at http://git.openwrt.org/?p=project/fstools.git. Thank you! _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Wed Jun 17 17:56:57 2020 From: ynezz at true.cz (=?UTF-8?q?Petr=20=C5=A0tetiar?=) Date: Wed, 17 Jun 2020 23:56:57 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: archer-c7-v5: fix initramfs image Message-ID: <20200617215657.4330-1-ynezz@true.cz> Currently it's not possible to tftpboot initramfs image as the image contains tplink-v1-header which leads to: ath> bootm ## Booting image at 81000000 ... Bad Magic Number Fix this by using uImage wrapped initramfs image. Signed-off-by: Petr ?tetiar --- target/linux/ath79/image/generic-tp-link.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index bd7eb3fc7608..abb24bfb9a9e 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -197,6 +197,7 @@ define Device/tplink_archer-c7-v5 TPLINK_BOARD_ID := ARCHER-C7-V5 BOARDNAME := ARCHER-C7-V5 SUPPORTED_DEVICES += archer-c7-v5 + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImageArcher lzma endef TARGET_DEVICES += tplink_archer-c7-v5 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Wed Jun 17 18:18:07 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Wed, 17 Jun 2020 23:18:07 +0100 Subject: [OpenWrt-Devel] Any progress on R_ARM_THM_JUMP11 issues? In-Reply-To: References: <20200617204510.GA396261@zx2c4.com> <20200617205443.GA403252@zx2c4.com> Message-ID: Hi again, Jason, [Adding a bit of extra context for linux-arm-kernel.] On Wed, 17 Jun 2020 at 22:02, Jason A. Donenfeld wrote: > > But I am wondering: has anybody heard about toolchain progress toward > fixing this? Couldn't the compiler reorder functions itself more > intelligently? Or avoid emitting the B in the case that the jump will > be too far? Or does nobody care much about 32-bit ARM these days so > it's just fallen by the wayside and > CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y is the best we've got? Or > something else? The thing is, CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y implies -fno-optimize-sibling-calls, which seems like a big hammer to work around a toolchain bug. Now, this bug has been reported in Linaro binutils as early as February 2011 [1] and the upstream bug has been deemed fixed in binutils 2.22 [2], two months later. I usually don't build modular kernels, but in OpenWrt we don't have a choice due to the compat backports of wireless drivers. What strikes me as odd is the fact that without CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11, all kernel modules load and run just fine, except for WireGuard. Anyway, I completely agree that if it's a toolchain bug, the toolchain must be fixed. Out of curiosity, I also compared the vmlinux sizes in both modes (OpenWrt kernel, Linux 5.4.46 with my Turris Omnia configuration, gcc 9.3.0 and binutils 2.34). Pure ARM: 24243392 bytes Thumb-2 (with CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y): 22102716 bytes A 2 MiB smaller code footprint is nothing to sneeze at. [1] https://bugs.launchpad.net/binutils-linaro/+bug/725126 [2] https://sourceware.org/bugzilla/show_bug.cgi?id=12532 Cheers, Rui _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ms at dev.tdt.de Thu Jun 18 01:03:28 2020 From: ms at dev.tdt.de (Martin Schiller) Date: Thu, 18 Jun 2020 07:03:28 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping In-Reply-To: <640cd222ceed3d9a5969ba454c3b607a@dev.tdt.de> References: <20200616082613.892-1-fe@dev.tdt.de> <00a001d643f4$c92fc2c0$5b8f4840$@adrianschmutzler.de> <640cd222ceed3d9a5969ba454c3b607a@dev.tdt.de> Message-ID: On 2020-06-17 12:21, Florian Eckert wrote: > Hi Adrian, > >>> The line_state of the DSL connection is described in the system via a >>> hexadecimal variable. With this change the hexadecimal is mapped to a >>> decimal value. With this change it is now possible to store this >>> value in a >>> database, so that it can be easily evaluated. >> >> Interesting file this lantiq_dsl.sh ... >> > > That?s probably right! > >> I'm wondering whether all of this really need to be in this file, or >> whether stuff can be moved to the package actually dealing with it? >> This might also make it easier to change it when necessary. >> > > This file is sourced twice: > - dsl_control of package ltq-adsl-app [1] > - dsl_control of package ltq-vdsl-app [2] > > If we take this from the target folder then we have to make our own > packet ltq-dsl-common for example. > And the packages ltq-adsl-app and ltq-vdsl-app could depend on this. > > When we create a new package, we may also want to move other files > from the target directory to the new package? > > - lantiq.sh [3] This is sourced in 02_network files on the lantiq > targets. > - led_dsl.sh [4] > - pppoa.sh [5] > - uci-defaults [6] > - dsl_notify.sh [7] > > These are candidates that could also moved to the new package That's what I've already done in my working tree for VRX518 support on FB7530, to get this scripts also available on other targets than lantiq: https://github.com/3headeddevs/openwrt/commit/9f45c750f91eea230dc638c0936fb6e761214abb > > Best regards > > Florian > > [1] > https://github.com/openwrt/openwrt/blob/master/package/network/config/ltq-adsl-app/files/dsl_control#L11 > [2] > https://github.com/openwrt/openwrt/blob/master/package/network/config/ltq-vdsl-app/files/dsl_control#L11 > [3] > https://github.com/openwrt/openwrt/blob/master/target/linux/lantiq/base-files/lib/functions/lantiq.sh > [4] > https://github.com/openwrt/openwrt/blob/master/target/linux/lantiq/base-files/etc/hotplug.d/dsl/led_dsl.sh > [5] > https://github.com/openwrt/openwrt/blob/master/target/linux/lantiq/base-files/etc/hotplug.d/dsl/pppoa.sh > [6] > https://github.com/openwrt/openwrt/tree/master/target/linux/lantiq/base-files/etc/uci-defaults > [7] > https://github.com/openwrt/openwrt/blob/master/target/linux/lantiq/base-files/sbin/dsl_notify.sh > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ldir at darbyshire-bryant.me.uk Thu Jun 18 02:50:15 2020 From: ldir at darbyshire-bryant.me.uk (Kevin Darbyshire-Bryant) Date: Thu, 18 Jun 2020 07:50:15 +0100 Subject: [OpenWrt-Devel] [PATCH] kernel: bump 5.4 to 5.4.47 Message-ID: <20200618065015.73096-1-ldir@darbyshire-bryant.me.uk> Refreshed patches. Run tested: x86/64 (apu2) Signed-off-by: Kevin Darbyshire-Bryant --- include/kernel-version.mk | 4 ++-- ...653-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch | 4 ++-- ...QUASH-spi-Demote-SPI_CS_HIGH-warning-to-KERN_DEBUG.patch | 2 +- .../825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch | 6 ++---- ....8-spi-rb4xx-update-driver-to-be-device-tree-aware.patch | 6 ++---- target/linux/generic/hack-5.4/221-module_exports.patch | 2 +- target/linux/generic/hack-5.4/902-debloat_proc.patch | 4 ++-- .../generic/pending-5.4/203-kallsyms_uncompressed.patch | 2 +- ...-allow-rejecting-with-source-address-failed-policy.patch | 2 +- ...c-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch | 2 +- .../linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch | 2 +- 11 files changed, 16 insertions(+), 20 deletions(-) diff --git a/include/kernel-version.mk b/include/kernel-version.mk index fa62ccbe2a..f69b8977c5 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.14 = .180 LINUX_VERSION-4.19 = .123 -LINUX_VERSION-5.4 = .46 +LINUX_VERSION-5.4 = .47 LINUX_KERNEL_HASH-4.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e LINUX_KERNEL_HASH-4.19.123 = a79914d31a8d8c6b0e2bb0f2b143d615fe8a6c4dd2e0f36e97aa20efd69a993f -LINUX_KERNEL_HASH-5.4.46 = 30074ff2f1a2498da391fad73fc0efaa2256416a08fff8835069b1c59ab31b8e +LINUX_KERNEL_HASH-5.4.47 = 970b9d393d9a8d45eafdec9c6ab0d9880c20c703eeb9b0ac409892c8bc418d6c remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/bcm27xx/patches-5.4/950-0653-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch b/target/linux/bcm27xx/patches-5.4/950-0653-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch index 43d10486de..9c090a0597 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0653-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0653-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch @@ -23,7 +23,7 @@ Signed-off-by: Phil Elwell --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c -@@ -3032,6 +3032,7 @@ static int __spi_validate_bits_per_word( +@@ -3033,6 +3033,7 @@ static int __spi_validate_bits_per_word( */ int spi_setup(struct spi_device *spi) { @@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell unsigned bad_bits, ugly_bits; int status; -@@ -3049,6 +3050,14 @@ int spi_setup(struct spi_device *spi) +@@ -3050,6 +3051,14 @@ int spi_setup(struct spi_device *spi) (SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL | SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL))) return -EINVAL; diff --git a/target/linux/bcm27xx/patches-5.4/950-0697-SQUASH-spi-Demote-SPI_CS_HIGH-warning-to-KERN_DEBUG.patch b/target/linux/bcm27xx/patches-5.4/950-0697-SQUASH-spi-Demote-SPI_CS_HIGH-warning-to-KERN_DEBUG.patch index 2be5524a07..617873ce42 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0697-SQUASH-spi-Demote-SPI_CS_HIGH-warning-to-KERN_DEBUG.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0697-SQUASH-spi-Demote-SPI_CS_HIGH-warning-to-KERN_DEBUG.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c -@@ -3044,8 +3044,8 @@ int spi_setup(struct spi_device *spi) +@@ -3045,8 +3045,8 @@ int spi_setup(struct spi_device *spi) if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods && ctlr->cs_gpiods[spi->chip_select] && !(spi->mode & SPI_CS_HIGH)) { diff --git a/target/linux/generic/backport-5.4/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch b/target/linux/generic/backport-5.4/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch index 5d762c571c..71e26d50da 100644 --- a/target/linux/generic/backport-5.4/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch +++ b/target/linux/generic/backport-5.4/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch @@ -20,11 +20,9 @@ Signed-off-by: Christopher Hill drivers/spi/spi-rb4xx.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) -diff --git a/drivers/spi/spi-rb4xx.c b/drivers/spi/spi-rb4xx.c -index 4c9620e0d18c..17e1a77dc132 100644 --- a/drivers/spi/spi-rb4xx.c +++ b/drivers/spi/spi-rb4xx.c -@@ -158,6 +158,11 @@ static int rb4xx_spi_probe(struct platform_device *pdev) +@@ -158,6 +158,11 @@ static int rb4xx_spi_probe(struct platfo master->transfer_one = rb4xx_transfer_one; master->set_cs = rb4xx_set_cs; @@ -36,7 +34,7 @@ index 4c9620e0d18c..17e1a77dc132 100644 err = devm_spi_register_master(&pdev->dev, master); if (err) { dev_err(&pdev->dev, "failed to register SPI master\n"); -@@ -168,11 +173,6 @@ static int rb4xx_spi_probe(struct platform_device *pdev) +@@ -168,11 +173,6 @@ static int rb4xx_spi_probe(struct platfo if (err) return err; diff --git a/target/linux/generic/backport-5.4/826-v5.8-spi-rb4xx-update-driver-to-be-device-tree-aware.patch b/target/linux/generic/backport-5.4/826-v5.8-spi-rb4xx-update-driver-to-be-device-tree-aware.patch index 0340c934d8..0ce4f2bb35 100644 --- a/target/linux/generic/backport-5.4/826-v5.8-spi-rb4xx-update-driver-to-be-device-tree-aware.patch +++ b/target/linux/generic/backport-5.4/826-v5.8-spi-rb4xx-update-driver-to-be-device-tree-aware.patch @@ -21,8 +21,6 @@ Signed-off-by: Christopher Hill drivers/spi/spi-rb4xx.c | 9 +++++++++ 1 file changed, 9 insertions(+) -diff --git a/drivers/spi/spi-rb4xx.c b/drivers/spi/spi-rb4xx.c -index 17e1a77dc132..8aa51beb4ff3 100644 --- a/drivers/spi/spi-rb4xx.c +++ b/drivers/spi/spi-rb4xx.c @@ -14,6 +14,7 @@ @@ -33,7 +31,7 @@ index 17e1a77dc132..8aa51beb4ff3 100644 #include -@@ -150,6 +151,7 @@ static int rb4xx_spi_probe(struct platform_device *pdev) +@@ -150,6 +151,7 @@ static int rb4xx_spi_probe(struct platfo if (IS_ERR(ahb_clk)) return PTR_ERR(ahb_clk); @@ -41,7 +39,7 @@ index 17e1a77dc132..8aa51beb4ff3 100644 master->bus_num = 0; master->num_chipselect = 3; master->mode_bits = SPI_TX_DUAL; -@@ -188,11 +190,18 @@ static int rb4xx_spi_remove(struct platform_device *pdev) +@@ -188,11 +190,18 @@ static int rb4xx_spi_remove(struct platf return 0; } diff --git a/target/linux/generic/hack-5.4/221-module_exports.patch b/target/linux/generic/hack-5.4/221-module_exports.patch index ecddc0fbc1..00802bb401 100644 --- a/target/linux/generic/hack-5.4/221-module_exports.patch +++ b/target/linux/generic/hack-5.4/221-module_exports.patch @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau } \ \ /* __*init sections */ \ -@@ -865,6 +875,8 @@ +@@ -881,6 +891,8 @@ EXIT_TEXT \ EXIT_DATA \ EXIT_CALL \ diff --git a/target/linux/generic/hack-5.4/902-debloat_proc.patch b/target/linux/generic/hack-5.4/902-debloat_proc.patch index d2acd40e19..2a1106e2a9 100644 --- a/target/linux/generic/hack-5.4/902-debloat_proc.patch +++ b/target/linux/generic/hack-5.4/902-debloat_proc.patch @@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c -@@ -2844,11 +2844,13 @@ static const struct seq_operations fib_r +@@ -2847,11 +2847,13 @@ static const struct seq_operations fib_r int __net_init fib_proc_init(struct net *net) { @@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau fib_triestat_seq_show, NULL)) goto out2; -@@ -2859,17 +2861,21 @@ int __net_init fib_proc_init(struct net +@@ -2862,17 +2864,21 @@ int __net_init fib_proc_init(struct net return 0; out3: diff --git a/target/linux/generic/pending-5.4/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-5.4/203-kallsyms_uncompressed.patch index c977b377b7..c4c13b9695 100644 --- a/target/linux/generic/pending-5.4/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-5.4/203-kallsyms_uncompressed.patch @@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau } --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh -@@ -164,6 +164,10 @@ kallsyms() +@@ -160,6 +160,10 @@ kallsyms() kallsymopt="${kallsymopt} --base-relative" fi diff --git a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 4029bb0433..766abc7489 100644 --- a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski static void rt_fibinfo_free(struct rtable __rcu **rtp) --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c -@@ -2592,6 +2592,7 @@ static const char *const rtn_type_names[ +@@ -2595,6 +2595,7 @@ static const char *const rtn_type_names[ [RTN_THROW] = "THROW", [RTN_NAT] = "NAT", [RTN_XRESOLVE] = "XRESOLVE", diff --git a/target/linux/ipq40xx/patches-5.4/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch b/target/linux/ipq40xx/patches-5.4/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch index 72ec2e9b0d..cf5c44e687 100644 --- a/target/linux/ipq40xx/patches-5.4/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch +++ b/target/linux/ipq40xx/patches-5.4/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch @@ -14,7 +14,7 @@ Signed-off-by: Robert Marko --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c -@@ -1724,7 +1724,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat +@@ -1730,7 +1730,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat static const struct sdhci_ops sdhci_msm_ops = { .reset = sdhci_reset, diff --git a/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch b/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch index 1426140183..bc57806c74 100644 --- a/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch +++ b/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch @@ -1,6 +1,6 @@ --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c -@@ -469,6 +469,16 @@ static const struct dmi_system_id reboot +@@ -477,6 +477,16 @@ static const struct dmi_system_id reboot }, }, -- 2.24.3 (Apple Git-128) _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From koen.vandeputte at ncentric.com Thu Jun 18 03:58:10 2020 From: koen.vandeputte at ncentric.com (Koen Vandeputte) Date: Thu, 18 Jun 2020 09:58:10 +0200 Subject: [OpenWrt-Devel] [PATCH] kernel: bump 5.4 to 5.4.47 In-Reply-To: <20200618065015.73096-1-ldir@darbyshire-bryant.me.uk> References: <20200618065015.73096-1-ldir@darbyshire-bryant.me.uk> Message-ID: <9c5c159c-7638-5fdb-027c-39f8d9b2a9e8@ncentric.com> On 18.06.20 08:50, Kevin Darbyshire-Bryant wrote: > Refreshed patches. > > Run tested: x86/64 (apu2) > > Signed-off-by: Kevin Darbyshire-Bryant > --- I've got the bumps in my staging already sinds a day or 2 :-) _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ldir at darbyshire-bryant.me.uk Thu Jun 18 04:52:41 2020 From: ldir at darbyshire-bryant.me.uk (Kevin 'ldir' Darbyshire-Bryant) Date: Thu, 18 Jun 2020 08:52:41 +0000 Subject: [OpenWrt-Devel] [PATCH] kernel: bump 5.4 to 5.4.47 In-Reply-To: <9c5c159c-7638-5fdb-027c-39f8d9b2a9e8@ncentric.com> References: <20200618065015.73096-1-ldir@darbyshire-bryant.me.uk> <9c5c159c-7638-5fdb-027c-39f8d9b2a9e8@ncentric.com> Message-ID: <0F2E877F-1104-427D-9C24-220FE3434F93@darbyshire-bryant.me.uk> > On 18 Jun 2020, at 08:58, Koen Vandeputte wrote: > > > On 18.06.20 08:50, Kevin Darbyshire-Bryant wrote: >> Refreshed patches. >> >> Run tested: x86/64 (apu2) >> >> Signed-off-by: Kevin Darbyshire-Bryant >> --- > > > I've got the bumps in my staging already sinds a day or 2 :-) > AFAIUI 5.4.47 was release 17 hours ago, a few hours after ynezz committed 5.4.46 - I think. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: Message signed with OpenPGP URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From koen.vandeputte at ncentric.com Thu Jun 18 05:00:02 2020 From: koen.vandeputte at ncentric.com (Koen Vandeputte) Date: Thu, 18 Jun 2020 11:00:02 +0200 Subject: [OpenWrt-Devel] [PATCH] kernel: bump 5.4 to 5.4.47 In-Reply-To: <0F2E877F-1104-427D-9C24-220FE3434F93@darbyshire-bryant.me.uk> References: <20200618065015.73096-1-ldir@darbyshire-bryant.me.uk> <9c5c159c-7638-5fdb-027c-39f8d9b2a9e8@ncentric.com> <0F2E877F-1104-427D-9C24-220FE3434F93@darbyshire-bryant.me.uk> Message-ID: <218d5d94-52b0-0a32-ec59-286254b01c1f@ncentric.com> On 18.06.20 10:52, Kevin 'ldir' Darbyshire-Bryant wrote: > >> On 18 Jun 2020, at 08:58, Koen Vandeputte wrote: >> >> >> On 18.06.20 08:50, Kevin Darbyshire-Bryant wrote: >>> Refreshed patches. >>> >>> Run tested: x86/64 (apu2) >>> >>> Signed-off-by: Kevin Darbyshire-Bryant >>> --- >> >> I've got the bumps in my staging already sinds a day or 2 :-) >> > AFAIUI 5.4.47 was release 17 hours ago, a few hours after ynezz committed 5.4.46 - I think. ah right .. mine was .46 got to rebase again for the other bumps .. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Thu Jun 18 05:43:58 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Thu, 18 Jun 2020 11:43:58 +0200 Subject: [OpenWrt-Devel] [PATCH 1/2] ipq40xx: consolidate DTS files Message-ID: <20200618094359.1651-1-freifunk@adrianschmutzler.de> The DTS files in files-4.19 and files-5.4 are exactly identical except for one file (qcom-ipq4018-emr3500.dts), which is only present for 5.4. Since there is no point in maintaining all these identical files twice, this patch moves them to the "files" directory. If there ever was a new kernel with substantial DTS changes, a new folder would need to be introduced anyway and could easily be done. Signed-off-by: Adrian Schmutzler --- .../arch/arm/boot/dts/qcom-ipq4018-a42.dts | 219 --------- .../arm/boot/dts/qcom-ipq4018-ap120c-ac.dts | 348 --------------- .../dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts | 242 ---------- .../arm/boot/dts/qcom-ipq4018-dap-2610.dts | 241 ---------- .../arm/boot/dts/qcom-ipq4018-ea6350v3.dts | 277 ------------ .../arm/boot/dts/qcom-ipq4018-eap1300.dts | 235 ---------- .../arch/arm/boot/dts/qcom-ipq4018-emd1.dts | 233 ---------- .../arm/boot/dts/qcom-ipq4018-ens620ext.dts | 265 ----------- .../arm/boot/dts/qcom-ipq4018-ex6100v2.dts | 33 -- .../arm/boot/dts/qcom-ipq4018-ex6150v2.dts | 33 -- .../arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi | 312 ------------- .../boot/dts/qcom-ipq4018-fritzbox-4040.dts | 292 ------------ .../arm/boot/dts/qcom-ipq4018-jalapeno.dts | 9 - .../arm/boot/dts/qcom-ipq4018-jalapeno.dtsi | 269 ----------- .../boot/dts/qcom-ipq4018-meshpoint-one.dts | 81 ---- .../arm/boot/dts/qcom-ipq4018-nbg6617.dts | 337 -------------- .../arm/boot/dts/qcom-ipq4018-rt-ac58u.dts | 309 ------------- .../arm/boot/dts/qcom-ipq4018-wre6606.dts | 265 ----------- .../arch/arm/boot/dts/qcom-ipq4019-a62.dts | 243 ---------- .../boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts | 21 - .../arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi | 181 -------- .../arm/boot/dts/qcom-ipq4019-cm520-79f.dts | 354 --------------- .../arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts | 80 ---- .../arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts | 115 ----- .../arm/boot/dts/qcom-ipq4019-e2600ac.dtsi | 266 ----------- .../arch/arm/boot/dts/qcom-ipq4019-ea8300.dts | 399 ----------------- .../arm/boot/dts/qcom-ipq4019-eap2200.dts | 282 ------------ .../boot/dts/qcom-ipq4019-fritzbox-7530.dts | 303 ------------- .../dts/qcom-ipq4019-fritzrepeater-1200.dts | 267 ----------- .../dts/qcom-ipq4019-fritzrepeater-3000.dts | 264 ----------- .../boot/dts/qcom-ipq4019-habanero-dvk.dts | 357 --------------- .../arm/boot/dts/qcom-ipq4019-map-ac2200.dts | 311 ------------- .../arm/boot/dts/qcom-ipq4019-rtl30vw.dts | 385 ---------------- .../arm/boot/dts/qcom-ipq4019-u4019-32m.dts | 79 ---- .../arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi | 224 ---------- .../arch/arm/boot/dts/qcom-ipq4019-wpj419.dts | 375 ---------------- .../arch/arm/boot/dts/qcom-ipq4028-wpj428.dts | 288 ------------ .../arch/arm/boot/dts/qcom-ipq4029-ap-303.dts | 180 -------- .../arm/boot/dts/qcom-ipq4029-ap-303h.dts | 421 ------------------ .../arch/arm/boot/dts/qcom-ipq4029-ap-365.dts | 193 -------- .../dts/qcom-ipq4029-aruba-glenmorangie.dtsi | 249 ----------- .../arm/boot/dts/qcom-ipq4029-gl-b1300.dts | 280 ------------ .../arch/arm/boot/dts/qcom-ipq4029-mr33.dts | 400 ----------------- .../arch/arm/boot/dts/qcom-ipq4018-a42.dts | 0 .../arm/boot/dts/qcom-ipq4018-ap120c-ac.dts | 0 .../dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts | 0 .../arm/boot/dts/qcom-ipq4018-dap-2610.dts | 0 .../arm/boot/dts/qcom-ipq4018-ea6350v3.dts | 0 .../arm/boot/dts/qcom-ipq4018-eap1300.dts | 0 .../arch/arm/boot/dts/qcom-ipq4018-emd1.dts | 0 .../arm/boot/dts/qcom-ipq4018-emr3500.dts | 0 .../arm/boot/dts/qcom-ipq4018-ens620ext.dts | 0 .../arm/boot/dts/qcom-ipq4018-ex6100v2.dts | 0 .../arm/boot/dts/qcom-ipq4018-ex6150v2.dts | 0 .../arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi | 0 .../boot/dts/qcom-ipq4018-fritzbox-4040.dts | 0 .../arm/boot/dts/qcom-ipq4018-jalapeno.dts | 0 .../arm/boot/dts/qcom-ipq4018-jalapeno.dtsi | 0 .../boot/dts/qcom-ipq4018-meshpoint-one.dts | 0 .../arm/boot/dts/qcom-ipq4018-nbg6617.dts | 0 .../arm/boot/dts/qcom-ipq4018-rt-ac58u.dts | 0 .../arm/boot/dts/qcom-ipq4018-wre6606.dts | 0 .../arch/arm/boot/dts/qcom-ipq4019-a62.dts | 0 .../boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts | 0 .../arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi | 0 .../arm/boot/dts/qcom-ipq4019-cm520-79f.dts | 0 .../arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts | 0 .../arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts | 0 .../arm/boot/dts/qcom-ipq4019-e2600ac.dtsi | 0 .../arch/arm/boot/dts/qcom-ipq4019-ea8300.dts | 0 .../arm/boot/dts/qcom-ipq4019-eap2200.dts | 0 .../boot/dts/qcom-ipq4019-fritzbox-7530.dts | 0 .../dts/qcom-ipq4019-fritzrepeater-1200.dts | 0 .../dts/qcom-ipq4019-fritzrepeater-3000.dts | 0 .../boot/dts/qcom-ipq4019-habanero-dvk.dts | 0 .../arm/boot/dts/qcom-ipq4019-map-ac2200.dts | 0 .../arm/boot/dts/qcom-ipq4019-rtl30vw.dts | 0 .../arm/boot/dts/qcom-ipq4019-u4019-32m.dts | 0 .../arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi | 0 .../arch/arm/boot/dts/qcom-ipq4019-wpj419.dts | 0 .../arch/arm/boot/dts/qcom-ipq4028-wpj428.dts | 0 .../arch/arm/boot/dts/qcom-ipq4029-ap-303.dts | 0 .../arm/boot/dts/qcom-ipq4029-ap-303h.dts | 0 .../arch/arm/boot/dts/qcom-ipq4029-ap-365.dts | 0 .../dts/qcom-ipq4029-aruba-glenmorangie.dtsi | 0 .../arm/boot/dts/qcom-ipq4029-gl-b1300.dts | 0 .../arch/arm/boot/dts/qcom-ipq4029-mr33.dts | 0 87 files changed, 10517 deletions(-) delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-a42.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-emd1.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-a62.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts delete mode 100644 target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-mr33.dts rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-a42.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-emd1.dts (100%) rename target/linux/ipq40xx/{files-5.4 => files}/arch/arm/boot/dts/qcom-ipq4018-emr3500.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-a62.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts (100%) rename target/linux/ipq40xx/{files-4.19 => files}/arch/arm/boot/dts/qcom-ipq4029-mr33.dts (100%) diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-a42.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-a42.dts deleted file mode 100644 index 33c44a8097..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-a42.dts +++ /dev/null @@ -1,219 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * Copyright (c) 2017, Sven Eckelmann - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "OpenMesh A42"; - compatible = "openmesh,a42"; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 194b000 { - /* select hostmode */ - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2: usb2 at 60f8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - - leds { - compatible = "gpio-leds"; - - red { - label = "a42:red:status"; - gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "default-off"; - }; - - power: green { - label = "a42:green:status"; - gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; - }; - - blue { - label = "a42:blue:status"; - gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "default-off"; - }; - }; - - watchdog { - compatible = "linux,wdt-gpio"; - gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; - hw_algo = "toggle"; - /* hw_margin_ms is actually 300s but driver limits it to 60s */ - hw_margin_ms = <60000>; - always-running; - }; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - pin_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - m25p80 at 0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - /* partitions are passed via bootloader */ - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - qcom,phy_mdio_addr = <4>; - qcom,poll_required = <1>; - qcom,forced_speed = <1000>; - qcom,forced_duplex = <1>; - vlan_tag = <2 0x20>; -}; - -&gmac1 { - qcom,phy_mdio_addr = <3>; - qcom,poll_required = <1>; - qcom,forced_speed = <1000>; - qcom,forced_duplex = <1>; - vlan_tag = <1 0x10>; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "OM-A42"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "OM-A42"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts deleted file mode 100644 index e21c40cae0..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts +++ /dev/null @@ -1,348 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "ALFA Network AP120C-AC"; - compatible = "alfa-network,ap120c-ac"; - - aliases { - led-boot = &status; - led-failsafe = &status; - led-running = &status; - led-upgrade = &status; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - status: status { - label = "ap120c-ac:blue:status"; - gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; - default-state = "keep"; - }; - - wan { - label = "ap120c-ac:amber:wan"; - gpios = <&qca8075 19 GPIO_ACTIVE_HIGH>; - }; - - wlan2g { - label = "ap120c-ac:green:wlan2g"; - gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy0tpt"; - }; - - wlan5g { - label = "ap120c-ac:red:wlan5g"; - gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy1tpt"; - }; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - counter at 4a1000 { - compatible = "qcom,qca-gcnt"; - reg = <0x4a1000 0x4>; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - }; - - usb3 at 8af8800 { - status = "okay"; - - dwc3 at 8a00000 { - phys = <&usb3_hs_phy>; - phy-names = "usb2-phy"; - }; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - qca8075: ess-switch at c000000 { - status = "okay"; - - switch_lan_bmp = <0x10>; - switch_wan_bmp = <0x20>; - - #gpio-cells = <2>; - gpio-controller; - }; - - edma at c080000 { - status = "okay"; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_i2c3 { - status = "okay"; - - pinctrl-0 = <&i2c0_pins>; - pinctrl-names = "default"; - - tpm at 29 { - compatible = "atmel,at97sc3204t"; - reg = <0x29>; - }; -}; - -&blsp1_spi1 { - status = "okay"; - - pinctrl-0 = <&spi0_pins>; - pinctrl-names = "default"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, - <&tlmm 4 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - - partition at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - - partition at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - - partition at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - - partition at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - - partition at e0000 { - label = "APPSBLENV"; - reg = <0x000e0000 0x00010000>; - }; - - partition at f0000 { - label = "APPSBL"; - reg = <0x000f0000 0x00080000>; - read-only; - }; - - partition at 170000 { - label = "ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - - partition at 180000 { - label = "priv_data1"; - reg = <0x00180000 0x00010000>; - read-only; - }; - - partition at 190000 { - label = "priv_data2"; - reg = <0x00190000 0x00010000>; - read-only; - }; - }; - }; - - nand at 1 { - compatible = "spi-nand"; - reg = <1>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "rootfs1"; - reg = <0x00000000 0x04000000>; - }; - - partition at 4000000 { - label = "rootfs2"; - reg = <0x04000000 0x04000000>; - }; - }; - }; -}; - -&blsp1_uart1 { - status = "okay"; - - pinctrl-0 = <&serial0_pins>; - pinctrl-names = "default"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - qcom,forced_duplex = <1>; - qcom,forced_speed = <1000>; - qcom,phy_mdio_addr = <3>; - qcom,poll_required = <1>; - vlan_tag = <1 0x10>; -}; - -&gmac1 { - qcom,forced_duplex = <1>; - qcom,forced_speed = <1000>; - qcom,phy_mdio_addr = <4>; - qcom,poll_required = <1>; - vlan_tag = <2 0x20>; -}; - -&tlmm { - i2c0_pins: i2c0_pinmux { - mux_i2c { - function = "blsp_i2c0"; - pins = "gpio58", "gpio59"; - drive-strength = <16>; - bias-disable; - }; - }; - - mdio_pins: mdio_pinmux { - mux_mdio { - pins = "gpio53"; - function = "mdio"; - bias-pull-up; - }; - - mux_mdc { - pins = "gpio52"; - function = "mdc"; - bias-pull-up; - }; - }; - - serial0_pins: serial0_pinmux { - mux_uart { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi0_pins: spi0_pinmux { - mux_spi { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - - mux_cs { - function = "gpio"; - pins = "gpio54", "gpio4"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "ALFA-Network-AP120C-AC"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts deleted file mode 100644 index d8b9e7ef13..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts +++ /dev/null @@ -1,242 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "EZVIZ CS-W3-WD1200G EUP"; - compatible = "ezviz,cs-w3-wd1200g-eup"; - - aliases { - led-boot = &led_status_green; - led-failsafe = &led_status_red; - led-running = &led_status_blue; - led-upgrade = &led_status_green; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; - reset-delay-us = <5000>; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_status_red: status_red { - label = "cs-w3-wd1200g-eup:red:status"; - gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; - }; - - led_status_green: status_green { - label = "cs-w3-wd1200g-eup:green:status"; - gpios = <&tlmm 3 GPIO_ACTIVE_LOW>; - }; - - led_status_blue: status_blue { - label = "cs-w3-wd1200g-eup:blue:status"; - gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio53"; - function = "mdio"; - bias-pull-up; - }; - - mux_2 { - pins = "gpio52"; - function = "mdc"; - bias-pull-up; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - pin_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition0 at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - - partition1 at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - - partition2 at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - - partition3 at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - - partition4 at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - - partition5 at E0000 { - label = "APPSBLENV"; - reg = <0x000e0000 0x00010000>; - read-only; - }; - - partition6 at F0000 { - label = "APPSBL"; - reg = <0x000f0000 0x00080000>; - read-only; - }; - - partition7 at 170000 { - label = "ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - - partition9 at 580000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x00180000 0x00e80000>; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts deleted file mode 100644 index 17d9215544..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts +++ /dev/null @@ -1,241 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "D-Link DAP 2610"; - compatible = "dlink,dap-2610"; - - aliases { - led-boot = &led_red; - led-failsafe = &led_red; - led-running = &led_green; - led-upgrade = &led_red; - }; - - soc { - edma at c080000 { - qcom,num_gmac = <1>; - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - rng at 22000 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - switch_lan_bmp = <0x20>; - switch_wan_bmp = <0x00>; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_red: red { - label = "dap-2610:red:power"; - gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; - }; - - led_green: green { - label = "dap-2610:green:power"; - gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - #address-cells = <1>; - #size-cells = <1>; - compatible = "fixed-partitions"; - - partition at 0 { - label = "SBL1"; - reg = <0x0 0x40000>; - read-only; - }; - partition at 40000 { - label = "MIBIB"; - reg = <0x40000 0x20000>; - read-only; - }; - partition at 60000 { - label = "QSEE"; - reg = <0x60000 0x60000>; - read-only; - }; - partition at c0000 { - label = "CDT"; - reg = <0xc0000 0x10000>; - read-only; - }; - partition at d0000 { - label = "DDRPARAMS"; - reg = <0xd0000 0x10000>; - read-only; - }; - partition at e0000 { - label = "APPSBLENV"; - reg = <0xe0000 0x10000>; - read-only; - }; - partition at f0000 { - label = "APPSBL"; - reg = <0xf0000 0x80000>; - read-only; - }; - partition at 170000 { - label = "ART"; - reg = <0x170000 0x10000>; - read-only; - }; - partition at 180000 { - compatible = "wrg"; - label = "firmware"; - reg = <0x180000 0xdc0000>; - }; - partition at fb0000 { - label = "rgbd"; - reg = <0xfb0000 0x10000>; - read-only; - }; - partition at fc0000 { - label = "bdcfg"; - reg = <0xfc0000 0x10000>; - read-only; - }; - partition at fd0000 { - label = "langpack"; - reg = <0xfd0000 0x20000>; - read-only; - }; - partition at ff0000 { - label = "certificate"; - reg = <0xff0000 0x10000>; - read-only; - }; - partition at f40000 { - label = "captival"; - reg = <0xf40000 0x70000>; - read-only; - }; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - qcom,phy_mdio_addr = <4>; - qcom,poll_required = <1>; - qcom,forced_speed = <1000>; - qcom,forced_duplex = <1>; - vlan_tag = <1 0x20>; -}; - -&mdio { - status = "okay"; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - mux { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - mux_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "dlink,dap-2610"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "dlink,dap-2610"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts deleted file mode 100644 index 2f9a890485..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts +++ /dev/null @@ -1,277 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "Linksys EA6350v3"; - compatible = "linksys,ea6350v3"; - - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - }; - - usb3 at 8af8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - wps { - label = "wps"; - gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - power: status { - label = "EA6350v3:green:status"; - gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "linksys-ea6350v3"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "linksys-ea6350v3"; -}; - - -&blsp_dma { - status = "okay"; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - mux { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - - mux_cs { - function = "gpio"; - pins = "gpio54", "gpio59"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp1_spi1 { /* BLSP1 QUP1 */ - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, - <&tlmm 59 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - SBL1 at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - MBIB at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - QSEE at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - CDT at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - APPSBLENV at d0000 { - label = "APPSBLENV"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - APPSBL at e0000 { - label = "APPSBL"; /* uboot */ - reg = <0x000e0000 0x00080000>; - read-only; - }; - ART at 160000 { - label = "ART"; - reg = <0x00160000 0x00010000>; - read-only; - }; - u_env at 170000 { - label = "u_env"; - reg = <0x00170000 0x00020000>; - }; - s_env at 190000 { - label = "s_env"; - reg = <0x00190000 0x00020000>; - }; - devinfo at 1b0000 { - label = "devinfo"; - reg = <0x001b0000 0x00010000>; - }; - /* 0x001c0000 - 0x00200000 unused */ - }; - }; - - flash at 1 { - status = "okay"; - compatible = "spi-nand"; - reg = <1>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - kernel at 0 { - label = "kernel"; - reg = <0x00000000 0x02800000>; - }; - rootfs at 300000 { - label = "rootfs"; - reg = <0x00300000 0x02500000>; - }; - alt_kernel at 2800000 { - label = "alt_kernel"; - reg = <0x02800000 0x02800000>; - }; - alt_rootfs at 2b00000 { - label = "alt_rootfs"; - reg = <0x02b00000 0x02500000>; - }; - sysdiag at 5000000 { - label = "sysdiag"; - reg = <0x05000000 0x00100000>; - }; - syscfg at 5100000 { - label = "syscfg"; - reg = <0x05100000 0x02F00000>; - }; - /* 0x00000000 - 0x08000000: 128 MiB */ - }; - }; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts deleted file mode 100644 index 32fded4c0e..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts +++ /dev/null @@ -1,235 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "EnGenius EAP1300"; - compatible = "engenius,eap1300"; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>; - linux,code = ; - }; - }; - - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - - leds { - compatible = "gpio-leds"; - - power: orange { - label = "eap1300:orange:power"; - gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; - }; - - lan { - label = "eap1300:blue:lan"; - gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; - }; - - mesh { - label = "eap1300:blue:mesh"; - gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; - }; - - wlan2g { - label = "eap1300:blue:wlan2g"; - gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; - }; - - wlan5g { - label = "eap1300:yellow:wlan5g"; - gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio54", "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - pin_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - m25p80 at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "0:SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition1 at 40000 { - label = "0:MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition2 at 60000 { - label = "0:QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - partition3 at c0000 { - label = "0:CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - partition4 at d0000 { - label = "0:DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - partition5 at e0000 { - label = "0:APPSBLENV"; - reg = <0x000e0000 0x00010000>; - read-only; - }; - partition6 at f0000 { - label = "0:APPSBL"; - reg = <0x000f0000 0x00090000>; - read-only; - }; - partition7 at 180000 { - label = "0:ART"; - reg = <0x00180000 0x00010000>; - read-only; - }; - partition8 at 190000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x190000 0x1dc0000>; - }; - partition9 at 1f50000 { - label = "u-boot-env"; - reg = <0x01f50000 0x00010000>; - }; - partition10 at 1f60000 { - label = "userconfig"; - reg = <0x01f60000 0x000a0000>; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - vlan_tag = <2 0x20>; -}; - -&gmac1 { - vlan_tag = <1 0x10>; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "EnGenius-EAP1300"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "EnGenius-EAP1300"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-emd1.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-emd1.dts deleted file mode 100644 index cf4f793f21..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-emd1.dts +++ /dev/null @@ -1,233 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "EnGenius EMD1"; - compatible = "engenius,emd1"; - - aliases { - led-boot = &led_power; - led-failsafe = &led_power; - led-running = &led_power; - led-upgrade = &led_power; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - switch_lan_bmp = <0x20>; - switch_wan_bmp = <0x00>; - }; - - edma at c080000 { - status = "okay"; - qcom,num_gmac = <1>; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_power: power { - label = "emd1:white:power"; - gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; - }; - - wlan2g { - label = "emd1:red:wlan2g"; - gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy0tpt"; - }; - - wlan5g { - label = "emd1:blue:wlan5g"; - gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy1tpt"; - }; - - mesh { - label = "emd1:orange:mesh"; - gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio54", "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - - pin_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition0 at 0 { - label = "0:SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition1 at 40000 { - label = "0:MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition2 at 60000 { - label = "0:QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - partition3 at c0000 { - label = "0:CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - partition4 at d0000 { - label = "0:DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - partition5 at e0000 { - label = "0:APPSBLENV"; - reg = <0x000e0000 0x00010000>; - read-only; - }; - partition6 at f0000 { - label = "0:APPSBL"; - reg = <0x000f0000 0x00080000>; - read-only; - }; - partition7 at 170000 { - label = "0:ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - partition8 at 180000 { - label = "userconfig"; - reg = <0x00180000 0x00080000>; - read-only; - }; - partition9 at 200000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x200000 0x01e00000>; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&gmac0 { - qcom,phy_mdio_addr = <4>; - qcom,poll_required = <1>; - qcom,forced_speed = <1000>; - qcom,forced_duplex = <1>; - vlan_tag = <1 0x20>; -}; - -&cryptobam { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "EnGenius-EMD1"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "EnGenius-EMD1"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts deleted file mode 100644 index 8636b18b2e..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts +++ /dev/null @@ -1,265 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "EnGenius ENS620EXT"; - compatible = "engenius,ens620ext"; - - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; - }; - - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - - /* - * Disable the broken restart as a workaround for the buggy - * 3.0.0/3.0.1 U-boots that ship with the device. - * Note: The watchdog is now used to restart this device. - */ - restart at 4ab000 { - status = "disabled"; - }; - }; - - buttons { - compatible = "gpio-keys"; - - wps { - label = "wps"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - power: power { - label = "ens620ext:amber:power"; - gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; - }; - - lan1 { - label = "ens620ext:green:lan1"; - gpios = <&tlmm 1 GPIO_ACTIVE_LOW>; - }; - - lan2 { - label = "ens620ext:green:lan2"; - gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; - }; - - wlan2G { - label = "ens620ext:green:wlan2G"; - gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; - }; - - wlan5G { - label = "ens620ext:green:wlan5G"; - gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&cryptobam { - status = "okay"; -}; - -&blsp_dma { - status = "okay"; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - mux { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - - mux_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp1_spi1 { /* BLSP1 QUP1 */ - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - flash at 0 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <50000000>; - m25p,fast-read; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - partition at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - partition at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - partition at e0000 { - label = "APPSBLENV"; /* uboot env*/ - reg = <0x000e0000 0x00010000>; - read-only; - }; - partition at f0000 { - label = "APPSBL"; /* uboot */ - reg = <0x000f0000 0x00090000>; - read-only; - }; - partition at 180000 { - label = "ART"; - reg = <0x00180000 0x00010000>; - read-only; - }; - partition at 190000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x00190000 0x14d0000>; - }; - partition at 1660000 { - label = "failsafe"; - reg = <0x01660000 0x008F0000>; - read-only; - }; - partition at 1f50000 { - label = "u-boot-env"; - reg = <0x01f50000 0x00010000>; - read-only; - }; - partition at 1f60000 { - label = "userconfig"; - reg = <0x01f60000 0x000a0000>; - read-only; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts deleted file mode 100644 index 2b93dcbb99..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * Copyright (c) 2018, David Bauer - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4018-ex61x0v2.dtsi" -#include -#include - -/ { - model = "Netgear EX6100v2"; - compatible = "netgear,ex6100v2"; -}; - -&wifi0 { - qcom,ath10k-calibration-variant = "Netgear-EX6100v2"; -}; - -&wifi1 { - qcom,ath10k-calibration-variant = "Netgear-EX6100v2"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts deleted file mode 100644 index f1c44c1ae8..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * Copyright (c) 2018, David Bauer - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4018-ex61x0v2.dtsi" -#include -#include - -/ { - model = "Netgear EX6150v2"; - compatible = "netgear,ex6150v2"; -}; - -&wifi0 { - qcom,ath10k-calibration-variant = "Netgear-EX6150v2"; -}; - -&wifi1 { - qcom,ath10k-calibration-variant = "Netgear-EX6150v2"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi deleted file mode 100644 index cc70080c92..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi +++ /dev/null @@ -1,312 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * Copyright (c) 2018, David Bauer - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "Netgear EX61X0v2"; - compatible = "netgear,ex61x0v2"; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - qcom,num_gmac = <1>; - }; - }; - - aliases { - led-boot = &power_amber; - led-failsafe = &power_amber; - led-running = &power_green; - led-upgrade = &power_amber; - label-mac-device = &gmac0; - }; - - keys { - compatible = "gpio-keys"; - - wps { - label = "wps"; - gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - reset { - label = "reset"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - led_spi { - compatible = "spi-gpio"; - #address-cells = <1>; - #size-cells = <0>; - - sck-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; - mosi-gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; - num-chipselects = <0>; - - led_gpio: led_gpio at 0 { - compatible = "fairchild,74hc595"; - reg = <0>; - gpio-controller; - #gpio-cells = <2>; - registers-number = <1>; - spi-max-frequency = <1000000>; - }; - }; - - leds { - compatible = "gpio-leds"; - - power_amber: power_amber { - label = "ex61x0v2:amber:power"; - gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>; - }; - - power_green: power_green { - label = "ex61x0v2:green:power"; - gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>; - }; - - right { - label = "ex61x0v2:blue:right"; - gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>; - }; - - left { - label = "ex61x0v2:blue:left"; - gpios = <&led_gpio 4 GPIO_ACTIVE_LOW>; - }; - - client_green { - label = "ex61x0v2:green:client"; - gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>; - }; - - client_red { - label = "ex61x0v2:red:client"; - gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>; - }; - - router_green { - label = "ex61x0v2:green:router"; - gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>; - }; - - router_red { - label = "ex61x0v2:red:router"; - gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>; - }; - - wps { - label = "ex61x0v2:green:wps"; - gpios = <&tlmm 1 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - pin_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - mx25l12805d at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition0 at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - - partition1 at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - - partition2 at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - - partition3 at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - - partition4 at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - - partition5 at E0000 { - label = "APPSBLENV"; - reg = <0x000e0000 0x00010000>; - read-only; - }; - - partition6 at F0000 { - label = "APPSBL"; - reg = <0x000f0000 0x00080000>; - read-only; - }; - - partition7 at 170000 { - label = "ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - - partition8 at 180000 { - label = "config"; - reg = <0x00180000 0x00010000>; - read-only; - }; - - partition9 at 190000 { - label = "pot"; - reg = <0x00190000 0x00010000>; - read-only; - }; - - partition10 at 1a0000 { - label = "dnidata"; - reg = <0x001a0000 0x00010000>; - read-only; - }; - - partition11 at 1b0000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x001b0000 0x00e10000>; - }; - - partition12 at fc0000 { - label = "language"; - reg = <0x00fc0000 0x00040000>; - read-only; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&blsp_dma { - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&wifi0 { - status = "okay"; -}; - -&wifi1 { - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts deleted file mode 100644 index b2a32946d9..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts +++ /dev/null @@ -1,292 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "AVM FRITZ!Box 4040"; - compatible = "avm,fritzbox-4040"; - - aliases { - led-boot = &power; - led-failsafe = &flash; - led-running = &power; - led-upgrade = &flash; - label-mac-device = &gmac0; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - }; - - usb3 at 8af8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - qca8075: ess-switch at c000000 { - status = "okay"; - - #gpio-cells = <2>; - gpio-controller; - - enable-usb-power { - gpio-hog; - line-name = "enable USB3 power"; - gpios = <7 GPIO_ACTIVE_HIGH>; - output-high; - }; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - wlan { - label = "wlan"; - gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - wps { - label = "wps"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - switch-leds { - compatible = "gpio-leds"; - - wlan { - label = "fritz4040:green:wlan"; - gpios = <&qca8075 1 GPIO_ACTIVE_HIGH>; - }; - - panic: info_red { - label = "fritz4040:red:info"; - gpios = <&qca8075 3 GPIO_ACTIVE_HIGH>; - panic-indicator; - }; - - wan { - label = "fritz4040:green:wan"; - gpios = <&qca8075 5 GPIO_ACTIVE_HIGH>; - }; - - power: power { - label = "fritz4040:green:power"; - gpios = <&qca8075 11 GPIO_ACTIVE_HIGH>; - }; - - lan { - label = "fritz4040:green:lan"; - gpios = <&qca8075 13 GPIO_ACTIVE_HIGH>; - }; - - flash: info_amber { - label = "fritz4040:amber:info"; - gpios = <&qca8075 15 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - mux { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - - mux_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&cryptobam { - status = "okay"; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { /* BLSP1 QUP1 */ - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - status = "okay"; - m25p,fast-read; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition0 at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition1 at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition2 at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - partition3 at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - partition4 at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - partition5 at e0000 { - label = "APPSBLENV"; /* uboot env - empty */ - reg = <0x000e0000 0x00010000>; - read-only; - }; - partition6 at f0000 { - label = "urlader"; /* APPSBL */ - reg = <0x000f0000 0x0002dc000>; - read-only; - }; - partition7 at 11dc00 { - /* make a backup of this partition! */ - label = "urlader_config"; - reg = <0x0011dc00 0x00002400>; - read-only; - }; - partition8 at 120000 { - label = "tffs1"; - reg = <0x00120000 0x00080000>; - read-only; - }; - partition9 at 1a0000 { - label = "tffs2"; - reg = <0x001a0000 0x00080000>; - read-only; - }; - partition10 at 220000 { - label = "uboot"; - reg = <0x00220000 0x00080000>; - read-only; - }; - partition11 at 2A0000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x002a0000 0x01c60000>; - }; - partition12 at 1f00000 { - label = "jffs2"; - reg = <0x01f00000 0x00100000>; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "AVM-FRITZBox-4040"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "AVM-FRITZBox-4040"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts deleted file mode 100644 index 988b86b68d..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -// Copyright (c) 2018, Robert Marko - -#include "qcom-ipq4018-jalapeno.dtsi" - -/ { - model = "8devices Jalapeno"; - compatible = "8dev,jalapeno"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi deleted file mode 100644 index 3af6de1f60..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi +++ /dev/null @@ -1,269 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -// Copyright (c) 2018, Robert Marko - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - counter at 4a1000 { - compatible = "qcom,qca-gcnt"; - reg = <0x4a1000 0x4>; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - status = "okay"; - - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2: usb2 at 60f8800 { - status = "okay"; - }; - - usb3: usb3 at 8af8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - - switch_lan_bmp = <0x10>; /* lan port bitmap */ - }; - - edma at c080000 { - status = "okay"; - }; - }; -}; - -&tlmm { - mdio_pins: mdio_pinmux { - pinmux_1 { - pins = "gpio53"; - function = "mdio"; - }; - - pinmux_2 { - pins = "gpio52"; - function = "mdc"; - }; - - pinconf { - pins = "gpio52", "gpio53"; - bias-pull-up; - }; - }; - - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <2>; - bias-disable; - }; - - pin_cs { - function = "gpio"; - pins = "gpio54", "gpio59"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - status = "okay"; - - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 59 GPIO_ACTIVE_HIGH>; - - flash at 0 { - status = "okay"; - - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - - partition at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - - partition at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - - partition at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - - partition at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - - partition at e0000 { - label = "APPSBLENV"; /* uboot env*/ - reg = <0x000e0000 0x00010000>; - read-only; - }; - - partition at f0000 { - label = "APPSBL"; /* uboot */ - reg = <0x000f0000 0x00080000>; - read-only; - }; - - partition at 170000 { - label = "ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - }; - }; - - spi-nand at 1 { - status = "okay"; - - compatible = "spi-nand"; - reg = <1>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "ubi"; - reg = <0x00000000 0x08000000>; - }; - }; - }; -}; - -&blsp1_uart1 { - status = "okay"; - - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - qcom,poll_required = <1>; - qcom,poll_required_dynamic = <1>; - qcom,phy_mdio_addr = <3>; - vlan_tag = <1 0x10>; -}; - -&gmac1 { - qcom,poll_required = <1>; - qcom,poll_required_dynamic = <1>; - qcom,phy_mdio_addr = <4>; - vlan_tag = <2 0x20>; -}; - -&wifi0 { - status = "okay"; - - qcom,ath10k-calibration-variant = "8devices-Jalapeno"; -}; - -&wifi1 { - status = "okay"; - - qcom,ath10k-calibration-variant = "8devices-Jalapeno"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts deleted file mode 100644 index 2e21b55325..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts +++ /dev/null @@ -1,81 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* Copyright (c) 2019, CRISIS INNOVATION LAB d.o.o. - * Author: Robert Marko - */ - -#include "qcom-ipq4018-jalapeno.dtsi" - -/ { - model = "Crisis Innovation Lab MeshPoint.One"; - compatible = "cilab,meshpoint-one"; - - aliases { - led-boot = &led_status; - led-failsafe = &led_status; - led-running = &led_status; - led-upgrade = &led_status; - }; - - soc { - i2c-gpio { - status = "okay"; - - #address-cells = <1>; - #size-cells = <0>; - - compatible = "i2c-gpio"; - gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* sda */ - &tlmm 4 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* scl */ - >; - - bme280 at 76 { - status = "okay"; - - compatible = "bosch,bme280"; - reg = <0x76>; - }; - - pcf2129 at 51 { - status = "okay"; - - compatible = "nxp,pcf2129"; - reg = <0x51>; - }; - - ina230 at 40 { - status = "okay"; - - compatible = "ti,ina230"; - reg = <0x40>; - shunt-resistor = <2000>; - }; - - ina230 at 44 { - status = "okay"; - - compatible = "ti,ina230"; - reg = <0x44>; - shunt-resistor = <2000>; - }; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_status: status { - label = "meshpoint-one:blue:status"; - gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>; - }; - }; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts deleted file mode 100644 index a8c144f928..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts +++ /dev/null @@ -1,337 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include -#include - -/ { - model = "ZyXEL NBG6617"; - compatible = "zyxel,nbg6617"; - - chosen { - /* - * the vendor u-boot adds root and mtdparts cmdline parameters - * which we don't want... but we have to overwrite them or else - * the kernel will take them at face value. - */ - bootargs-append = " mtdparts= root=31:13"; - }; - - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - - dwc3 at 6000000 { - #address-cells = <1>; - #size-cells = <0>; - - usb2_port1: port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - }; - }; - - usb3 at 8af8800 { - status = "okay"; - - dwc3 at 8a00000 { - #address-cells = <1>; - #size-cells = <0>; - - usb3_port1: port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - - usb3_port2: port at 2 { - reg = <2>; - #trigger-source-cells = <0>; - }; - }; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - wlan { - label = "wlan"; - gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; - linux,code = ; - linux,input-type = ; - }; - - wps { - label = "wps"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - reset { - label = "reset"; - gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - pinctrl-0 = <&led_pins>; - pinctrl-names = "default"; - - power: power { - label = "nbg6617:green:power"; - gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; - }; - - usb { - label = "nbg6617:green:usb"; - gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; - trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>; - linux,default-trigger = "usbport"; - }; - - wlan2G { - label = "nbg6617:green:wlan2G"; - gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; - }; - - wlan5G { - label = "nbg6617:green:wlan5G"; - gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; - }; - - wps { - label = "nbg6617:green:wps"; - gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - spi_0_pins: spi_0_pinmux { - mux { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - - mux_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-low; - }; - }; - led_pins: led_pinmux { - mux { - pins = "gpio0", "gpio1", "gpio3", "gpio5", "gpio58"; - drive-strength = <0x8>; - bias-disable; - output-low; - }; - }; -}; - -&blsp1_spi1 { /* BLSP1 QUP1 */ - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - mx25l25635f at 0 { - compatible = "mx25l25635f", "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - status = "okay"; - m25p,fast-read; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition0 at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition1 at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition2 at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - partition3 at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - partition4 at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - partition5 at e0000 { - label = "APPSBL"; /* u-boot */ - reg = <0x000e0000 0x00080000>; - /* U-Boot Standalone App "zloader" is located at 0x64000 */ - read-only; - }; - partition6 at 160000 { - label = "APPSBLENV"; /* u-boot env */ - reg = <0x00160000 0x00010000>; - }; - partition7 at 170000 { - /* make a backup of this partition! */ - label = "ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - partition8 at 180000 { - label = "kernel"; - reg = <0x00180000 0x00400000>; - }; - partition9 at 580000 { - label = "dualflag"; - reg = <0x00580000 0x00010000>; - read-only; - }; - partition10 at 590000 { - label = "header"; - reg = <0x00590000 0x00010000>; - }; - partition11 at 5a0000 { - label = "romd"; - reg = <0x005a0000 0x00100000>; - read-only; - }; - partition12 at 6a0000 { - label = "not_root_data"; - /* - * for some strange reason, someone at ZyXEL - * had the "great" idea to put the rootfs_data - * in front of rootfs... Don't do that! - * As a result this one, full MebiByte remains - * unused. - */ - reg = <0x006a0000 0x00100000>; - }; - partition13 at 7a0000 { - label = "rootfs"; - reg = <0x007a0000 0x01860000>; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&blsp_dma { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "ZyXEL-NBG6617"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "ZyXEL-NBG6617"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts deleted file mode 100644 index a0030f77ce..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts +++ /dev/null @@ -1,309 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "ASUS RT-AC58U"; - compatible = "asus,rt-ac58u"; - - memory { - device_type = "memory"; - reg = <0x80000000 0x8000000>; - }; - - aliases { - led-boot = &led_power; - led-failsafe = &led_power; - led-running = &led_power; - led-upgrade = &led_power; - }; - - chosen { - bootargs-append = " ubi.mtd=UBI_DEV"; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb3 at 8af8800 { - status = "okay"; - - dwc3 at 8a00000 { - #address-cells = <1>; - #size-cells = <0>; - - usb3_port1: port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - - usb3_port2: port at 2 { - reg = <2>; - #trigger-source-cells = <0>; - }; - }; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - wps { - label = "wps"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_power: status { - label = "rt-ac58u:blue:status"; - gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; - }; - - wan { - label = "rt-ac58u:blue:wan"; - gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; - }; - - wlan2G { - label = "rt-ac58u:blue:wlan2G"; - gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy0tpt"; - }; - - wlan5G { - label = "rt-ac58u:blue:wlan5G"; - gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy1tpt"; - }; - - usb { - label = "rt-ac58u:blue:usb"; - gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; - trigger-sources = <&usb3_port1>, <&usb3_port2>; - linux,default-trigger = "usbport"; - }; - - lan { - label = "rt-ac58u:blue:lan"; - gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&cryptobam { - status = "okay"; -}; - -&blsp_dma { - status = "okay"; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - mux { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - - mux_cs { - function = "gpio"; - pins = "gpio54", "gpio59"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp1_spi1 { /* BLSP1 QUP1 */ - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, - <&tlmm 59 GPIO_ACTIVE_HIGH>; - - flash at 0 { - /* - * U-boot looks for "n25q128a11" node, - * if we don't have it, it will spit out the following warning: - * "ipq: fdt fixup unable to find compatible node". - */ - compatible = "jedec,spi-nor"; - reg = <0>; - linux,modalias = "m25p80", "mx25l1606e", "n25q128a11"; - spi-max-frequency = <30000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - partition at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - partition at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - partition at e0000 { - label = "APPSBLENV"; /* uboot env*/ - reg = <0x000e0000 0x00010000>; - read-only; - }; - partition at f0000 { - label = "APPSBL"; /* uboot */ - reg = <0x000f0000 0x00080000>; - read-only; - }; - partition at 170000 { - label = "ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - /* 0x00180000 - 0x00200000 unused */ - }; - }; - - spi-nand at 1 { - compatible = "spi-nand"; - reg = <1>; - spi-max-frequency = <30000000>; - - /* - * U-boot looks for "spinand,mt29f" node, - * if we don't have it, it will spit out the following warning: - * "ipq: fdt fixup unable to find compatible node". - */ - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - /* - * TODO: change to label = "ubi" once we drop 4.14. - * also drop the bootargs-append and all the - * userspace CI_UBIPART="UBI_DEV" remains. - */ - label = "UBI_DEV"; - reg = <0x00000000 0x08000000>; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "RT-AC58U"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "RT-AC58U"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts deleted file mode 100644 index 5932638da0..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts +++ /dev/null @@ -1,265 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * Copyright (c) 2018, David Bauer - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "ZyXEL WRE6606"; - compatible = "zyxel,wre6606"; - - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - - chosen { - bootargs-append = " mtdparts="; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - qcom,num_gmac = <1>; - }; - }; - - leds { - compatible = "gpio-leds"; - - wps { - label = "wre6606:green:wps"; - gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; - }; - - wlan5g_green { - label = "wre6606:green:wlan5g"; - gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; - }; - - power: power { - label = "wre6606:green:power"; - gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; - }; - - wlan5g_red { - label = "wre6606:red:wlan5g"; - gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; - }; - - wlan2g_red { - label = "wre6606:red:wlan2g"; - gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; - }; - - wlan2g_green { - label = "wre6606:green:wlan2g"; - gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>; - }; - }; - - keys { - compatible = "gpio-keys"; - - wps { - label = "wps"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - pin_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - mx25l12805d at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition0 at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - - partition1 at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - - partition2 at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - - partition3 at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - - partition4 at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - - partition5 at E0000 { - label = "APPSBLENV"; - reg = <0x000e0000 0x00010000>; - read-only; - }; - - partition6 at F0000 { - label = "APPSBL"; - reg = <0x000f0000 0x00080000>; - read-only; - }; - - partition7 at 170000 { - label = "ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - - partition8 at 180000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x00180000 0x00ce0000>; - }; - - partition9 at e60000 { - label = "manufacture"; - reg = <0x00e60000 0x00050000>; - read-only; - }; - - partition10 at eb0000 { - label = "storage"; - reg = <0x00eb0000 0x00150000>; - read-only; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "ZyXEL-WRE6606"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "ZyXEL-WRE6606"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-a62.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-a62.dts deleted file mode 100644 index 25bbd6b332..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-a62.dts +++ /dev/null @@ -1,243 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * Copyright (c) 2017-2018, Sven Eckelmann - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "OpenMesh A62"; - compatible = "openmesh,a62"; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 194b000 { - /* select hostmode */ - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2: usb2 at 60f8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - switch_lan_bmp = <0x10>; - switch_wan_bmp = <0x20>; - - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - - leds { - compatible = "gpio-leds"; - - red { - label = "a62:red:status"; - gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "default-off"; - }; - - power: green { - label = "a62:green:status"; - gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; - }; - - blue { - label = "a62:blue:status"; - gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "default-off"; - }; - }; - - watchdog { - compatible = "linux,wdt-gpio"; - gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; - hw_algo = "toggle"; - /* hw_margin_ms is actually 300s but driver limits it to 60s */ - hw_margin_ms = <60000>; - always-running; - }; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio13", "gpio14", "gpio15"; - drive-strength = <12>; - bias-disable; - }; - pin_cs { - function = "gpio"; - pins = "gpio12"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; - - enable-usb-power { - gpio-hog; - gpios = <58 GPIO_ACTIVE_HIGH>; - output-low; - line-name = "enable USB2 power"; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; - - m25p80 at 0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - /* partitions are passed via bootloader */ - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - qcom,phy_mdio_addr = <3>; - qcom,poll_required = <1>; - qcom,forced_speed = <1000>; - qcom,forced_duplex = <1>; - vlan_tag = <1 0x10>; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&pcie0 { - status = "okay"; - perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; - wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; - - bridge at 0,0 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - ranges; - - wifi2: wifi at 1,0 { - compatible = "qcom,ath10k"; - status = "okay"; - reg = <0x00010000 0 0 0 0>; - qcom,ath10k-calibration-variant = "OM-A62"; - ieee80211-freq-limit = <5170000 5350000>; - }; - }; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "OM-A62"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "OM-A62"; - ieee80211-freq-limit = <5470000 5875000>; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts deleted file mode 100644 index 47202d28fe..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4019-ap.dk04.1.dtsi" - -/ { - model = "Qualcomm Technologies, Inc. IPQ40xx/AP-DK04.1-C1"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi deleted file mode 100644 index 9801354625..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi +++ /dev/null @@ -1,181 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4019.dtsi" -#include - -/ { - model = "Qualcomm Technologies, Inc. IPQ4019/AP-DK04.1"; - compatible = "qcom,ipq4019"; - - soc { - rng at 22000 { - status = "okay"; - }; - - pinctrl at 1000000 { - serial_0_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - serial_1_pins: serial1_pinmux { - mux { - pins = "gpio8", "gpio9"; - function = "blsp_uart1"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pinmux { - function = "blsp_spi0"; - pins = "gpio13", "gpio14", "gpio15"; - }; - pinmux_cs { - function = "gpio"; - pins = "gpio12"; - }; - pinconf { - pins = "gpio13", "gpio14", "gpio15"; - drive-strength = <12>; - bias-disable; - }; - pinconf_cs { - pins = "gpio12"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; - - i2c_0_pins: i2c_0_pinmux { - pinmux { - function = "blsp_i2c0"; - pins = "gpio10", "gpio11"; - }; - pinconf { - pins = "gpio10", "gpio11"; - drive-strength = <16>; - bias-disable; - }; - }; - - nand_pins: nand_pins { - - pullups { - pins = "gpio52", "gpio53", "gpio58", - "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; - }; - - blsp_dma: dma at 7884000 { - status = "okay"; - }; - - spi0: spi at 78b5000 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; - - mx25l25635e at 0 { - #address-cells = <1>; - #size-cells = <1>; - reg = <0>; - compatible = "mx25l25635e"; - spi-max-frequency = <24000000>; - }; - }; - - i2c0: i2c at 78b7000 { /* BLSP1 QUP2 */ - pinctrl-0 = <&i2c_0_pins>; - pinctrl-names = "default"; - - status = "okay"; - }; - - serial at 78af000 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - - serial at 78b0000 { - pinctrl-0 = <&serial_1_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - - usb3_ss_phy: ssphy at 9a000 { - status = "okay"; - }; - - usb3_hs_phy: hsphy at a6000 { - status = "okay"; - }; - - usb3: usb3 at 8af8800 { - status = "okay"; - }; - - usb2_hs_phy: hsphy at a8000 { - status = "okay"; - }; - - usb2: usb2 at 60f8800 { - status = "okay"; - }; - - cryptobam: dma at 8e04000 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - qpic_bam: dma at 7984000 { - status = "okay"; - }; - - nand: qpic-nand at 79b0000 { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - }; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts deleted file mode 100644 index f4c1685f47..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts +++ /dev/null @@ -1,354 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "MobiPromo CM520-79F"; - compatible = "mobipromo,cm520-79f"; - - aliases { - led-boot = &led_sys; - led-failsafe = &led_sys; - led-running = &led_sys; - led-upgrade = &led_sys; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; - reset-delay-us = <1000>; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - - dwc3 at 6000000 { - #address-cells = <1>; - #size-cells = <0>; - - usb2_port1: port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - }; - }; - - usb3 at 8af8800 { - status = "okay"; - - dwc3 at 8a00000 { - #address-cells = <1>; - #size-cells = <0>; - - usb3_port1: port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - - usb3_port2: port at 2 { - reg = <2>; - #trigger-source-cells = <0>; - }; - }; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - led_spi { - compatible = "spi-gpio"; - #address-cells = <1>; - ranges; - - sck-gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; - mosi-gpios = <&tlmm 36 GPIO_ACTIVE_HIGH>; - num-chipselects = <0>; - - led_gpio: led_gpio at 0 { - compatible = "fairchild,74hc595"; - reg = <0>; - gpio-controller; - #gpio-cells = <2>; - registers-number = <1>; - spi-max-frequency = <1000000>; - }; - }; - - leds { - compatible = "gpio-leds"; - - usb { - label = "cm520-79f:blue:usb"; - gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "usbport"; - trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>; - }; - - led_sys: can { - label = "cm520-79f:blue:can"; - gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; - }; - - wan { - label = "cm520-79f:blue:wan"; - gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>; - }; - - lan1 { - label = "cm520-79f:blue:lan1"; - gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>; - }; - - lan2 { - label = "cm520-79f:blue:lan2"; - gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>; - }; - - wlan2g { - label = "cm520-79f:blue:wlan2g"; - gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>; - linux,default-trigger = "phy0tpt"; - }; - - wlan5g { - label = "cm520-79f:blue:wlan5g"; - gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>; - linux,default-trigger = "phy1tpt"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - status = "okay"; -}; - -&blsp1_uart2 { - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - mtd-mac-address = <&art 0x1006>; -}; - -&gmac1 { - mtd-mac-address = <&art 0x5006>; -}; - -&nand { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x0 0x100000>; - read-only; - }; - - partition at 100000 { - label = "MIBIB"; - reg = <0x100000 0x100000>; - read-only; - }; - - partition at 200000 { - label = "BOOTCONFIG"; - reg = <0x200000 0x100000>; - }; - - partition at 300000 { - label = "QSEE"; - reg = <0x300000 0x100000>; - read-only; - }; - - partition at 400000 { - label = "QSEE_1"; - reg = <0x400000 0x100000>; - read-only; - }; - - partition at 500000 { - label = "CDT"; - reg = <0x500000 0x80000>; - read-only; - }; - - partition at 580000 { - label = "CDT_1"; - reg = <0x580000 0x80000>; - read-only; - }; - - partition at 600000 { - label = "BOOTCONFIG1"; - reg = <0x600000 0x80000>; - }; - - partition at 680000 { - label = "APPSBLENV"; - reg = <0x680000 0x80000>; - }; - - partition at 700000 { - label = "APPSBL"; - reg = <0x700000 0x200000>; - read-only; - }; - - partition at 900000 { - label = "APPSBL_1"; - reg = <0x900000 0x200000>; - read-only; - }; - - art: partition at b00000 { - label = "ART"; - reg = <0xb00000 0x80000>; - read-only; - }; - - partition at b80000 { - label = "ubi"; - reg = <0xb80000 0x7480000>; - }; - }; - }; -}; - -&qpic_bam { - status = "okay"; -}; - -&tlmm { - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio6"; - function = "mdio"; - bias-pull-up; - }; - - mux_2 { - pins = "gpio7"; - function = "mdc"; - bias-pull-up; - }; - }; - - nand_pins: nand_pins { - pullups { - pins = "gpio52", "gpio53", "gpio58", - "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "CM520-79F"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "CM520-79F"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts deleted file mode 100644 index df1df2529a..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts +++ /dev/null @@ -1,80 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT - * - * Copyright (c) 2018 Peng Zhang - * - */ - -#include "qcom-ipq4019-e2600ac.dtsi" -#include -#include - -/ { - model = "Qxwlan E2600AC c1"; - compatible = "qxwlan,e2600ac-c1"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; - - flash at 0 { - reg = <0>; - compatible = "jedec,spi-nor"; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "0:SBL1"; - reg = <0x0 0x40000>; - read-only; - }; - partition at 40000 { - label = "0:MIBIB"; - reg = <0x40000 0x20000>; - read-only; - }; - partition at 60000 { - label = "0:QSEE"; - reg = <0x60000 0x60000>; - read-only; - }; - partition at c0000 { - label = "0:CDT"; - reg = <0xc0000 0x10000>; - read-only; - }; - partition at d0000 { - label = "0:DDRPARAMS"; - reg = <0xd0000 0x10000>; - read-only; - }; - partition at e0000 { - label = "0:APPSBLENV"; - reg = <0xe0000 0x10000>; - read-only; - }; - partition at f0000 { - label = "0:APPSBL"; - reg = <0xf0000 0x80000>; - read-only; - }; - partition at 170000 { - label = "0:ART"; - reg = <0x170000 0x10000>; - read-only; - }; - partition at 180000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x180000 0x1e80000>; - }; - }; - }; -}; - diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts deleted file mode 100644 index 9348ef4eec..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts +++ /dev/null @@ -1,115 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT - * - * Copyright (c) 2018 Peng Zhang - * - */ - -#include "qcom-ipq4019-e2600ac.dtsi" -#include -#include - -/ { - model = "Qxwlan E2600AC c2"; - compatible = "qxwlan,e2600ac-c2"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; - - flash at 0 { - reg = <0>; - compatible = "jedec,spi-nor"; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "0:SBL1"; - reg = <0x0 0x40000>; - read-only; - }; - partition at 40000 { - label = "0:MIBIB"; - reg = <0x40000 0x20000>; - read-only; - }; - partition at 60000 { - label = "0:QSEE"; - reg = <0x60000 0x60000>; - read-only; - }; - partition at c0000 { - label = "0:CDT"; - reg = <0xc0000 0x10000>; - read-only; - }; - partition at d0000 { - label = "0:DDRPARAMS"; - reg = <0xd0000 0x10000>; - read-only; - }; - partition at e0000 { - label = "0:APPSBLENV"; - reg = <0xe0000 0x10000>; - read-only; - }; - partition at f0000 { - label = "0:APPSBL"; - reg = <0xf0000 0x80000>; - read-only; - }; - partition at 170000 { - label = "0:ART"; - reg = <0x170000 0x10000>; - read-only; - }; - }; - }; -}; - -&nand { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "ubi"; - reg = <0x00000000 0x04000000>; - }; - }; - }; -}; - -&tlmm { - nand_pins: nand-pins { - - pullups { - pins = "gpio53", "gpio58", "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; -}; - diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi deleted file mode 100644 index f4af2ba25f..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi +++ /dev/null @@ -1,266 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT - * - * Copyright (c) 2018 Peng Zhang - * - */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - - model = "Qxwlan E2600AC"; - compatible = "qcom,ipq4019"; - - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; /* 256MB */ - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - /* select hostmode */ - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - status = "okay"; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2: usb2 at 60f8800 { - status = "okay"; - - dwc3 at 6000000 { - #address-cells = <1>; - #size-cells = <0>; - - usb2_port1: port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - }; - }; - - serial at 78af000 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - - serial at 78b0000 { - pinctrl-0 = <&serial_1_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - - i2c at 78b7000 { /* BLSP1 QUP2 */ - pinctrl-0 = <&i2c_0_pins>; - pinctrl-names = "default"; - - status = "okay"; - }; - - usb3: usb3 at 8af8800 { - status = "okay"; - - dwc3 at 8a00000 { - #address-cells = <1>; - #size-cells = <0>; - - usb3_port1: port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - - usb3_port2: port at 2 { - reg = <2>; - #trigger-source-cells = <0>; - }; - }; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - - leds { - compatible = "gpio-leds"; - - led1 { - label = "e2600ac:green:wlan0"; - gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; - }; - - led2 { - label = "e2600ac:green:wlan1"; - gpios = <&tlmm 36 GPIO_ACTIVE_LOW>; - }; - - led3 { - label = "e2600ac:green:usb"; - gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; - trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>; - linux,default-trigger = "usbport"; - }; - - led4 { - label = "e2600ac:green:ctrl1"; - gpios = <&tlmm 51 GPIO_ACTIVE_LOW>; - }; - - led5 { - label = "e2600ac:green:ctrl2"; - gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; - }; - - led6 { - label = "e2600ac:green:ctrl3"; - gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&qpic_bam { - status = "okay"; -}; - -&tlmm { - i2c_0_pins: i2c-0-pinmux { - mux { - pins = "gpio20", "gpio21"; - function = "blsp_i2c0"; - bias-disable; - }; - }; - - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio6"; - function = "mdio"; - bias-pull-up; - }; - mux_2 { - pins = "gpio7"; - function = "mdc"; - bias-pull-up; - }; - }; - - serial_0_pins: serial0-pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - serial_1_pins: serial1_pinmux { - mux { - pins = "gpio8", "gpio9"; - function = "blsp_uart1"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pinmux { - function = "blsp_spi0"; - pins = "gpio13", "gpio14", "gpio15"; - drive-strength = <12>; - bias-disable; - }; - pinmux_cs { - function = "gpio"; - pins = "gpio12"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "Qxwlan-E2600AC"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "Qxwlan-E2600AC"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts deleted file mode 100644 index cfc3037fb2..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts +++ /dev/null @@ -1,399 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -/* - * Device Tree Source for Linksys EA8300 (Dallas) - * - * Copyright (C) 2019 Jeff Kletsky - * - */ - -/dts-v1/; - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "Linksys EA8300 (Dallas)"; - compatible = "linksys,ea8300", "qcom,ipq4019"; - - - aliases { - led-boot = &led_wps_amber; - led-failsafe = &led_wps; - led-running = &led_linksys; - led-upgrade = &led_world; - serial0 = &blsp1_uart1; - }; - - - leds { - compatible = "gpio-leds"; - - // Retain node names from running OEM on EA8300 - - // Front panel LEDs, top to bottom - - led_plug: diag { - label = "ea8300:amber:plug"; - gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; - }; - - led_world: internet { - label = "ea8300:amber:world"; - gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>; - }; - - led_wps: wps { - label = "ea8300:white:wps"; - gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; - }; - - led_wps_amber: wps_amber { - label = "ea8300:amber:wps"; - gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; - panic-indicator; - }; - - led_linksys: pwr { - label = "ea8300:white:linksys"; - gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; - }; - - // On back panel, above USB socket - - led_usb: usb { - label = "ea8300:green:usb"; - gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; - trigger-sources = <&usb3_port1>, <&usb3_port2>, - <&usb2_port1>; - linux,default-trigger = "usbport"; - }; - }; - - - keys { - compatible = "gpio-keys"; - - button at 0 { - label = "reset"; - linux,code = ; - gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; - }; - - button at 1 { - label = "wps"; - linux,code = ; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - }; - }; - - - // - // OEM U-Boot provides either - // init=/sbin/init rootfstype=ubifs ubi.mtd=11,2048 \ - // root=ubi0:ubifs rootwait rw - // or the same with ubi.mtd=13,2048 - // - - chosen { - bootargs-append = " root=/dev/ubiblock0_0 rootfstype=squashfs ro"; - }; - - - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; - }; - - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - - dwc3 at 6000000 { - #address-cells = <1>; - #size-cells = <0>; - - usb2_port1: port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - }; - }; - - usb3 at 8af8800 { - status = "okay"; - - dwc3 at 8a00000 { - #address-cells = <1>; - #size-cells = <0>; - - usb3_port1: port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - - usb3_port2: port at 2 { - reg = <2>; - #trigger-source-cells = <0>; - }; - }; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; -}; - - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - status = "okay"; - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - -}; - -&cryptobam { - status = "okay"; -}; - -&nand { - status = "okay"; - - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "sbl1"; - reg = <0x0 0x100000>; - read-only; - }; - - partition at 100000 { - label = "mibib"; - reg = <0x100000 0x100000>; - read-only; - }; - - partition at 200000 { - label = "qsee"; - reg = <0x200000 0x100000>; - read-only; - }; - - partition at 300000 { - label = "cdt"; - reg = <0x300000 0x80000>; - read-only; - }; - - partition at 380000 { - label = "appsblenv"; - reg = <0x380000 0x80000>; - read-only; - }; - - partition at 400000 { - label = "ART"; - reg = <0x400000 0x80000>; - read-only; - }; - - partition at 480000 { - label = "appsbl"; - reg = <0x480000 0x200000>; - read-only; - }; - - partition at 680000 { - label = "u_env"; - reg = <0x680000 0x80000>; - // writable -- U-Boot environment - }; - - partition at 700000 { - label = "s_env"; - reg = <0x700000 0x40000>; - // writable -- Boot counter records - }; - - partition at 740000 { - label = "devinfo"; - reg = <0x740000 0x40000>; - read-only; - }; - - partition at 780000 { - label = "kernel"; - reg = <0x780000 0x5800000>; - }; - - partition at a80000 { - label = "rootfs"; - reg = <0xa80000 0x5500000>; - }; - - partition at 5f80000 { - label = "alt_kernel"; - reg = <0x5f80000 0x5800000>; - }; - - partition at 6280000 { - label = "alt_rootfs"; - reg = <0x6280000 0x5500000>; - }; - - partition at b780000 { - label = "sysdiag"; - reg = <0xb780000 0x100000>; - read-only; - }; - - partition at b880000 { - label = "syscfg"; - reg = <0xb880000 0x4680000>; - read-only; - }; - }; - }; -}; - -&pcie0 { - status = "okay"; - - perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; - wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; - - bridge at 0,0 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - ranges; - - wifi2: wifi at 1,0 { - compatible = "qcom,ath10k"; - reg = <0x00010000 0 0 0 0>; - }; - }; -}; - -&qpic_bam { - status = "okay"; -}; - -&tlmm { - serial_0_pins: serial0-pinmux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - - nand_pins: nand_pins { - pullups { - pins = "gpio53", "gpio58", "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - // gpio61 controls led_usb - - pulldowns { - pins = "gpio55", "gpio56", "gpio57", - "gpio60", "gpio62", "gpio63", - "gpio64", "gpio65", "gpio66", - "gpio67", "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; -}; - -&wifi1 { - status = "okay"; - ieee80211-freq-limit = <5170000 5330000>; - qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; -}; - -&wifi2 { - status = "okay"; - ieee80211-freq-limit = <5490000 5835000>; - qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts deleted file mode 100644 index ec3ce447cc..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts +++ /dev/null @@ -1,282 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include - -/ { - model = "EnGenius EAP2200"; - compatible = "engenius,eap2200"; - - aliases { - led-boot = &led_power; - led-failsafe = &led_power; - led-running = &led_power; - led-upgrade = &led_power; - }; - - keys { - compatible = "gpio-keys"; - - wps { - label = "wps"; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_power: power { - label = "eap2200:amber:power"; - gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; - }; - - lan1 { - label = "eap2200:blue:lan1"; - gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; - }; - - lan2 { - label = "eap2200:blue:lan2"; - gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; - }; - - wlan2g { - label = "eap2200:blue:wlan2g"; - gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; - linux,default-trigger = "phy0tpt"; - }; - - wlan5g { - label = "eap2200:yellow:wlan5g"; - gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; - linux,default-trigger = "phy1tpt"; - }; - - wlan5g2 { - label = "eap2200:yellow:wlan5g2"; - gpios = <&tlmm 48 GPIO_ACTIVE_LOW>; - linux,default-trigger = "phy2tpt"; - }; - - mode { - label = "eap2200:blue:mode"; - gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; - }; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - switch_lan_bmp = <0x10>; - }; - - edma at c080000 { - status = "okay"; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; - - flash at 0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition0 at 0 { - label = "0:SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition1 at 40000 { - label = "0:MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition2 at 60000 { - label = "0:QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - partition3 at c0000 { - label = "0:CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - partition4 at d0000 { - label = "0:DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - partition5 at e0000 { - label = "0:APPSBLENV"; - reg = <0x000e0000 0x00010000>; - read-only; - }; - partition6 at f0000 { - label = "0:APPSBL"; - reg = <0x000f0000 0x00080000>; - read-only; - }; - partition7 at 170000 { - label = "0:ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - vlan_tag = <1 0x10>; -}; - -&nand { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "rootfs1"; - reg = <0x00000000 0x04000000>; - }; - partition at 40000000 { - label = "ubi"; - reg = <0x04000000 0x04000000>; - }; - - }; - }; -}; - -&pcie0 { - status = "okay"; - perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; - wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; - - bridge at 0,0 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - ranges; - - wifi2: wifi at 1,0 { - compatible = "qcom,ath10k"; - reg = <0x00010000 0 0 0 0>; - ieee80211-freq-limit = <5470000 5875000>; - qcom,ath10k-calibration-variant = "EnGenius-EAP2200"; - }; - }; -}; - -&qpic_bam { - status = "okay"; -}; - -&tlmm { - nand_pins: nand_pins { - pullups { - pins = "gpio53", "gpio58", "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; - - serial_0_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pinmux { - function = "blsp_spi0"; - pins = "gpio13", "gpio14", "gpio15"; - drive-strength = <12>; - bias-disable; - }; - pinmux_cs { - function = "gpio"; - pins = "gpio12"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "EnGenius-EAP2200"; -}; - -&wifi1 { - status = "okay"; - ieee80211-freq-limit = <5170000 5350000>; - qcom,ath10k-calibration-variant = "EnGenius-EAP2200"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts deleted file mode 100644 index b04a61dc04..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts +++ /dev/null @@ -1,303 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "AVM FRITZ!Box 7530"; - compatible = "avm,fritzbox-7530"; - - aliases { - led-boot = &power_green; - led-failsafe = &info_red; - led-running = &power_green; - led-upgrade = &info_green; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb3 at 8af8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - qcom,num_gmac = <1>; - }; - }; - - keys { - compatible = "gpio-keys"; - - wlan { - label = "wlan"; - gpios = <&tlmm 42 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - wps { - label = "wps"; - gpios = <&tlmm 41 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - dect { - label = "dect"; - gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - info_red: info_red { - label = "fritzbox-7530:red:info"; - gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; - }; - - info_green: info { - label = "fritzbox-7530:green:info"; - gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; - }; - - wlan { - label = "fritzbox-7530:green:wlan"; - gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; - }; - - fon { - label = "fritzbox-7530:green:fon"; - gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; - }; - - power_green: power { - label = "fritzbox-7530:green:power"; - gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; - }; - - wps { - label = "fritzbox-7530:green:wps"; - gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&tlmm { - serial_0_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - nand_pins: nand_pins { - pullups { - pins = "gpio53", "gpio58", "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; - - usb-power { - line-name = "enable USB3 power"; - gpios = <49 GPIO_ACTIVE_HIGH>; - gpio-hog; - output-high; - }; -}; - -&nand { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x000000 0x80000>; - read-only; - }; - - partition at 80000 { - label = "MIBIB"; - reg = <0x080000 0x80000>; - read-only; - }; - - partition at 100000 { - label = "QSEE"; - reg = <0x100000 0x80000>; - read-only; - }; - - partition at 180000 { - label = "CDT"; - reg = <0x180000 0x40000>; - read-only; - }; - - partition at 1c0000 { - label = "QSEE_B"; - reg = <0x1c0000 0x80000>; - read-only; - }; - - partition at 240000 { - label = "urlader0"; - reg = <0x240000 0x40000>; - read-only; - }; - - partition at 280000 { - label = "urlader1"; - reg = <0x280000 0x40000>; - read-only; - }; - - partition at 2c0000 { - label = "nand-tffs"; - reg = <0x2c0000 0x840000>; - read-only; - }; - - partition at b00000 { - /* 'kernel1' in AVM firmware */ - label = "uboot0"; - reg = <0xb00000 0x400000>; - }; - - partition at f00000 { - /* 'kernel2' in AVM firmware */ - label = "uboot1"; - reg = <0xf00000 0x400000>; - }; - - partition at 1300000 { - label = "ubi"; - reg = <0x1300000 0x6d00000>; - }; - }; - }; -}; - -&cryptobam { - status = "okay"; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&qpic_bam { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; -}; - -&pcie0 { - status = "okay"; - - perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; - wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; - - bridge at 0,0 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - ranges; - - dsl at 1,0 { - compatible = "intel,vrx518"; - status = "okay"; - reg = <0x00010000 0 0 0 0>; - }; - }; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts deleted file mode 100644 index e9b96b996a..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts +++ /dev/null @@ -1,267 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "AVM FRITZ!Repeater 1200"; - compatible = "avm,fritzrepeater-1200"; - - aliases { - led-boot = &power_green; - led-failsafe = &power_red; - led-running = &power_green; - led-upgrade = &power_red; - label-mac-device = &wifi0; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - switch_mac_mode = <0x3>; /* mac mode for RGMII RMII */ - switch_lan_bmp = <0x0>; /* lan port bitmap */ - switch_wan_bmp = <0x10>; /* wan port bitmap */ - }; - - edma at c080000 { - status = "okay"; - phy-mode = "rgmii-rxid"; - qcom,num_gmac = <1>; - qcom,single-phy; - }; - }; - - key { - compatible = "gpio-keys"; - - wps { - label = "WPS button"; - gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - power_red: power_red { - label = "fritzwlan-1200:red:power"; - gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; - }; - - power_green: power_green { - label = "fritzwlan-1200:green:power"; - gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; - }; - - power_yellow { - label = "fritzwlan-1200:yellow:power"; - gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&tlmm { - serial_0_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - nand_pins: nand_pins { - pullups { - pins = "gpio53", "gpio58", "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; - - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio6"; - function = "mdio"; - bias-pull-up; - }; - mux_2 { - pins = "gpio7"; - function = "mdc"; - bias-pull-up; - }; - }; - - phy-reset { - line-name = "PHY-reset"; - gpios = <19 GPIO_ACTIVE_HIGH>; - gpio-hog; - output-high; - }; - - phy-reset-2 { - line-name = "PHY-reset-2"; - gpios = <47 GPIO_ACTIVE_HIGH>; - gpio-hog; - output-high; - }; -}; - -&nand { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x0 0x80000>; - read-only; - }; - - partition at 80000 { - label = "MIBIB"; - reg = <0x80000 0x80000>; - read-only; - }; - - partition at 100000 { - label = "QSEE"; - reg = <0x100000 0x80000>; - read-only; - }; - - partition at 180000 { - label = "CDT"; - reg = <0x180000 0x40000>; - read-only; - }; - - partition at 1c0000 { - label = "QSEE_B"; - reg = <0x1c0000 0x80000>; - read-only; - }; - - partition at 240000 { - label = "urlader0"; - reg = <0x240000 0x40000>; - read-only; - }; - - partition at 280000 { - label = "urlader1"; - reg = <0x280000 0x40000>; - read-only; - }; - - partition at 2c0000 { - label = "nand-tffs"; - reg = <0x2c0000 0x840000>; - read-only; - }; - - partition at b00000 { - /* 'kernel1' in AVM firmware */ - label = "uboot0"; - reg = <0xb00000 0x400000>; - }; - - partition at f00000 { - /* 'kernel2' in AVM firmware */ - label = "uboot1"; - reg = <0xf00000 0x400000>; - }; - - partition at 1300000 { - label = "ubi"; - reg = <0x1300000 0x6d00000>; - }; - }; - }; -}; - -&cryptobam { - status = "okay"; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&qpic_bam { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200"; -}; - -&gmac0 { - qcom,phy_mdio_addr = <0>; - qcom,poll_required = <1>; - vlan_tag = <0 0x20>; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts deleted file mode 100644 index 6914917eb3..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts +++ /dev/null @@ -1,264 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "AVM FRITZ!Repeater 3000"; - compatible = "avm,fritzrepeater-3000"; - - aliases { - led-boot = &power_led; - led-failsafe = &power_led; - led-running = &power_led; - led-upgrade = &power_led; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - - switch_lan_bmp = <0x10>; - switch_wan_bmp = <0x20>; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - key { - compatible = "gpio-keys"; - - connect { - label = "Connect"; - gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - connect_red { - label = "fritzwlan-3000:red:connect"; - gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; - }; - - connect_green { - label = "fritzwlan-3000:green:connect"; - gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; - }; - - connect_blue { - label = "fritzwlan-3000:blue:connect"; - gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; - }; - - power_led: power { - label = "fritzwlan-3000:green:power"; - gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&tlmm { - serial_0_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - nand_pins: nand_pins { - pullups { - pins = "gpio53", "gpio58", "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; -}; - -&nand { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x000000 0x80000>; - read-only; - }; - - partition at 80000 { - label = "MIBIB"; - reg = <0x080000 0x80000>; - read-only; - }; - - partition at 100000 { - label = "QSEE"; - reg = <0x100000 0x80000>; - read-only; - }; - - partition at 180000 { - label = "CDT"; - reg = <0x180000 0x40000>; - read-only; - }; - - partition at 1c0000 { - label = "QSEE_B"; - reg = <0x1c0000 0x80000>; - read-only; - }; - - partition at 240000 { - label = "urlader0"; - reg = <0x240000 0x40000>; - read-only; - }; - - partition at 280000 { - label = "urlader1"; - reg = <0x280000 0x40000>; - read-only; - }; - - partition at 2c0000 { - label = "nand-tffs"; - reg = <0x2c0000 0x840000>; - read-only; - }; - - partition at b00000 { - /* 'kernel1' in AVM firmware */ - label = "uboot0"; - reg = <0xb00000 0x400000>; - }; - - partition at f00000 { - /* 'kernel2' in AVM firmware */ - label = "uboot1"; - reg = <0xf00000 0x400000>; - }; - - partition at 1300000 { - label = "ubi"; - reg = <0x1300000 0x6d00000>; - }; - }; - }; -}; - -&cryptobam { - status = "okay"; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&qpic_bam { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - /* BDFs are identical for the FRITZ!Box 7530 and the FRITZ!Repeater 3000 */ - qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-3000"; -}; - -&wifi1 { - status = "okay"; - ieee80211-freq-limit = <5170000 5350000>; - /* BDFs are identical for the FRITZ!Box 7530 and the FRITZ!Repeater 3000 */ - qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-3000"; -}; - -&pcie0 { - status = "okay"; - - perst-gpio = <&tlmm 35 GPIO_ACTIVE_LOW>; - wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; - - bridge at 0,0 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - ranges; - - wifi at 1,0 { - /* QCA9984 */ - compatible = "qcom,ath10k"; - status = "okay"; - reg = <0x00010000 0 0 0 0>; - ieee80211-freq-limit = <5470000 5875000>; - /* Uses the reference BDF */ - }; - }; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts deleted file mode 100644 index 8fe7644a9b..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts +++ /dev/null @@ -1,357 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* Copyright (c) 2019, Robert Marko */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "8devices Habanero DVK"; - compatible = "8dev,habanero-dvk"; - - aliases { - led-boot = &led_status; - led-failsafe = &led_status; - led-running = &led_status; - led-upgrade = &led_upgrade; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - counter at 4a1000 { - compatible = "qcom,qca-gcnt"; - reg = <0x4a1000 0x4>; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - status = "okay"; - - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2: usb2 at 60f8800 { - status = "okay"; - }; - - usb3: usb3 at 8af8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 8 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_status: status { - label = "habanero-dvk:green:status"; - gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; - panic-indicator; - }; - - led_upgrade: upgrade { - label = "habanero-dvk:green:upgrade"; - gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; - }; - - wlan2g { - label = "habanero-dvk:green:wlan2g"; - gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy0tpt"; - }; - - wlan5g { - label = "habanero-dvk:green:wlan5g"; - gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy1tpt"; - }; - }; -}; - -&vqmmc { - status = "okay"; -}; - -&sdhci { - status = "okay"; - - pinctrl-0 = <&sd_pins>; - pinctrl-names = "default"; - cd-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; - vqmmc-supply = <&vqmmc>; -}; - -&qpic_bam { - status = "okay"; -}; - -&tlmm { - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio6"; - function = "mdio"; - bias-pull-up; - }; - - mux_2 { - pins = "gpio7"; - function = "mdc"; - bias-pull-up; - }; - }; - - serial_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pinmux { - function = "blsp_spi0"; - pins = "gpio13", "gpio14", "gpio15"; - drive-strength = <12>; - bias-disable; - }; - - pinmux_cs { - function = "gpio"; - pins = "gpio12"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; - - nand_pins: nand_pins { - pullups { - pins = "gpio52", "gpio53", "gpio58", "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", "gpio57", - "gpio60", "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", "gpio68", - "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; - - sd_pins: sd_pins { - pinmux { - function = "sdio"; - pins = "gpio23", "gpio24", "gpio25", "gpio26", - "gpio28", "gpio29", "gpio30", "gpio31"; - drive-strength = <10>; - }; - - pinmux_sd_clk { - function = "sdio"; - pins = "gpio27"; - drive-strength = <16>; - }; - - pinmux_sd7 { - function = "sdio"; - pins = "gpio32"; - drive-strength = <10>; - bias-disable; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - status = "okay"; - - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - spi-max-frequency = <24000000>; - reg = <0>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition at 40000 { - label = "MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition at 60000 { - label = "QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - partition at c0000 { - label = "CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - partition at d0000 { - label = "DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - partition at e0000 { - label = "APPSBLENV"; /* uboot env */ - reg = <0x000e0000 0x00010000>; - read-only; - }; - partition at f0000 { - label = "APPSBL"; /* uboot */ - reg = <0x000f0000 0x00080000>; - read-only; - }; - partition at 170000 { - label = "ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - partition at 180000 { - label = "cfg"; - reg = <0x00180000 0x00040000>; - }; - partition at 1c0000 { - label = "firmware"; - compatible = "denx,fit"; - reg = <0x001c0000 0x01e40000>; - }; - }; - }; -}; - -/* Some DVK boards ship without NAND */ -&nand { - status = "okay"; - - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; -}; - -&blsp1_uart1 { - status = "okay"; - - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; -}; - -&cryptobam { - status = "okay"; -}; - -&pcie0 { - status = "okay"; - - perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; - wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; - - /* Free slot for use */ - bridge at 0,0 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - ranges; - }; -}; - -&wifi0 { - status = "okay"; - - qcom,ath10k-calibration-variant = "8devices-Habanero"; -}; - -&wifi1 { - status = "okay"; - - qcom,ath10k-calibration-variant = "8devices-Habanero"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts deleted file mode 100644 index a063f8e952..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts +++ /dev/null @@ -1,311 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ OR MIT -/dts-v1/; - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "ASUS Lyra MAP-AC2200"; - compatible = "asus,map-ac2200"; - - aliases { - led-boot = &led_blue0; - led-failsafe = &led_red0; - led-running = &led_blue0; - led-upgrade = &led_red0; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - wps { - label = "wps"; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&nand { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "SBL1"; - reg = <0x0 0x80000>; - read-only; - }; - - partition at 80000 { - label = "MIBIB"; - reg = <0x80000 0x80000>; - read-only; - }; - - partition at 100000 { - label = "QSEE"; - reg = <0x100000 0x100000>; - read-only; - }; - - partition at 200000 { - label = "CDT"; - reg = <0x200000 0x80000>; - read-only; - }; - - partition at 280000 { - label = "APPSBL"; - reg = <0x280000 0x140000>; - read-only; - }; - - partition at 3c0000 { - label = "APPSBLENV"; - reg = <0x3c0000 0x40000>; - read-only; - }; - - partition at 400000 { - label = "ubi"; - reg = <0x400000 0x7c00000>; - }; - }; - }; -}; - -&tlmm { - i2c_0_pins: i2c_0_pinmux { - pinmux { - function = "blsp_i2c0"; - pins = "gpio20", "gpio21"; - drive-strength = <16>; - bias-disable; - }; - }; - - serial_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - nand_pins: nand_pins { - pullups { - pins = "gpio52", "gpio53", "gpio58", - "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; -}; - -&cryptobam { - status = "okay"; -}; - -&blsp_dma { - status = "okay"; -}; - -&qpic_bam { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; - ieee80211-freq-limit = <5470000 5875000>; -}; - -&pcie0 { - status = "okay"; - perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; - wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; - - bridge at 0,0 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - ranges; - - wifi2: wifi at 1,0 { - compatible = "qcom,ath10k"; - status = "okay"; - reg = <0x00010000 0 0 0 0>; - qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; - ieee80211-freq-limit = <5170000 5350000>; - }; - }; -}; - -&usb2_hs_phy { - /* Bluetooth module attached via USB */ - status = "okay"; -}; - -&blsp1_i2c3 { - pinctrl-0 = <&i2c_0_pins>; - pinctrl-names = "default"; - status = "okay"; - - led-controller at 32 { - /* 9-channel RGB LED controller */ - compatible = "national,lp5523"; - reg = <0x32>; - clock-mode = [01]; - - led_blue0: blue0 { - chan-name = "blue0"; - label = "map-ac2200:blue:chan0"; - led-cur = [fa]; - max-cur = [ff]; - }; - - blue1 { - chan-name = "blue1"; - label = "map-ac2200:blue:chan1"; - led-cur = [fa]; - max-cur = [ff]; - }; - - blue2 { - chan-name = "blue2"; - label = "map-ac2200:blue:chan2"; - led-cur = [fa]; - max-cur = [ff]; - }; - - led_green0: green0 { - chan-name = "green0"; - label = "map-ac2200:green:chan0"; - led-cur = [fa]; - max-cur = [ff]; - }; - - green1 { - chan-name = "green1"; - label = "map-ac2200:green:chan1"; - led-cur = [fa]; - max-cur = [ff]; - }; - - green2 { - chan-name = "green2"; - label = "map-ac2200:green:chan2"; - led-cur = [fa]; - max-cur = [ff]; - }; - - led_red0: red0 { - chan-name = "red0"; - label = "map-ac2200:red:chan0"; - led-cur = [fa]; - max-cur = [ff]; - }; - - red1 { - chan-name = "red1"; - label = "map-ac2200:red:chan1"; - led-cur = [fa]; - max-cur = [ff]; - }; - - red2 { - chan-name = "red2"; - label = "map-ac2200:red:chan2"; - led-cur = [fa]; - max-cur = [ff]; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts deleted file mode 100644 index 2f17424e55..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts +++ /dev/null @@ -1,385 +0,0 @@ -// SPDX-License-Identifier: ISC -// Copyright (c) 2015, The Linux Foundation. All rights reserved. -// Copyright (c) 2019, Cezary Jackiewicz . -// Copyright (c) 2020, Pawel Dembicki . - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "Cell C RTL30VW"; - compatible = "cellc,rtl30vw"; - - aliases { - led-boot = &led_power_blue; - led-failsafe = &led_power_red; - led-running = &led_power_blue; - led-upgrade = &led_power_red; - }; - - chosen { - bootargs-append = "ubi.mtd=ubifs root=/dev/ubiblock0_0 rootfstype=squashfs ro"; - }; - - led_spi { - compatible = "spi-gpio"; - #address-cells = <1>; - #size-cells = <0>; - num-chipselects = <1>; - - mosi-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; - cs-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; - sck-gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; - - led_gpio: led_gpio at 0 { - compatible = "fairchild,74hc595"; - reg = <0>; - gpio-controller; - #gpio-cells = <2>; - registers-number = <2>; - spi-max-frequency = <1000000>; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_power_blue: power_blue { - gpios = <&led_gpio 0 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:blue:power"; - default-state = "on"; - }; - - led_power_red: power_red { - gpios = <&led_gpio 1 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:red:power"; - }; - - tp28 { - gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>; - label = "rtl30vw:ext:tp28"; - default-state = "keep"; - }; - - tp27 { - gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>; - label = "rtl30vw:ext:tp27"; - default-state = "keep"; - }; - - wlan2g { - gpios = <&led_gpio 8 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:blue:wlan2g"; - linux,default-trigger = "phy0tpt"; - }; - - wlan5g { - gpios = <&led_gpio 9 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:blue:wlan5g"; - linux,default-trigger = "phy1tpt"; - }; - - wps { - gpios = <&led_gpio 10 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:blue:wps"; - }; - - voip { - gpios = <&led_gpio 11 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:blue:voip"; - }; - - s1 { - gpios = <&led_gpio 12 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:blue:s1"; - }; - - s2 { - gpios = <&led_gpio 13 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:blue:s2"; - }; - - s3 { - gpios = <&led_gpio 14 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:blue:s3"; - }; - - s4 { - gpios = <&led_gpio 15 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:blue:s4"; - }; - - signal { - gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; - label = "rtl30vw:red:signal"; - }; - }; - - keys { - compatible = "gpio-keys"; - - wps { - label = "wps"; - linux,code = ; - gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; - }; - - reset { - label = "reset"; - linux,code = ; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - }; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - /* select hostmode */ - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - status = "okay"; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - }; - - usb3 at 8af8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 59 GPIO_ACTIVE_HIGH>; - - flash at 0 { - /*"n25q128a11" is required for proper nand recognition in u-boot. */ - compatible = "jedec,spi-nor", "n25q128a11"; - #address-cells = <1>; - #size-cells = <1>; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "0:SBL1"; - reg = <0x0 0x40000>; - read-only; - }; - - partition at 40000 { - label = "0:MIBIB"; - reg = <0x40000 0x20000>; - read-only; - }; - - partition at 60000 { - label = "0:QSEE"; - reg = <0x60000 0x60000>; - read-only; - }; - - partition at c0000 { - label = "0:CDT"; - reg = <0xc0000 0x10000>; - read-only; - }; - - partition at d0000 { - label = "0:DDRPARAMS"; - reg = <0xd0000 0x10000>; - read-only; - }; - - partition at e0000 { - label = "0:APPSBLENV"; - reg = <0xe0000 0x10000>; - read-only; - }; - - partition at f0000 { - label = "0:APPSBL"; - reg = <0xf0000 0x80000>; - read-only; - }; - - partition at 170000 { - label = "0:ART"; - reg = <0x170000 0x10000>; - read-only; - }; - - partition at 180000 { - label = "0:BOOTCONFIG"; - reg = <0x180000 0x10000>; - read-only; - }; - }; - }; - - flash at 1 { - /* - * Factory U-boot looks in 0:BOOTCONFIG partition for active - * partitions settings and mangle partition config. So kernel - * /kernel_1 and rootfs/rootfs_1 pairs can be swaped. - * It isn't a problem but we never can be sure where OFW put - * factory images. "spinand,mt29f" value is required for proper - * nand recognition in u-boot. - */ - compatible = "spi-nand","spinand,mt29f"; - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "kernel"; - reg = <0x0 0x400000>; - }; - - partition at 400000 { - label = "rootfs"; - reg = <0x400000 0x2000000>; - }; - - partition at 2400000 { - label = "kernel_1"; - reg = <0x2400000 0x400000>; - }; - - partition at 2800000 { - label = "rootfs_1"; - reg = <0x2800000 0x2000000>; - }; - - partition at 4800000 { - label = "ubifs"; - reg = <0x4800000 0x3800000>; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pinmux { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - - pinmux_cs { - function = "gpio"; - pins = "gpio54", "gpio59"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "cellc,rtl30vw"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "cellc,rtl30vw"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts deleted file mode 100644 index 63fbfb65c1..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts +++ /dev/null @@ -1,79 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -/dts-v1/; - -#include "qcom-ipq4019-u4019.dtsi" -#include -#include - -/ { - model = "Unielec U4019 (32M)"; - compatible = "unielec,u4019-32m","unielec,u4019","qcom,ipq4019"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; - - flash at 0 { - reg = <0>; - compatible = "jedec,spi-nor"; - spi-max-frequency = <24000000>; - broken-flash-reset; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "0:SBL1"; - reg = <0x0 0x40000>; - read-only; - }; - partition at 40000 { - label = "0:MIBIB"; - reg = <0x40000 0x20000>; - read-only; - }; - partition at 60000 { - label = "0:QSEE"; - reg = <0x60000 0x60000>; - read-only; - }; - partition at c0000 { - label = "0:CDT"; - reg = <0xc0000 0x10000>; - read-only; - }; - partition at d0000 { - label = "0:DDRPARAMS"; - reg = <0xd0000 0x10000>; - read-only; - }; - partition at e0000 { - label = "0:APPSBLENV"; - reg = <0xe0000 0x10000>; - read-only; - }; - partition at f0000 { - label = "0:APPSBL"; - reg = <0xf0000 0x80000>; - read-only; - }; - partition at 170000 { - label = "0:ART"; - reg = <0x170000 0x10000>; - read-only; - }; - partition at 180000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x180000 0x1e80000>; - }; - }; - }; -}; - diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi deleted file mode 100644 index c768e25ca0..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi +++ /dev/null @@ -1,224 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - compatible = "unielec,u4019","qcom,ipq4019"; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; - reset-delay-us = <2000>; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - status = "okay"; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - - dwc3 at 6000000 { - #address-cells = <1>; - #size-cells = <0>; - - port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - }; - }; - - usb3 at 8af8800 { - status = "okay"; - - dwc3 at 8a00000 { - #address-cells = <1>; - #size-cells = <0>; - - port at 1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - - port at 2 { - reg = <2>; - #trigger-source-cells = <0>; - }; - }; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - - aliases { - led-boot = &led_status; - led-failsafe = &led_status; - led-running = &led_status; - led-upgrade = &led_status; - serial0 = &blsp1_uart1; - serial1 = &blsp1_uart2; - }; - - leds { - compatible = "gpio-leds"; - pinctrl-0 = <&led_pins>; - pinctrl-names = "default"; - - led_status: led2 { - label = "u4019:green:led2"; - gpios = <&tlmm 68 GPIO_ACTIVE_LOW>; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&blsp1_uart2 { - pinctrl-0 = <&serial_1_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&qpic_bam { - status = "okay"; -}; - -&tlmm { - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio6"; - function = "mdio"; - bias-pull-up; - }; - mux_2 { - pins = "gpio7"; - function = "mdc"; - bias-pull-up; - }; - }; - - serial_0_pins: serial0-pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - serial_1_pins: serial1_pinmux { - mux { - pins = "gpio8", "gpio9"; - function = "blsp_uart1"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pinmux { - function = "blsp_spi0"; - pins = "gpio13", "gpio14", "gpio15"; - drive-strength = <12>; - bias-disable; - }; - - pinmux_cs { - function = "gpio"; - pins = "gpio12"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; - - led_pins: led_pinmux { - mux { - function = "gpio"; - pins = "gpio68"; - bias-disabled; - output-low; - }; - }; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; -}; - -&wifi1 { - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts deleted file mode 100644 index 3a0e0b8cfa..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts +++ /dev/null @@ -1,375 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * Copyright (c) 2019, Nguyen Dinh Phi - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "Compex WPJ419"; - compatible = "compex,wpj419", "qcom,ipq4019"; - - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; - }; - - reserved-memory { - ranges; - rsvd1 at 87000000 { - /* Reserved for other subsystem */ - reg = <0x87000000 0x500000>; - no-map; - }; - wifi_dump at 87500000 { - reg = <0x87500000 0x600000>; - no-map; - }; - - rsvd2 at 87B00000 { - /* Reserved for other subsystem */ - reg = <0x87B00000 0x500000>; - no-map; - }; - }; - - chosen { - bootargs-append = " ubi.mtd=ubi root=/dev/ubiblock0_1 clk_ignore_unused"; - }; - - soc { - pinctrl at 1000000 { - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio6"; - function = "mdio"; - bias-pull-up; - }; - - mux_2 { - pins = "gpio7"; - function = "mdc"; - bias-pull-up; - }; - }; - - serial_0_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - serial_1_pins: serial1_pinmux { - mux { - pins = "gpio8", "gpio9", "gpio10", "gpio11"; - function = "blsp_uart1"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pinmux { - function = "blsp_spi0"; - pins = "gpio13", "gpio14", "gpio15"; - bias-disable; - }; - - pinmux_cs { - function = "gpio"; - pins = "gpio12"; - bias-disable; - output-high; - }; - }; - - i2c_0_pins: i2c_0_pinmux { - mux { - pins = "gpio20", "gpio21"; - function = "blsp_i2c0"; - bias-disable; - }; - }; - - nand_pins: nand_pins { - pullups { - pins = "gpio52", "gpio53", "gpio58", "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; - - led_0_pins: led0_pinmux { - mux_1 { - pins = "gpio36"; - function = "led0"; - bias-pull-down; - }; - mux_2 { - pins = "gpio40"; - function = "led4"; - bias-pull-down; - }; - }; - }; - - blsp_dma: dma at 7884000 { - status = "okay"; - }; - - spi_0: spi at 78b5000 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>, <&tlmm 41 GPIO_ACTIVE_HIGH>; - num-cs = <2>; - - flash0 at 0 { - reg = <0>; - compatible = "jedec,spi-nor"; - spi-max-frequency = <24000000>; - broken-flash-reset; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "0:SBL1"; - reg = <0x000000 0x040000>; - read-only; - }; - - partition at 40000 { - label = "0:MIBIB"; - reg = <0x040000 0x020000>; - read-only; - }; - - partition at 60000 { - label = "0:QSEE"; - reg = <0x060000 0x060000>; - read-only; - }; - - partition at c0000 { - label = "0:CDT"; - reg = <0x0c0000 0x010000>; - read-only; - }; - - partition at d0000 { - label = "0:DDRPARAMS"; - reg = <0x0d0000 0x010000>; - read-only; - }; - - partition at e0000 { - label = "u-boot-env"; - reg = <0x0e0000 0x010000>; - }; - - partition at f0000 { - label = "u-boot"; - reg = <0x0f0000 0x080000>; - read-only; - }; - - partition at 170000 { - label = "0:ART"; - reg = <0x170000 0x010000>; - read-only; - }; - }; - }; - - nand at 1 { - reg = <1>; - status = "okay"; - compatible = "spi-nand"; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - /* The device has 128MB, but we can only address - * 64MB because of the bootloader's default settings. - * This is due to the old mt29f driver, - * which detected the deivce with only 64MB - */ - partition at 0 { - label = "ubi"; - reg = <0x0000000 0x4000000>; - }; - }; - }; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; - reset-delay-us = <5000>; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 194b000 { - /* select hostmode */ - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - i2c_0: i2c at 78b7000 { - pinctrl-0 = <&i2c_0_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - - serial at 78af000 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - - serial at 78b0000 { - pinctrl-0 = <&serial_1_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - - usb3_ss_phy: ssphy at 9a000 { - status = "okay"; - }; - - usb3_hs_phy: hsphy at a6000 { - status = "okay"; - }; - - usb3: usb3 at 8af8800 { - status = "okay"; - }; - - usb2_hs_phy: hsphy at a8000 { - status = "okay"; - }; - - usb2: usb2 at 60f8800 { - status = "okay"; - }; - - cryptobam: dma at 8e04000 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - switch_lan_bmp = <0x1e>; - switch_wan_bmp = <0x20>; - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - - qpic_bam: dma at 7984000 { - status = "okay"; - }; - - pcie0: pci at 40000000 { - status = "okay"; - perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; - wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; - }; - - nand: qpic-nand at 79b0000 { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - }; -}; - -&gmac0 { - qcom,phy_mdio_addr = <4>; - qcom,poll_required = <1>; - qcom,forced_speed = <1000>; - qcom,forced_duplex = <1>; - vlan_tag = <2 0x20>; -}; - -&gmac1 { - qcom,phy_mdio_addr = <3>; - qcom,poll_required = <1>; - qcom,forced_speed = <1000>; - qcom,forced_duplex = <1>; - vlan_tag = <1 0x10>; -}; - -&wifi0 { - status = "okay"; -}; - -&wifi1 { - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts deleted file mode 100644 index 1bcf5e80bf..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts +++ /dev/null @@ -1,288 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * Copyright (c) 2017, Christian Mehlis - * Copyright (c) 2017-2018, Sven Eckelmann - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "Compex WPJ428"; - compatible = "compex,wpj428"; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; - reset-delay-us = <2000>; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 194b000 { - /* select hostmode */ - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2: usb2 at 60f8800 { - status = "okay"; - }; - - usb3: usb3 at 8af8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - switch_lan_bmp = <0x10>; - switch_wan_bmp = <0x20>; - - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - aliases { - led-boot = &status; - led-failsafe = &status; - led-upgrade = &status; - }; - - leds { - compatible = "gpio-leds"; - - status: rss4 { - label = "wpj428:green:rss4"; - gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; - }; - - rss3 { - label = "wpj428:green:rss3"; - gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; - }; - }; - - beeper: beeper { - compatible = "gpio-beeper"; - gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; - }; -}; - -&tlmm { - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio53"; - function = "mdio"; - bias-pull-up; - }; - - mux_2 { - pins = "gpio52"; - function = "mdc"; - bias-pull-up; - }; - }; - - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - pin_cs { - function = "gpio"; - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - m25p80 at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition0 at 0 { - label = "0:SBL1"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition1 at 40000 { - label = "0:MIBIB"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition2 at 60000 { - label = "0:QSEE"; - reg = <0x00060000 0x00060000>; - read-only; - }; - partition3 at c0000 { - label = "0:CDT"; - reg = <0x000c0000 0x00010000>; - read-only; - }; - partition4 at d0000 { - label = "0:DDRPARAMS"; - reg = <0x000d0000 0x00010000>; - read-only; - }; - partition5 at e0000 { - label = "0:APPSBLENV"; /* uboot env*/ - reg = <0x000e0000 0x00010000>; - read-only; - }; - partition5 at f0000 { - label = "0:APPSBL"; /* uboot */ - reg = <0x000f0000 0x00080000>; - read-only; - }; - partition5 at 170000 { - label = "0:ART"; - reg = <0x00170000 0x00010000>; - read-only; - }; - partition6 at 180000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x00180000 0x01e80000>; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - qcom,phy_mdio_addr = <4>; - qcom,poll_required = <1>; - qcom,forced_speed = <1000>; - qcom,forced_duplex = <1>; - vlan_tag = <2 0x20>; -}; - -&gmac1 { - qcom,phy_mdio_addr = <3>; - qcom,poll_required = <1>; - qcom,forced_speed = <1000>; - qcom,forced_duplex = <1>; - vlan_tag = <1 0x10>; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; -}; - -&wifi1 { - status = "okay"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts deleted file mode 100644 index 126d944ebb..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts +++ /dev/null @@ -1,180 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT - -#include "qcom-ipq4029-aruba-glenmorangie.dtsi" -#include - -/ { - model = "Aruba AP-303"; - compatible = "aruba,ap-303"; - - aliases { - led-boot = &led_system_green; - led-failsafe = &led_system_red; - led-running = &led_system_green; - led-upgrade = &led_system_red; - }; - - leds { - compatible = "gpio-leds"; - - wifi_green { - label = "ap-303:green:wifi"; - gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy0tpt"; - }; - - wifi_amber { - label = "ap-303:amber:wifi"; - gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy1tpt"; - }; - - led_system_red: system_red { - label = "ap-303:red:system"; - gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; - }; - - led_system_green: system_green { - label = "ap-303:green:system"; - gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&tlmm { - /* - * In addition to the Pins listed below, - * the following GPIOs have "features": - * 54 - out - active low to force HW reset - * 41 - out - active low to reset TPM - * 43 - out - active low to reset BLE radio - * 19 - in - active high when DC powered - */ - - phy-reset { - line-name = "PHY-reset"; - gpios = <42 GPIO_ACTIVE_HIGH>; - gpio-hog; - output-high; - }; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - /* - * There is no partition map for the NOR flash - * in the stock firmware. - * - * All partitions here are based on offsets - * found in the U-Boot GPL code and information - * from smem. - */ - - partition at 0 { - label = "sbl1"; - reg = <0x0 0x40000>; - read-only; - }; - - partition at 40000 { - label = "mibib"; - reg = <0x40000 0x20000>; - read-only; - }; - - partition at 60000 { - label = "qsee"; - reg = <0x60000 0x60000>; - read-only; - }; - - partition at c0000 { - label = "cdt"; - reg = <0xc0000 0x10000>; - read-only; - }; - - partition at d0000 { - label = "ddrparams"; - reg = <0xd0000 0x10000>; - read-only; - }; - - partition at e0000 { - label = "ART"; - reg = <0xe0000 0x10000>; - read-only; - }; - - partition at f0000 { - label = "appsbl"; - reg = <0xf0000 0xf0000>; - read-only; - }; - - partition at 1e0000 { - label = "mfginfo"; - reg = <0x1e0000 0x10000>; - read-only; - }; - - partition at 1f0000 { - label = "apcd"; - reg = <0x1f0000 0x10000>; - read-only; - }; - - partition at 200000 { - label = "osss"; - reg = <0x200000 0x180000>; - read-only; - }; - - partition at 380000 { - /* This is empty */ - label = "appsblenv"; - reg = <0x380000 0x10000>; - read-only; - }; - - partition at 390000 { - label = "pds"; - reg = <0x390000 0x10000>; - read-only; - }; - - partition at 3a0000 { - label = "fcache"; - reg = <0x3a0000 0x10000>; - read-only; - }; - - partition at 3b0000 { - /* Called osss1 in smem */ - label = "u-boot-env-bak"; - reg = <0x3b0000 0x10000>; - read-only; - }; - - partition at 3f0000 { - label = "u-boot-env"; - reg = <0x3f0000 0x10000>; - read-only; - }; - }; - }; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts deleted file mode 100644 index 1f7a728492..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts +++ /dev/null @@ -1,421 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "Aruba AP-303H"; - compatible = "aruba,ap-303h"; - - aliases { - led-boot = &led_system_green; - led-failsafe = &led_system_red; - led-running = &led_system_green; - led-upgrade = &led_system_amber; - }; - - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - - reset-gpios = <&tlmm 19 GPIO_ACTIVE_LOW>; - reset-delay-us = <2000>; - }; - - counter at 4a1000 { - compatible = "qcom,qca-gcnt"; - reg = <0x4a1000 0x4>; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - }; - - edma at c080000 { - status = "okay"; - }; - - i2c_0: i2c at 78b7000 { - pinctrl-0 = <&i2c_0_pins>; - pinctrl-names = "default"; - status = "okay"; - - tpm at 29 { - /* No Driver */ - compatible = "atmel,at97sc3203"; - reg = <0x29>; - read-only; - }; - - power-monitor at 40 { - /* No driver */ - compatible = "isl,isl28022"; - reg = <0x40>; - }; - }; - }; - - leds { - compatible = "gpio-leds"; - - wifi_green { - label = "ap-303h:green:wifi"; - gpios = <&tlmm 27 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy0tpt"; - }; - - wifi_amber { - label = "ap-303h:amber:wifi"; - gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "phy1tpt"; - }; - - pse { - label = "ap-303h:green:pse"; - gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>; - }; - - led_system_red: system_red { - label = "ap-303h:red:system"; - gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>; - }; - - led_system_green: system_green { - label = "ap-303h:green:system"; - gpios = <&tlmm 24 GPIO_ACTIVE_HIGH>; - }; - - led_system_amber: system_amber { - label = "ap-303h:amber:system"; - gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "Reset button"; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&blsp1_uart2 { - /* Texas Instruments CC2540T BLE radio */ - pinctrl-0 = <&serial_1_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&qpic_bam { - status = "okay"; -}; - -&tlmm { - /* - * In addition to the Pins listed below, - * the following GPIOs have "features": - * 39 - out - active low to force HW reset - * 32 - out - active low to reset TPM - * 43 - out - active low to reset BLE radio - * 41 - out - pulse to set warm reset status - * 34 - out - active low to enable PSE port - * 22 - in - active low when 802.3at powered - * 29 - in - active high when DC powered - * 40 - in - active low when reset due to cold HW reset - * 30 - in - active low when USB overcurrent detected - * 35 - in - interrupt line for power monitor chip - * 31 - in - active low when PSE port active - */ - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio6"; - function = "mdio"; - bias-pull-up; - }; - mux_2 { - pins = "gpio7"; - function = "mdc"; - bias-pull-up; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio13", "gpio14", "gpio15"; - drive-strength = <12>; - bias-disable; - }; - pin_cs { - function = "gpio"; - pins = "gpio12", "gpio59"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; - - i2c_0_pins: i2c_0_pinmux { - mux { - pins = "gpio20", "gpio21"; - function = "blsp_i2c0"; - drive-strength = <4>; - bias-disable; - }; - }; - - serial_0_pins: serial_0_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - serial_1_pins: serial_1_pinmux { - mux { - pins = "gpio8", "gpio9"; - function = "blsp_uart1"; - bias-disable; - }; - }; - - usb-power { - line-name = "USB-power"; - gpios = <23 GPIO_ACTIVE_HIGH>; - gpio-hog; - output-high; - }; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>, <&tlmm 59 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - /* - * There is no partition map for the NOR flash - * in the stock firmware. - * - * All partitions here are based on offsets - * found in the U-Boot GPL code and information - * from smem. - */ - - partition at 0 { - label = "sbl1"; - reg = <0x0 0x40000>; - read-only; - }; - - partition at 40000 { - label = "mibib"; - reg = <0x40000 0x20000>; - read-only; - }; - - partition at 60000 { - label = "qsee"; - reg = <0x60000 0x60000>; - read-only; - }; - - partition at c0000 { - label = "cdt"; - reg = <0xc0000 0x10000>; - read-only; - }; - - partition at d0000 { - label = "ddrparams"; - reg = <0xd0000 0x10000>; - read-only; - }; - - partition at e0000 { - label = "appsblenv"; - reg = <0xe0000 0x10000>; - read-only; - }; - - partition at f0000 { - label = "appsbl"; - reg = <0xf0000 0x100000>; - read-only; - }; - - partition at 1e0000 { - label = "ART"; - reg = <0x1f0000 0x10000>; - read-only; - }; - - partition at 1f0000 { - label = "osss"; - reg = <0x200000 0x170000>; - read-only; - }; - - partition at 200000 { - label = "pds"; - reg = <0x370000 0x10000>; - read-only; - }; - - partition at 380000 { - label = "apcd"; - reg = <0x380000 0x10000>; - read-only; - }; - - partition at 390000 { - label = "mfginfo"; - reg = <0x390000 0x10000>; - read-only; - }; - - partition at 3a0000 { - label = "fcache"; - reg = <0x3a0000 0x10000>; - read-only; - }; - - partition at 3b0000 { - /* Called osss1 in smem */ - label = "u-boot-env-bak"; - reg = <0x3b0000 0x10000>; - read-only; - }; - - partition at 3f0000 { - label = "u-boot-env"; - reg = <0x3c0000 0x40000>; - read-only; - }; - }; - }; - - flash at 1 { - status = "okay"; - - compatible = "spi-nand"; - reg = <1>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - /* 'aos0' in Aruba firmware */ - label = "aos0"; - reg = <0x0 0x2000000>; - read-only; - }; - - partition at 2000000 { - /* 'aos1' in Aruba firmware */ - label = "ubi"; - reg = <0x2000000 0x2000000>; - }; - - partition at 4000000 { - label = "aruba-ubifs"; - reg = <0x4000000 0x4000000>; - read-only; - }; - }; - }; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "Aruba-AP-303"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "Aruba-AP-303"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts deleted file mode 100644 index 07bb674520..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts +++ /dev/null @@ -1,193 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT - -#include "qcom-ipq4029-aruba-glenmorangie.dtsi" -#include - -/ { - model = "Aruba AP-365"; - compatible = "aruba,ap-365"; - - aliases { - led-boot = &led_system_green; - led-failsafe = &led_system_red; - led-running = &led_system_green; - led-upgrade = &led_system_red; - }; - - leds { - compatible = "gpio-leds"; - - led_system_red: system_red { - label = "ap-365:red:system"; - gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; - }; - - led_system_green: system_green { - label = "ap-365:green:system"; - gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; - }; - - system_amber { - label = "ap-365:amber:system"; - gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; - }; - }; - - watchdog { - compatible = "linux,wdt-gpio"; - gpios = <&tlmm 41 GPIO_ACTIVE_LOW>; - hw_algo = "toggle"; - hw_margin_ms = <1000>; - always-running; - }; -}; - -&tlmm { - /* - * In addition to the Pins listed below, - * the following GPIOs have "features": - * 39 - out - pulse low to reset watchdog status flipflop - * 40 - out - active high to enable watchdog - * 41 - out - watchdog poke - * 42 - out - active low to reset BLE radio - * 43 - out - active low to reset TPM - * 47 - out - pulse low to reset warm reset status - * 54 - out - active low to force HW reset - * 18 - in - PHY interrupt line - * 45 - in - power monitor interrupt - * 48 - in - active low when cold reset - * 52 - in - active high when watchdog reset - */ - - phy-reset { - line-name = "PHY-reset"; - gpios = <42 GPIO_ACTIVE_HIGH>; - gpio-hog; - output-high; - }; -}; - -&i2c_0 { - power-monitor at 40 { - /* No driver */ - compatible = "isl,isl28022"; - reg = <0x40>; - }; - - temperature-sensor at 48 { - compatible = "adi,ad7416"; - reg = <0x48>; - }; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; - - flash at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - /* - * There is no partition map for the NOR flash - * in the stock firmware. - * - * All partitions here are based on offsets - * found in the U-Boot GPL code and information - * from smem. - */ - - partition at 0 { - label = "sbl1"; - reg = <0x0 0x40000>; - read-only; - }; - - partition at 40000 { - label = "mibib"; - reg = <0x40000 0x20000>; - read-only; - }; - - partition at 60000 { - label = "qsee"; - reg = <0x60000 0x60000>; - read-only; - }; - - partition at c0000 { - label = "cdt"; - reg = <0xc0000 0x10000>; - read-only; - }; - - partition at d0000 { - label = "ddrparams"; - reg = <0xd0000 0x10000>; - read-only; - }; - - partition at e0000 { - label = "u-boot-env"; - reg = <0xe0000 0x10000>; - read-only; - }; - - partition at f0000 { - label = "appsbl"; - reg = <0xf0000 0x100000>; - read-only; - }; - - partition at 1f0000 { - label = "ART"; - reg = <0x1f0000 0x10000>; - read-only; - }; - - partition at 200000 { - label = "osss"; - reg = <0x200000 0x170000>; - read-only; - }; - - partition at 370000 { - label = "pds"; - reg = <0x370000 0x10000>; - read-only; - }; - - partition at 380000 { - label = "apcd"; - reg = <0x380000 0x10000>; - read-only; - }; - - partition at 390000 { - label = "mfginfo"; - reg = <0x390000 0x10000>; - read-only; - }; - - partition at 3a0000 { - label = "fcache"; - reg = <0x3a0000 0x10000>; - read-only; - }; - - partition at 3b0000 { - label = "osss1"; - reg = <0x3b0000 0x50000>; - read-only; - }; - }; - }; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi deleted file mode 100644 index 4d1d82a272..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi +++ /dev/null @@ -1,249 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 OR MIT - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - - /delete-node/ ethernet-phy at 0; - /delete-node/ ethernet-phy at 2; - /delete-node/ ethernet-phy at 3; - /delete-node/ ethernet-phy at 4; - - ethernet-phy at 5 { - reg = <0x5>; - }; - }; - - counter at 4a1000 { - compatible = "qcom,qca-gcnt"; - reg = <0x4a1000 0x4>; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - switch_mac_mode = <0x3>; /* mac mode for RGMII RMII */ - switch_lan_bmp = <0x0>; /* lan port bitmap */ - switch_wan_bmp = <0x10>; /* wan port bitmap */ - }; - - edma at c080000 { - qcom,single-phy; - qcom,num_gmac = <1>; - phy-mode = "rgmii-id"; - status = "okay"; - }; - - i2c_0: i2c at 78b7000 { - pinctrl-0 = <&i2c_0_pins>; - pinctrl-names = "default"; - status = "okay"; - - tpm at 29 { - /* No Driver */ - compatible = "atmel,at97sc3203"; - reg = <0x29>; - read-only; - }; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "Reset button"; - gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - /* Texas Instruments CC2540T BLE radio */ - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&blsp1_uart2 { - pinctrl-0 = <&serial_1_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - qcom,phy_mdio_addr = <5>; - qcom,poll_required = <1>; - vlan_tag = <0 0x20>; -}; - -&qpic_bam { - status = "okay"; -}; - -&tlmm { - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio6"; - function = "mdio"; - bias-pull-up; - }; - mux_2 { - pins = "gpio7"; - function = "mdc"; - bias-pull-up; - }; - }; - - nand_pins: nand_pins { - pullups { - pins = "gpio53", "gpio58", "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; - - spi_0_pins: spi_0_pinmux { - pin { - function = "blsp_spi0"; - pins = "gpio13", "gpio14", "gpio15"; - drive-strength = <12>; - bias-disable; - }; - pin_cs { - function = "gpio"; - pins = "gpio12"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; - - i2c_0_pins: i2c_0_pinmux { - mux { - pins = "gpio10", "gpio11"; - function = "blsp_i2c0"; - drive-strength = <4>; - bias-disable; - }; - }; - - serial_0_pins: serial_0_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - serial_1_pins: serial_1_pinmux { - mux { - pins = "gpio8", "gpio9"; - function = "blsp_uart1"; - bias-disable; - }; - }; -}; - -&nand { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - /* 'aos0' in Aruba firmware */ - label = "aos0"; - reg = <0x0 0x2000000>; - read-only; - }; - - partition at 2000000 { - /* 'aos1' in Aruba firmware */ - label = "ubi"; - reg = <0x2000000 0x2000000>; - }; - - partition at 4000000 { - label = "aruba-ubifs"; - reg = <0x4000000 0x4000000>; - read-only; - }; - }; - }; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "Aruba-AP-303"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "Aruba-AP-303"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts deleted file mode 100644 index b32eb29f8c..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts +++ /dev/null @@ -1,280 +0,0 @@ -/* Copyright (c) 2015, The Linux Foundation. All rights reserved. - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "GL.iNet GL-B1300"; - compatible = "glinet,gl-b1300"; - - aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; - }; - - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - }; - - ess-psgmii at 98000 { - status = "okay"; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 194b000 { - /* select hostmode */ - compatible = "qcom,tcsr"; - reg = <0x194b000 0x100>; - qcom,usb-hsphy-mode-select = ; - status = "okay"; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - usb2 at 60f8800 { - status = "okay"; - }; - - usb3 at 8af8800 { - status = "okay"; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - status = "okay"; - switch_lan_bmp = <0x18>; - switch_wan_bmp = <0x20>; - }; - - edma at c080000 { - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - wps { - label = "wps"; - gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - - reset { - label = "reset"; - gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - power: power { - label = "gl-b1300:green:power"; - gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; - default-state = "on"; - }; - - mesh { - label = "gl-b1300:green:mesh"; - gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; - }; - - wlan { - label = "gl-b1300:green:wlan"; - gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&blsp1_spi1 { - pinctrl-0 = <&spi_0_pins>; - pinctrl-names = "default"; - status = "okay"; - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; - - mx25l25635f at 0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <24000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - SBL1 at 0 { - label = "SBL1"; - reg = <0x0 0x40000>; - read-only; - }; - - MIBIB at 40000 { - label = "MIBIB"; - reg = <0x40000 0x20000>; - read-only; - }; - - QSEE at 60000 { - label = "QSEE"; - reg = <0x60000 0x60000>; - read-only; - }; - - CDT at c0000 { - label = "CDT"; - reg = <0xc0000 0x10000>; - read-only; - }; - - DDRPARAMS at d0000 { - label = "DDRPARAMS"; - reg = <0xd0000 0x10000>; - read-only; - }; - - APPSBLENV at e0000 { - label = "APPSBLENV"; - reg = <0xe0000 0x10000>; - read-only; - }; - - APPSBL at f0000 { - label = "APPSBL"; - reg = <0xf0000 0x80000>; - read-only; - }; - - ART at 170000 { - label = "ART"; - reg = <0x170000 0x10000>; - read-only; - }; - - firmware at 180000 { - compatible = "denx,fit"; - label = "firmware"; - reg = <0x180000 0x1e80000>; - }; - }; - }; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&tlmm { - serial_pins: serial_pinmux { - mux { - pins = "gpio60", "gpio61"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - spi_0_pins: spi_0_pinmux { - pinmux { - function = "blsp_spi0"; - pins = "gpio55", "gpio56", "gpio57"; - }; - pinmux_cs { - function = "gpio"; - pins = "gpio54"; - }; - pinconf { - pins = "gpio55", "gpio56", "gpio57"; - drive-strength = <12>; - bias-disable; - }; - pinconf_cs { - pins = "gpio54"; - drive-strength = <2>; - bias-disable; - output-high; - }; - }; -}; - -&usb2_hs_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb3_ss_phy { - status = "okay"; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "GL-B1300"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "GL-B1300"; -}; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-mr33.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-mr33.dts deleted file mode 100644 index 5003572420..0000000000 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-mr33.dts +++ /dev/null @@ -1,400 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Device Tree Source for Meraki MR33 (Stinkbug) - * - * Copyright (C) 2017 Chris Blake - * Copyright (C) 2017 Christian Lamparter - * - * Based on Cisco Meraki DTS from GPL release r25-linux-3.14-20170427 - * - * This file is licensed under the terms of the GNU General Public - * License version 2. This program is licensed "as is" without - * any warranty of any kind, whether express or implied. - */ - -#include "qcom-ipq4019.dtsi" -#include -#include -#include - -/ { - model = "Meraki MR33 Access Point"; - compatible = "meraki,mr33"; - - aliases { - led-boot = &status_green; - led-failsafe = &status_red; - led-running = &status_green; - led-upgrade = &power_orange; - }; - - /* Do we really need this defined? */ - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; - }; - - soc { - rng at 22000 { - status = "okay"; - }; - - mdio at 90000 { - status = "okay"; - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - }; - - /* It is a 56-bit counter that supplies the count to the ARM arch - timers and without upstream driver */ - counter at 4a1000 { - compatible = "qcom,qca-gcnt"; - reg = <0x4a1000 0x4>; - }; - - ess_tcsr at 1953000 { - compatible = "qcom,tcsr"; - reg = <0x1953000 0x1000>; - qcom,ess-interface-select = ; - }; - - tcsr at 1949000 { - compatible = "qcom,tcsr"; - reg = <0x1949000 0x100>; - qcom,wifi_glb_cfg = ; - }; - - tcsr at 1957000 { - compatible = "qcom,tcsr"; - reg = <0x1957000 0x100>; - qcom,wifi_noc_memtype_m0_m2 = ; - }; - - serial at 78b0000 { - pinctrl-0 = <&serial_1_pins>; - pinctrl-names = "default"; - status = "okay"; - - bluetooth { - compatible = "ti,cc2650"; - enable-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; - }; - }; - - crypto at 8e3a000 { - status = "okay"; - }; - - watchdog at b017000 { - status = "okay"; - }; - - ess-switch at c000000 { - switch_mac_mode = <0x3>; /* mac mode for RGMII RMII */ - switch_lan_bmp = <0x0>; /* lan port bitmap */ - switch_wan_bmp = <0x10>; /* wan port bitmap */ - }; - - edma at c080000 { - qcom,single-phy; - qcom,num_gmac = <1>; - phy-mode = "rgmii-rxid"; - status = "okay"; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - - leds { - compatible = "gpio-leds"; - - power_orange: power { - label = "mr33:orange:power"; - gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; - panic-indicator; - }; - }; -}; - -&blsp_dma { - status = "okay"; -}; - -&blsp1_uart1 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&cryptobam { - status = "okay"; -}; - -&gmac0 { - qcom,phy_mdio_addr = <1>; - qcom,poll_required = <1>; - vlan_tag = <0 0x20>; -}; - -&blsp1_i2c3 { - pinctrl-0 = <&i2c_0_pins>; - pinctrl-names = "default"; - status = "okay"; - at24 at 50 { - compatible = "atmel,24c64"; - pagesize = <32>; - reg = <0x50>; - read-only; /* This holds our MAC & Meraki board-data */ - }; -}; - -&blsp1_i2c4 { - pinctrl-0 = <&i2c_1_pins>; - pinctrl-names = "default"; - status = "okay"; - - led-controller at 30 { - compatible = "ti,lp5562"; - reg = <0x30>; - clock-mode = /bits/8 <2>; - enable-gpio = <&tlmm 48 GPIO_ACTIVE_HIGH>; - - /* RGB led */ - status_red: chan0 { - chan-name = "mr33:red:status"; - led-cur = /bits/ 8 <0x20>; - max-cur = /bits/ 8 <0x60>; - }; - - status_green: chan1 { - chan-name = "mr33:green:status"; - led-cur = /bits/ 8 <0x20>; - max-cur = /bits/ 8 <0x60>; - }; - - chan2 { - chan-name = "mr33:blue:status"; - led-cur = /bits/ 8 <0x20>; - max-cur = /bits/ 8 <0x60>; - }; - - chan3 { - chan-name = "mr33:white:status"; - led-cur = /bits/ 8 <0x20>; - max-cur = /bits/ 8 <0x60>; - }; - }; -}; - -&nand { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - - nand at 0 { - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "sbl1"; - reg = <0x00000000 0x00100000>; - read-only; - }; - partition at 100000 { - label = "mibib"; - reg = <0x00100000 0x00100000>; - read-only; - }; - partition at 200000 { - label = "bootconfig"; - reg = <0x00200000 0x00100000>; - read-only; - }; - partition at 300000 { - label = "qsee"; - reg = <0x00300000 0x00100000>; - read-only; - }; - partition at 400000 { - label = "qsee_alt"; - reg = <0x00400000 0x00100000>; - read-only; - }; - partition at 500000 { - label = "cdt"; - reg = <0x00500000 0x00080000>; - read-only; - }; - partition at 580000 { - label = "cdt_alt"; - reg = <0x00580000 0x00080000>; - read-only; - }; - partition at 600000 { - label = "ddrparams"; - reg = <0x00600000 0x00080000>; - read-only; - }; - partition at 700000 { - label = "u-boot"; - reg = <0x00700000 0x00200000>; - read-only; - }; - partition at 900000 { - label = "u-boot-backup"; - reg = <0x00900000 0x00200000>; - read-only; - }; - partition at b00000 { - label = "ART"; - reg = <0x00b00000 0x00080000>; - read-only; - }; - partition at c00000 { - label = "ubi"; - reg = <0x00c00000 0x07000000>; - /* - * Do not try to allocate the remaining - * 4 MiB to this ubi partition. It will - * confuse the u-boot and it might not - * find the kernel partition anymore. - */ - }; - }; - }; -}; - -&pcie0 { - status = "okay"; - perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; - wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; - - bridge at 0,0 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - ranges; - - wifi2: wifi at 1,0 { - compatible = "qcom,ath10k"; - status = "okay"; - reg = <0x00010000 0 0 0 0>; - }; - }; -}; - -&qpic_bam { - status = "okay"; -}; - -&tlmm { - /* - * GPIO43 should be 0/1 whenever the unit is - * powered through PoE or AC-Adapter. - * That said, playing with this seems to - * reset the AP. - */ - - mdio_pins: mdio_pinmux { - mux_1 { - pins = "gpio6"; - function = "mdio"; - bias-pull-up; - }; - mux_2 { - pins = "gpio7"; - function = "mdc"; - bias-pull-up; - }; - }; - - serial_0_pins: serial_pinmux { - mux { - pins = "gpio16", "gpio17"; - function = "blsp_uart0"; - bias-disable; - }; - }; - - serial_1_pins: serial1_pinmux { - mux { - /* We use the i2c-0 pins for serial_1 */ - pins = "gpio8", "gpio9"; - function = "blsp_uart1"; - bias-disable; - }; - }; - - i2c_0_pins: i2c_0_pinmux { - pinmux { - function = "blsp_i2c0"; - pins = "gpio20", "gpio21"; - }; - pinconf { - pins = "gpio20", "gpio21"; - drive-strength = <16>; - bias-disable; - }; - }; - - i2c_1_pins: i2c_1_pinmux { - pinmux { - function = "blsp_i2c1"; - pins = "gpio34", "gpio35"; - }; - pinconf { - pins = "gpio34", "gpio35"; - drive-strength = <16>; - bias-disable; - }; - }; - - nand_pins: nand_pins { - /* - * There are 18 pins. 15 pins are common between LCD and NAND. - * The QPIC controller arbitrates between LCD and NAND. Of the - * remaining 4, 2 are for NAND and 2 are for LCD exclusively. - * - * The meraki source hints that the bluetooth module claims - * pin 52 as well. But sadly, there's no data whenever this - * is a NAND or LCD exclusive pin or not. - */ - - pullups { - pins = "gpio52", "gpio53", "gpio58", - "gpio59"; - function = "qpic"; - bias-pull-up; - }; - - pulldowns { - pins = "gpio54", "gpio55", "gpio56", - "gpio57", "gpio60", "gpio61", - "gpio62", "gpio63", "gpio64", - "gpio65", "gpio66", "gpio67", - "gpio68", "gpio69"; - function = "qpic"; - bias-pull-down; - }; - }; -}; - -&wifi0 { - status = "okay"; - qcom,ath10k-calibration-variant = "Meraki-MR33"; -}; - -&wifi1 { - status = "okay"; - qcom,ath10k-calibration-variant = "Meraki-MR33"; -}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-emd1.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emd1.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-emd1.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emd1.dts diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-emr3500.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emr3500.dts similarity index 100% rename from target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4018-emr3500.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emr3500.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-mr33.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-mr33.dts similarity index 100% rename from target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-mr33.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-mr33.dts -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Thu Jun 18 05:43:59 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Thu, 18 Jun 2020 11:43:59 +0200 Subject: [OpenWrt-Devel] [PATCH 2/2] mvebu: consolidate DTS files In-Reply-To: <20200618094359.1651-1-freifunk@adrianschmutzler.de> References: <20200618094359.1651-1-freifunk@adrianschmutzler.de> Message-ID: <20200618094359.1651-2-freifunk@adrianschmutzler.de> The DTS files in files-4.19 and files-5.4 are exactly identical except for one file (armada-3720-uDPU.dts), which is only present for 4.19, as it has been upstreamed before 5.4. Since there is no point in maintaining all these identical files twice, this patch moves them to the "files" directory, only keeping the named exception to files-4.19. Signed-off-by: Adrian Schmutzler --- .../boot/dts/armada-370-buffalo-ls421de.dts | 360 ------------------ .../arm/boot/dts/armada-385-linksys-venom.dts | 213 ----------- .../marvell/armada-3720-espressobin-emmc.dts | 28 -- .../armada-3720-espressobin-v7-emmc.dts | 43 --- .../marvell/armada-3720-espressobin-v7.dts | 31 -- .../dts/marvell/armada-3720-gl-mv1000.dts | 162 -------- .../boot/dts/armada-370-buffalo-ls421de.dts | 0 .../arm/boot/dts/armada-385-linksys-venom.dts | 0 .../marvell/armada-3720-espressobin-emmc.dts | 0 .../armada-3720-espressobin-v7-emmc.dts | 0 .../marvell/armada-3720-espressobin-v7.dts | 0 .../dts/marvell/armada-3720-gl-mv1000.dts | 0 12 files changed, 837 deletions(-) delete mode 100644 target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts delete mode 100644 target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-385-linksys-venom.dts delete mode 100644 target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts delete mode 100644 target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts delete mode 100644 target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts delete mode 100644 target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts rename target/linux/mvebu/{files-4.19 => files}/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts (100%) rename target/linux/mvebu/{files-4.19 => files}/arch/arm/boot/dts/armada-385-linksys-venom.dts (100%) rename target/linux/mvebu/{files-4.19 => files}/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts (100%) rename target/linux/mvebu/{files-4.19 => files}/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts (100%) rename target/linux/mvebu/{files-4.19 => files}/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts (100%) rename target/linux/mvebu/{files-4.19 => files}/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts (100%) diff --git a/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts b/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts deleted file mode 100644 index 6b8a964ab3..0000000000 --- a/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts +++ /dev/null @@ -1,360 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Device Tree file for Buffalo LinkStation LS421DE - * - * Copyright (C) 2020 Daniel Gonz?lez Cabanelas - */ - -/dts-v1/; - -#include "armada-370.dtsi" -#include "mvebu-linkstation-fan.dtsi" -#include -#include - -/ { - model = "Buffalo LinkStation LS421DE"; - compatible = "buffalo,ls421de", "marvell,armada370", "marvell,armada-370-xp"; - - aliases { - led-boot = &led_boot; - led-failsafe = &led_failsafe; - led-running = &led_power; - led-upgrade = &led_upgrade; - }; - - chosen { - bootargs = "console=ttyS0,115200 earlyprintk noinitrd rootfstype=squashfs"; - stdout-path = "serial0:115200n8"; - append-rootblock = "nullparameter="; /* override the bootloader args */ - }; - - memory { - device_type = "memory"; - reg = <0x00000000 0x20000000>; /* 512 MB */ - }; - - soc { - ranges = ; - }; - - gpio_fan { - gpios = <&gpio0 13 GPIO_ACTIVE_HIGH - &gpio0 14 GPIO_ACTIVE_HIGH>; - alarm-gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>; - }; - - gpio_keys { - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; - pinctrl-0 = <&pmx_hdd_present &pmx_buttons>; - pinctrl-names = "default"; - - hdd1-present { - label = "HDD1 Present"; - linux,code = ; - gpios = <&gpio0 11 GPIO_ACTIVE_LOW>; - }; - - hdd2-present { - label = "HDD2 Present"; - linux,code = ; - gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; - - }; - - power { - label = "Power Switch"; - linux,code = ; - linux,input-type = ; - gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; - }; - - function { - label = "Function Button"; - linux,code = ; - gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; - }; - }; - - gpio_leds { - compatible = "gpio-leds"; - pinctrl-names = "default"; - pinctrl-0 = <&pmx_leds1 &pmx_leds2>; - - system_red { - label = "ls421de:red:system"; - gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; - }; - - led_power: power_white { - label = "ls421de:white:power"; - gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; - default-state = "on"; - }; - - led_failsafe: power_red { - label = "ls421de:red:power"; - gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; - }; - - led_upgrade: power_orange { - label = "ls421de:orange:power"; - gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>; - }; - - led_boot: system_white { - label = "ls421de:white:system"; - gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>; - }; - - hdd1_red { - label = "ls421de:red:hdd1"; - gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>; - default-state = "off"; - linux,default-trigger = "disk-activity"; - }; - - hdd2_red { - label = "ls421de:red:hdd2"; - gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; - default-state = "off"; - linux,default-trigger = "disk-activity"; - }; - }; - - regulators { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <0>; - pinctrl-0 = <&pmx_power_usb &pmx_power_hdd1 &pmx_power_hdd2>; - - pinctrl-names = "default"; - - usb_v5_regulator: usb-v5-regulator { - compatible = "regulator-fixed"; - regulator-name = "USB"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - enable-active-high; - regulator-always-on; - regulator-boot-on; - gpio = <&gpio0 5 GPIO_ACTIVE_HIGH>; - }; - - ata1_regulator: ata1-regulator { - compatible = "regulator-fixed"; - reg = <1>; - regulator-name = "HDD1"; - regulator-min-microvolt = <12000000>; - regulator-max-microvolt = <12000000>; - startup-delay-us = <2000000>; - enable-active-high; - regulator-always-on; - regulator-boot-on; - gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>; - }; - - ata2_regulator: ata2-regulator { - compatible = "regulator-fixed"; - reg = <2>; - regulator-name = "HDD2"; - regulator-min-microvolt = <12000000>; - regulator-max-microvolt = <12000000>; - startup-delay-us = <4000000>; - enable-active-high; - regulator-always-on; - regulator-boot-on; - gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>; - }; - }; - - /* FIXME: this driver needs to be aware of the LED2 eth phy use, - which must be set to off state before shutting down the machine */ - restart_poweroff { - compatible = "restart-poweroff"; - }; -}; - -ð1 { - pinctrl-0 = <&ge1_rgmii_pins>; - pinctrl-names = "default"; - status = "okay"; - phy = <&phy0>; - phy-mode = "rgmii-id"; -}; - -&i2c0 { - clock-frequency = <100000>; - status = "okay"; - - rs5c372a: rs5c372a at 32 { - compatible = "ricoh,rs5c372a"; - reg = <0x32>; - }; -}; - -&mdio { - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - - phy0: ethernet-phy at 0 { /* Marvell 88E1518 */ - reg = <0>; - /* LED2 is used to inform uBoot if the power-switch was slided - to the "off" position, and then power off the machine. - Page 0x3, Register 0x10, bit 8: - 0x800: LED2 off, power off the machine - 0x900: LED2 on, boot the machine */ - marvell,reg-init = <0x3 0x10 0x1 0x1991>, /* LED Function */ - <0x3 0x11 0x1 0x4401>, /* LED polarity */ - <0x3 0x12 0x1 0x4905>; /* LED Timer */ - }; -}; - -&pciec { - status = "okay"; - /* Connected to uPD720202 USB 3.0 Host */ - pcie at 1,0 { - status = "okay"; - }; -}; - -&pmsu { - pinctrl-0 = <&pmx_power_cpu>; - pinctrl-names = "default"; -}; - -&rtc { - status = "disabled"; -}; - -&sata { - nr-ports = <2>; - status = "okay"; -}; - -&sdio { - pinctrl-0 = <&sdio_pins2>; - pinctrl-names = "default"; - status = "okay"; - /* No CD or WP GPIOs */ - broken-cd; -}; - -&uart0 { - status = "okay"; -}; - -&usb0 { - status = "okay"; -}; - -&nand_controller { - status = "okay"; - - nand at 0 { - reg = <0>; - label = "pxa3xx_nand-0"; - nand-rb = <0>; - marvell,nand-keep-config; - nand-on-flash-bbt; - nand-ecc-strength = <4>; - nand-ecc-step-size = <512>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "kernel"; - reg = <0x00000000 0x02000000>; /* 32 MiB */ - }; - - partition at 2000000 { - label = "ubi"; - reg = <0x02000000 0x1e000000>; /* 480 MiB */ - }; - }; - }; -}; - -&spi0 { - status = "okay"; - pinctrl-0 = <&spi0_pins2>; - pinctrl-names = "default"; - - spi-flash at 0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "mxicy,mx25l8005", "jedec,spi-nor"; - reg = <0>; /* Chip select 0 */ - spi-max-frequency = <50000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - reg = <0x00000 0xf0000>; /* 960 KiB*/ - label = "u-boot"; - read-only; - }; - partition at f0000 { - reg = <0xf0000 0x10000>; /* 64 KiB */ - label = "u-boot-env"; - }; - }; - }; -}; - -&pinctrl { - pmx_power_cpu: pmx-power-cpu { - marvell,pins = "mpp4"; - marvell,function = "vdd"; - }; - pmx_power_usb: pmx-power-usb { - marvell,pins = "mpp5"; - marvell,function = "gpo"; - }; - pmx_power_hdd1: pmx-power-hdd1 { - marvell,pins = "mpp8"; - marvell,function = "gpio"; - }; - pmx_power_hdd2: pmx-power-hdd2 { - marvell,pins = "mpp9"; - marvell,function = "gpo"; - }; - pmx_fan_lock: pmx-fan-lock { - marvell,pins = "mpp10"; - marvell,function = "gpio"; - }; - pmx_hdd_present: pmx-hdd-present { - marvell,pins = "mpp11", "mpp12"; - marvell,function = "gpio"; - }; - pmx_fan_high: pmx-fan-high { - marvell,pins = "mpp13"; - marvell,function = "gpio"; - }; - pmx_fan_low: pmx-fan-low { - marvell,pins = "mpp14"; - marvell,function = "gpio"; - }; - pmx_buttons: pmx-buttons { - marvell,pins = "mpp15", "mpp16"; - marvell,function = "gpio"; - }; - pmx_leds1: pmx-leds { - marvell,pins = "mpp7", "mpp54", "mpp59", "mpp61"; - marvell,function = "gpo"; - }; - pmx_leds2: pmx-leds { - marvell,pins = "mpp55", "mpp57", "mpp62"; - marvell,function = "gpio"; - }; -}; diff --git a/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-385-linksys-venom.dts b/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-385-linksys-venom.dts deleted file mode 100644 index de81600a80..0000000000 --- a/target/linux/mvebu/files-5.4/arch/arm/boot/dts/armada-385-linksys-venom.dts +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Device Tree file for the Linksys WRT32X (Venom) - * - * Copyright (C) 2017 Imre Kaloz - * - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - * a) This file is licensed under the terms of the GNU General Public - * License version 2. This program is licensed "as is" without - * any warranty of any kind, whether express or implied. - * - * Or, alternatively, - * - * b) Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ - -/dts-v1/; -#include -#include -#include "armada-385-linksys.dtsi" - -/ { - model = "Linksys WRT32X"; - compatible = "linksys,wrt32x", "linksys,venom", "linksys,armada385", - "marvell,armada385", "marvell,armada380"; - - chosen { - bootargs = "console=ttyS0,115200"; - stdout-path = "serial0:115200n8"; - append-rootblock = "root=/dev/mtdblock"; - }; -}; - -&expander0 { - wan_amber at 0 { - label = "venom:amber:wan"; - reg = <0x0>; - }; - - wan_blue at 1 { - label = "venom:blue:wan"; - reg = <0x1>; - }; - - usb2 at 5 { - label = "venom:blue:usb2"; - reg = <0x5>; - }; - - usb3_1 at 6 { - label = "venom:blue:usb3_1"; - reg = <0x6>; - }; - - usb3_2 at 7 { - label = "venom:blue:usb3_2"; - reg = <0x7>; - }; - - wps_blue at 8 { - label = "venom:blue:wps"; - reg = <0x8>; - }; - - wps_amber at 9 { - label = "venom:amber:wps"; - reg = <0x9>; - }; -}; - -&gpio_leds { - power { - gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; - label = "venom:blue:power"; - }; - - sata { - gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; - label = "venom:blue:sata"; - }; - - wlan_2g { - gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; - label = "venom:blue:wlan_2g"; - }; - - wlan_5g { - gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; - label = "venom:blue:wlan_5g"; - }; -}; - -&gpio_leds_pins { - marvell,pins = "mpp21", "mpp45", "mpp46", "mpp56"; -}; - -&nand { - /* Spansion S34ML02G2 256MiB, OEM Layout */ - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "u-boot"; - reg = <0x0000000 0x200000>; /* 2MB */ - read-only; - }; - - partition at 200000 { - label = "u_env"; - reg = <0x200000 0x20000>; /* 128KB */ - }; - - partition at 220000 { - label = "s_env"; - reg = <0x220000 0x40000>; /* 256KB */ - }; - - partition at 180000 { - label = "unused_area"; - reg = <0x260000 0x5c0000>; /* 5.75MB */ - }; - - partition at 7e0000 { - label = "devinfo"; - reg = <0x7e0000 0x40000>; /* 256KB */ - read-only; - }; - - /* kernel1 overlaps with rootfs1 by design */ - partition at 900000 { - label = "kernel1"; - reg = <0x900000 0x7b00000>; /* 123MB */ - }; - - partition at c00000 { - label = "rootfs1"; - reg = <0xc00000 0x7800000>; /* 120MB */ - }; - - /* kernel2 overlaps with rootfs2 by design */ - partition at 8400000 { - label = "kernel2"; - reg = <0x8400000 0x7b00000>; /* 123MB */ - }; - - partition at 8700000 { - label = "rootfs2"; - reg = <0x8700000 0x7800000>; /* 120MB */ - }; - - /* last MB is for the BBT, not writable */ - partition at ff00000 { - label = "BBT"; - reg = <0xff00000 0x100000>; - }; - }; -}; - - -&pcie1 { - mwlwifi { - marvell,chainmask = <4 4>; - }; -}; - -&pcie2 { - mwlwifi { - marvell,chainmask = <4 4>; - }; -}; - -&sdhci { - pinctrl-names = "default"; - pinctrl-0 = <&sdhci_pins>; - no-1-8-v; - non-removable; - wp-inverted; - bus-width = <8>; - status = "okay"; -}; - -&usb3_1_vbus { - gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; -}; - -&usb3_1_vbus_pins { - marvell,pins = "mpp44"; -}; diff --git a/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts b/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts deleted file mode 100644 index ef90a1bd38..0000000000 --- a/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts +++ /dev/null @@ -1,28 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Device Tree file for Globalscale Marvell ESPRESSOBin Board with eMMC - * Copyright (C) 2018 Marvell - * - * Romain Perier - * Konstantin Porotchkin - * - */ - -#include "armada-3720-espressobin.dts" - -/ { - model = "Globalscale Marvell ESPRESSOBin Board (eMMC)"; - compatible = "globalscale,espressobin-emmc", "globalscale,espressobin", - "marvell,armada3720", "marvell,armada3710"; -}; - -&sdhci0 { - status = "okay"; - - #address-cells = <1>; - #size-cells = <0>; - mmccard: mmccard at 0 { - compatible = "mmc-card"; - reg = <0>; - }; -}; diff --git a/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts b/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts deleted file mode 100644 index 2b565ca8d8..0000000000 --- a/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts +++ /dev/null @@ -1,43 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Device Tree file for Globalscale Marvell ESPRESSOBin Board V7 with eMMC - * Copyright (C) 2018 Marvell - * - * Romain Perier - * Konstantin Porotchkin - * - */ - -#include "armada-3720-espressobin.dts" - -/ { - model = "Globalscale Marvell ESPRESSOBin Board V7 (eMMC)"; - compatible = "globalscale,espressobin-v7-emmc", "globalscale,espressobin-v7", - "globalscale,espressobin", "marvell,armada3720", - "marvell,armada3710"; -}; - -&ports { - port at 1 { - reg = <1>; - label = "lan1"; - phy-handle = <&switch0phy0>; - }; - - port at 3 { - reg = <3>; - label = "wan"; - phy-handle = <&switch0phy2>; - }; -}; - -&sdhci0 { - status = "okay"; - - #address-cells = <1>; - #size-cells = <0>; - mmccard: mmccard at 0 { - compatible = "mmc-card"; - reg = <0>; - }; -}; diff --git a/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts b/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts deleted file mode 100644 index 8a408c3c48..0000000000 --- a/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * Device Tree file for Globalscale Marvell ESPRESSOBin Board V7 - * Copyright (C) 2018 Marvell - * - * Romain Perier - * Konstantin Porotchkin - * - */ - -#include "armada-3720-espressobin.dts" - -/ { - model = "Globalscale Marvell ESPRESSOBin Board V7"; - compatible = "globalscale,espressobin-v7", "globalscale,espressobin", - "marvell,armada3720", "marvell,armada3710"; -}; - -&ports { - port at 1 { - reg = <1>; - label = "lan1"; - phy-handle = <&switch0phy0>; - }; - - port at 3 { - reg = <3>; - label = "wan"; - phy-handle = <&switch0phy2>; - }; -}; diff --git a/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts b/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts deleted file mode 100644 index d1a966f4f8..0000000000 --- a/target/linux/mvebu/files-5.4/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts +++ /dev/null @@ -1,162 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) - -/dts-v1/; -#include -#include "armada-372x.dtsi" - -/ { - model = "GL.iNet GL-MV1000"; - compatible = "glinet,gl-mv1000", "marvell,armada3720"; - - chosen { - stdout-path = "serial0:115200n8"; - }; - - memory at 0 { - device_type = "memory"; - reg = <0x00000000 0x00000000 0x00000000 0x20000000>; - }; - - vcc_sd_reg1: regulator { - compatible = "regulator-gpio"; - regulator-name = "vcc_sd1"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - - gpios-states = <0>; - states = <1800000 0x1 - 3300000 0x0>; - enable-active-high; - }; -}; - -&spi0 { - status = "okay"; - - flash at 0 { - reg = <0>; - compatible = "jedec,spi-nor"; - spi-max-frequency = <104000000>; - m25p,fast-read; - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition at 0 { - label = "u-boot"; - reg = <0 0xf0000>; - }; - - partition at f0000 { - label = "u-boot-env"; - reg = <0Xf0000 0x8000>; - }; - - factory: partition at f8000 { - label = "factory"; - reg = <0xf8000 0x8000>; - }; - }; - }; -}; - -&sdhci1 { - wp-inverted; - bus-width = <4>; - cd-gpios = <&gpionb 17 GPIO_ACTIVE_LOW>; - marvell,pad-type = "sd"; - no-1-8-v; - vqmmc-supply = <&vcc_sd_reg1>; - status = "okay"; -}; - -&sdhci0 { - bus-width = <8>; - mmc-ddr-1_8v; - mmc-hs400-1_8v; - non-removable; - no-sd; - no-sdio; - marvell,pad-type = "fixed-1-8v"; - status = "okay"; -}; - -&usb3 { - status = "okay"; -}; - -&usb2 { - status = "okay"; -}; - -&uart0 { - status = "okay"; -}; - -&mdio { - switch0: switch0 at 1 { - compatible = "marvell,mv88e6085"; - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - - dsa,member = <0 0>; - - ports: ports { - #address-cells = <1>; - #size-cells = <0>; - - port at 0 { - reg = <0>; - label = "cpu"; - ethernet = <ð0>; - }; - - port at 1 { - reg = <1>; - label = "wan"; - phy-handle = <&switch0phy0>; - }; - - port at 2 { - reg = <2>; - label = "lan0"; - phy-handle = <&switch0phy1>; - }; - - port at 3 { - reg = <3>; - label = "lan1"; - phy-handle = <&switch0phy2>; - }; - }; - - mdio { - #address-cells = <1>; - #size-cells = <0>; - - switch0phy0: switch0phy0 at 11 { - reg = <0x11>; - }; - switch0phy1: switch0phy1 at 12 { - reg = <0x12>; - }; - switch0phy2: switch0phy2 at 13 { - reg = <0x13>; - }; - }; - }; -}; - -ð0 { - mtd-mac-address = <&factory 0x0>; - phy-mode = "rgmii-id"; - status = "okay"; - - fixed-link { - speed = <1000>; - full-duplex; - }; -}; diff --git a/target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts b/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts similarity index 100% rename from target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts rename to target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts diff --git a/target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-385-linksys-venom.dts b/target/linux/mvebu/files/arch/arm/boot/dts/armada-385-linksys-venom.dts similarity index 100% rename from target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-385-linksys-venom.dts rename to target/linux/mvebu/files/arch/arm/boot/dts/armada-385-linksys-venom.dts diff --git a/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts similarity index 100% rename from target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts rename to target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts diff --git a/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts similarity index 100% rename from target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts rename to target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts diff --git a/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts similarity index 100% rename from target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts rename to target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts diff --git a/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts similarity index 100% rename from target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts rename to target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Thu Jun 18 05:48:58 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Thu, 18 Jun 2020 11:48:58 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: fritz7312: set maximum speed to 100 mbit on 5.4 Message-ID: <20200618094858.1929-1-freifunk@adrianschmutzler.de> The fritz 7312 does not support 1000 gbit. Advertising it makes it worse. Some NIC will change to 1000 gibt and turn off and on again for ever. The previous patch in 36f628910b8b was only applied to the 4.19 file. Cc: Alexander Couzens Signed-off-by: Adrian Schmutzler --- .../files-5.4/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts b/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts index aa825abd9f..0f635127f8 100644 --- a/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts +++ b/target/linux/lantiq/files-5.4/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts @@ -108,6 +108,7 @@ phy0: ethernet-phy at 0 { reg = <0>; reset-gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + max-speed = <100>; }; }; }; -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From josef.schlehofer at nic.cz Thu Jun 18 08:59:53 2020 From: josef.schlehofer at nic.cz (Josef Schlehofer) Date: Thu, 18 Jun 2020 14:59:53 +0200 Subject: [OpenWrt-Devel] [PATCH v2 0/3] build: Avoid 'Argument list too long' error In-Reply-To: <20200220212904.2444-1-cotequeiroz@gmail.com> References: <20200220212904.2444-1-cotequeiroz@gmail.com> Message-ID: Hello, Thank you for your patches, Eneas! We (for Turris routers) experienced the same that you are describing once we did an update on build servers from Debian Stretch to Debian Buster. It is present also for OpenWrt 19.07, where we were able to see it first because currently OpenWrt master we are not able to compile because hostapd fails. More about it?https://lists.infradead.org/pipermail/openwrt-devel/2020-June/023976.html So all these tested patches were tested and feel free to add my: Tested-by: Josef Schlehofer ? Regards, Josef On 20. 02. 20 22:29, Eneas U de Queiroz wrote: > TLDR for those who have read v1: I've come up with a good-enough, but > not perfect wildcard pattern, and added it in a separate commit. > > After building all of the luci packages with all of the translations, > if I either run: > 'make package/luci/clean' or 'make package/luci/compile', I get: > make[2]: execvp: /usr/bin/env: Argument list too long > make[2]: *** [../../luci.mk:285: luci-clean] Error 127 > > This is caused by the call to scripts/ipkg-remove with a list of over > 2,300 packages matching a luci* wildcard: > $ ll bin/packages/arm_cortex-a9_vfpv3/luci/luci*.ipk | wc -l > 2307 > > My first attempt to circumvent this was using xargs. However, using > echo from the Makefile results in make calling the shell with the same > 2,307 file names. The solution is to have make write the list to a file > and then feed it to xargs. > > To avoid creating a file every time, xargs is only used when the number > of files is >=512. > > As an optimization, to avoid calling wildcard twice, I've defined a > RemoveOpkgPackageFiles function, and added the check for an empty list > there, so that the call to opkg_package_files would only be done when > the new function was called. > > I've put them in separate commits to ease an eventual reversal or > rejection. > > If we change the wildcard pattern that selects the files, we can > eliminate the problems with xargs, and avoid 4,612 runs of 'tar -Ozxf' > when making package/luci/compile. > > There is a caveat; it will not remove the .ipk file if the version of > a package whose name ends in a digit (e.g. nghttp2) that was currently > built with an ABI_VERSION, but the version of the new build does not > have an ABI_VERSION. Then, make package/nghttp2/clean will not remove > the old ipk file. > > I consider this extremely minor. Nonetheless, I will leave the > intermediate commit, since it works in 100% of the cases, making it > easier to revert this. If I should rather squash them, let me know > which commits should be kept and I'll send a v3. > > This was compile-tested for mvebu, and checked by adding $(info ...) > tracers to the new functions and to opkg_package_files in > include/feeds.mk. > > To check how many ipk files each package was selecting with the new > wildcard, I've run the following script in a directory containing all > packages that I've build for mvebu: > > #!/bin/bash > total=0 > packages=0 > for f in *.ipk; do > PKG=$(tar -Ozxf "$f" ./control.tar.gz | tar -Ozxf - ./control \ > | sed -ne '/^Package:/{s,.*: ,,; p}') > SRC=$(tar -Ozxf "$f" ./control.tar.gz | tar -Ozxf - ./control \ > | sed -ne '/^SourceName:/{s,.*: ,,; p}') > if [ "${SRC}" = "${PKG}" ]; then > files="${PKG}[^a-z-]*_*.ipk" > else > case "${SRC}" in > *[0-9] ) > files="${SRC}*_*.ipk" > ;; > * ) > files="${SRC}[^a-z-]*_*.ipk" > esac > fi > n=$(echo ${files} | wc -w) > if [ "$n" -ne 1 ]; then > echo pkg=${SRC} - n=${n} > ls -1 ${files} > fi > ((total = total + n)) > ((packages++)) > done > echo Total Packages=${packages}. Total lookups=${total} > > If you want to see the old wildcard, always use `files=${SRC}*_*.ipk`. > > Before the change: > Total Packages=8213. Total lookups=16689 > After: > Total Packages=8213. Total lookups=8838 > > ChangeLog: > > v1->v2: > * Renamed the new functions using lowercase and underscores > * Used '< file' instead of 'cat file |' to pass the files to xargs > * Added a commit changing the wildcard pattern, reverting the use of > xargs. > > Eneas U de Queiroz (3): > build: package-ipkg: avoid calling wildcard twice > build: call ipkg-remove using xargs if #args>=512 > build: reduce number of files passed to ipk-remove > > include/package-ipkg.mk | 17 +++++++++++++++-- > 1 file changed, 15 insertions(+), 2 deletions(-) > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Thu Jun 18 09:15:18 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Thu, 18 Jun 2020 14:15:18 +0100 Subject: [OpenWrt-Devel] [RFC PATCH] mvebu: compile the kernel in Thumb-2 mode for ARMv7 targets In-Reply-To: <20200617173510.124628-1-rsalvaterra@gmail.com> References: <20200617173510.124628-1-rsalvaterra@gmail.com> Message-ID: Please ignore this one, I'll send an updated patch shortly (only for 5.4, which I've tested). On Wed, 17 Jun 2020 at 18:37, Rui Salvaterra wrote: > > (Sending as RFC due to the note below.) > > The Thumb-2 instruction set generates denser code, allowing for more efficient > use of the cache and consequently higher execution performance. > > NOTE: This requires enabling a linker workaround to avoid the emission of > R_ARM_THM_JUMP11 relocations [1] in modules, which the kernel doesn't support. > Since this effectively implies -fno-optimize-sibling-calls [2], we're generating > suboptimal code. While compat modules load and run correctly without this > workaround, WireGuard fails to load with an unknown relocation 102 error. > > [1] https://static.docs.arm.com/ihi0044/e/IHI0044E_aaelf.pdf (page 28) > [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm/Makefile?h=linux-5.4.y#n129 > > Signed-off-by: Rui Salvaterra > --- > target/linux/mvebu/cortexa9/config-default | 2 ++ > 1 file changed, 2 insertions(+) > create mode 100644 target/linux/mvebu/cortexa9/config-default > > diff --git a/target/linux/mvebu/cortexa9/config-default b/target/linux/mvebu/cortexa9/config-default > new file mode 100644 > index 0000000000..6aff77fda7 > --- /dev/null > +++ b/target/linux/mvebu/cortexa9/config-default > @@ -0,0 +1,2 @@ > +CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y > +CONFIG_THUMB2_KERNEL=y > -- > 2.27.0 > _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Thu Jun 18 09:16:47 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Thu, 18 Jun 2020 14:16:47 +0100 Subject: [OpenWrt-Devel] [RFC PATCH v2] mvebu: compile the kernel in Thumb-2 mode for ARMv7 targets Message-ID: <20200618131644.3781-1-rsalvaterra@gmail.com> (Sending as RFC due to the note below.) The Thumb-2 instruction set generates denser code, allowing for more efficient use of the cache and consequently higher execution performance. Vmlinux (uncompressed) size comparison for my personal configuration (Linux 5.4.46, compiled with gcc 9.3.0 and binutils 2.34): Pure ARM: 24243392 bytes Thumb-2: 22102716 bytes NOTE: This requires enabling a linker bug workaround to avoid the emission of R_ARM_THM_JUMP11 relocations [1] in modules, which the kernel doesn't support. Since this effectively implies -fno-optimize-sibling-calls [2], we're generating suboptimal code. While compat (and in-tree) modules load and run correctly without this workaround, WireGuard fails to load with an unknown relocation 102 error. [1] https://static.docs.arm.com/ihi0044/e/IHI0044E_aaelf.pdf (page 28) [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm/Makefile?h=linux-5.4.y#n129 Signed-off-by: Rui Salvaterra --- target/linux/mvebu/cortexa9/config-5.4 | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 target/linux/mvebu/cortexa9/config-5.4 diff --git a/target/linux/mvebu/cortexa9/config-5.4 b/target/linux/mvebu/cortexa9/config-5.4 new file mode 100644 index 0000000000..6aff77fda7 --- /dev/null +++ b/target/linux/mvebu/cortexa9/config-5.4 @@ -0,0 +1,2 @@ +CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y +CONFIG_THUMB2_KERNEL=y -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From zajec5 at gmail.com Thu Jun 18 09:25:18 2020 From: zajec5 at gmail.com (=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?=) Date: Thu, 18 Jun 2020 15:25:18 +0200 Subject: [OpenWrt-Devel] [PATCH luci] luci-mod-system: use ubus method for reboot Message-ID: <20200618132518.26000-1-zajec5@gmail.com> From: Rafa? Mi?ecki It's more generic & convenient than hardcoding /sbin/reboot executable path. procd provides "reboot" method since 2016. Signed-off-by: Rafa? Mi?ecki --- .../luci-static/resources/view/system/reboot.js | 13 ++++++++++--- .../root/usr/share/rpcd/acl.d/luci-mod-system.json | 3 ++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js index 3b9f450fc..249247bab 100644 --- a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js +++ b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js @@ -1,9 +1,16 @@ 'use strict'; 'require view'; 'require fs'; +'require rpc'; 'require ui'; 'require uci'; +var callReboot = rpc.declare({ + object: 'system', + method: 'reboot', + expect: { result: 0 } +}); + return view.extend({ load: function() { return uci.changes(); @@ -31,9 +38,9 @@ return view.extend({ }, handleReboot: function(ev) { - return fs.exec('/sbin/reboot').then(function(res) { - if (res.code != 0) { - L.ui.addNotification(null, E('p', _('The reboot command failed with code %d').format(res.code))); + return callReboot().then(function(res) { + if (res != 0) { + L.ui.addNotification(null, E('p', _('The reboot command failed with code %d').format(res))); L.raise('Error', 'Reboot failed'); } diff --git a/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json b/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json index b29ddb8f4..38ff98dee 100644 --- a/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json +++ b/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json @@ -160,7 +160,8 @@ "/sbin/reboot": [ "exec" ] }, "ubus": { - "file": [ "exec" ] + "file": [ "exec" ], + "system": [ "reboot" ] } } } -- 2.26.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From jo at mein.io Thu Jun 18 13:52:23 2020 From: jo at mein.io (Jo-Philipp Wich) Date: Thu, 18 Jun 2020 19:52:23 +0200 Subject: [OpenWrt-Devel] Merged: hostapd: fix compilation of wpa_supplicant In-Reply-To: <20200616150746.30322-1-karel.koci@nic.cz> References: <20200616150746.30322-1-karel.koci@nic.cz> Message-ID: <20200618175223.1949177-1-jo@mein.io> Merged into my staging tree at http://git.openwrt.org/?p=openwrt/staging/jow.git. Thank you! _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Thu Jun 18 16:25:58 2020 From: openwrt-devel at lists.openwrt.org (Martin Blumenstingl via openwrt-devel) Date: Thu, 18 Jun 2020 22:25:58 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: fritz7312: set maximum speed to 100 mbit on 5.4 In-Reply-To: <20200618094858.1929-1-freifunk@adrianschmutzler.de> References: <20200618094858.1929-1-freifunk@adrianschmutzler.de> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: Martin Blumenstingl Subject: Re: [OpenWrt-Devel] [PATCH] lantiq: fritz7312: set maximum speed to 100 mbit on 5.4 Date: Thu, 18 Jun 2020 22:25:58 +0200 Size: 4391 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Thu Jun 18 16:39:46 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Thu, 18 Jun 2020 22:39:46 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: fritz7312: set maximum speed to 100 mbit on 5.4 In-Reply-To: References: <20200618094858.1929-1-freifunk@adrianschmutzler.de> Message-ID: <003a01d645b0$9acd8850$d06898f0$@adrianschmutzler.de> > -----Original Message----- > From: Martin Blumenstingl [mailto:martin.blumenstingl at googlemail.com] > Sent: Donnerstag, 18. Juni 2020 22:26 > To: Adrian Schmutzler > Cc: openwrt-devel at lists.openwrt.org; Alexander Couzens > Subject: Re: [OpenWrt-Devel] [PATCH] lantiq: fritz7312: set maximum speed > to 100 mbit on 5.4 > > Hi Adrian, > > On Thu, Jun 18, 2020 at 11:49 AM Adrian Schmutzler > wrote: > > > > The fritz 7312 does not support 1000 gbit. Advertising it makes it > > worse. Some NIC will change to 1000 gibt and turn off and on again for > > ever. > > > > The previous patch in 36f628910b8b was only applied to the 4.19 file. > according to [0] the 7312 has a 10/100Mbit/s Atheros AR8030-A PHY. > Do you know why it's advertising Gbit/s capabilities nevertheless? > > I won't say "no" to this patch > If it's a hardware issue then more boarding will benefit from a fix in the > ar803x PHY driver. Hi, I don't have any clue at all about the problem itself. I just found the inconsistency and want to align 4.19 and 5.4, as currently it is effectively a regression. If you want to address this differently, go for it, but don't ask me anything about it ;-) Best Adrian > > > Best regards, > Martin > > > [0] https://boxmatrix.info/wiki/FRITZ!Box_7312 -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From foss at volatilesystems.org Thu Jun 18 18:06:07 2020 From: foss at volatilesystems.org (Stijn Segers) Date: Fri, 19 Jun 2020 00:06:07 +0200 Subject: [OpenWrt-Devel] [PATCH] [19.07] wireguard: bump to 1.0.20200611 Message-ID: <20200618220607.5570-1-foss@volatilesystems.org> This bump fixes breakage introduced by kernel commit 8ab8786f78c3fc930f9abf6d6d85e95567de4e1f, which is part of the 4.14.181 kernel bump, and backported ip6_dst_lookup_flow to 4.14. This breaks the older WireGuard version currently in 19.07. For reference, the compilation error is the one below: build_dir/target-x86_64_musl/linux-x86_64/wireguard-linux-compat-1.0.20200506/src/compat/compat.h:104:42: error: 'const struct ipv6_stub' has no member named 'ipv6_dst_lookup'; did you mean 'ipv6_dst_lookup_flow'? #define ipv6_dst_lookup_flow(a, b, c, d) ipv6_dst_lookup(a, b, &dst, c) + (void *)0 ?: dst Changelogs below taken from the official release announcements. == Changes since v1.0.20200506 == This release aligns with the changes I sent to DaveM for 5.7-rc7 and were pushed to net.git about 45 minutes ago. * qemu: use newer iproute2 for gcc-10 * qemu: add -fcommon for compiling ping with gcc-10 These enable the test suite to compile with gcc-10. * noise: read preshared key while taking lock Matt noticed a benign data race when porting the Linux code to OpenBSD. * queueing: preserve flow hash across packet scrubbing * noise: separate receive counter from send counter WireGuard now works with fq_codel, cake, and other qdiscs that make use of skb->hash. This should significantly improve latency spikes related to buffer bloat. Here's a before and after graph from some data Toke measured: https://data.zx2c4.com/removal-of-buffer-bloat-in-wireguard.png * compat: support RHEL 8 as 8.2, drop 8.1 support * compat: support CentOS 8 explicitly * compat: RHEL7 backported the skb hash renamings The usual RHEL churn. * compat: backport renamed/missing skb hash members The new support for fq_codel and friends meant more backporting work. * compat: ip6_dst_lookup_flow was backported to 4.14, 4.9, and 4.4 == Changes since v1.0.20200611 == * qemu: always use cbuild gcc rather than system gcc * qemu: remove -Werror in order to build ancient kernels better * qemu: patch kernels that rely on ancient make * qemu: force 2MB pages for binutils 2.31 * qemu: use cbuild gcc for avx512 exclusion * qemu: add extra fill in idt handler for newer binutils * qemu: support fetching kernels for arbitrary URLs * qemu: patch in UTS_UBUNTU_RELEASE_ABI for Ubuntu detection * qemu: work around broken centos8 kernel * qemu: mark per_cpu_load_addr as static for gcc-10 Our qemu test suite can now handle more kernels and more compilers. Scroll down to the bottom of https://www.wireguard.com/build-status/ to see the expanded array of kernels we now test against, including some distro kernels. * compat: widen breadth of integer constants * compat: widen breadth of memzero_explicit backport * compat: backport skb_scrub_packet to 3.11 * compat: widen breadth of prandom_u32_max backport * compat: narrow the breadth of iptunnel_xmit backport * compat: backport iptunnel_xmit to 3.11 With the expanded qemu test suite, it was possible to expand our list of mainline kernels, so the backport compat layer is now more precise. * compat: ubuntu appears to have backported ipv6_dst_lookup_flow * compat: bionic-hwe-5.0/disco kernel backported skb_reset_redirect and ipv6 flow Ubuntu kernels changed recently, so this ensures we can compile with the latest Ubuntu releases. * compat: remove stale suse support Signed-off-by: Stijn Segers --- 4.14.184 hasn't made its way into openwrt-19.07 yet but I bumped into this ip6_dst_lookup_flow issue with the .184 bump in Koen's tree. --- 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 69c9767b22..710038732b 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:=1.0.20200506 +PKG_VERSION:=1.0.20200611 PKG_RELEASE:=1 PKG_SOURCE:=wireguard-linux-compat-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://git.zx2c4.com/wireguard-linux-compat/snapshot/ -PKG_HASH:=98a99f2b825a82d57a7213e666f1ee4f7cc02bddb09bf4908b4b09447a8f121e +PKG_HASH:=9b0478c3b1f3a7b488916e632e2fcbb1383bb1a2ef294489858ce2ba1da3246d PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Thu Jun 18 19:50:02 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Thu, 18 Jun 2020 17:50:02 -0600 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: Hey Rui, I fixed it! It turned out to be caused by -fvisibility=hidden undoing the effect of the binutils fix from a while back. Here's the patch that makes the problem go away: https://git.zx2c4.com/wireguard-linux-compat/commit/?id=178cdfffb99f2fd6fb4a5bfd2f9319461d93f53b This will be in the next compat release. Jason _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Thu Jun 18 19:58:01 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Thu, 18 Jun 2020 17:58:01 -0600 Subject: [OpenWrt-Devel] Any progress on R_ARM_THM_JUMP11 issues? In-Reply-To: References: <20200617204510.GA396261@zx2c4.com> <20200617205443.GA403252@zx2c4.com> Message-ID: Looks as though in the end this is a binutils bug with -fvisibility=hidden. Details on https://sourceware.org/bugzilla/show_bug.cgi?id=12532#c9 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From baptiste at bitsofnetworks.org Fri Jun 19 04:22:57 2020 From: baptiste at bitsofnetworks.org (Baptiste Jonglez) Date: Fri, 19 Jun 2020 10:22:57 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: archer-c7-v5: fix initramfs image In-Reply-To: <20200617215657.4330-1-ynezz@true.cz> References: <20200617215657.4330-1-ynezz@true.cz> Message-ID: <20200619082257.GA563509@tuxmachine.localdomain> Hi, On 17-06-20, Petr ?tetiar wrote: > Currently it's not possible to tftpboot initramfs image as the image > contains tplink-v1-header which leads to: Out of curiosity, it looks like booting an initramfs image is only possible with serial access to the bootloader? > --- a/target/linux/ath79/image/generic-tp-link.mk > +++ b/target/linux/ath79/image/generic-tp-link.mk > @@ -197,6 +197,7 @@ define Device/tplink_archer-c7-v5 > TPLINK_BOARD_ID := ARCHER-C7-V5 > BOARDNAME := ARCHER-C7-V5 > SUPPORTED_DEVICES += archer-c7-v5 > + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImageArcher lzma > endef > TARGET_DEVICES += tplink_archer-c7-v5 This is strange, Device/tplink-safeloader-uimage already defines KERNEL the same way: KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma AFAIK, KERNEL_INITRAMFS should default to the same value as KERNEL. Baptiste -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Fri Jun 19 04:26:19 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Fri, 19 Jun 2020 09:26:19 +0100 Subject: [OpenWrt-Devel] wireguard: unknown relocation: 102 [ARMv7 Thumb-2] In-Reply-To: References: Message-ID: Good morning, Jason! On Fri, 19 Jun 2020 at 00:50, Jason A. Donenfeld wrote: > > Hey Rui, > > I fixed it! It turned out to be caused by -fvisibility=hidden undoing > the effect of the binutils fix from a while back. Here's the patch > that makes the problem go away: > > https://git.zx2c4.com/wireguard-linux-compat/commit/?id=178cdfffb99f2fd6fb4a5bfd2f9319461d93f53b > > This will be in the next compat release. > > Jason Great detective work there too! :) I do have to wonder if this is really a binutils/gas bug, though. From what I could gather, it's only the kernel module loader which can't (and won't, I remember reading somewhere they don't make sense for the kernel) resolve R_ARM_THM_JUMP11 relocations, and using -fvisibility=hidden in a kernel module seems to send the linker a conflicting message. Anyway, I'd still open that bug, at least to get a definitive answer. ;) Thanks a lot, Rui _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Fri Jun 19 05:32:15 2020 From: ynezz at true.cz (=?UTF-8?q?Petr=20=C5=A0tetiar?=) Date: Fri, 19 Jun 2020 11:32:15 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: image: fix initramfs for safeloader devices Message-ID: <20200619093215.28273-1-ynezz@true.cz> Currently it's not possible to tftpboot initramfs image on archer-c7-v5 as the image contains tplink-v1-header which leads to: ath> bootm ## Booting image at 81000000 ... Bad Magic Number as U-Boot expect uImage wrapped image. This is caused by following inheritance issue: define Device/Init KERNEL_INITRAMFS = $$(KERNEL) define Device/tplink-v1 KERNEL := kernel-bin | append-dtb | lzma KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v1-header define Device/tplink-safeloader $(Device/tplink-v1) define Device/tplink-safeloader-uimage $(Device/tplink-safeloader) KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma define Device/tplink_archer-c7-v5 $(Device/tplink-safeloader-uimage) where tplink-v1 defines KERNEL_INITRAMFS with tplink-v1-header and it's then used by all devices inheriting from tplink-safeloader. Fix this by overriding KERNEL_INITRAMFS to KERNEL variable again. Signed-off-by: Petr ?tetiar --- target/linux/ath79/image/common-tp-link.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/linux/ath79/image/common-tp-link.mk b/target/linux/ath79/image/common-tp-link.mk index 328eaaed3056..81a557df4871 100644 --- a/target/linux/ath79/image/common-tp-link.mk +++ b/target/linux/ath79/image/common-tp-link.mk @@ -78,6 +78,7 @@ define Device/tplink-safeloader $(Device/tplink-v1) TPLINK_HWREV := 0x0 KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header -O + KERNEL_INITRAMFS := $$(KERNEL) IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \ append-metadata | check-size IMAGE/factory.bin := append-rootfs | tplink-safeloader factory @@ -86,6 +87,7 @@ endef define Device/tplink-safeloader-uimage $(Device/tplink-safeloader) KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma + KERNEL_INITRAMFS := $$(KERNEL) endef define Device/tplink-safeloader-okli @@ -96,4 +98,5 @@ define Device/tplink-safeloader-okli COMPILE/loader-$(1).elf := loader-okli-compile KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \ loader-okli $(1) 12288 + KERNEL_INITRAMFS := $$(KERNEL) endef _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Fri Jun 19 05:32:36 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Fri, 19 Jun 2020 11:32:36 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: archer-c7-v5: fix initramfs image In-Reply-To: <20200619082257.GA563509@tuxmachine.localdomain> References: <20200617215657.4330-1-ynezz@true.cz> <20200619082257.GA563509@tuxmachine.localdomain> Message-ID: <20200619093236.GA79323@meh.true.cz> Baptiste Jonglez [2020-06-19 10:22:57]: Hi, > On 17-06-20, Petr ?tetiar wrote: > > Currently it's not possible to tftpboot initramfs image as the image > > contains tplink-v1-header which leads to: > > Out of curiosity, it looks like booting an initramfs image is only > possible with serial access to the bootloader? indeed, my use case is CI automatic testing with labgrid, so I don't want to trash my flash. In probably weekly CI job I plan to write factory image and perform sysupgrade in order to test those images as well. > > --- a/target/linux/ath79/image/generic-tp-link.mk > > +++ b/target/linux/ath79/image/generic-tp-link.mk > > @@ -197,6 +197,7 @@ define Device/tplink_archer-c7-v5 > > TPLINK_BOARD_ID := ARCHER-C7-V5 > > BOARDNAME := ARCHER-C7-V5 > > SUPPORTED_DEVICES += archer-c7-v5 > > + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImageArcher lzma > > endef > > TARGET_DEVICES += tplink_archer-c7-v5 > > This is strange, Device/tplink-safeloader-uimage already defines KERNEL > the same way: > > KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma > > AFAIK, KERNEL_INITRAMFS should default to the same value as KERNEL. Indeed, but Device/tplink-v1 redefines that to: KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v1-header and Device/tplink-safeloader-uimage inherits from Device/tplink-v1, reusing that KERNEL_INITRAMFS variable. Thanks for the review, going to send hopefully proper patch in a moment. -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Fri Jun 19 05:36:44 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Fri, 19 Jun 2020 11:36:44 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: image: fix initramfs for safeloader devices In-Reply-To: <20200619093215.28273-1-ynezz@true.cz> References: <20200619093215.28273-1-ynezz@true.cz> Message-ID: <008901d6461d$256e4d70$704ae850$@adrianschmutzler.de> Hi Petr, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Petr ?tetiar > Sent: Freitag, 19. Juni 2020 11:32 > To: openwrt-devel at lists.openwrt.org > Cc: Petr ?tetiar > Subject: [OpenWrt-Devel] [PATCH] ath79: image: fix initramfs for safeloader > devices > > Currently it's not possible to tftpboot initramfs image on archer-c7-v5 as the > image contains tplink-v1-header which leads to: > > ath> bootm > ## Booting image at 81000000 ... > Bad Magic Number > > as U-Boot expect uImage wrapped image. This is caused by following > inheritance issue: > > define Device/Init > KERNEL_INITRAMFS = $$(KERNEL) > > define Device/tplink-v1 > KERNEL := kernel-bin | append-dtb | lzma > KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v1-header > > define Device/tplink-safeloader > $(Device/tplink-v1) > > define Device/tplink-safeloader-uimage > $(Device/tplink-safeloader) > KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma > > define Device/tplink_archer-c7-v5 > $(Device/tplink-safeloader-uimage) > > where tplink-v1 defines KERNEL_INITRAMFS with tplink-v1-header and it's > then used by all devices inheriting from tplink-safeloader. Fix this by > overriding KERNEL_INITRAMFS to KERNEL variable again. So, I wonder whether that's specific to the C7 v5 then or whether it would apply to the other tplink-safeloader-uimage devices as well? Best Adrian > > Signed-off-by: Petr ?tetiar > --- > target/linux/ath79/image/common-tp-link.mk | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/target/linux/ath79/image/common-tp-link.mk > b/target/linux/ath79/image/common-tp-link.mk > index 328eaaed3056..81a557df4871 100644 > --- a/target/linux/ath79/image/common-tp-link.mk > +++ b/target/linux/ath79/image/common-tp-link.mk > @@ -78,6 +78,7 @@ define Device/tplink-safeloader > $(Device/tplink-v1) > TPLINK_HWREV := 0x0 > KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header -O > + KERNEL_INITRAMFS := $$(KERNEL) > IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \ > append-metadata | check-size > IMAGE/factory.bin := append-rootfs | tplink-safeloader factory @@ -86,6 > +87,7 @@ endef define Device/tplink-safeloader-uimage > $(Device/tplink-safeloader) > KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma > + KERNEL_INITRAMFS := $$(KERNEL) > endef > > define Device/tplink-safeloader-okli > @@ -96,4 +98,5 @@ define Device/tplink-safeloader-okli > COMPILE/loader-$(1).elf := loader-okli-compile > KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \ > loader-okli $(1) 12288 > + KERNEL_INITRAMFS := $$(KERNEL) > endef > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Fri Jun 19 05:42:32 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Fri, 19 Jun 2020 11:42:32 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: image: fix initramfs for safeloader devices In-Reply-To: <008901d6461d$256e4d70$704ae850$@adrianschmutzler.de> References: <20200619093215.28273-1-ynezz@true.cz> <008901d6461d$256e4d70$704ae850$@adrianschmutzler.de> Message-ID: <20200619094232.GB79323@meh.true.cz> mail at adrianschmutzler.de [2020-06-19 11:36:44]: Hi, > So, I wonder whether that's specific to the C7 v5 then or whether it would > apply to the other tplink-safeloader-uimage devices as well? nope, archer-c7-v5 is just a device I've found it on. It applies to all safeloader devices which inherit from tplink-v1 and define custom kernel image commands. -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Fri Jun 19 05:45:25 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Fri, 19 Jun 2020 10:45:25 +0100 Subject: [OpenWrt-Devel] [RFC PATCH] ARM Cortex-A9: build the userspace with Thumb-2 instructions Message-ID: <20200619094523.3162-1-rsalvaterra@gmail.com> Thumb-2 code is denser than pure ARM, reducing RAM usage and improving performance due to better instruction cache footprint. There's no reason for not enabling this feature on other ARMv7 targets (cortex-a7 and cortex-a8), but I don't have the hardware to test it. Signed-off-by: Rui Salvaterra --- include/target.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/target.mk b/include/target.mk index a2ceb7f783..dfc6f4e480 100644 --- a/include/target.mk +++ b/include/target.mk @@ -196,6 +196,9 @@ ifeq ($(DUMP),1) CPU_TYPE = sparc CPU_CFLAGS_ultrasparc = -mcpu=ultrasparc endif + ifeq ($(ARCH),arm) + CPU_CFLAGS_cortex-a9 = -mthumb + endif ifeq ($(ARCH),aarch64) CPU_TYPE ?= generic CPU_CFLAGS_generic = -mcpu=generic -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From baptiste at bitsofnetworks.org Fri Jun 19 06:35:00 2020 From: baptiste at bitsofnetworks.org (Baptiste Jonglez) Date: Fri, 19 Jun 2020 12:35:00 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: archer-c7-v5: fix initramfs image In-Reply-To: <20200619093236.GA79323@meh.true.cz> References: <20200617215657.4330-1-ynezz@true.cz> <20200619082257.GA563509@tuxmachine.localdomain> <20200619093236.GA79323@meh.true.cz> Message-ID: <20200619103500.GB563509@tuxmachine.localdomain> On 19-06-20, Petr ?tetiar wrote: > > On 17-06-20, Petr ?tetiar wrote: > > > Currently it's not possible to tftpboot initramfs image as the image > > > contains tplink-v1-header which leads to: > > > > Out of curiosity, it looks like booting an initramfs image is only > > possible with serial access to the bootloader? > > indeed, my use case is CI automatic testing with labgrid, so I don't want to > trash my flash. In probably weekly CI job I plan to write factory image and > perform sysupgrade in order to test those images as well. Interesting! https://github.com/labgrid-project/labgrid > > This is strange, Device/tplink-safeloader-uimage already defines KERNEL > > the same way: > > > > KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma > > > > AFAIK, KERNEL_INITRAMFS should default to the same value as KERNEL. > > Indeed, but Device/tplink-v1 redefines that to: > > KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v1-header > > and Device/tplink-safeloader-uimage inherits from Device/tplink-v1, reusing > that KERNEL_INITRAMFS variable. Ah, right, didn't spot that. It means that other boards using Device/tplink-safeloader-uimage likely have the same issue. > Thanks for the review, going to send hopefully proper patch in a moment. > > -- ynezz -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Fri Jun 19 07:34:20 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Fri, 19 Jun 2020 13:34:20 +0200 Subject: [OpenWrt-Devel] Bugs for 17.01 closed Message-ID: <00b301d6462d$933ab860$b9b02920$@adrianschmutzler.de> Hi, as decided in our combined vote, I've now finally closed all bugs reported for lede-17.01 in bugs.openwrt.org (Flyspray). This has been done based on a script, so I haven't looked at the individual reports anymore. Please note that there will be _no_ notification mails for these closures, as this would have required me to hack too deep into Flyspray to make it work. Of course, if the same bugs can be reproduced with a newer version, resubmitting them is perfectly fine (unless they are listed already ...). Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Sat Jun 20 11:44:42 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 20 Jun 2020 17:44:42 +0200 Subject: [OpenWrt-Devel] [PATCH] bcm63xx: AV4202N: add missing PCI pinmux Message-ID: <5538389.BsCHd0DPA3@tool> The ADB P.DG AV4202N device has a wifi chipset connected via PCI. But the PCI pinmux is missing and without it the wifi won't work properly. Add the pinctrl_pci to enable the missing PCI pins for this device. Signed-off-by: Daniel Gonz?lez Cabanelas --- target/linux/bcm63xx/dts/bcm6368-adb-av4202n.dts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/linux/bcm63xx/dts/bcm6368-adb-av4202n.dts b/target/linux/bcm63xx/dts/bcm6368-adb-av4202n.dts index 95f98c187d..8e06985fdd 100644 --- a/target/linux/bcm63xx/dts/bcm6368-adb-av4202n.dts +++ b/target/linux/bcm63xx/dts/bcm6368-adb-av4202n.dts @@ -104,6 +104,11 @@ }; }; +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci>; +}; + &uart0 { status = "okay"; }; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From baptiste at bitsofnetworks.org Sat Jun 20 13:55:46 2020 From: baptiste at bitsofnetworks.org (Baptiste Jonglez) Date: Sat, 20 Jun 2020 19:55:46 +0200 Subject: [OpenWrt-Devel] [PATCH 18.06] libubox: backport additional length-checking fixes In-Reply-To: <20200613181740.988875-1-baptiste@bitsofnetworks.org> References: <20200613181740.988875-1-baptiste@bitsofnetworks.org> Message-ID: <20200620175546.GA620548@tuxmachine.localdomain> Hi, I should have added more details in the commit message: this fixes a serious regression where procd fails to start some services, for instance rpcd. See FS#3177. This is the same regression that Rafa? found in 19.07.2 and 19.07.3. I would like a review that I backported the right set of commits: I don't think I missed one, but I'm not 100% sure that the 4 commits I backported are all strictly necessary. In any case, they are all clean cherry-picks. Thanks, Baptiste On 13-06-20, Baptiste Jonglez wrote: > From: Baptiste Jonglez > > Fixes: FS#3177 > Cc: Felix Fietkau > Cc: Rafa? Mi?ecki > Signed-off-by: Baptiste Jonglez > --- > package/libs/libubox/Makefile | 2 +- > ...s-iteration-in-the-blobmsg_check_arr.patch | 75 ++++++++++ > ...sg-fix-length-in-blobmsg_check_array.patch | 28 ++++ > ...-and-fix-name-length-checks-in-blobm.patch | 49 +++++++ > ...21-blobmsg-fix-missing-length-checks.patch | 138 ++++++++++++++++++ > 5 files changed, 291 insertions(+), 1 deletion(-) > create mode 100644 package/libs/libubox/patches/0018-blobmsg-fix-attrs-iteration-in-the-blobmsg_check_arr.patch > create mode 100644 package/libs/libubox/patches/0019-blobmsg-fix-length-in-blobmsg_check_array.patch > create mode 100644 package/libs/libubox/patches/0020-blobmsg-simplify-and-fix-name-length-checks-in-blobm.patch > create mode 100644 package/libs/libubox/patches/0021-blobmsg-fix-missing-length-checks.patch > > diff --git a/package/libs/libubox/Makefile b/package/libs/libubox/Makefile > index e3a827c1ab..e4f1a6b503 100644 > --- a/package/libs/libubox/Makefile > +++ b/package/libs/libubox/Makefile > @@ -1,7 +1,7 @@ > include $(TOPDIR)/rules.mk > > PKG_NAME:=libubox > -PKG_RELEASE=4 > +PKG_RELEASE=5 > > PKG_SOURCE_PROTO:=git > PKG_SOURCE_URL=$(PROJECT_GIT)/project/libubox.git > diff --git a/package/libs/libubox/patches/0018-blobmsg-fix-attrs-iteration-in-the-blobmsg_check_arr.patch b/package/libs/libubox/patches/0018-blobmsg-fix-attrs-iteration-in-the-blobmsg_check_arr.patch > new file mode 100644 > index 0000000000..2834e10ee3 > --- /dev/null > +++ b/package/libs/libubox/patches/0018-blobmsg-fix-attrs-iteration-in-the-blobmsg_check_arr.patch > @@ -0,0 +1,75 @@ > +From 5e75160f48785464f9213c6bc8c72b9372c5318b Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= > +Date: Sat, 23 May 2020 13:18:51 +0200 > +Subject: [PATCH] blobmsg: fix attrs iteration in the blobmsg_check_array_len() > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +Starting with 75e300aeec25 ("blobmsg: fix wrong payload len passed from > +blobmsg_check_array") blobmsg_check_array_len() gets *blob* length > +passed as argument. It cannot be used with __blobmsg_for_each_attr() > +which expects *data* length. > + > +Use blobmsg_for_each_attr() which calculates *data* length on its own. > + > +The same bug was already reported in the past and there was fix attempt > +in the commit cd75136b1342 ("blobmsg: fix wrong payload len passed from > +blobmsg_check_array"). That change made blobmsg_check_attr_len() calls > +fail however. > + > +This is hopefully the correct & complete fix: > +1. blobmsg_check_array_len() gets *blob* length > +2. It calls blobmsg_check_attr_len() which requires *blob* length > +3. It uses blobmsg_for_each_attr() which gets *data* length > + > +This fixes iterating over random memory treated as attrs. That was > +resulting in check failing randomly for totally correct blobs. It's > +critical e.g. for procd project with its instance_fill_array() failing > +and procd not starting services. > + > +Fixes: 75e300aeec25 ("blobmsg: fix wrong payload len passed from blobmsg_check_array") > +Signed-off-by: Rafa? Mi?ecki > +--- > + blobmsg.c | 10 ++++++---- > + 1 file changed, 6 insertions(+), 4 deletions(-) > + > +diff --git a/blobmsg.c b/blobmsg.c > +index 8b9877d..59045e1 100644 > +--- a/blobmsg.c > ++++ b/blobmsg.c > +@@ -117,16 +117,18 @@ int blobmsg_check_array(const struct blob_attr *attr, int type) > + return blobmsg_check_array_len(attr, type, blob_len(attr)); > + } > + > +-int blobmsg_check_array_len(const struct blob_attr *attr, int type, size_t len) > ++int blobmsg_check_array_len(const struct blob_attr *attr, int type, > ++ size_t blob_len) > + { > + struct blob_attr *cur; > ++ size_t rem; > + bool name; > + int size = 0; > + > + if (type > BLOBMSG_TYPE_LAST) > + return -1; > + > +- if (!blobmsg_check_attr_len(attr, false, len)) > ++ if (!blobmsg_check_attr_len(attr, false, blob_len)) > + return -1; > + > + switch (blobmsg_type(attr)) { > +@@ -140,11 +142,11 @@ int blobmsg_check_array_len(const struct blob_attr *attr, int type, size_t len) > + return -1; > + } > + > +- __blobmsg_for_each_attr(cur, attr, len) { > ++ blobmsg_for_each_attr(cur, attr, rem) { > + if (type != BLOBMSG_TYPE_UNSPEC && blobmsg_type(cur) != type) > + return -1; > + > +- if (!blobmsg_check_attr_len(cur, name, len)) > ++ if (!blobmsg_check_attr_len(cur, name, rem)) > + return -1; > + > + size++; > diff --git a/package/libs/libubox/patches/0019-blobmsg-fix-length-in-blobmsg_check_array.patch b/package/libs/libubox/patches/0019-blobmsg-fix-length-in-blobmsg_check_array.patch > new file mode 100644 > index 0000000000..9db2fb4f9f > --- /dev/null > +++ b/package/libs/libubox/patches/0019-blobmsg-fix-length-in-blobmsg_check_array.patch > @@ -0,0 +1,28 @@ > +From c2fc622b771f679e8f55060ac60cfe02b9a80995 Mon Sep 17 00:00:00 2001 > +From: Felix Fietkau > +Date: Mon, 25 May 2020 13:44:20 +0200 > +Subject: [PATCH] blobmsg: fix length in blobmsg_check_array > + > +blobmsg_check_array_len expects the length of the full attribute buffer, > +not just the data length. > +Due to other missing length checks (fixed in the next commit), this did > +not show up as a test failure > + > +Signed-off-by: Felix Fietkau > +--- > + blobmsg.c | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/blobmsg.c b/blobmsg.c > +index 59045e1..daaa9fc 100644 > +--- a/blobmsg.c > ++++ b/blobmsg.c > +@@ -114,7 +114,7 @@ bool blobmsg_check_attr_len(const struct blob_attr *attr, bool name, size_t len) > + > + int blobmsg_check_array(const struct blob_attr *attr, int type) > + { > +- return blobmsg_check_array_len(attr, type, blob_len(attr)); > ++ return blobmsg_check_array_len(attr, type, blob_raw_len(attr)); > + } > + > + int blobmsg_check_array_len(const struct blob_attr *attr, int type, > diff --git a/package/libs/libubox/patches/0020-blobmsg-simplify-and-fix-name-length-checks-in-blobm.patch b/package/libs/libubox/patches/0020-blobmsg-simplify-and-fix-name-length-checks-in-blobm.patch > new file mode 100644 > index 0000000000..a481208789 > --- /dev/null > +++ b/package/libs/libubox/patches/0020-blobmsg-simplify-and-fix-name-length-checks-in-blobm.patch > @@ -0,0 +1,49 @@ > +From 639c29d19717616b809d9a1e9042461ab8024370 Mon Sep 17 00:00:00 2001 > +From: Felix Fietkau > +Date: Mon, 25 May 2020 14:49:35 +0200 > +Subject: [PATCH] blobmsg: simplify and fix name length checks in > + blobmsg_check_name > + > +blobmsg_hdr_valid_namelen was omitted when name==false > +The blob_len vs blobmsg_namelen changes were not taking into account > +potential padding between name and data > + > +Signed-off-by: Felix Fietkau > +--- > + blobmsg.c | 13 ++++--------- > + 1 file changed, 4 insertions(+), 9 deletions(-) > + > +diff --git a/blobmsg.c b/blobmsg.c > +index daaa9fc..308bef7 100644 > +--- a/blobmsg.c > ++++ b/blobmsg.c > +@@ -48,8 +48,8 @@ static bool blobmsg_hdr_valid_namelen(const struct blobmsg_hdr *hdr, size_t len) > + > + static bool blobmsg_check_name(const struct blob_attr *attr, size_t len, bool name) > + { > +- char *limit = (char *) attr + len; > + const struct blobmsg_hdr *hdr; > ++ uint16_t namelen; > + > + hdr = blobmsg_hdr_from_blob(attr, len); > + if (!hdr) > +@@ -58,16 +58,11 @@ static bool blobmsg_check_name(const struct blob_attr *attr, size_t len, bool na > + if (name && !hdr->namelen) > + return false; > + > +- if (name && !blobmsg_hdr_valid_namelen(hdr, len)) > +- return false; > +- > +- if ((char *) hdr->name + blobmsg_namelen(hdr) + 1 > limit) > +- return false; > +- > +- if (blobmsg_namelen(hdr) > (blob_len(attr) - sizeof(struct blobmsg_hdr))) > ++ namelen = blobmsg_namelen(hdr); > ++ if (blob_len(attr) < (size_t)blobmsg_hdrlen(namelen)) > + return false; > + > +- if (hdr->name[blobmsg_namelen(hdr)] != 0) > ++ if (hdr->name[namelen] != 0) > + return false; > + > + return true; > diff --git a/package/libs/libubox/patches/0021-blobmsg-fix-missing-length-checks.patch b/package/libs/libubox/patches/0021-blobmsg-fix-missing-length-checks.patch > new file mode 100644 > index 0000000000..bfc440a329 > --- /dev/null > +++ b/package/libs/libubox/patches/0021-blobmsg-fix-missing-length-checks.patch > @@ -0,0 +1,138 @@ > +From 66195aee50424cbda0c2d858014e4cc58a2dc029 Mon Sep 17 00:00:00 2001 > +From: Felix Fietkau > +Date: Mon, 25 May 2020 12:40:04 +0200 > +Subject: [PATCH] blobmsg: fix missing length checks > + > +blobmsg_check_attr_len was calling blobmsg_check_data for some, but not all > +attribute types. These checks was missing for arrays and tables. > + > +Additionally, the length check in blobmsg_check_data was a bit off, since > +it was comparing the blobmsg data length against the raw blob attr length. > + > +Fix this by checking the raw blob length against the buffer length in > +blobmsg_hdr_from_blob > + > +Signed-off-by: Felix Fietkau > +--- > + blobmsg.c | 66 +++++++++++++++++-------------------------------------- > + 1 file changed, 20 insertions(+), 46 deletions(-) > + > +diff --git a/blobmsg.c b/blobmsg.c > +index 308bef7..7da4183 100644 > +--- a/blobmsg.c > ++++ b/blobmsg.c > +@@ -30,31 +30,18 @@ bool blobmsg_check_attr(const struct blob_attr *attr, bool name) > + return blobmsg_check_attr_len(attr, name, blob_raw_len(attr)); > + } > + > +-static const struct blobmsg_hdr* blobmsg_hdr_from_blob(const struct blob_attr *attr, size_t len) > +-{ > +- if (len < sizeof(struct blob_attr) + sizeof(struct blobmsg_hdr)) > +- return NULL; > +- > +- return blob_data(attr); > +-} > +- > +-static bool blobmsg_hdr_valid_namelen(const struct blobmsg_hdr *hdr, size_t len) > +-{ > +- if (len < sizeof(struct blob_attr) + sizeof(struct blobmsg_hdr) + blobmsg_namelen(hdr) + 1) > +- return false; > +- > +- return true; > +-} > +- > +-static bool blobmsg_check_name(const struct blob_attr *attr, size_t len, bool name) > ++static bool blobmsg_check_name(const struct blob_attr *attr, bool name) > + { > + const struct blobmsg_hdr *hdr; > + uint16_t namelen; > + > +- hdr = blobmsg_hdr_from_blob(attr, len); > +- if (!hdr) > ++ if (!blob_is_extended(attr)) > ++ return !name; > ++ > ++ if (blob_len(attr) < sizeof(struct blobmsg_hdr)) > + return false; > + > ++ hdr = (const struct blobmsg_hdr *)blob_data(attr); > + if (name && !hdr->namelen) > + return false; > + > +@@ -68,29 +55,20 @@ static bool blobmsg_check_name(const struct blob_attr *attr, size_t len, bool na > + return true; > + } > + > +-static const char* blobmsg_check_data(const struct blob_attr *attr, size_t len, size_t *data_len) > +-{ > +- char *limit = (char *) attr + len; > +- const char *data; > +- > +- *data_len = blobmsg_data_len(attr); > +- if (*data_len > blob_raw_len(attr)) > +- return NULL; > +- > +- data = blobmsg_data(attr); > +- if (data + *data_len > limit) > +- return NULL; > +- > +- return data; > +-} > +- > + bool blobmsg_check_attr_len(const struct blob_attr *attr, bool name, size_t len) > + { > + const char *data; > + size_t data_len; > + int id; > + > +- if (!blobmsg_check_name(attr, len, name)) > ++ if (len < sizeof(struct blob_attr)) > ++ return false; > ++ > ++ data_len = blob_raw_len(attr); > ++ if (data_len < sizeof(struct blob_attr) || data_len > len) > ++ return false; > ++ > ++ if (!blobmsg_check_name(attr, name)) > + return false; > + > + id = blob_id(attr); > +@@ -100,9 +78,8 @@ bool blobmsg_check_attr_len(const struct blob_attr *attr, bool name, size_t len) > + if (!blob_type[id]) > + return true; > + > +- data = blobmsg_check_data(attr, len, &data_len); > +- if (!data) > +- return false; > ++ data = blobmsg_data(attr); > ++ data_len = blobmsg_data_len(attr); > + > + return blob_check_type(data, data_len, blob_type[id]); > + } > +@@ -206,13 +183,13 @@ int blobmsg_parse(const struct blobmsg_policy *policy, int policy_len, > + } > + > + __blob_for_each_attr(attr, data, len) { > +- hdr = blobmsg_hdr_from_blob(attr, len); > +- if (!hdr) > ++ if (!blobmsg_check_attr_len(attr, false, len)) > + return -1; > + > +- if (!blobmsg_hdr_valid_namelen(hdr, len)) > +- return -1; > ++ if (!blob_is_extended(attr)) > ++ continue; > + > ++ hdr = blob_data(attr); > + for (i = 0; i < policy_len; i++) { > + if (!policy[i].name) > + continue; > +@@ -224,9 +201,6 @@ int blobmsg_parse(const struct blobmsg_policy *policy, int policy_len, > + if (blobmsg_namelen(hdr) != pslen[i]) > + continue; > + > +- if (!blobmsg_check_attr_len(attr, true, len)) > +- return -1; > +- > + if (tb[i]) > + continue; -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From mrkiko.rs at gmail.com Sat Jun 20 17:03:22 2020 From: mrkiko.rs at gmail.com (Enrico Mioso) Date: Sat, 20 Jun 2020 23:03:22 +0200 Subject: [OpenWrt-Devel] Dumb Wi-Fi client Message-ID: <20200620210322.GA686@metropolis.localdomain> hello Bjorn, hello all!! I would like to use an Archer C60 as a dumb Wi-Fi client. In particular, I would like to: - be able to connect to the WAN port of tthe ethernet switch to access the LAN network to which the router is connectes as a client, directly e.g.: when I do dhcp o n WAN, the oruter does DHCP on the wlan network - connect to the LAN ports of the device to talk to the device itself. The router has both 2.4 GHZ and 5 GHZ radios, and I would like to be able to use both transparently (e.g.: it should just work, connecting with the right one, or both). If possible then, i would like to be able to connect to multiple known networks, but this is optional. Can you give me some hints on a good setup? Or may I just use wireless client and let the device do the NAT? Sorry Bjorn for the direct CC but I know you experienced with ath79 snapshots.... and maybe DS, if applicable in this case... _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From vincent.wiemann at ironai.com Sat Jun 20 17:26:21 2020 From: vincent.wiemann at ironai.com (Vincent Wiemann) Date: Sat, 20 Jun 2020 23:26:21 +0200 Subject: [OpenWrt-Devel] Dumb Wi-Fi client In-Reply-To: <20200620210322.GA686@metropolis.localdomain> References: <20200620210322.GA686@metropolis.localdomain> Message-ID: Hi Enrico, On 20.06.20 23:03, Enrico Mioso wrote: > hello Bjorn, > hello all!! > > I would like to use an Archer C60 as a dumb Wi-Fi client. In particular, I would like to: > - be able to connect to the WAN port of tthe ethernet switch to access the LAN network to which the router is connectes as a client, directly > e.g.: when I do dhcp o n WAN, the oruter does DHCP on the wlan network > - connect to the LAN ports of the device to talk to the device itself. This is not a dumb WLAN client. A WLAN client does ordinarily just have one MAC address (the address of the WLAN interface). Thus you can't just bridge the WAN port with the WLAN client network. You either have to NAT the traffic or use WDS (3-address-mode) or ARPNAT. Both WDS and ARPNAT are not standard-compliant and the access point needs to support it. Have a look at the Wiki for that. > The router has both 2.4 GHZ and 5 GHZ radios, and I would like to be able to use both transparently (e.g.: it should just work, connecting with the right one, or both). > > If possible then, i would like to be able to connect to multiple known networks, but this is optional. > > Can you give me some hints on a good setup? Or may I just use wireless client and let the device do the NAT? If that's okay for you that's the easiest way to go. Use Multiwan if you want to use multiple networks. > > Sorry Bjorn for the direct CC but I know you experienced with ath79 snapshots.... and maybe DS, if applicable in this case... > Best, Vincent _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel From wong.syrone at gmail.com Sun Jun 21 05:02:51 2020 From: wong.syrone at gmail.com (wong.syrone at gmail.com) Date: Sun, 21 Jun 2020 17:02:51 +0800 Subject: [PATCH] toolchain/gcc: Add GCC 10.1.0 Message-ID: <20200621090251.1093279-1-wong.syrone@gmail.com> From: Syrone Wong Compared to GCC 9: 881-no_tm_section.patch modified based on upstream change See https://gcc.gnu.org/gcc-10/porting_to.html for more info Compiled and run tested on x86_64 Signed-off-by: Syrone Wong --- toolchain/gcc/Config.in | 3 + toolchain/gcc/Config.version | 5 + toolchain/gcc/common.mk | 4 + .../patches/10.1.0/002-case_insensitive.patch | 24 +++ .../patches/10.1.0/010-documentation.patch | 35 ++++ .../10.1.0/110-Fix-MIPS-PR-84790.patch | 20 +++ .../gcc/patches/10.1.0/230-musl_libssp.patch | 13 ++ .../300-mips_Os_cpu_rtx_cost_model.patch | 21 +++ .../10.1.0/810-arm-softfloat-libgcc.patch | 33 ++++ .../gcc/patches/10.1.0/820-libgcc_pic.patch | 44 +++++ .../840-armv4_pass_fix-v4bx_to_ld.patch | 28 +++ .../10.1.0/850-use_shared_libgcc.patch | 54 ++++++ .../patches/10.1.0/851-libgcc_no_compat.patch | 22 +++ .../patches/10.1.0/870-ppc_no_crtsavres.patch | 11 ++ .../patches/10.1.0/881-no_tm_section.patch | 11 ++ .../patches/10.1.0/900-bad-mips16-crt.patch | 9 + .../gcc/patches/10.1.0/910-mbsd_multi.patch | 146 +++++++++++++++ .../10.1.0/920-specs_nonfatal_getenv.patch | 22 +++ .../10.1.0/930-fix-mips-noexecstack.patch | 111 ++++++++++++ ...ibffi-fix-MIPS-softfloat-build-issue.patch | 168 ++++++++++++++++++ ...mpilation-when-making-cross-compiler.patch | 67 +++++++ 21 files changed, 851 insertions(+) create mode 100644 toolchain/gcc/patches/10.1.0/002-case_insensitive.patch create mode 100644 toolchain/gcc/patches/10.1.0/010-documentation.patch create mode 100644 toolchain/gcc/patches/10.1.0/110-Fix-MIPS-PR-84790.patch create mode 100644 toolchain/gcc/patches/10.1.0/230-musl_libssp.patch create mode 100644 toolchain/gcc/patches/10.1.0/300-mips_Os_cpu_rtx_cost_model.patch create mode 100644 toolchain/gcc/patches/10.1.0/810-arm-softfloat-libgcc.patch create mode 100644 toolchain/gcc/patches/10.1.0/820-libgcc_pic.patch create mode 100644 toolchain/gcc/patches/10.1.0/840-armv4_pass_fix-v4bx_to_ld.patch create mode 100644 toolchain/gcc/patches/10.1.0/850-use_shared_libgcc.patch create mode 100644 toolchain/gcc/patches/10.1.0/851-libgcc_no_compat.patch create mode 100644 toolchain/gcc/patches/10.1.0/870-ppc_no_crtsavres.patch create mode 100644 toolchain/gcc/patches/10.1.0/881-no_tm_section.patch create mode 100644 toolchain/gcc/patches/10.1.0/900-bad-mips16-crt.patch create mode 100644 toolchain/gcc/patches/10.1.0/910-mbsd_multi.patch create mode 100644 toolchain/gcc/patches/10.1.0/920-specs_nonfatal_getenv.patch create mode 100644 toolchain/gcc/patches/10.1.0/930-fix-mips-noexecstack.patch create mode 100644 toolchain/gcc/patches/10.1.0/931-libffi-fix-MIPS-softfloat-build-issue.patch create mode 100644 toolchain/gcc/patches/10.1.0/960-gotools-fix-compilation-when-making-cross-compiler.patch diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 4b2ba7aaae..1aadae6839 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -19,6 +19,9 @@ choice config GCC_USE_VERSION_9 bool "gcc 9.x" + + config GCC_USE_VERSION_10 + bool "gcc 10.x" endchoice config GCC_USE_GRAPHITE diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version index 6fbc6d9804..ccc7b273fa 100644 --- a/toolchain/gcc/Config.version +++ b/toolchain/gcc/Config.version @@ -10,11 +10,16 @@ config GCC_VERSION_9 default y if GCC_USE_VERSION_9 bool +config GCC_VERSION_10 + default y if GCC_USE_VERSION_10 + bool + config GCC_VERSION string default "5.5.0" if GCC_VERSION_5 default "7.5.0" if GCC_VERSION_7 default "9.3.0" if GCC_VERSION_9 + default "10.1.0" if GCC_VERSION_10 default "8.4.0" config GCC_USE_IREMAP diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index ec3ea8fff1..eb0ddbf2d9 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -44,6 +44,10 @@ ifeq ($(PKG_VERSION),9.3.0) PKG_HASH:=71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1 endif +ifeq ($(PKG_VERSION),10.1.0) + PKG_HASH:=b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2 +endif + PATCH_DIR=../patches/$(GCC_VERSION) BUGURL=http://bugs.openwrt.org/ diff --git a/toolchain/gcc/patches/10.1.0/002-case_insensitive.patch b/toolchain/gcc/patches/10.1.0/002-case_insensitive.patch new file mode 100644 index 0000000000..409497e5a3 --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/002-case_insensitive.patch @@ -0,0 +1,24 @@ +commit 81cc26c706b2bc8c8c1eb1a322e5c5157900836e +Author: Felix Fietkau +Date: Sun Oct 19 21:45:51 2014 +0000 + + gcc: do not assume that the Mac OS X filesystem is case insensitive + + Signed-off-by: Felix Fietkau + + SVN-Revision: 42973 + +--- a/include/filenames.h ++++ b/include/filenames.h +@@ -44,11 +44,6 @@ extern "C" { + # define IS_DIR_SEPARATOR(c) IS_DOS_DIR_SEPARATOR (c) + # define IS_ABSOLUTE_PATH(f) IS_DOS_ABSOLUTE_PATH (f) + #else /* not DOSish */ +-# if defined(__APPLE__) +-# ifndef HAVE_CASE_INSENSITIVE_FILE_SYSTEM +-# define HAVE_CASE_INSENSITIVE_FILE_SYSTEM 1 +-# endif +-# endif /* __APPLE__ */ + # define HAS_DRIVE_SPEC(f) (0) + # define IS_DIR_SEPARATOR(c) IS_UNIX_DIR_SEPARATOR (c) + # define IS_ABSOLUTE_PATH(f) IS_UNIX_ABSOLUTE_PATH (f) diff --git a/toolchain/gcc/patches/10.1.0/010-documentation.patch b/toolchain/gcc/patches/10.1.0/010-documentation.patch new file mode 100644 index 0000000000..9783ff1ef0 --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/010-documentation.patch @@ -0,0 +1,35 @@ +commit 098bd91f5eae625c7d2ee621e10930fc4434e5e2 +Author: Luka Perkov +Date: Tue Feb 26 16:16:33 2013 +0000 + + gcc: don't build documentation + + This closes #13039. + + Signed-off-by: Luka Perkov + + SVN-Revision: 35807 + +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -3283,18 +3283,10 @@ doc/gcc.info: $(TEXI_GCC_FILES) + doc/gccint.info: $(TEXI_GCCINT_FILES) + doc/cppinternals.info: $(TEXI_CPPINT_FILES) + +-doc/%.info: %.texi +- if [ x$(BUILD_INFO) = xinfo ]; then \ +- $(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(gcc_docdir) \ +- -I $(gcc_docdir)/include -o $@ $<; \ +- fi ++doc/%.info: + + # Duplicate entry to handle renaming of gccinstall.info +-doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES) +- if [ x$(BUILD_INFO) = xinfo ]; then \ +- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \ +- -I $(gcc_docdir)/include -o $@ $<; \ +- fi ++doc/gccinstall.info: + + doc/cpp.dvi: $(TEXI_CPP_FILES) + doc/gcc.dvi: $(TEXI_GCC_FILES) diff --git a/toolchain/gcc/patches/10.1.0/110-Fix-MIPS-PR-84790.patch b/toolchain/gcc/patches/10.1.0/110-Fix-MIPS-PR-84790.patch new file mode 100644 index 0000000000..82ac013d30 --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/110-Fix-MIPS-PR-84790.patch @@ -0,0 +1,20 @@ +Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790. +MIPS16 functions have a static assembler prologue which clobbers +registers v0 and v1. Add these register clobbers to function call +instructions. + +--- a/gcc/config/mips/mips.c ++++ b/gcc/config/mips/mips.c +@@ -3132,6 +3132,12 @@ mips_emit_call_insn (rtx pattern, rtx or + emit_insn (gen_update_got_version ()); + } + ++ if (TARGET_MIPS16 && TARGET_USE_GOT) ++ { ++ clobber_reg (&CALL_INSN_FUNCTION_USAGE (insn), MIPS16_PIC_TEMP); ++ clobber_reg (&CALL_INSN_FUNCTION_USAGE (insn), MIPS_PROLOGUE_TEMP (word_mode)); ++ } ++ + if (TARGET_MIPS16 + && TARGET_EXPLICIT_RELOCS + && TARGET_CALL_CLOBBERED_GP) diff --git a/toolchain/gcc/patches/10.1.0/230-musl_libssp.patch b/toolchain/gcc/patches/10.1.0/230-musl_libssp.patch new file mode 100644 index 0000000000..63f37662f4 --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/230-musl_libssp.patch @@ -0,0 +1,13 @@ +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -875,7 +875,9 @@ proper position among the other output f + #endif + + #ifndef LINK_SSP_SPEC +-#ifdef TARGET_LIBC_PROVIDES_SSP ++#if DEFAULT_LIBC == LIBC_MUSL ++#define LINK_SSP_SPEC "-lssp_nonshared" ++#elif defined(TARGET_LIBC_PROVIDES_SSP) + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ + "|fstack-protector-strong|fstack-protector-explicit:}" + #else diff --git a/toolchain/gcc/patches/10.1.0/300-mips_Os_cpu_rtx_cost_model.patch b/toolchain/gcc/patches/10.1.0/300-mips_Os_cpu_rtx_cost_model.patch new file mode 100644 index 0000000000..8c4a5fce19 --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/300-mips_Os_cpu_rtx_cost_model.patch @@ -0,0 +1,21 @@ +commit ecf7671b769fe96f7b5134be442089f8bdba55d2 +Author: Felix Fietkau +Date: Thu Aug 4 20:29:45 2016 +0200 + +gcc: add a patch to generate better code with Os on mips + +Also happens to reduce compressed code size a bit + +Signed-off-by: Felix Fietkau + +--- a/gcc/config/mips/mips.c ++++ b/gcc/config/mips/mips.c +@@ -20041,7 +20041,7 @@ mips_option_override (void) + flag_pcc_struct_return = 0; + + /* Decide which rtx_costs structure to use. */ +- if (optimize_size) ++ if (0 && optimize_size) + mips_cost = &mips_rtx_cost_optimize_size; + else + mips_cost = &mips_rtx_cost_data[mips_tune]; diff --git a/toolchain/gcc/patches/10.1.0/810-arm-softfloat-libgcc.patch b/toolchain/gcc/patches/10.1.0/810-arm-softfloat-libgcc.patch new file mode 100644 index 0000000000..5c9d86aead --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/810-arm-softfloat-libgcc.patch @@ -0,0 +1,33 @@ +commit 8570c4be394cff7282f332f97da2ff569a927ddb +Author: Imre Kaloz +Date: Wed Feb 2 20:06:12 2011 +0000 + + fixup arm soft-float symbols + + SVN-Revision: 25325 + +--- a/libgcc/config/arm/t-linux ++++ b/libgcc/config/arm/t-linux +@@ -1,6 +1,10 @@ + LIB1ASMSRC = arm/lib1funcs.S + LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ +- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 ++ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ ++ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ ++ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ ++ _arm_fixsfsi _arm_fixunssfsi + + # Just for these, we omit the frame pointer since it makes such a big + # difference. +--- a/gcc/config/arm/linux-elf.h ++++ b/gcc/config/arm/linux-elf.h +@@ -58,8 +58,6 @@ + %{shared:-lc} \ + %{!shared:%{profile:-lc_p}%{!profile:-lc}}" + +-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" +- + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + + #define LINUX_TARGET_LINK_SPEC "%{h*} \ diff --git a/toolchain/gcc/patches/10.1.0/820-libgcc_pic.patch b/toolchain/gcc/patches/10.1.0/820-libgcc_pic.patch new file mode 100644 index 0000000000..ddd6cf8732 --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/820-libgcc_pic.patch @@ -0,0 +1,44 @@ +commit c96312958c0621e72c9b32da5bc224ffe2161384 +Author: Felix Fietkau +Date: Mon Oct 19 23:26:09 2009 +0000 + + gcc: create a proper libgcc_pic.a static library for relinking (4.3.3+ for now, backport will follow) + + SVN-Revision: 18086 + +--- a/libgcc/Makefile.in ++++ b/libgcc/Makefile.in +@@ -929,11 +929,12 @@ $(libgcov-driver-objects): %$(objext): $ + + # Static libraries. + libgcc.a: $(libgcc-objects) ++libgcc_pic.a: $(libgcc-s-objects) + libgcov.a: $(libgcov-objects) + libunwind.a: $(libunwind-objects) + libgcc_eh.a: $(libgcc-eh-objects) + +-libgcc.a libgcov.a libunwind.a libgcc_eh.a: ++libgcc.a libgcov.a libunwind.a libgcc_eh.a libgcc_pic.a: + -rm -f $@ + + objects="$(objects)"; \ +@@ -957,7 +958,7 @@ all: libunwind.a + endif + + ifeq ($(enable_shared),yes) +-all: libgcc_eh.a libgcc_s$(SHLIB_EXT) ++all: libgcc_eh.a libgcc_pic.a libgcc_s$(SHLIB_EXT) + ifneq ($(LIBUNWIND),) + all: libunwind$(SHLIB_EXT) + libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT) +@@ -1163,6 +1164,10 @@ install-shared: + chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a + $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a + ++ $(INSTALL_DATA) libgcc_pic.a $(mapfile) $(DESTDIR)$(inst_libdir)/ ++ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_pic.a ++ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_pic.a ++ + $(subst @multilib_dir@,$(MULTIDIR),$(subst \ + @shlib_base_name@,libgcc_s,$(subst \ + @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL)))) diff --git a/toolchain/gcc/patches/10.1.0/840-armv4_pass_fix-v4bx_to_ld.patch b/toolchain/gcc/patches/10.1.0/840-armv4_pass_fix-v4bx_to_ld.patch new file mode 100644 index 0000000000..e3cb616c4e --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/840-armv4_pass_fix-v4bx_to_ld.patch @@ -0,0 +1,28 @@ +commit 7edc8ca5456d9743dd0075eb3cc5b04f4f24c8cc +Author: Imre Kaloz +Date: Wed Feb 2 19:34:36 2011 +0000 + + add armv4 fixup patches + + SVN-Revision: 25322 + + +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -91,10 +91,15 @@ + #define MUSL_DYNAMIC_LINKER \ + "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1" + ++/* For armv4 we pass --fix-v4bx to linker to support EABI */ ++#undef TARGET_FIX_V4BX_SPEC ++#define TARGET_FIX_V4BX_SPEC " %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*"\ ++ "|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx}" ++ + /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to + use the GNU/Linux version, not the generic BPABI version. */ + #undef LINK_SPEC +-#define LINK_SPEC EABI_LINK_SPEC \ ++#define LINK_SPEC EABI_LINK_SPEC TARGET_FIX_V4BX_SPEC \ + LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ + LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) + diff --git a/toolchain/gcc/patches/10.1.0/850-use_shared_libgcc.patch b/toolchain/gcc/patches/10.1.0/850-use_shared_libgcc.patch new file mode 100644 index 0000000000..8b17f1374f --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/850-use_shared_libgcc.patch @@ -0,0 +1,54 @@ +commit dcfc40358b5a3cae7320c17f8d1cebd5ad5540cd +Author: Felix Fietkau +Date: Sun Feb 12 20:25:47 2012 +0000 + + gcc 4.6: port over the missing patch 850-use_shared_libgcc.patch to prevent libgcc crap from leaking into every single binary + + SVN-Revision: 30486 +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -132,10 +132,6 @@ + "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) + +-/* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we +- do not use -lfloat. */ +-#undef LIBGCC_SPEC +- + /* Clear the instruction cache from `beg' to `end'. This is + implemented in lib1funcs.S, so ensure an error if this definition + is used. */ +--- a/gcc/config/linux.h ++++ b/gcc/config/linux.h +@@ -66,6 +66,10 @@ see the files COPYING3 and COPYING.RUNTI + builtin_version ("CRuntime_Musl"); \ + } while (0) + ++#ifndef LIBGCC_SPEC ++#define LIBGCC_SPEC "%{static|static-libgcc:-lgcc}%{!static:%{!static-libgcc:-lgcc_s}}" ++#endif ++ + /* Determine which dynamic linker to use depending on whether GLIBC or + uClibc or Bionic or musl is the default C library and whether + -muclibc or -mglibc or -mbionic or -mmusl has been passed to change +--- a/libgcc/mkmap-symver.awk ++++ b/libgcc/mkmap-symver.awk +@@ -136,5 +136,5 @@ function output(lib) { + else if (inherit[lib]) + printf("} %s;\n", inherit[lib]); + else +- printf ("\n local:\n\t*;\n};\n"); ++ printf ("\n\t*;\n};\n"); + } +--- a/gcc/config/rs6000/linux.h ++++ b/gcc/config/rs6000/linux.h +@@ -62,6 +62,9 @@ + #undef CPP_OS_DEFAULT_SPEC + #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)" + ++#undef LIBGCC_SPEC ++#define LIBGCC_SPEC "%{!static:%{!static-libgcc:-lgcc_s}} -lgcc" ++ + #undef LINK_SHLIB_SPEC + #define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}} \ + %{static-pie:-static -pie --no-dynamic-linker -z text}" diff --git a/toolchain/gcc/patches/10.1.0/851-libgcc_no_compat.patch b/toolchain/gcc/patches/10.1.0/851-libgcc_no_compat.patch new file mode 100644 index 0000000000..d710e40717 --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/851-libgcc_no_compat.patch @@ -0,0 +1,22 @@ +commit 64661de100da1ec1061ef3e5e400285dce115e6b +Author: Felix Fietkau +Date: Sun May 10 13:16:35 2015 +0000 + + gcc: add some size optimization patches + + Signed-off-by: Felix Fietkau + + SVN-Revision: 45664 + +--- a/libgcc/config/t-libunwind ++++ b/libgcc/config/t-libunwind +@@ -2,8 +2,7 @@ + + HOST_LIBGCC2_CFLAGS += -DUSE_GAS_SYMVER + +-LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \ +- $(srcdir)/unwind-compat.c $(srcdir)/unwind-dw2-fde-compat.c ++LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c + LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c + + # Override the default value from t-slibgcc-elf-ver and mention -lunwind diff --git a/toolchain/gcc/patches/10.1.0/870-ppc_no_crtsavres.patch b/toolchain/gcc/patches/10.1.0/870-ppc_no_crtsavres.patch new file mode 100644 index 0000000000..bc182f0cec --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/870-ppc_no_crtsavres.patch @@ -0,0 +1,11 @@ +--- a/gcc/config/rs6000/rs6000-logue.c ++++ b/gcc/config/rs6000/rs6000-logue.c +@@ -348,7 +348,7 @@ rs6000_savres_strategy (rs6000_stack_t * + /* Define cutoff for using out-of-line functions to save registers. */ + if (DEFAULT_ABI == ABI_V4 || TARGET_ELF) + { +- if (!optimize_size) ++ if (1) + { + strategy |= SAVE_INLINE_FPRS | REST_INLINE_FPRS; + strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS; diff --git a/toolchain/gcc/patches/10.1.0/881-no_tm_section.patch b/toolchain/gcc/patches/10.1.0/881-no_tm_section.patch new file mode 100644 index 0000000000..2029910fd0 --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/881-no_tm_section.patch @@ -0,0 +1,11 @@ +--- a/libgcc/crtstuff.c ++++ b/libgcc/crtstuff.c +@@ -152,7 +152,7 @@ call_ ## FUNC (void) \ + #endif + + #if !defined(USE_TM_CLONE_REGISTRY) && defined(OBJECT_FORMAT_ELF) +-# define USE_TM_CLONE_REGISTRY 1 ++# define USE_TM_CLONE_REGISTRY 0 + #elif !defined(USE_TM_CLONE_REGISTRY) + # define USE_TM_CLONE_REGISTRY 0 + #endif diff --git a/toolchain/gcc/patches/10.1.0/900-bad-mips16-crt.patch b/toolchain/gcc/patches/10.1.0/900-bad-mips16-crt.patch new file mode 100644 index 0000000000..dd6e9dc889 --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/900-bad-mips16-crt.patch @@ -0,0 +1,9 @@ +--- a/libgcc/config/mips/t-mips16 ++++ b/libgcc/config/mips/t-mips16 +@@ -43,3 +43,6 @@ SYNC_CFLAGS = -mno-mips16 + + # Version these symbols if building libgcc.so. + SHLIB_MAPFILES += $(srcdir)/config/mips/libgcc-mips16.ver ++ ++CRTSTUFF_T_CFLAGS += -mno-mips16 ++CRTSTUFF_T_CFLAGS_S += -mno-mips16 diff --git a/toolchain/gcc/patches/10.1.0/910-mbsd_multi.patch b/toolchain/gcc/patches/10.1.0/910-mbsd_multi.patch new file mode 100644 index 0000000000..452cc1cb4e --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/910-mbsd_multi.patch @@ -0,0 +1,146 @@ +commit 99368862e44740ff4fd33760893f04e14f9dbdf1 +Author: Felix Fietkau +Date: Tue Jul 31 00:52:27 2007 +0000 + + Port the mbsd_multi patch from freewrt, which adds -fhonour-copts. This will emit warnings in packages that don't use our target cflags properly + + SVN-Revision: 8256 + + This patch brings over a feature from MirBSD: + * -fhonour-copts + If this option is not given, it's warned (depending + on environment variables). This is to catch errors + of misbuilt packages which override CFLAGS themselves. + + This patch was authored by Thorsten Glaser + with copyright assignment to the FSF in effect. + +--- a/gcc/c-family/c-opts.c ++++ b/gcc/c-family/c-opts.c +@@ -107,6 +107,9 @@ static dump_flags_t original_dump_flags; + /* Whether any standard preincluded header has been preincluded. */ + static bool done_preinclude; + ++/* Check if a port honours COPTS. */ ++static int honour_copts = 0; ++ + static void handle_OPT_d (const char *); + static void set_std_cxx98 (int); + static void set_std_cxx11 (int); +@@ -455,6 +458,12 @@ c_common_handle_option (size_t scode, co + flag_no_builtin = !value; + break; + ++ case OPT_fhonour_copts: ++ if (c_language == clk_c) { ++ honour_copts++; ++ } ++ break; ++ + case OPT_fconstant_string_class_: + constant_string_class_name = arg; + break; +@@ -1168,6 +1177,47 @@ c_common_init (void) + return false; + } + ++ if (c_language == clk_c) { ++ char *ev = getenv ("GCC_HONOUR_COPTS"); ++ int evv; ++ if (ev == NULL) ++ evv = -1; ++ else if ((*ev == '0') || (*ev == '\0')) ++ evv = 0; ++ else if (*ev == '1') ++ evv = 1; ++ else if (*ev == '2') ++ evv = 2; ++ else if (*ev == 's') ++ evv = -1; ++ else { ++ warning (0, "unknown GCC_HONOUR_COPTS value, assuming 1"); ++ evv = 1; /* maybe depend this on something like MIRBSD_NATIVE? */ ++ } ++ if (evv == 1) { ++ if (honour_copts == 0) { ++ error ("someone does not honour COPTS at all in lenient mode"); ++ return false; ++ } else if (honour_copts != 1) { ++ warning (0, "someone does not honour COPTS correctly, passed %d times", ++ honour_copts); ++ } ++ } else if (evv == 2) { ++ if (honour_copts == 0) { ++ error ("someone does not honour COPTS at all in strict mode"); ++ return false; ++ } else if (honour_copts != 1) { ++ error ("someone does not honour COPTS correctly, passed %d times", ++ honour_copts); ++ return false; ++ } ++ } else if (evv == 0) { ++ if (honour_copts != 1) ++ inform (UNKNOWN_LOCATION, "someone does not honour COPTS correctly, passed %d times", ++ honour_copts); ++ } ++ } ++ + return true; + } + +--- a/gcc/c-family/c.opt ++++ b/gcc/c-family/c.opt +@@ -1590,6 +1590,9 @@ C++ ObjC++ Optimization Alias(fexception + fhonor-std + C++ ObjC++ WarnRemoved + ++fhonour-copts ++C ObjC C++ ObjC++ RejectNegative ++ + fhosted + C ObjC + Assume normal C execution environment. +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -1657,6 +1657,9 @@ fguess-branch-probability + Common Report Var(flag_guess_branch_prob) Optimization + Enable guessing of branch probabilities. + ++fhonour-copts ++Common RejectNegative ++ + ; Nonzero means ignore `#ident' directives. 0 means handle them. + ; Generate position-independent code for executables if possible + ; On SVR4 targets, it also controls whether or not to emit a +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -8169,6 +8169,17 @@ This option is only supported for C and + @option{-Wall} and by @option{-Wpedantic}, which can be disabled with + @option{-Wno-pointer-sign}. + ++ at item -fhonour-copts ++ at opindex fhonour-copts ++If @env{GCC_HONOUR_COPTS} is set to 1, abort if this option is not ++given at least once, and warn if it is given more than once. ++If @env{GCC_HONOUR_COPTS} is set to 2, abort if this option is not ++given exactly once. ++If @env{GCC_HONOUR_COPTS} is set to 0 or unset, warn if this option ++is not given exactly once. ++The warning is quelled if @env{GCC_HONOUR_COPTS} is set to @samp{s}. ++This flag and environment variable only affect the C language. ++ + @item -Wstack-protector + @opindex Wstack-protector + @opindex Wno-stack-protector +--- a/gcc/opts.c ++++ b/gcc/opts.c +@@ -2308,6 +2308,9 @@ common_handle_option (struct gcc_options + /* Currently handled in a prescan. */ + break; + ++ case OPT_fhonour_copts: ++ break; ++ + case OPT_Werror: + dc->warning_as_error_requested = value; + break; diff --git a/toolchain/gcc/patches/10.1.0/920-specs_nonfatal_getenv.patch b/toolchain/gcc/patches/10.1.0/920-specs_nonfatal_getenv.patch new file mode 100644 index 0000000000..487b9e47cb --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/920-specs_nonfatal_getenv.patch @@ -0,0 +1,22 @@ +Author: Jo-Philipp Wich +Date: Sat Apr 21 03:02:39 2012 +0000 + + gcc: add patch to make the getenv() spec function nonfatal if requested environment variable is unset + + SVN-Revision: 31390 + +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -9396,8 +9396,10 @@ getenv_spec_function (int argc, const ch + } + + if (!value) +- fatal_error (input_location, +- "environment variable %qs not defined", varname); ++ { ++ warning (input_location, "environment variable %qs not defined", varname); ++ value = ""; ++ } + + /* We have to escape every character of the environment variable so + they are not interpreted as active spec characters. A diff --git a/toolchain/gcc/patches/10.1.0/930-fix-mips-noexecstack.patch b/toolchain/gcc/patches/10.1.0/930-fix-mips-noexecstack.patch new file mode 100644 index 0000000000..e795acd1de --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/930-fix-mips-noexecstack.patch @@ -0,0 +1,111 @@ +From da45b3fde60095756f5f6030f6012c23a3d34429 Mon Sep 17 00:00:00 2001 +From: Andrew McDonnell +Date: Fri, 3 Oct 2014 19:09:00 +0930 +Subject: Add .note.GNU-stack section + +See http://lists.busybox.net/pipermail/uclibc/2014-October/048671.html +Below copied from https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02430.html + +Re: [Patch, MIPS] Add .note.GNU-stack section + + From: Steve Ellcey + +On Wed, 2014-09-10 at 10:15 -0700, Eric Christopher wrote: +> +> +> On Wed, Sep 10, 2014 at 9:27 AM, wrote: + +> This works except you did not update the assembly files in +> libgcc or glibc. We (Cavium) have the same patch in our tree +> for a few released versions. + +> Mind just checking yours in then Andrew? + +> Thanks! +> -eric + +I talked to Andrew about what files he changed in GCC and created and +tested this new patch. Andrew also mentioned changing some assembly +files in glibc but I don't see any use of '.section .note.GNU-stack' in +any assembly files in glibc (for any platform) so I wasn't planning on +creating a glibc to add them to mips glibc assembly language files. + +OK to check in this patch? + +Steve Ellcey +sellcey at mips.com + + + +2014-09-26 Steve Ellcey +--- + gcc/config/mips/mips.c | 3 +++ + libgcc/config/mips/crti.S | 4 ++++ + libgcc/config/mips/crtn.S | 3 +++ + libgcc/config/mips/mips16.S | 4 ++++ + libgcc/config/mips/vr4120-div.S | 4 ++++ + 5 files changed, 18 insertions(+) + +--- a/gcc/config/mips/mips.c ++++ b/gcc/config/mips/mips.c +@@ -22881,6 +22881,9 @@ mips_asm_file_end (void) + #define TARGET_ASM_FILE_END mips_asm_file_end + + ++#undef TARGET_ASM_FILE_END ++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + #include "gt-mips.h" +--- a/libgcc/config/mips/crti.S ++++ b/libgcc/config/mips/crti.S +@@ -24,6 +24,10 @@ see the files COPYING3 and COPYING.RUNTI + /* An executable stack is *not* required for these functions. */ + #include "gnustack.h" + ++ ++/* An executable stack is *not* required for these functions. */ ++ .section .note.GNU-stack,"",%progbits ++ + /* 4 slots for argument spill area. 1 for cpreturn, 1 for stack. + Return spill offset of 40 and 20. Aligned to 16 bytes for n32. */ + +--- a/libgcc/config/mips/crtn.S ++++ b/libgcc/config/mips/crtn.S +@@ -24,6 +24,9 @@ see the files COPYING3 and COPYING.RUNTI + /* An executable stack is *not* required for these functions. */ + #include "gnustack.h" + ++/* An executable stack is *not* required for these functions. */ ++ .section .note.GNU-stack,"",%progbits ++ + /* 4 slots for argument spill area. 1 for cpreturn, 1 for stack. + Return spill offset of 40 and 20. Aligned to 16 bytes for n32. */ + +--- a/libgcc/config/mips/mips16.S ++++ b/libgcc/config/mips/mips16.S +@@ -51,6 +51,10 @@ see the files COPYING3 and COPYING.RUNTI + values using the soft-float calling convention, but do the actual + operation using the hard floating point instructions. */ + ++/* An executable stack is *not* required for these functions. */ ++ .section .note.GNU-stack,"",%progbits ++ .previous ++ + #if defined _MIPS_SIM && (_MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIO64) + + /* This file contains 32-bit assembly code. */ +--- a/libgcc/config/mips/vr4120-div.S ++++ b/libgcc/config/mips/vr4120-div.S +@@ -29,6 +29,10 @@ see the files COPYING3 and COPYING.RUNTI + -mfix-vr4120. div and ddiv do not give the correct result when one + of the operands is negative. */ + ++/* An executable stack is *not* required for these functions. */ ++ .section .note.GNU-stack,"",%progbits ++ .previous ++ + .set nomips16 + + #define DIV \ diff --git a/toolchain/gcc/patches/10.1.0/931-libffi-fix-MIPS-softfloat-build-issue.patch b/toolchain/gcc/patches/10.1.0/931-libffi-fix-MIPS-softfloat-build-issue.patch new file mode 100644 index 0000000000..fb4cb1533a --- /dev/null +++ b/toolchain/gcc/patches/10.1.0/931-libffi-fix-MIPS-softfloat-build-issue.patch @@ -0,0 +1,168 @@ +From c0c62fa4256f805389f16ebfc4a60cf789129b50 Mon Sep 17 00:00:00 2001 +From: BangLang Huang +Date: Wed, 9 Nov 2016 10:36:49 +0800 +Subject: [PATCH] libffi: fix MIPS softfloat build issue + +Backported from github.com/libffi/libffi#272 + +Signed-off-by: BangLang Huang +Signed-off-by: Yousong Zhou +--- + libffi/src/mips/n32.S | 17 +++++++++++++++++ + libffi/src/mips/o32.S | 17 +++++++++++++++++ + 2 files changed, 34 insertions(+) + +--- a/libffi/src/mips/n32.S ++++ b/libffi/src/mips/n32.S +@@ -107,6 +107,16 @@ loadregs: + + REG_L t6, 3*FFI_SIZEOF_ARG($fp) # load the flags word into t6. + ++#ifdef __mips_soft_float ++ REG_L a0, 0*FFI_SIZEOF_ARG(t9) ++ REG_L a1, 1*FFI_SIZEOF_ARG(t9) ++ REG_L a2, 2*FFI_SIZEOF_ARG(t9) ++ REG_L a3, 3*FFI_SIZEOF_ARG(t9) ++ REG_L a4, 4*FFI_SIZEOF_ARG(t9) ++ REG_L a5, 5*FFI_SIZEOF_ARG(t9) ++ REG_L a6, 6*FFI_SIZEOF_ARG(t9) ++ REG_L a7, 7*FFI_SIZEOF_ARG(t9) ++#else + and t4, t6, ((1< +Date: Fri, 4 May 2018 18:20:53 +0800 +Subject: [PATCH] gotools: fix compilation when making cross compiler + +libgo is "the runtime support library for the Go programming language. +This library is intended for use with the Go frontend." + +gccgo will link target files with libgo.so which depends on libgcc_s.so.1, but +the linker will complain that it cannot find it. That's because shared libgcc +is not present in the install directory yet. libgo.so was made without problem +because gcc will emit -lgcc_s when compiled with -shared option. When gotools +were being made, it was supplied with -static-libgcc thus no link option was +provided. Check LIBGO in gcc/go/gcc-spec.c for how gccgo make a builtin spec +for linking with libgo.so + +- GccgoCrossCompilation, https://github.com/golang/go/wiki/GccgoCrossCompilation +- Cross-building instructions, http://www.eglibc.org/archives/patches/msg00078.html + +When 3-pass GCC compilation is used, shared libgcc runtime libraries will be +available after gcc pass2 completed and will meet the gotools link requirement +at gcc pass3 +--- + gotools/Makefile.am | 4 +++- + gotools/Makefile.in | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +--- a/gotools/Makefile.am ++++ b/gotools/Makefile.am +@@ -26,6 +26,7 @@ PWD_COMMAND = $${PWDCMD-pwd} + STAMP = echo timestamp > + + libgodir = ../$(target_noncanonical)/libgo ++libgccdir = ../$(target_noncanonical)/libgcc + LIBGODEP = $(libgodir)/libgo.la + + LIBGOTOOL = $(libgodir)/libgotool.a +@@ -41,7 +42,8 @@ GOCFLAGS = $(CFLAGS_FOR_TARGET) + GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS) + + AM_GOCFLAGS = -I $(libgodir) +-AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs ++AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs \ ++ -L $(libgccdir) -L $(libgccdir)/.libs -lgcc_s + GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@ + + libgosrcdir = $(srcdir)/../libgo/go +--- a/gotools/Makefile.in ++++ b/gotools/Makefile.in +@@ -337,6 +337,7 @@ mkinstalldirs = $(SHELL) $(toplevel_srcd + PWD_COMMAND = $${PWDCMD-pwd} + STAMP = echo timestamp > + libgodir = ../$(target_noncanonical)/libgo ++libgccdir = ../$(target_noncanonical)/libgcc + LIBGODEP = $(libgodir)/libgo.la + LIBGOTOOL = $(libgodir)/libgotool.a + @NATIVE_FALSE at GOCOMPILER = $(GOC) +@@ -346,7 +347,8 @@ LIBGOTOOL = $(libgodir)/libgotool.a + GOCFLAGS = $(CFLAGS_FOR_TARGET) + GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS) + AM_GOCFLAGS = -I $(libgodir) +-AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs ++AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs \ ++ -L $(libgccdir) -L $(libgccdir)/.libs -lgcc_s + GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@ + libgosrcdir = $(srcdir)/../libgo/go + cmdsrcdir = $(libgosrcdir)/cmd -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From lynxis at fe80.eu Sun Jun 21 08:34:19 2020 From: lynxis at fe80.eu (Alexander 'lynxis' Couzens) Date: Sun, 21 Jun 2020 14:34:19 +0200 Subject: [OpenWrt-Devel] [PATCH] lantiq: fritz7312: set maximum speed to 100 mbit on 5.4 In-Reply-To: <003a01d645b0$9acd8850$d06898f0$@adrianschmutzler.de> References: <20200618094858.1929-1-freifunk@adrianschmutzler.de> <003a01d645b0$9acd8850$d06898f0$@adrianschmutzler.de> Message-ID: <20200621143419.4b8d3742@lazus.yip> > Hi, > > I don't have any clue at all about the problem itself. > > I just found the inconsistency and want to align 4.19 and 5.4, as > currently it is effectively a regression. > > If you want to address this differently, go for it, but don't ask me > anything about it ;-) i tested it before commiting the patch. it did a difference. i might have time next weekend to look over it and do additional tests. Please push the commit. Best, lynxis -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From hauke at hauke-m.de Sun Jun 21 12:26:41 2020 From: hauke at hauke-m.de (Hauke Mehrtens) Date: Sun, 21 Jun 2020 18:26:41 +0200 Subject: [PATCH] build: IS_TTY is now set according to GNU Make's MAKE_TERMOUT In-Reply-To: <20200610093326.18897-1-rdiezmail-openwrt@yahoo.com> References: <20200610093326.18897-1-rdiezmail-openwrt.ref@yahoo.com> <20200610093326.18897-1-rdiezmail-openwrt@yahoo.com> Message-ID: <49944196-4e35-6894-8bf6-a05173cb6a38@hauke-m.de> On 6/10/20 11:33 AM, R. Diez wrote: > Fixes: FS#2086 > The logic for IS_TTY was broken, because it was testing stdin > instead of stdout. > MAKE_TERMOUT was introduced in GNU Make version 4.1 (05 Oct 2014), > so it should be available everywhere nowadays. Currently OpenWrt requires "GNU make v3.82", see include/prereq-build.mk Hauke > > Signed-off-by: R. Diez > --- > include/toplevel.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/toplevel.mk b/include/toplevel.mk > index 5cf93ce7ef..a9c503db61 100644 > --- a/include/toplevel.mk > +++ b/include/toplevel.mk > @@ -8,7 +8,7 @@ > > PREP_MK= OPENWRT_BUILD= QUIET=0 > > -export IS_TTY=$(shell tty -s && echo 1 || echo 0) > +export IS_TTY=$(if $(MAKE_TERMOUT),1,0) > > include $(TOPDIR)/include/verbose.mk > > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From noreply at github.com Sun Jun 21 14:31:37 2020 From: noreply at github.com (Stephen Walker) Date: Sun, 21 Jun 2020 11:31:37 -0700 Subject: [sdwalker/sdwalker.github.io] 09d72c: This week's update Message-ID: Branch: refs/heads/master Home: https://github.com/sdwalker/sdwalker.github.io Commit: 09d72cece8f85f07d83f2baa4989f1ec806acd26 https://github.com/sdwalker/sdwalker.github.io/commit/09d72cece8f85f07d83f2baa4989f1ec806acd26 Author: Stephen Walker Date: 2020-06-21 (Sun, 21 Jun 2020) Changed paths: M uscan/index-18.06.html M uscan/index-19.07.html M uscan/index.html Log Message: ----------- This week's update _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Mon Jun 22 00:37:36 2020 From: rosenp at gmail.com (Rosen Penev) Date: Sun, 21 Jun 2020 21:37:36 -0700 Subject: [PATCH] odhcpd: fix compilation with GCC10 Message-ID: <20200622043736.1558582-1-rosenp@gmail.com> GCC10 mandates the C++ one definition rule, which breaks on multiple definitions of config. Add the appropriate extern declarations. Signed-off-by: Rosen Penev --- src/dhcpv6-ia.c | 2 ++ src/odhcpd.c | 2 +- src/odhcpd.h | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c index 38a901b..60368cb 100644 --- a/src/dhcpv6-ia.c +++ b/src/dhcpv6-ia.c @@ -39,6 +39,8 @@ ((iface)->dhcpv6_assignall || (i) == (m) || \ (addrs)[(i)].prefix > 64) +extern struct config config; + static void dhcpv6_netevent_cb(unsigned long event, struct netevent_handler_info *info); static void apply_lease(struct dhcp_assignment *a, bool add); static void set_border_assignment_size(struct interface *iface, struct dhcp_assignment *b); diff --git a/src/odhcpd.c b/src/odhcpd.c index 26094b1..d781ca7 100644 --- a/src/odhcpd.c +++ b/src/odhcpd.c @@ -43,7 +43,7 @@ #include #include "odhcpd.h" - +extern struct config config; static int ioctl_sock = -1; static int urandom_fd = -1; diff --git a/src/odhcpd.h b/src/odhcpd.h index 072a148..b0ad8d0 100644 --- a/src/odhcpd.h +++ b/src/odhcpd.h @@ -139,7 +139,7 @@ struct config { char *dhcp_cb; char *dhcp_statefile; int log_level; -} config; +}; struct lease { -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Mon Jun 22 04:25:45 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Mon, 22 Jun 2020 10:25:45 +0200 Subject: [OpenWrt-Devel] [PATCH] mvebu: refresh config In-Reply-To: <20200617170426.123307-1-rsalvaterra@gmail.com> References: <20200617170426.123307-1-rsalvaterra@gmail.com> Message-ID: <20200622082530.GA1254@meh.true.cz> Rui Salvaterra [2020-06-17 18:04:28]: Hi, > CONFIG_GRO_CELLS and CONFIG_PAGE_POOL added. well I can see that in the diff already, but I'm missing the answer to 'Why?' question. > Signed-off-by: Rui Salvaterra > --- > target/linux/mvebu/config-5.4 | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/target/linux/mvebu/config-5.4 b/target/linux/mvebu/config-5.4 > index ac3e73c7f0..feb1ccac8c 100644 > --- a/target/linux/mvebu/config-5.4 > +++ b/target/linux/mvebu/config-5.4 > @@ -216,6 +216,7 @@ CONFIG_GPIO_MVEBU=y > CONFIG_GPIO_PCA953X=y > CONFIG_GPIO_PCA953X_IRQ=y > CONFIG_GPIO_SYSFS=y > +CONFIG_GRO_CELLS=y > CONFIG_HANDLE_DOMAIN_IRQ=y > CONFIG_HARDEN_BRANCH_PREDICTOR=y > CONFIG_HARDIRQS_SW_RESEND=y > @@ -380,6 +381,7 @@ CONFIG_OUTER_CACHE=y > CONFIG_OUTER_CACHE_SYNC=y > CONFIG_PADATA=y > CONFIG_PAGE_OFFSET=0xC0000000 > +CONFIG_PAGE_POOL=y > CONFIG_PCI=y > CONFIG_PCI_BRIDGE_EMUL=y > CONFIG_PCI_DOMAINS=y -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Mon Jun 22 04:25:45 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Mon, 22 Jun 2020 10:25:45 +0200 Subject: [OpenWrt-Devel] [PATCH] mvebu: refresh config In-Reply-To: <20200617170426.123307-1-rsalvaterra@gmail.com> References: <20200617170426.123307-1-rsalvaterra@gmail.com> Message-ID: <20200622082530.GA1254@meh.true.cz> Rui Salvaterra [2020-06-17 18:04:28]: Hi, > CONFIG_GRO_CELLS and CONFIG_PAGE_POOL added. well I can see that in the diff already, but I'm missing the answer to 'Why?' question. > Signed-off-by: Rui Salvaterra > --- > target/linux/mvebu/config-5.4 | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/target/linux/mvebu/config-5.4 b/target/linux/mvebu/config-5.4 > index ac3e73c7f0..feb1ccac8c 100644 > --- a/target/linux/mvebu/config-5.4 > +++ b/target/linux/mvebu/config-5.4 > @@ -216,6 +216,7 @@ CONFIG_GPIO_MVEBU=y > CONFIG_GPIO_PCA953X=y > CONFIG_GPIO_PCA953X_IRQ=y > CONFIG_GPIO_SYSFS=y > +CONFIG_GRO_CELLS=y > CONFIG_HANDLE_DOMAIN_IRQ=y > CONFIG_HARDEN_BRANCH_PREDICTOR=y > CONFIG_HARDIRQS_SW_RESEND=y > @@ -380,6 +381,7 @@ CONFIG_OUTER_CACHE=y > CONFIG_OUTER_CACHE_SYNC=y > CONFIG_PADATA=y > CONFIG_PAGE_OFFSET=0xC0000000 > +CONFIG_PAGE_POOL=y > CONFIG_PCI=y > CONFIG_PCI_BRIDGE_EMUL=y > CONFIG_PCI_DOMAINS=y -- ynezz _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From ynezz at true.cz Mon Jun 22 04:37:36 2020 From: ynezz at true.cz (Petr =?utf-8?Q?=C5=A0tetiar?=) Date: Mon, 22 Jun 2020 10:37:36 +0200 Subject: [OpenWrt-Devel] [PATCH] build: svn: remove the check for trust-server-cert option In-Reply-To: <490ce8ac.1476.17291a7962a.Coremail.zhangkaiheb@126.com> References: <490ce8ac.1476.17291a7962a.Coremail.zhangkaiheb@126.com> Message-ID: <20200622083736.GA7314@meh.true.cz> kai zhang [2020-06-08 09:59:38]: Hi, > The command:(svn help export) does not display trust-server-cert > option by default even if it is supported with svn version 1.13.0. seems like that option was probably deprecated, so maybe `--trust-server-cert-failures` should be preferred now? --trust-server-cert : deprecated; same as --trust-server-cert-failures=unknown-ca --trust-server-cert-failures ARG : with --non-interactive, accept SSL server certificates with failures; ARG is comma-separated list of 'unknown-ca' (Unknown Authority), 'cn-mismatch' (Hostname mismatch), 'expired' (Expired certificate), 'not-yet-valid' (Not yet valid certificate) and 'other' (all other not separately classified certificate errors). _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Mon Jun 22 04:37:56 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Mon, 22 Jun 2020 09:37:56 +0100 Subject: [OpenWrt-Devel] [PATCH] mvebu: refresh config In-Reply-To: <20200622082530.GA1254@meh.true.cz> References: <20200617170426.123307-1-rsalvaterra@gmail.com> <20200622082530.GA1254@meh.true.cz> Message-ID: Hi, Petr, On Mon, 22 Jun 2020 at 09:25, Petr ?tetiar wrote: > > well I can see that in the diff already, but I'm missing the answer to 'Why?' question. No particular reason, I ran make kernel_oldconfig and these new options were set automatically, which means they're probably non-optional. We might as well make them explicit, right? Thanks, Rui _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Mon Jun 22 07:44:59 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Mon, 22 Jun 2020 13:44:59 +0200 Subject: [PATCH] ath79: do not build TP-Link tiny images by default Message-ID: <20200622114459.8472-1-freifunk@adrianschmutzler.de> For quite some time, the tiny (4M flash) TP-Link sysupgrade and factory images cannot be built anymore by the buildbots, just the initramfs-kernel.bin file are still there. Disable these images for the buildbots and save some CPU cycles. Note that these devices still build fine with default settings, even for kernel 5.4. Signed-off-by: Adrian Schmutzler --- target/linux/ath79/image/common-tp-link.mk | 2 ++ target/linux/ath79/image/tiny-tp-link.mk | 1 + 2 files changed, 3 insertions(+) diff --git a/target/linux/ath79/image/common-tp-link.mk b/target/linux/ath79/image/common-tp-link.mk index 81a557df48..3ae377f78f 100644 --- a/target/linux/ath79/image/common-tp-link.mk +++ b/target/linux/ath79/image/common-tp-link.mk @@ -48,12 +48,14 @@ define Device/tplink-4m $(Device/tplink-nolzma) TPLINK_FLASHLAYOUT := 4M IMAGE_SIZE := 3904k + DEFAULT := n endef define Device/tplink-4mlzma $(Device/tplink-v1) TPLINK_FLASHLAYOUT := 4Mlzma IMAGE_SIZE := 3904k + DEFAULT := n endef define Device/tplink-8m diff --git a/target/linux/ath79/image/tiny-tp-link.mk b/target/linux/ath79/image/tiny-tp-link.mk index 4926084597..0da712c5d4 100644 --- a/target/linux/ath79/image/tiny-tp-link.mk +++ b/target/linux/ath79/image/tiny-tp-link.mk @@ -157,6 +157,7 @@ define Device/tplink_tl-wa850re-v2 TPLINK_HWID := 0x08500002 DEVICE_PACKAGES := rssileds SUPPORTED_DEVICES += tl-wa850re-v2 + DEFAULT := n endef TARGET_DEVICES += tplink_tl-wa850re-v2 -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Mon Jun 22 07:50:04 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Mon, 22 Jun 2020 13:50:04 +0200 Subject: [PATCH 19.07] ath79: do not build TP-Link tiny images by default Message-ID: <20200622115004.59552-1-freifunk@adrianschmutzler.de> For quite some time, the tiny (4M flash) TP-Link sysupgrade and factory images cannot be built anymore by the buildbots, just the initramfs-kernel.bin files are still there. Disable these images for the buildbots and save some CPU cycles. Note that these devices still build fine with default settings, just not with the additional packages and config symbols for the buildbots. Signed-off-by: Adrian Schmutzler --- target/linux/ath79/image/common-tp-link.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/linux/ath79/image/common-tp-link.mk b/target/linux/ath79/image/common-tp-link.mk index 6efff6322e..01733b01c5 100644 --- a/target/linux/ath79/image/common-tp-link.mk +++ b/target/linux/ath79/image/common-tp-link.mk @@ -71,12 +71,14 @@ define Device/tplink-4m $(Device/tplink-nolzma) TPLINK_FLASHLAYOUT := 4M IMAGE_SIZE := 3904k + DEFAULT := n endef define Device/tplink-4mlzma $(Device/tplink) TPLINK_FLASHLAYOUT := 4Mlzma IMAGE_SIZE := 3904k + DEFAULT := n endef define Device/tplink-8m -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From dwmw2 at infradead.org Mon Jun 22 08:52:24 2020 From: dwmw2 at infradead.org (David Woodhouse) Date: Mon, 22 Jun 2020 13:52:24 +0100 Subject: lists.infradead.org restored from backup, git.infradead.org down. Message-ID: <5277ad6f4147325a921678367b4501d87217e95c.camel@infradead.org> The machine hosting lists.infradead.org and git.infradead.org suffered a complete disk failure over the weekend; sadly the last backup of the mailman config was fairly old (May 2018) so the subscriber lists and archives have been reset to that date, but the lists should be running again. I've recreated the new lists which had been created since then. The lists should be up and running again on a new host; we can recreate archives if anyone can provide the mailboxes. Users will have to resubscribe (and in some cases, unsubscribe again). Apologies for the inconvenience. If you had personal email hosted on, or going through, bombadil.infradead.org then please let me know and we can move you to another box. The dead box was also git.infradead.org; I'll be fixing that next... if you had an account and want it reinstated then please let me know. -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 5174 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Mon Jun 22 10:59:32 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Mon, 22 Jun 2020 16:59:32 +0200 Subject: lists.infradead.org restored from backup, git.infradead.org down. In-Reply-To: <5277ad6f4147325a921678367b4501d87217e95c.camel@infradead.org> References: <5277ad6f4147325a921678367b4501d87217e95c.camel@infradead.org> Message-ID: <001e01d648a5$bd1ee2d0$375ca870$@adrianschmutzler.de> Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of David Woodhouse > Sent: Montag, 22. Juni 2020 14:52 > To: linux-kernel at vger.kernel.org > Cc: kexec ; openwrt-devel devel at lists.openwrt.org>; linux-mtd at lists.infradead.org; linux-arm-kernel > ; openconnect-devel devel at lists.infradead.org> > Subject: lists.infradead.org restored from backup, git.infradead.org down. > > The machine hosting lists.infradead.org and git.infradead.org suffered a > complete disk failure over the weekend; sadly the last backup of the > mailman config was fairly old (May 2018) so the subscriber lists and archives > have been reset to that date, but the lists should be running again. > > I've recreated the new lists which had been created since then. > > The lists should be up and running again on a new host; we can recreate > archives if anyone can provide the mailboxes. There is this page: https://www.mail-archive.com/openwrt-devel at lists.openwrt.org/ Don't know whether they provide a sufficient interface though or will respond and help if asked nicely ... Best Adrian > > Users will have to resubscribe (and in some cases, unsubscribe again). > Apologies for the inconvenience. > > If you had personal email hosted on, or going through, > bombadil.infradead.org then please let me know and we can move you to > another box. > > The dead box was also git.infradead.org; I'll be fixing that next... if you had an > account and want it reinstated then please let me know. -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From zajec5 at gmail.com Mon Jun 22 11:14:05 2020 From: zajec5 at gmail.com (=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?=) Date: Mon, 22 Jun 2020 17:14:05 +0200 Subject: [PATCH RFC procd] service: add "init_action" ubus method for /etc/init.d/ scripts Message-ID: <20200622151405.21445-1-zajec5@gmail.com> From: Rafa? Mi?ecki This methods allows executing /etc/init.d/ scripts with requested action. It's useful for all kind of UIs (e.g. LuCI) and custom apps. The next step should be "init_list" method support listing all init.d scripts. Signed-off-by: Rafa? Mi?ecki --- service/service.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 1 deletion(-) diff --git a/service/service.c b/service/service.c index fcf0215..47fc88a 100644 --- a/service/service.c +++ b/service/service.c @@ -12,8 +12,11 @@ * GNU General Public License for more details. */ -#include +#include +#include #include +#include +#include #include #include @@ -292,6 +295,17 @@ static const struct blobmsg_policy container_console_policy[__CONTAINER_CONSOLE_ [CONTAINER_CONSOLE_INSTANCE] = { "instance", BLOBMSG_TYPE_STRING }, }; +enum { + INIT_ACTION_NAME, + INIT_ACTION_ACTION, + __INIT_MAX +}; + +static const struct blobmsg_policy init_action_policy[] = { + [INIT_ACTION_NAME] = { "name", BLOBMSG_TYPE_STRING }, + [INIT_ACTION_ACTION] = { "action", BLOBMSG_TYPE_STRING }, +}; + static inline bool is_container_obj(struct ubus_object *obj) { return (obj && (strcmp(obj->name, "container") == 0)); @@ -785,6 +799,86 @@ err_console_fd: } +struct service_init_context { + struct uloop_process process; + struct ubus_context *ctx; + struct ubus_request_data req; +}; + +static void service_init_action_cb(struct uloop_process *p, int stat) +{ + struct service_init_context *c = container_of(p, struct service_init_context, process); + + ubus_complete_deferred_request(c->ctx, &c->req, UBUS_STATUS_OK); + + free(c); +} + +static int service_init_action(struct ubus_context *ctx, + struct ubus_object *obj, + struct ubus_request_data *req, + const char *method, + struct blob_attr *msg) +{ + struct blob_attr *tb[__INIT_MAX]; + struct service_init_context *c; + struct stat s; + char script[PATH_MAX]; + const char *action; + pid_t pid; + int fd; + + blobmsg_parse(init_action_policy, __INIT_MAX, tb, blobmsg_data(msg), blobmsg_data_len(msg)); + + if (!tb[INIT_ACTION_NAME] || !tb[INIT_ACTION_ACTION]) + return UBUS_STATUS_INVALID_ARGUMENT; + + snprintf(script, sizeof(script), "/etc/init.d/%s", blobmsg_get_string(tb[INIT_ACTION_NAME])); + if (stat(script, &s) || !(s.st_mode & S_IXUSR)) + return UBUS_STATUS_NOT_FOUND; + + action = blobmsg_get_string(tb[INIT_ACTION_ACTION]); + if (strcmp(action, "disable") && + strcmp(action, "enable") && + strcmp(action, "stop") && + strcmp(action, "start") && + strcmp(action, "restart") && + strcmp(action, "reload")) + return UBUS_STATUS_INVALID_ARGUMENT; + + c = calloc(1, sizeof(*c)); + if (!c) + return UBUS_STATUS_UNKNOWN_ERROR; + + pid = fork(); + switch (pid) { + case -1: + free(c); + return UBUS_STATUS_UNKNOWN_ERROR; + case 0: + /* Set stdin, stdout & stderr to /dev/null */ + fd = open("/dev/null", O_RDWR); + if (fd >= 0) { + dup2(fd, 0); + dup2(fd, 1); + dup2(fd, 2); + close(fd); + } + + execl(script, script, action, NULL); + exit(errno); + default: + c->ctx = ctx; + c->process.pid = pid; + c->process.cb = service_init_action_cb; + uloop_process_add(&c->process); + + ubus_defer_request(ctx, req, &c->req); + + return 0; /* Deferred */ + } +} + static struct ubus_method main_object_methods[] = { UBUS_METHOD("set", service_handle_set, service_set_attrs), UBUS_METHOD("add", service_handle_set, service_set_attrs), @@ -797,6 +891,7 @@ static struct ubus_method main_object_methods[] = { UBUS_METHOD("validate", service_handle_validate, validate_policy), UBUS_METHOD("get_data", service_get_data, get_data_policy), UBUS_METHOD("state", service_handle_state, service_state_attrs), + UBUS_METHOD("init_action", service_init_action, init_action_policy), }; static struct ubus_object_type main_object_type = -- 2.26.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From jo at mein.io Mon Jun 22 11:33:12 2020 From: jo at mein.io (Jo-Philipp Wich) Date: Mon, 22 Jun 2020 17:33:12 +0200 Subject: [PATCH RFC procd] service: add "init_action" ubus method for /etc/init.d/ scripts In-Reply-To: <20200622151405.21445-1-zajec5@gmail.com> References: <20200622151405.21445-1-zajec5@gmail.com> Message-ID: <89057bb3-c60d-5f34-cf20-f289cad14222@wwsnet.net> Hi, in addition to the inline comments, I'd personally prefer to see such functionality as rpcd plugin, not in procd itself. Not all init scripts are procd enabled and not all procd processes have init scripts, due to that I think that init script enumeration methods should reside elsewhere since they're neither needed by procd itself nor by init scripts starting procd processes. ~ Jo On 6/22/20 5:14 PM, Rafa? Mi?ecki wrote: > From: Rafa? Mi?ecki > > This methods allows executing /etc/init.d/ scripts with requested > action. It's useful for all kind of UIs (e.g. LuCI) and custom apps. > > The next step should be "init_list" method support listing all init.d > scripts. > > Signed-off-by: Rafa? Mi?ecki > --- > service/service.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 96 insertions(+), 1 deletion(-) > > diff --git a/service/service.c b/service/service.c > index fcf0215..47fc88a 100644 > --- a/service/service.c > +++ b/service/service.c > @@ -12,8 +12,11 @@ > * GNU General Public License for more details. > */ > > -#include > +#include > +#include > #include > +#include > +#include > #include > > #include > @@ -292,6 +295,17 @@ static const struct blobmsg_policy container_console_policy[__CONTAINER_CONSOLE_ > [CONTAINER_CONSOLE_INSTANCE] = { "instance", BLOBMSG_TYPE_STRING }, > }; > > +enum { > + INIT_ACTION_NAME, > + INIT_ACTION_ACTION, > + __INIT_MAX > +}; > + > +static const struct blobmsg_policy init_action_policy[] = { > + [INIT_ACTION_NAME] = { "name", BLOBMSG_TYPE_STRING }, > + [INIT_ACTION_ACTION] = { "action", BLOBMSG_TYPE_STRING }, > +}; > + > static inline bool is_container_obj(struct ubus_object *obj) > { > return (obj && (strcmp(obj->name, "container") == 0)); > @@ -785,6 +799,86 @@ err_console_fd: > } > > > +struct service_init_context { > + struct uloop_process process; > + struct ubus_context *ctx; > + struct ubus_request_data req; > +}; > + > +static void service_init_action_cb(struct uloop_process *p, int stat) > +{ > + struct service_init_context *c = container_of(p, struct service_init_context, process); > + > + ubus_complete_deferred_request(c->ctx, &c->req, UBUS_STATUS_OK); > + > + free(c); > +} > + > +static int service_init_action(struct ubus_context *ctx, > + struct ubus_object *obj, > + struct ubus_request_data *req, > + const char *method, > + struct blob_attr *msg) > +{ > + struct blob_attr *tb[__INIT_MAX]; > + struct service_init_context *c; > + struct stat s; > + char script[PATH_MAX]; > + const char *action; > + pid_t pid; > + int fd; > + > + blobmsg_parse(init_action_policy, __INIT_MAX, tb, blobmsg_data(msg), blobmsg_data_len(msg)); > + > + if (!tb[INIT_ACTION_NAME] || !tb[INIT_ACTION_ACTION]) > + return UBUS_STATUS_INVALID_ARGUMENT; > + > + snprintf(script, sizeof(script), "/etc/init.d/%s", blobmsg_get_string(tb[INIT_ACTION_NAME])); This allows executing arbitrary commands with root permissions due to a simple path traversal, e.g. when passing a "name" attribute value like "../../sbin/reboot". Granted, exploitability is somewhat reduced due to the restricted amount of possible arguments, still you should probably at the very least reject values with slashes. > + if (stat(script, &s) || !(s.st_mode & S_IXUSR)) > + return UBUS_STATUS_NOT_FOUND; I think we should also check that the script in question belongs to root and that it is only writable by the owner, to avoid executing script code modifiable by unprivileged users. > + > + action = blobmsg_get_string(tb[INIT_ACTION_ACTION]); > + if (strcmp(action, "disable") && > + strcmp(action, "enable") && > + strcmp(action, "stop") && > + strcmp(action, "start") && > + strcmp(action, "restart") && > + strcmp(action, "reload")) > + return UBUS_STATUS_INVALID_ARGUMENT; > + > + c = calloc(1, sizeof(*c)); > + if (!c) > + return UBUS_STATUS_UNKNOWN_ERROR; > + > + pid = fork(); > + switch (pid) { > + case -1: > + free(c); > + return UBUS_STATUS_UNKNOWN_ERROR; > + case 0: > + /* Set stdin, stdout & stderr to /dev/null */ > + fd = open("/dev/null", O_RDWR); > + if (fd >= 0) { > + dup2(fd, 0); > + dup2(fd, 1); > + dup2(fd, 2); > + close(fd); > + } > + > + execl(script, script, action, NULL); > + exit(errno); > + default: > + c->ctx = ctx; > + c->process.pid = pid; > + c->process.cb = service_init_action_cb; > + uloop_process_add(&c->process); An additional timeout might make sense here after which the invoked process is forcibly killed. Non procd compliant init scripts might execute completely unintended logic when invoked with one of the arguments above, there is no guarantee that they return quickly, or return at all. > + > + ubus_defer_request(ctx, req, &c->req); > + > + return 0; /* Deferred */ > + } > +} > + > static struct ubus_method main_object_methods[] = { > UBUS_METHOD("set", service_handle_set, service_set_attrs), > UBUS_METHOD("add", service_handle_set, service_set_attrs), > @@ -797,6 +891,7 @@ static struct ubus_method main_object_methods[] = { > UBUS_METHOD("validate", service_handle_validate, validate_policy), > UBUS_METHOD("get_data", service_get_data, get_data_policy), > UBUS_METHOD("state", service_handle_state, service_state_attrs), > + UBUS_METHOD("init_action", service_init_action, init_action_policy), > }; > > static struct ubus_object_type main_object_type = > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From john at phrozen.org Mon Jun 22 12:56:12 2020 From: john at phrozen.org (John Crispin) Date: Mon, 22 Jun 2020 18:56:12 +0200 Subject: [PATCH RFC procd] service: add "init_action" ubus method for /etc/init.d/ scripts In-Reply-To: <20200622151405.21445-1-zajec5@gmail.com> References: <20200622151405.21445-1-zajec5@gmail.com> Message-ID: <56a47c98-fa77-90f3-d0f5-c2bb8294e9df@phrozen.org> On 22.06.20 17:14, Rafa? Mi?ecki wrote: > + UBUS_METHOD("init_action", service_init_action, init_action_policy), patch looks good, nitpick "rc_action" ? ??? John _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From dgcbueu at gmail.com Mon Jun 22 15:44:44 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Mon, 22 Jun 2020 21:44:44 +0200 Subject: [PATCH v4] bcm63xx: R5010UNv2: fix flash partitions for 16MB flash Message-ID: <46373650.Ab4fQAR1kK@tool> The router Nucom R5010UN v2 has the partitions defined for a 8MB flash, but the flash chip is 16MB size. We are wasting half of the flash. Fix it and use generic names for partitions. Fixes: 474cde61234c ("brcm63xx: probe SPI flash through DT") Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v4: - Patch refreshed - Now using generic node names for the partitions Changes in v3: - added missing SOB Changes in v2: - the mail client truncated the patch header, fixed target/linux/bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/linux/bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts b/target/linux/bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts index 639cef3a7e..365a4552f2 100644 --- a/target/linux/bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts +++ b/target/linux/bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts @@ -94,20 +94,20 @@ #address-cells = <1>; #size-cells = <1>; - cfe at 0 { + partition at 0 { reg = <0x000000 0x010000>; label = "cfe"; read-only; }; - linux at 10000 { - reg = <0x010000 0x7e0000>; + partition at 10000 { + reg = <0x010000 0xfe0000>; label = "linux"; compatible = "brcm,bcm963xx-imagetag"; }; - nvram at 7f0000 { - reg = <0x7f0000 0x010000>; + partition at ff0000 { + reg = <0xff0000 0x010000>; label = "nvram"; }; }; -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From zajec5 at gmail.com Tue Jun 23 01:06:10 2020 From: zajec5 at gmail.com (=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?=) Date: Tue, 23 Jun 2020 07:06:10 +0200 Subject: [PATCH RFC rpcd] rc: new ubus object for handling /etc/init.d/ scripts Message-ID: <20200623050610.27023-1-zajec5@gmail.com> From: Rafa? Mi?ecki This commit adds "rc" ubus object with "exec" method that allows calling /etc/init.d/ scripts. It's useful for all kind of UIs (e.g. LuCI) and custom apps. The next step should be "list" method support listing add init scripts. Signed-off-by: Rafa? Mi?ecki --- I didn't implement custom timeout for waiting for init.d script yet. Two reasons: 1. ubus call will eventually timeout on its own 2. it'd be nice to have some uloop_process helper for that --- CMakeLists.txt | 2 +- include/rpcd/rc.h | 7 +++ main.c | 6 +- rc.c | 140 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 152 insertions(+), 3 deletions(-) create mode 100644 include/rpcd/rc.h create mode 100644 rc.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 3bfc286..26e011e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,7 +38,7 @@ INCLUDE_DIRECTORIES(${ubus_include_dir}) FIND_PATH(ubox_include_dir libubox/blobmsg_json.h) INCLUDE_DIRECTORIES(${ubox_include_dir}) -ADD_EXECUTABLE(rpcd main.c exec.c session.c uci.c plugin.c) +ADD_EXECUTABLE(rpcd main.c exec.c session.c uci.c rc.c plugin.c) TARGET_LINK_LIBRARIES(rpcd ${ubox} ${ubus} ${uci} ${blobmsg_json} ${json} ${crypt} dl) SET(PLUGINS "") diff --git a/include/rpcd/rc.h b/include/rpcd/rc.h new file mode 100644 index 0000000..ca00f56 --- /dev/null +++ b/include/rpcd/rc.h @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: ISC OR MIT +#ifndef __RPCD_RC_H +#define __RPCD_RC_H + +int rpc_rc_api_init(struct ubus_context *ctx); + +#endif diff --git a/main.c b/main.c index 9a177cf..d77a814 100644 --- a/main.c +++ b/main.c @@ -25,10 +25,11 @@ #include #include +#include +#include +#include #include #include -#include -#include static struct ubus_context *ctx; static bool respawn = false; @@ -113,6 +114,7 @@ int main(int argc, char **argv) rpc_session_api_init(ctx); rpc_uci_api_init(ctx); + rpc_rc_api_init(ctx); rpc_plugin_api_init(ctx); hangup = getenv("RPC_HANGUP"); diff --git a/rc.c b/rc.c new file mode 100644 index 0000000..a354332 --- /dev/null +++ b/rc.c @@ -0,0 +1,140 @@ +// SPDX-License-Identifier: ISC OR MIT +/* + * rpcd - UBUS RPC server + * + * Copyright (C) 2020 Rafa? Mi?ecki + */ + +#include +#include +#include +#include + +#include +#include +#include + +#include + +enum { + RC_EXEC_NAME, + RC_EXEC_ACTION, + __RC_EXEC_MAX +}; + +static const struct blobmsg_policy rc_exec_policy[] = { + [RC_EXEC_NAME] = { "name", BLOBMSG_TYPE_STRING }, + [RC_EXEC_ACTION] = { "action", BLOBMSG_TYPE_STRING }, +}; + +struct rc_exec_context { + struct uloop_process process; + struct ubus_context *ctx; + struct ubus_request_data req; +}; + +static void rc_exec_cb(struct uloop_process *p, int stat) +{ + struct rc_exec_context *c = container_of(p, struct rc_exec_context, process); + + ubus_complete_deferred_request(c->ctx, &c->req, UBUS_STATUS_OK); + + free(c); +} + +static int rc_exec(struct ubus_context *ctx, struct ubus_object *obj, + struct ubus_request_data *req, const char *method, + struct blob_attr *msg) +{ + struct blob_attr *tb[__RC_EXEC_MAX]; + struct rc_exec_context *c; + struct stat s; + const char *action; + const char *name; + char script[PATH_MAX]; + pid_t pid; + const char *chr; + int fd; + + blobmsg_parse(rc_exec_policy, __RC_EXEC_MAX, tb, blobmsg_data(msg), blobmsg_data_len(msg)); + + if (!tb[RC_EXEC_NAME] || !tb[RC_EXEC_ACTION]) + return UBUS_STATUS_INVALID_ARGUMENT; + + name = blobmsg_get_string(tb[RC_EXEC_NAME]); + + /* Validate script name */ + for (chr = name; (chr = strchr(chr, '.')); chr++) { + if (*(chr + 1) == '.') + return UBUS_STATUS_INVALID_ARGUMENT; + } + if (strchr(name, '/')) + return UBUS_STATUS_INVALID_ARGUMENT; + + /* Validate script privileges */ + snprintf(script, sizeof(script), "/etc/init.d/%s", name); + if (stat(script, &s)) + return UBUS_STATUS_NOT_FOUND; + if (s.st_uid != 0 || s.st_gid != 0 || !(s.st_mode & S_IXUSR) || (s.st_mode & (S_IWGRP | S_IWOTH))) + return UBUS_STATUS_PERMISSION_DENIED; + + action = blobmsg_get_string(tb[RC_EXEC_ACTION]); + if (strcmp(action, "disable") && + strcmp(action, "enable") && + strcmp(action, "stop") && + strcmp(action, "start") && + strcmp(action, "restart") && + strcmp(action, "reload")) + return UBUS_STATUS_INVALID_ARGUMENT; + + c = calloc(1, sizeof(*c)); + if (!c) + return UBUS_STATUS_UNKNOWN_ERROR; + + pid = fork(); + switch (pid) { + case -1: + free(c); + return UBUS_STATUS_UNKNOWN_ERROR; + case 0: + /* Set stdin, stdout & stderr to /dev/null */ + fd = open("/dev/null", O_RDWR); + if (fd >= 0) { + dup2(fd, 0); + dup2(fd, 1); + dup2(fd, 2); + close(fd); + } + + execl(script, script, action, NULL); + exit(errno); + default: + c->ctx = ctx; + c->process.pid = pid; + c->process.cb = rc_exec_cb; + uloop_process_add(&c->process); + + ubus_defer_request(ctx, req, &c->req); + + return 0; /* Deferred */ + } +} + +int rpc_rc_api_init(struct ubus_context *ctx) +{ + static const struct ubus_method rc_methods[] = { + UBUS_METHOD("exec", rc_exec, rc_exec_policy), + }; + + static struct ubus_object_type rc_type = + UBUS_OBJECT_TYPE("rc", rc_methods); + + static struct ubus_object obj = { + .name = "rc", + .type = &rc_type, + .methods = rc_methods, + .n_methods = ARRAY_SIZE(rc_methods), + }; + + return ubus_add_object(ctx, &obj); +} -- 2.26.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From john at phrozen.org Tue Jun 23 04:12:17 2020 From: john at phrozen.org (John Crispin) Date: Tue, 23 Jun 2020 10:12:17 +0200 Subject: [PATCH] netifd: fix wdev->data lifetime Message-ID: <20200623081217.863743-1-john@phrozen.org> The reconf patch breaks wifi down under certain conditions. The root cause is that during reload the wdev state gets flushed. This has the effect, that the phy is lost from the state resulting in teardown breaking. Fix this by changing the lifetime of wdev->data. Signed-off-by: John Crispin --- wireless.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wireless.c b/wireless.c index efb7992..0aad8c7 100644 --- a/wireless.c +++ b/wireless.c @@ -275,8 +275,6 @@ wireless_device_free_state(struct wireless_device *wdev) uloop_timeout_cancel(&wdev->script_check); uloop_timeout_cancel(&wdev->timeout); wireless_complete_kill_request(wdev); - free(wdev->data); - wdev->data = NULL; vlist_for_each_element(&wdev->interfaces, vif, node) { free(vif->data); vif->data = NULL; @@ -460,6 +458,7 @@ wireless_device_free(struct wireless_device *wdev) vlist_flush_all(&wdev->vlans); vlist_flush_all(&wdev->stations); avl_delete(&wireless_devices.avl, &wdev->node.avl); + free(wdev->data); free(wdev->config); free(wdev->prev_config); free(wdev); @@ -1415,6 +1414,8 @@ wireless_device_notify(struct wireless_device *wdev, struct blob_attr *data, return UBUS_STATUS_INVALID_ARGUMENT; *pdata = blob_memdup(cur); + if (*pdata) + free(*pdata); if (vif) wireless_interface_set_data(vif); else if (vlan) -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From john at phrozen.org Tue Jun 23 05:40:28 2020 From: john at phrozen.org (John Crispin) Date: Tue, 23 Jun 2020 11:40:28 +0200 Subject: [PATCH V1] netifd: fix wdev->data lifetime Message-ID: <20200623094028.1248246-1-john@phrozen.org> The reconf patch breaks wifi down under certain conditions. The root cause is that during reload the wdev state gets flushed. This has the effect, that the phy is lost from the state resulting in teardown breaking. Fix this by changing the lifetime of wdev->data. Signed-off-by: John Crispin --- Changes in V2 * free() call was in the wrong place wireless.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wireless.c b/wireless.c index efb7992..e295f28 100644 --- a/wireless.c +++ b/wireless.c @@ -275,8 +275,6 @@ wireless_device_free_state(struct wireless_device *wdev) uloop_timeout_cancel(&wdev->script_check); uloop_timeout_cancel(&wdev->timeout); wireless_complete_kill_request(wdev); - free(wdev->data); - wdev->data = NULL; vlist_for_each_element(&wdev->interfaces, vif, node) { free(vif->data); vif->data = NULL; @@ -460,6 +458,7 @@ wireless_device_free(struct wireless_device *wdev) vlist_flush_all(&wdev->vlans); vlist_flush_all(&wdev->stations); avl_delete(&wireless_devices.avl, &wdev->node.avl); + free(wdev->data); free(wdev->config); free(wdev->prev_config); free(wdev); @@ -1414,6 +1413,8 @@ wireless_device_notify(struct wireless_device *wdev, struct blob_attr *data, if (*pdata) return UBUS_STATUS_INVALID_ARGUMENT; + if (*pdata) + free(*pdata); *pdata = blob_memdup(cur); if (vif) wireless_interface_set_data(vif); -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Tue Jun 23 07:29:54 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Tue, 23 Jun 2020 12:29:54 +0100 Subject: [PATCH] zram-swap: enable swap discard Message-ID: <20200623112953.3454-1-rsalvaterra@gmail.com> Zram block devices have supported trim/discard for over six years, let's enable it. This allows the zram device to actually free up allocated memory when it's marked as unused in the filesystem metadata, as explained in more detail in the original commit message [1]. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/block/zram/zram_drv.c?h=linux-4.14.y&id=f4659d8e620d08bd1a84a8aec5d2f5294a242764 Signed-off-by: Rui Salvaterra --- package/system/zram-swap/files/zram.init | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/system/zram-swap/files/zram.init b/package/system/zram-swap/files/zram.init index 49140ad406..d33e779850 100755 --- a/package/system/zram-swap/files/zram.init +++ b/package/system/zram-swap/files/zram.init @@ -182,7 +182,7 @@ start() zram_comp_streams "$zram_dev" echo $(( $zram_size * 1024 * 1024 )) >"/sys/block/$( basename "$zram_dev" )/disksize" mkswap "$zram_dev" - swapon $zram_priority "$zram_dev" + swapon -d $zram_priority "$zram_dev" } stop() -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Tue Jun 23 13:14:38 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Tue, 23 Jun 2020 19:14:38 +0200 Subject: [PATCH] kernel: netfilter: move NAT targets to kmod-ebtables Message-ID: <20200623171438.2602-1-freifunk@adrianschmutzler.de> From: Ali MJ Al-Nasrawy Move SNAT and DNAT support from kmod-ebtables-ip4 to kmod-ebtables because these targets operate on MAC addresses not IPv4 and kmod-ebtables already supports NAT table and the related REDIRECT target. Signed-off-by: Ali MJ Al-Nasrawy [change commit title prefix] Signed-off-by: Adrian Schmutzler --- include/netfilter.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/netfilter.mk b/include/netfilter.mk index c95bcb504d..568e6718b5 100644 --- a/include/netfilter.mk +++ b/include/netfilter.mk @@ -323,9 +323,9 @@ $(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_VLAN, $(P_EBT)ebt_vlan)) # targets $(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARPREPLY, $(P_EBT)ebt_arpreply)) $(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK_T, $(P_EBT)ebt_mark)) -$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_DNAT, $(P_EBT)ebt_dnat)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_DNAT, $(P_EBT)ebt_dnat)) $(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_REDIRECT, $(P_EBT)ebt_redirect)) -$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_SNAT, $(P_EBT)ebt_snat)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_SNAT, $(P_EBT)ebt_snat)) # watchers $(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_LOG, $(P_EBT)ebt_log)) -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From zajec5 at gmail.com Tue Jun 23 14:46:19 2020 From: zajec5 at gmail.com (=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?=) Date: Tue, 23 Jun 2020 20:46:19 +0200 Subject: [PATCH rpcd] rc: new ubus object for handling /etc/init.d/ scripts Message-ID: <20200623184619.12212-1-zajec5@gmail.com> From: Rafa? Mi?ecki This commit adds "rc" ubus object with methods "list" and "exec" for listing and calling init.d script appropriately. It's useful for all kind of UIs (e.g. LuCI) and custom apps. Example: root at OpenWrt:~# ubus call rc list { "blockd": { "enabled": true, "running": true }, "dnsmasq": { "enabled": true, "running": true } } root at OpenWrt:~# ubus call rc init '{ "name": "blockd", "action": "disable" }' root at OpenWrt:~# ubus call rc init '{ "name": "dnsmasq", "action": "stop" }' root at OpenWrt:~# ubus call rc list { "blockd": { "enabled": false, "running": true }, "dnsmasq": { "enabled": true, "running": false } } Signed-off-by: Rafa? Mi?ecki --- Final patch: * Put code in rpcd instead of procd * Implement "list" method * Validate input --- CMakeLists.txt | 2 +- include/rpcd/rc.h | 7 ++ main.c | 6 +- rc.c | 234 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 246 insertions(+), 3 deletions(-) create mode 100644 include/rpcd/rc.h create mode 100644 rc.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 3bfc286..26e011e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,7 +38,7 @@ INCLUDE_DIRECTORIES(${ubus_include_dir}) FIND_PATH(ubox_include_dir libubox/blobmsg_json.h) INCLUDE_DIRECTORIES(${ubox_include_dir}) -ADD_EXECUTABLE(rpcd main.c exec.c session.c uci.c plugin.c) +ADD_EXECUTABLE(rpcd main.c exec.c session.c uci.c rc.c plugin.c) TARGET_LINK_LIBRARIES(rpcd ${ubox} ${ubus} ${uci} ${blobmsg_json} ${json} ${crypt} dl) SET(PLUGINS "") diff --git a/include/rpcd/rc.h b/include/rpcd/rc.h new file mode 100644 index 0000000..ca00f56 --- /dev/null +++ b/include/rpcd/rc.h @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: ISC OR MIT +#ifndef __RPCD_RC_H +#define __RPCD_RC_H + +int rpc_rc_api_init(struct ubus_context *ctx); + +#endif diff --git a/main.c b/main.c index 9a177cf..d77a814 100644 --- a/main.c +++ b/main.c @@ -25,10 +25,11 @@ #include #include +#include +#include +#include #include #include -#include -#include static struct ubus_context *ctx; static bool respawn = false; @@ -113,6 +114,7 @@ int main(int argc, char **argv) rpc_session_api_init(ctx); rpc_uci_api_init(ctx); + rpc_rc_api_init(ctx); rpc_plugin_api_init(ctx); hangup = getenv("RPC_HANGUP"); diff --git a/rc.c b/rc.c new file mode 100644 index 0000000..c3741eb --- /dev/null +++ b/rc.c @@ -0,0 +1,234 @@ +// SPDX-License-Identifier: ISC OR MIT +/* + * rpcd - UBUS RPC server + * + * Copyright (C) 2020 Rafa? Mi?ecki + */ + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +enum { + RC_INIT_NAME, + RC_INIT_ACTION, + __RC_INIT_MAX +}; + +static const struct blobmsg_policy rc_init_policy[] = { + [RC_INIT_NAME] = { "name", BLOBMSG_TYPE_STRING }, + [RC_INIT_ACTION] = { "action", BLOBMSG_TYPE_STRING }, +}; + +/** + * rc_check_script - check if script is safe to execute as root + * + * Check if it's owned by root and if only root can modify it. + */ +static int rc_check_script(const char *path) +{ + struct stat s; + + if (stat(path, &s)) + return UBUS_STATUS_NOT_FOUND; + + if (s.st_uid != 0 || s.st_gid != 0 || !(s.st_mode & S_IXUSR) || (s.st_mode & S_IWOTH)) + return UBUS_STATUS_PERMISSION_DENIED; + + return UBUS_STATUS_OK; +} + +/** + * rc_exec - execute a file by pathname and return its exit status + */ +static int rc_exec(const char *pathname, const char *action) +{ + int wstatus; + pid_t pid; + int fd; + + pid = fork(); + switch (pid) { + case -1: + return -errno; + case 0: + /* Set stdin, stdout & stderr to /dev/null */ + fd = open("/dev/null", O_RDWR); + if (fd >= 0) { + dup2(fd, 0); + dup2(fd, 1); + dup2(fd, 2); + close(fd); + } + + execl(pathname, pathname, action, NULL); + exit(errno); + default: + if (waitpid(pid, &wstatus, 0) == -1) + return -errno; + + if (!WIFEXITED(wstatus)) + return -EIO; + + return WEXITSTATUS(wstatus); + } +} + +static int rc_list(struct ubus_context *ctx, struct ubus_object *obj, + struct ubus_request_data *req, const char *method, + struct blob_attr *msg) +{ + struct blob_buf buf = { }; + struct dirent *e; + DIR *dir; + + dir = opendir("/etc/init.d"); + if (!dir) + return UBUS_STATUS_UNKNOWN_ERROR; + + blob_buf_init(&buf, 0); + + while ((e = readdir(dir))) { + char path[PATH_MAX]; + void *c; + + if (!strcmp(e->d_name, ".") || !strcmp(e->d_name, "..")) + continue; + + snprintf(path, sizeof(path), "/etc/init.d/%s", e->d_name); + if (rc_check_script(path)) + continue; + + c = blobmsg_open_table(&buf, e->d_name); + + blobmsg_add_u8(&buf, "enabled", !rc_exec(path, "enabled")); + blobmsg_add_u8(&buf, "running", !rc_exec(path, "running")); + + blobmsg_close_table(&buf, c); + } + + ubus_send_reply(ctx, req, buf.head); + + return UBUS_STATUS_OK; +} + +struct rc_init_context { + struct uloop_process process; + struct ubus_context *ctx; + struct ubus_request_data req; +}; + +static void rc_init_cb(struct uloop_process *p, int stat) +{ + struct rc_init_context *c = container_of(p, struct rc_init_context, process); + + ubus_complete_deferred_request(c->ctx, &c->req, UBUS_STATUS_OK); + + free(c); +} + +static int rc_init(struct ubus_context *ctx, struct ubus_object *obj, + struct ubus_request_data *req, const char *method, + struct blob_attr *msg) +{ + struct blob_attr *tb[__RC_INIT_MAX]; + struct rc_init_context *c; + char path[PATH_MAX]; + const char *action; + const char *name; + const char *chr; + pid_t pid; + int err; + int fd; + + blobmsg_parse(rc_init_policy, __RC_INIT_MAX, tb, blobmsg_data(msg), blobmsg_data_len(msg)); + + if (!tb[RC_INIT_NAME] || !tb[RC_INIT_ACTION]) + return UBUS_STATUS_INVALID_ARGUMENT; + + name = blobmsg_get_string(tb[RC_INIT_NAME]); + + /* Validate script name */ + for (chr = name; (chr = strchr(chr, '.')); chr++) { + if (*(chr + 1) == '.') + return UBUS_STATUS_INVALID_ARGUMENT; + } + if (strchr(name, '/')) + return UBUS_STATUS_INVALID_ARGUMENT; + + snprintf(path, sizeof(path), "/etc/init.d/%s", name); + + /* Validate script privileges */ + err = rc_check_script(path); + if (err) + return err; + + action = blobmsg_get_string(tb[RC_INIT_ACTION]); + if (strcmp(action, "disable") && + strcmp(action, "enable") && + strcmp(action, "stop") && + strcmp(action, "start") && + strcmp(action, "restart") && + strcmp(action, "reload")) + return UBUS_STATUS_INVALID_ARGUMENT; + + c = calloc(1, sizeof(*c)); + if (!c) + return UBUS_STATUS_UNKNOWN_ERROR; + + pid = fork(); + switch (pid) { + case -1: + free(c); + return UBUS_STATUS_UNKNOWN_ERROR; + case 0: + /* Set stdin, stdout & stderr to /dev/null */ + fd = open("/dev/null", O_RDWR); + if (fd >= 0) { + dup2(fd, 0); + dup2(fd, 1); + dup2(fd, 2); + close(fd); + } + + execl(path, path, action, NULL); + exit(errno); + default: + c->ctx = ctx; + c->process.pid = pid; + c->process.cb = rc_init_cb; + uloop_process_add(&c->process); + + ubus_defer_request(ctx, req, &c->req); + + return 0; /* Deferred */ + } +} + +int rpc_rc_api_init(struct ubus_context *ctx) +{ + static const struct ubus_method rc_methods[] = { + UBUS_METHOD_NOARG("list", rc_list), + UBUS_METHOD("init", rc_init, rc_init_policy), + }; + + static struct ubus_object_type rc_type = + UBUS_OBJECT_TYPE("rc", rc_methods); + + static struct ubus_object obj = { + .name = "rc", + .type = &rc_type, + .methods = rc_methods, + .n_methods = ARRAY_SIZE(rc_methods), + }; + + return ubus_add_object(ctx, &obj); +} -- 2.26.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Tue Jun 23 15:25:40 2020 From: openwrt-devel at lists.openwrt.org (Martin Blumenstingl via openwrt-devel) Date: Tue, 23 Jun 2020 21:25:40 +0200 Subject: No subject In-Reply-To: <20200623094028.1248246-1-john@phrozen.org> References: <20200623094028.1248246-1-john@phrozen.org> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: Martin Blumenstingl Subject: Re: [PATCH V1] netifd: fix wdev->data lifetime Date: Tue, 23 Jun 2020 21:25:40 +0200 Size: 5205 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From john at phrozen.org Tue Jun 23 15:48:31 2020 From: john at phrozen.org (John Crispin) Date: Tue, 23 Jun 2020 21:48:31 +0200 Subject: [PATCH V1] netifd: fix wdev->data lifetime In-Reply-To: <20200623094028.1248246-1-john@phrozen.org> References: <20200623094028.1248246-1-john@phrozen.org> Message-ID: On 23.06.20 11:40, John Crispin wrote: > The reconf patch breaks wifi down under certain conditions. The root cause > is that during reload the wdev state gets flushed. This has the effect, that > the phy is lost from the state resulting in teardown breaking. > Fix this by changing the lifetime of wdev->data. > > Signed-off-by: John Crispin > --- > Changes in V2 > * free() call was in the wrong place > > wireless.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/wireless.c b/wireless.c > index efb7992..e295f28 100644 > --- a/wireless.c > +++ b/wireless.c > @@ -275,8 +275,6 @@ wireless_device_free_state(struct wireless_device *wdev) > uloop_timeout_cancel(&wdev->script_check); > uloop_timeout_cancel(&wdev->timeout); > wireless_complete_kill_request(wdev); > - free(wdev->data); > - wdev->data = NULL; > vlist_for_each_element(&wdev->interfaces, vif, node) { > free(vif->data); > vif->data = NULL; > @@ -460,6 +458,7 @@ wireless_device_free(struct wireless_device *wdev) > vlist_flush_all(&wdev->vlans); > vlist_flush_all(&wdev->stations); > avl_delete(&wireless_devices.avl, &wdev->node.avl); > + free(wdev->data); > free(wdev->config); > free(wdev->prev_config); > free(wdev); > @@ -1414,6 +1413,8 @@ wireless_device_notify(struct wireless_device *wdev, struct blob_attr *data, > if (*pdata) > return UBUS_STATUS_INVALID_ARGUMENT; > > + if (*pdata) > + free(*pdata); > *pdata = blob_memdup(cur); > if (vif) > wireless_interface_set_data(vif); > thx, looks like the rest of the patch fixes the issue, been stress testing this today, will have a closer look tomorrow .. John _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Tue Jun 23 16:57:54 2020 From: openwrt-devel at lists.openwrt.org (Sander Vanheule via openwrt-devel) Date: Tue, 23 Jun 2020 22:57:54 +0200 Subject: No subject Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: Sander Vanheule Subject: [PATCH 0/1] kernel: mtdsplit: support okli loader splitting Date: Tue, 23 Jun 2020 22:57:54 +0200 Size: 3646 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Tue Jun 23 16:57:55 2020 From: openwrt-devel at lists.openwrt.org (Sander Vanheule via openwrt-devel) Date: Tue, 23 Jun 2020 22:57:55 +0200 Subject: No subject In-Reply-To: <20200623205755.352533-1-sander@svanheule.net> References: <20200623205755.352533-1-sander@svanheule.net> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: Sander Vanheule Subject: [PATCH 1/1] kernel: mtdsplit: support okli loader splitting Date: Tue, 23 Jun 2020 22:57:55 +0200 Size: 9090 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From Jason at zx2c4.com Tue Jun 23 18:18:06 2020 From: Jason at zx2c4.com (Jason A. Donenfeld) Date: Tue, 23 Jun 2020 16:18:06 -0600 Subject: [PATCH] wireguard: bump to 1.0.20200623 Message-ID: <20200623221806.82566-1-Jason@zx2c4.com> * compat: drop centos 8.1 support as 8.2 is now out Of note, as well, is that we now have both RHEL7 and RHEL8 in our CI at . * Kbuild: remove -fvisibility=hidden from cflags This fixes an issue when compiling wireguard as a module for ARM kernels in THUMB2 mode without the JUMP11 workaround. * noise: do not assign initiation time in if condition Style fix. * device: avoid circular netns references Fixes a circular reference issue with network namespaces. * netns: workaround bad 5.2.y backport This works around a back backport in the 5.2.y series. Signed-off-by: Jason A. Donenfeld --- 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 ce91fbe..b7adf27 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:=1.0.20200520 +PKG_VERSION:=1.0.20200623 PKG_RELEASE:=1 PKG_SOURCE:=wireguard-linux-compat-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://git.zx2c4.com/wireguard-linux-compat/snapshot/ -PKG_HASH:=16e7ae4bef734b243428eea07f3b3c3d4721880c3ea8eb8f98628fd6ae5b77c3 +PKG_HASH:=130937724515799edf05ff8216bc837df8acda879428f3a7f96a3287758f9445 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Wed Jun 24 13:44:43 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Wed, 24 Jun 2020 19:44:43 +0200 Subject: [PATCH] ipq40xx: set IMAGES in Device/Default definition Message-ID: <20200624174443.13739-1-freifunk@adrianschmutzler.de> The Device/Default definition sets a default IMAGE/sysupgrade.bin, but does not enable it by setting IMAGES. This is not consistent, and has led to IMAGES being defined at various other places in the file. Thus, this patch consolidates the default value for IMAGES by putting it in Device/Default. Since it's still overwritten where necessary, this patch is cosmetic. Signed-off-by: Adrian Schmutzler --- target/linux/ipq40xx/image/Makefile | 40 ++++++++++------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile index 632836e94f..a374c7da47 100644 --- a/target/linux/ipq40xx/image/Makefile +++ b/target/linux/ipq40xx/image/Makefile @@ -13,6 +13,7 @@ define Device/Default KERNEL_LOADADDR := 0x80208000 DEVICE_DTS = $$(SOC)-$(lastword $(subst _, ,$(1))) SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) + IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata IMAGE/sysupgrade.bin/squashfs := endef @@ -46,7 +47,7 @@ define Device/DniImage $(call Device/FitzImage) NETGEAR_BOARD_ID := NETGEAR_HW_ID := - IMAGES := factory.img sysupgrade.bin + IMAGES += factory.img IMAGE/factory.img := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | append-rootfs | pad-rootfs | netgear-dni IMAGE/sysupgrade.bin := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | \ append-rootfs | pad-rootfs | append-metadata | check-size @@ -110,7 +111,6 @@ define Device/8dev_habanero-dvk IMAGE_SIZE := 30976k SOC := qcom-ipq4019 DEVICE_PACKAGES := ipq-wifi-8dev_habanero-dvk - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs | pad-rootfs | append-metadata | check-size endef TARGET_DEVICES += 8dev_habanero-dvk @@ -151,7 +151,6 @@ define Device/aruba_glenmorangie DEVICE_VENDOR := Aruba SOC := qcom-ipq4029 DEVICE_PACKAGES := ipq-wifi-aruba_ap-303 - IMAGES := sysupgrade.bin endef define Device/aruba_ap-303 @@ -178,7 +177,6 @@ define Device/asus_map-ac2200 DEVICE_VENDOR := ASUS DEVICE_MODEL := Lyra (MAP-AC2200) SOC := qcom-ipq4019 - IMAGES := sysupgrade.bin DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-ath3k endef TARGET_DEVICES += asus_map-ac2200 @@ -199,7 +197,6 @@ define Device/asus_rt-ac58u # to add a version... or we are very careful not to add '\0' into that # string and call it a day.... Yeah, we do the latter! UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC58U') - IMAGES := sysupgrade.bin DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \ kmod-usb-ledtrig-usbport endef @@ -214,7 +211,7 @@ define Device/avm_fritzbox-4040 IMAGE_SIZE := 29056k UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-fritz4040.bin UBOOT_PARTITION_SIZE := 524288 - IMAGES = eva.bin sysupgrade.bin + IMAGES += eva.bin IMAGE/eva.bin := append-uboot | pad-to $$$$(UBOOT_PARTITION_SIZE) | append-kernel | append-rootfs | pad-rootfs IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size DEVICE_PACKAGES := fritz-tffs fritz-caldata @@ -227,7 +224,6 @@ define Device/avm_fritzbox-7530 DEVICE_MODEL := FRITZ!Box 7530 SOC := qcom-ipq4019 DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand - IMAGES := sysupgrade.bin endef TARGET_DEVICES += avm_fritzbox-7530 @@ -237,7 +233,6 @@ define Device/avm_fritzrepeater-1200 DEVICE_MODEL := FRITZ!Repeater 1200 SOC := qcom-ipq4019 DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand ipq-wifi-avm_fritzrepeater-1200 - IMAGES := sysupgrade.bin endef TARGET_DEVICES += avm_fritzrepeater-1200 @@ -247,7 +242,6 @@ define Device/avm_fritzrepeater-3000 DEVICE_MODEL := FRITZ!Repeater 3000 SOC := qcom-ipq4019 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct fritz-caldata fritz-tffs-nand - IMAGES := sysupgrade.bin endef TARGET_DEVICES += avm_fritzrepeater-3000 @@ -304,7 +298,7 @@ define Device/compex_wpj428 BLOCKSIZE := 64k IMAGE_SIZE := 31232k KERNEL_SIZE := 4096k - IMAGES = sysupgrade.bin cpximg-6a04.bin + IMAGES += cpximg-6a04.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata IMAGE/cpximg-6a04.bin := append-kernel | append-rootfs | pad-rootfs | mkmylofw_32m 0x8A2 3 DEVICE_PACKAGES := kmod-gpio-beeper @@ -321,7 +315,7 @@ define Device/dlink_dap-2610 WRGG_DEVNAME := /dev/mtdblock/8 WRGG_SIGNATURE := wapac30_dkbs_dap2610 IMAGE_SIZE := 14080k - IMAGES := sysupgrade.bin factory.bin + IMAGES += factory.bin # Bootloader expects a special 160 byte header which is added by # wrgg-image. # Factory image size must be larger than 6MB, and size in wrgg header must @@ -347,7 +341,6 @@ define Device/engenius_eap1300 SOC := qcom-ipq4018 KERNEL_SIZE := 5120k IMAGE_SIZE := 25344k - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata endef TARGET_DEVICES += engenius_eap1300 @@ -371,7 +364,7 @@ define Device/engenius_emd1 DEVICE_DTS_CONFIG := config at 4 SOC := qcom-ipq4018 IMAGE_SIZE := 30720k - IMAGES := sysupgrade.bin factory.bin + IMAGES += factory.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size endef @@ -385,7 +378,7 @@ define Device/engenius_emr3500 SOC := qcom-ipq4018 KERNEL_SIZE := 4096k IMAGE_SIZE := 30720k - IMAGES := sysupgrade.bin factory.bin + IMAGES += factory.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata IMAGE/factory.bin := qsdk-ipq-factory-nor | check-size endef @@ -410,7 +403,7 @@ define Device/engenius_ens620ext IMAGE_SIZE := 21312k KERNEL_SIZE := 5120k FILESYSTEMS := squashfs - IMAGES := sysupgrade.bin factory_30.bin factory_35.bin + IMAGES += factory_30.bin factory_35.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata IMAGE/factory_30.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size | SenaoFW $$$$(PRODUCT_ID) $$$$(FW_VER) IMAGE/factory_35.bin := qsdk-ipq-factory-nor | check-size | SenaoFW $$$$(PRODUCT_ID_NEW) $$$$(FW_VER_NEW) @@ -425,7 +418,6 @@ define Device/ezviz_cs-w3-wd1200g-eup DEVICE_DTS_CONFIG := config at 4 IMAGE_SIZE := 14848k SOC := qcom-ipq4018 - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \ append-metadata DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers \ @@ -441,7 +433,6 @@ define Device/glinet_gl-b1300 SOC := qcom-ipq4029 KERNEL_SIZE := 4096k IMAGE_SIZE := 26624k - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel |append-rootfs | pad-rootfs | append-metadata endef TARGET_DEVICES += glinet_gl-b1300 @@ -477,7 +468,7 @@ define Device/linksys_ea6350v3 KERNEL_SIZE := 3072k IMAGE_SIZE := 37888k UBINIZE_OPTS := -E 5 - IMAGES := factory.bin sysupgrade.bin + IMAGES += factory.bin IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA6350v3 DEVICE_PACKAGES := uboot-envtools endef @@ -493,7 +484,7 @@ define Device/linksys_ea8300 BLOCKSIZE := 128k PAGESIZE := 2048 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF - IMAGES := sysupgrade.bin factory.bin + IMAGES += factory.bin IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA8300 DEVICE_PACKAGES := uboot-envtools ath10k-firmware-qca9888-ct ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport endef @@ -506,7 +497,6 @@ define Device/meraki_mr33 SOC := qcom-ipq4029 BLOCKSIZE := 128k PAGESIZE := 2048 - IMAGES = sysupgrade.bin DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct endef TARGET_DEVICES += meraki_mr33 @@ -557,7 +547,7 @@ define Device/openmesh_a42 BLOCKSIZE := 64k KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE) IMAGE_SIZE := 15616k - IMAGES = factory.bin sysupgrade.bin + IMAGES += factory.bin IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata DEVICE_PACKAGES := uboot-envtools @@ -573,7 +563,7 @@ define Device/openmesh_a62 BLOCKSIZE := 64k KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE) IMAGE_SIZE := 15552k - IMAGES = factory.bin sysupgrade.bin + IMAGES += factory.bin IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata DEVICE_PACKAGES := ath10k-firmware-qca9888-ct uboot-envtools @@ -592,7 +582,6 @@ define Device/qcom_ap-dk01.1-c1 KERNEL_SIZE := 4096k IMAGE_SIZE := 26624k $(call Device/FitImage) - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | append-metadata endef TARGET_DEVICES += qcom_ap-dk01.1-c1 @@ -622,7 +611,6 @@ define Device/qxwlan_e2600ac-c1 SOC := qcom-ipq4019 KERNEL_SIZE := 4096k IMAGE_SIZE := 31232k - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata DEVICE_PACKAGES := ipq-wifi-qxwlan_e2600ac endef @@ -651,7 +639,6 @@ define Device/unielec_u4019-32m SOC := qcom-ipq4019 KERNEL_SIZE := 4096k IMAGE_SIZE := 31232k - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata endef TARGET_DEVICES += unielec_u4019-32m @@ -667,7 +654,7 @@ define Device/zyxel_nbg6617 RAS_ROOTFS_SIZE := 19840k RAS_VERSION := "$(VERSION_DIST) $(REVISION)" IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata - IMAGES := sysupgrade.bin factory.bin + IMAGES += factory.bin # The ZyXEL firmware allows flashing thru the web-gui only when the rootfs is # at least as large as the one of the initial firmware image (not the current # one on the device). This only applies to the Web-UI, the bootlaoder ignores @@ -685,7 +672,6 @@ define Device/zyxel_wre6606 DEVICE_DTS_CONFIG := config at 4 SOC := qcom-ipq4018 IMAGE_SIZE := 13184k - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size DEVICE_PACKAGES := -kmod-ath10k-ct kmod-ath10k-ct-smallbuffers endef -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Wed Jun 24 13:55:18 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Wed, 24 Jun 2020 19:55:18 +0200 Subject: [PATCH] ipq806x: set IMAGES in Device/Default definition Message-ID: <20200624175518.13995-1-freifunk@adrianschmutzler.de> The Device/Default definition sets a default IMAGE/sysupgrade.bin, but does not enable it by setting IMAGES. This is not consistent, and has led to IMAGES being defined at various other places in the file. Thus, this patch consolidates the default value for IMAGES by putting it in Device/Default. Since it's still overwritten where necessary, this patch is cosmetic. Signed-off-by: Adrian Schmutzler --- target/linux/ipq806x/image/Makefile | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/target/linux/ipq806x/image/Makefile b/target/linux/ipq806x/image/Makefile index 6ea66d064d..578303e9e0 100644 --- a/target/linux/ipq806x/image/Makefile +++ b/target/linux/ipq806x/image/Makefile @@ -21,6 +21,7 @@ define Device/Default KERNEL_LOADADDR = 0x42208000 DEVICE_DTS = $$(SOC)-$(lastword $(subst _, ,$(1))) SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) + IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata IMAGE/sysupgrade.bin/squashfs := endef @@ -57,7 +58,7 @@ define Device/DniImage NETGEAR_BOARD_ID := NETGEAR_HW_ID := UBINIZE_OPTS := -E 5 - IMAGES := factory.img sysupgrade.bin + IMAGES += factory.img IMAGE/factory.img := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | netgear-dni IMAGE/sysupgrade.bin := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem | sysupgrade-tar kernel=$$$$@ | append-metadata endef @@ -67,7 +68,7 @@ define Device/TpSafeImage KERNEL = kernel-bin | append-dtb | uImage none KERNEL_NAME := zImage TPLINK_BOARD_ID := - IMAGES := factory.bin sysupgrade.bin + IMAGES += factory.bin IMAGE/factory.bin := append-rootfs | tplink-safeloader factory IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | append-metadata endef @@ -76,7 +77,7 @@ define Device/ZyXELImage KERNEL_SUFFIX := -uImage KERNEL = kernel-bin | append-dtb | uImage none | pad-to $$(KERNEL_SIZE) KERNEL_NAME := zImage - IMAGES := factory.bin sysupgrade.bin + IMAGES += factory.bin IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to $$$$(BLOCKSIZE) | zyxel-ras-image separate-kernel IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata endef @@ -90,7 +91,6 @@ define Device/buffalo_wxr-2533dhp PAGESIZE := 2048 IMAGE_SIZE := 65536k KERNEL_IN_UBI := 1 - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-rootfs | buffalo-rootfs-cksum | \ sysupgrade-tar rootfs=$$$$@ | append-metadata DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct @@ -121,7 +121,7 @@ define Device/linksys_ea8500 BOARD_NAME := ea8500 SUPPORTED_DEVICES += ea8500 UBINIZE_OPTS := -E 5 - IMAGES := factory.bin sysupgrade.bin + IMAGES += factory.bin IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct endef @@ -134,7 +134,6 @@ define Device/nec_wg2600hp SOC := qcom-ipq8064 BLOCKSIZE := 64k BOARD_NAME := wg2600hp - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct endef @@ -295,7 +294,6 @@ define Device/tplink_vr2600v BOARD_NAME := vr2600v SUPPORTED_DEVICES += vr2600v DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct - IMAGES := sysupgrade.bin IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | append-metadata endef TARGET_DEVICES += tplink_vr2600v -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From freifunk at adrianschmutzler.de Wed Jun 24 14:03:13 2020 From: freifunk at adrianschmutzler.de (Adrian Schmutzler) Date: Wed, 24 Jun 2020 20:03:13 +0200 Subject: [PATCH] mvebu: move definition of factory.img out of Device/Default Message-ID: <20200624180313.14251-1-freifunk@adrianschmutzler.de> The Device/Default definition in mvebu defines an IMAGE/factory.img which is not included in IMAGES, and only used twice in the individual definitions. Move it out of the default definition to keep it closer to the reassignment of IMAGES and make it more consistent with respect to other values of IMAGE/factory.img Signed-off-by: Adrian Schmutzler --- target/linux/mvebu/image/Makefile | 1 - target/linux/mvebu/image/cortexa9.mk | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile index cbf34c1bc8..502e081ec3 100644 --- a/target/linux/mvebu/image/Makefile +++ b/target/linux/mvebu/image/Makefile @@ -104,7 +104,6 @@ define Device/Default KERNEL_NAME := zImage KERNEL := kernel-bin | append-dtb | uImage none IMAGES := sysupgrade.bin - IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to $$$$(PAGESIZE) IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata SUPPORTED_DEVICES = $(subst _,$(comma),$(1)) UBINIZE_OPTS := -E 5 diff --git a/target/linux/mvebu/image/cortexa9.mk b/target/linux/mvebu/image/cortexa9.mk index bb09d2b6f7..f01a76a9d3 100644 --- a/target/linux/mvebu/image/cortexa9.mk +++ b/target/linux/mvebu/image/cortexa9.mk @@ -55,6 +55,8 @@ define Device/linksys DEVICE_VENDOR := Linksys DEVICE_PACKAGES := kmod-mwlwifi wpad-basic IMAGES += factory.img + IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \ + append-ubi | pad-to $$$$(PAGESIZE) KERNEL_SIZE := 6144k endef @@ -151,6 +153,8 @@ define Device/marvell_a385-db-ap DEVICE_MODEL := Armada 385 Development Board AP (DB-88F6820-AP) DEVICE_DTS := armada-385-db-ap IMAGES += factory.img + IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \ + append-ubi | pad-to $$$$(PAGESIZE) KERNEL_SIZE := 8192k SUPPORTED_DEVICES += armada-385-db-ap endef -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From mail at adrianschmutzler.de Wed Jun 24 14:09:31 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Wed, 24 Jun 2020 20:09:31 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 In-Reply-To: References: <447f8cc7-a544-48d8-bc74-ab07e160c174@blazebox.homeip.net> Message-ID: <014701d64a52$9df0b560$d9d22020$@adrianschmutzler.de> Hi David, Hi Hauke, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Hauke Mehrtens > Sent: Samstag, 11. April 2020 17:37 > To: David Bauer ; Paul Blazejowski > > Cc: Michal Cieslakiewicz ; openwrt- > devel at lists.openwrt.org > Subject: Re: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 > > On 4/11/20 5:13 PM, David Bauer wrote: > > Hello Paul, > > > > On 4/3/20 10:58 PM, Paul Blazejowski wrote: > >> Hello David, > >> > >> It is great to hear to we're switching to 5.4 on ath79 target but i > >> wanted to bring to your attention that at least on the NAND > >> subtargets (for me wndr3700v4) we need this commit [1] from Kevin to > >> get the router to boot otherwise there's an oops in do dsp which > >> prevents my router to boot and produces bootloop, Kevin's patch is > >> incomplete as i have also alter it locally to apply to 5.4 kernel. > >> With Michal's mtd concat patch i have successfully run the > >> kernel/build for a couple of days with no issues. Maybe Michal can > >> chaim in to confirm as he uses the same hardware in WNDR4300 routers > just to be sure? > > > > I've bisected this issue a bit further. Changing the CPU type for the > > whole target doesn't seem right, as boards prior to AR934x are 24kc. > > > > I've isolated the issue we are facing to 308-mips32r2_tune.patch. I'm > > a bit puzzled how to proceed as i suspect other targets using a 74kc > > arch will most likely show the same issue. > > > > I propose to revert the change for ath79 locally using a target patch > > to allow the target to be upgraded to Kernel 5.4. > > > > IMHO 308-mips32r2_tune.patch should be a target specific patch anyhow, > > as optimizing for a single CPU arch for all affected targets might not > > be very efficient. But I'm not all to familiar with this topic. > > > > Best wishes > > David > > Hi, > > I also get this problem with mainline kernel. > > See here for some more details: > https://bugs.openwrt.org/index.php?do=details&task_id=2928 > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94506 What's the status on this issue? Is it still there, and do we still have a blocker for 5.4 on ath79? Best Adrian > > Hauke > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From s.l-h at gmx.de Wed Jun 24 14:46:09 2020 From: s.l-h at gmx.de (Stefan Lippers-Hollmann) Date: Wed, 24 Jun 2020 20:46:09 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 In-Reply-To: <014701d64a52$9df0b560$d9d22020$@adrianschmutzler.de> References: <447f8cc7-a544-48d8-bc74-ab07e160c174@blazebox.homeip.net> <014701d64a52$9df0b560$d9d22020$@adrianschmutzler.de> Message-ID: <20200624204609.78d59b4e@mir> Hi On 2020-06-24, mail at adrianschmutzler.de wrote: > > On 4/11/20 5:13 PM, David Bauer wrote: > > > On 4/3/20 10:58 PM, Paul Blazejowski wrote: [...] > > Hi, > > > > I also get this problem with mainline kernel. > > > > See here for some more details: > > https://bugs.openwrt.org/index.php?do=details&task_id=2928 > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94506 > > What's the status on this issue? Is it still there, and do we still have a blocker for 5.4 on ath79? This issue is still open as of yesterday's master/ r13611-3f27a6e640, tested on both tl-wdr3600 and tl-wdr4300 with kernel v5.4.48. The device bootloops very early and in close succession, requiring tftp recovery[0]. Regards Stefan Lippers-Hollmann -- [0] early hardware revisions before h/w rev. 1.5 didn't ship with push-button tftp recovery enabled (this was only added in the last few OEM firmware updates for these devices), if the user never updated to a more recent OEM firmware containing an updated OEM u-boot (not all OEM updates contain the bootloader update), they'll end up with a brick requiring serial access. _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Wed Jun 24 15:30:34 2020 From: openwrt-devel at lists.openwrt.org (Emil Muratov via openwrt-devel) Date: Wed, 24 Jun 2020 22:30:34 +0300 Subject: No subject In-Reply-To: <20200623112953.3454-1-rsalvaterra@gmail.com> References: <20200623112953.3454-1-rsalvaterra@gmail.com> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: Emil Muratov Subject: Re: [PATCH] zram-swap: enable swap discard Date: Wed, 24 Jun 2020 22:30:34 +0300 Size: 3523 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From tharvey at gateworks.com Wed Jun 24 17:06:38 2020 From: tharvey at gateworks.com (Tim Harvey) Date: Wed, 24 Jun 2020 14:06:38 -0700 Subject: [OpenWrt-Devel][PATCH v2 2/2] octeontx: enable Cavium CPT and ZIP drivers In-Reply-To: <80d365f9-c09a-591e-00a8-37f71f2f0b86@hauke-m.de> References: <1591117502-28100-1-git-send-email-tharvey@gateworks.com> <1591117502-28100-2-git-send-email-tharvey@gateworks.com> <80d365f9-c09a-591e-00a8-37f71f2f0b86@hauke-m.de> Message-ID: On Thu, Jun 11, 2020 at 5:22 AM Hauke Mehrtens wrote: > > On 6/3/20 10:16 PM, Tim Harvey wrote: > > On Tue, Jun 2, 2020 at 3:21 PM Hauke Mehrtens wrote: > >> > >> On 6/2/20 7:05 PM, Tim Harvey wrote: > >>> The CPT module requires firmware which we add here as well. > >>> > >>> Signed-off-by: Tim Harvey > >>> --- > >>> v2: added license file for firmware > >>> --- > >>> target/linux/octeontx/config-5.4 | 11 +++++++++++ > >>> target/linux/octeontx/files/firmware/cpt8x-mc-ae.out | Bin 0 -> 9760 bytes > >>> target/linux/octeontx/files/firmware/cpt8x-mc-se.out | Bin 0 -> 35584 bytes > >>> target/linux/octeontx/files/firmware/license.txt | 11 +++++++++++ > >>> 4 files changed, 22 insertions(+) > >>> create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-ae.out > >>> create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-se.out > >>> create mode 100644 target/linux/octeontx/files/firmware/license.txt > >>> > >>> diff --git a/target/linux/octeontx/config-5.4 b/target/linux/octeontx/config-5.4 > >>> index cfb8b19..9fcd12b 100644 > >>> --- a/target/linux/octeontx/config-5.4 > >>> +++ b/target/linux/octeontx/config-5.4 > >> ...... > >>> @@ -233,6 +239,8 @@ CONFIG_EEPROM_AT24=y > >>> CONFIG_EFI_EARLYCON=y > >>> CONFIG_EXT4_FS=y > >>> CONFIG_EXT4_FS_POSIX_ACL=y > >>> +CONFIG_EXTRA_FIRMWARE="cpt8x-mc-ae.out cpt8x-mc-se.out" > >>> +CONFIG_EXTRA_FIRMWARE_DIR="firmware" > >>> CONFIG_F2FS_FS=y > >>> CONFIG_F2FS_FS_XATTR=y > >>> CONFIG_F2FS_STAT_FS=y > >> .... > >>> > >>> diff --git a/target/linux/octeontx/files/firmware/license.txt b/target/linux/octeontx/files/firmware/license.txt > >>> new file mode 100644 > >>> index 0000000..531eaba > >>> --- /dev/null > >>> +++ b/target/linux/octeontx/files/firmware/license.txt > >> > >> Hi, > >> > >> I think this is not compatible with the OpenWrt license or at least goes > >> into a gray area. > >> > >>> @@ -0,0 +1,11 @@ > >>> +Copyright (C) 2019 Marvell International Ltd. > >>> + > >>> +The software package is subject to the Marvell binary license that prohibits the > >>> +licensee to modify the software, in any manner and that prohibits to distribute > >>> +the software as a stand-alone product. > >> > >> Is the distribution in > >> target/linux/octeontx/files/firmware/cpt8x-mc-se.out not a standalone > >> product? > > > > Hauke, > > > > I agree that this is a gray area for sure. I don't like the wording at > > all either. > > > >> You can create a link to https://git.openwrt.org where you can directly > >> download it when we push it into openwrt master. > >> > > > > I'm not sure what you mean by this. Are you saying we can still push > > the firmware binaries 'somewhere' on https://git.openwrt.org but not > > include the build process? > > I do not know if such a link would be a distribution as a standalone > product: > https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob_plain;f=target/linux/lantiq/files/firmware/lantiq/xrx200_phy11g_a14.bin;hb=HEAD > > I would prefer if the user has to get the firmware files from somewhere > else if we wants to use this feature as long as Marvell is not willing > to change the license. > > >>> +Any use of the software, in all or in > >>> +part, shall not be made subject to or otherwise contaminated by, a copyleft open > >>> +source license (as defined by the Open Source Initiative), such as without > >>> +limitation, GNU GPL or LGPL licenses. > >> > >> Adding this file in CONFIG_EXTRA_FIRMWARE could be seen as bundeling it > >> with GPL code. > >> > >> The CONFIG_EXTRA_FIRMWARE option says this: > >> WARNING: If you include additional firmware files into your binary > >> kernel image that are not available under the terms of the GPL, > >> then it may be a violation of the GPL to distribute the resulting > >> image since it combines both GPL and non-GPL work. You should > >> consult a lawyer of your own before distributing such an image. > >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/firmware_loader/Kconfig#n32 > >> > >>> +Any software which integrates this code or any part of it thereof, should > >>> +include in its header the above license. > >> > >> We would have to extend the license information for all our octeontx > >> binaries to add this information. > >> > > > > I can replace this with a patch that enables the cpt driver as a > > module to make it easier for people to use but they will have to go > > get firmware and place it in their /lib/firmware on their rootfs this > > way. > > > >> > >> If this firmware contains cryptography we could also violate some export > >> control regulation, but normally no one cares. > >> > > > > agreed. > > Having this as a module and the user has to download the firmware on his > own would be nice. If you add a script to make it easier to download it > would be nice, but not necessary in my opineon. > > If the system still works without this firmware I am also find with > building this into the kernel if this would be needed. > Hauke The system works without the firmware in the kernel, just does not provide crypto offload. So the firmware does not have to be GPL in order for me to provide a recipe upstream in OpenWrt to package it right as long as the recipe has 'somewhere' to obtain it from which is not an openwrt site? I see this is done with package/firmware/cypress-firmware/Makefile for example which downloads a zip file from a cypress site which does not require a EULA for firmware that has a clear license which is not GPL. Honestly, I'm not even clear what crypto firmware bings to the table these days, with a processor like the OcteonTX software crypto greatly outperforms hardware crypto so the only thing it brings to the table is the ability to offload crypto from the CPU if you need the CPU cycles and are ok with lower-latency crypto. Best Regards, Tim _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Wed Jun 24 18:39:27 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Wed, 24 Jun 2020 23:39:27 +0100 Subject: [PATCH] zram-swap: enable swap discard In-Reply-To: References: <20200623112953.3454-1-rsalvaterra@gmail.com> Message-ID: Hi, Emil, On Wed, 24 Jun 2020 at 20:30, Emil Muratov wrote: > > zram swap discard is enabled by default, no need to specify additional > option. Pls, check for example info output in > https://github.com/openwrt/openwrt/pull/1515 Unfortunately, that's not quite right. This has nothing to do with zram itself, but with the way swapon syscall works. Yes, both discard *policies* are enabled by default if, *and only if* the syscall is invoked with *only* the SWAP_FLAG_DISCARD flag set [1]. Anyway, it's easy to see if the swap device is issuing trim/discard commands. For example, on my router, with my patch: root at heimdal:~# dmesg | grep swap [ 12.302928] Adding 1036284k swap on /dev/zram0. Priority:-2 extents:1 across:1036284k SSDsc root at heimdal:~# According to the relevant section of the kernel source code [2], The last letters, SSDsc mean: SS: solid state (obviously, it's a RAM-based device) D: supports discard s: area-based discard is enabled c: page-based discard is enabled Consequently, if a system only shows SS, discard commands aren't being issued. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/include/linux/swap.h?h=linux-4.14.y#n24 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/mm/swapfile.c?h=linux-4.14.y#n3283 Cheers, Rui _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From daniel.santos at pobox.com Wed Jun 24 19:12:30 2020 From: daniel.santos at pobox.com (Daniel Santos) Date: Wed, 24 Jun 2020 18:12:30 -0500 Subject: [PATCH] musl: fix signed compare warning Message-ID: <20200624231230.17406-1-daniel.santos@pobox.com> Signed-off-by: Daniel Santos --- .../210-Fix-signed-compare-warning.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 toolchain/musl/patches/210-Fix-signed-compare-warning.patch diff --git a/toolchain/musl/patches/210-Fix-signed-compare-warning.patch b/toolchain/musl/patches/210-Fix-signed-compare-warning.patch new file mode 100644 index 0000000000..5d5d2f865e --- /dev/null +++ b/toolchain/musl/patches/210-Fix-signed-compare-warning.patch @@ -0,0 +1,26 @@ +From 7627aac4e5381546baeb0d6bef6675e9107cd751 Mon Sep 17 00:00:00 2001 +From: Daniel Santos +Date: Sat, 25 Apr 2020 12:18:15 -0500 +Subject: Fix signed compare warning + +Signed-off-by: Daniel Santos +--- + src/thread/__timedwait.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/thread/__timedwait.c b/src/thread/__timedwait.c +index 666093be..9829b93e 100644 +--- a/src/thread/__timedwait.c ++++ b/src/thread/__timedwait.c +@@ -38,7 +38,7 @@ int __timedwait_cp(volatile int *addr, int val, + if (priv) priv = FUTEX_PRIVATE; + + if (at) { +- if (at->tv_nsec >= 1000000000UL) return EINVAL; ++ if ((unsigned long)at->tv_nsec >= 1000000000UL) return EINVAL; + if (__clock_gettime(clk, &to)) return EINVAL; + to.tv_sec = at->tv_sec - to.tv_sec; + if ((to.tv_nsec = at->tv_nsec - to.tv_nsec) < 0) { +-- +2.24.1 + -- 2.24.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From daniel.santos at pobox.com Wed Jun 24 19:14:23 2020 From: daniel.santos at pobox.com (Daniel Santos) Date: Wed, 24 Jun 2020 18:14:23 -0500 Subject: [PATCH] musl: add debug information for mipsel syscalls Message-ID: <20200624231423.3717-1-daniel.santos@pobox.com> This is split into two patches to ease reviewing, as it must be renamed to *.S in order to be preprocessed. Co-Authored-By: Daniele Tamino Signed-off-by: Daniel Santos --- ...ebug-information-to-__syscall_cp_asm.patch | 100 ++++++++++++++++++ .../221-mipsel-preprocess-syscall_cp.s.patch | 18 ++++ 2 files changed, 118 insertions(+) create mode 100644 toolchain/musl/patches/220-mipsel-Add-debug-information-to-__syscall_cp_asm.patch create mode 100644 toolchain/musl/patches/221-mipsel-preprocess-syscall_cp.s.patch diff --git a/toolchain/musl/patches/220-mipsel-Add-debug-information-to-__syscall_cp_asm.patch b/toolchain/musl/patches/220-mipsel-Add-debug-information-to-__syscall_cp_asm.patch new file mode 100644 index 0000000000..0aa9330bd4 --- /dev/null +++ b/toolchain/musl/patches/220-mipsel-Add-debug-information-to-__syscall_cp_asm.patch @@ -0,0 +1,100 @@ +From 6ce77039943af4ca51ebf1385fd6ed01ecce8159 Mon Sep 17 00:00:00 2001 +From: Daniel Santos +Date: Wed, 24 Jun 2020 14:45:08 -0500 +Subject: mipsel: Add debug information to __syscall_cp_asm + +This is the function called for interruptable / repeatable syscalls like +nanosleep. Without this patch, attaching a debugger to a program making +such a syscall results in the debugger being completely unable to +perform a backtrace. + +Co-Authored-By: Daniele Tamino +Signed-off-by: Daniel Santos +--- + src/thread/mips/syscall_cp.s | 41 +++++++++++++++++++++++++++++++++++- + 1 file changed, 40 insertions(+), 1 deletion(-) + +diff --git a/src/thread/mips/syscall_cp.s b/src/thread/mips/syscall_cp.s +index d2846264..d39bff59 100644 +--- a/src/thread/mips/syscall_cp.s ++++ b/src/thread/mips/syscall_cp.s +@@ -1,4 +1,14 @@ ++.section .mdebug.abi32 ++.previous + .set noreorder ++.cfi_sections .debug_frame ++.abicalls ++#ifdef __PIC__ ++ .option pic2 ++#else ++ .option pic0 ++#endif ++.text + + .global __cp_begin + .hidden __cp_begin +@@ -9,12 +19,32 @@ + .global __cp_cancel + .hidden __cp_cancel + .type __cp_cancel, at function +-.hidden __cancel ++.hidden __cancel /* long __cancel() in src/thread/pthread_cancel.c */ + .global __syscall_cp_asm + .hidden __syscall_cp_asm + .type __syscall_cp_asm, at function ++ ++/* ++long __syscall_cp_asm( ++ volatile int *cancel, ++ syscall_arg_t nr, ++ syscall_arg_t u, ++ syscall_arg_t v, ++ syscall_arg_t w, ++ syscall_arg_t x, ++ syscall_arg_t y, ++ syscall_arg_t z) ++*/ ++ ++ .ent __syscall_cp_asm ++ .frame $sp, 32, $ra ++ .mask 0x00000000, 0 ++ .fmask 0x00000000, 0 ++ .cfi_startproc ++ .cfi_return_column $ra + __syscall_cp_asm: + subu $sp, $sp, 32 ++ .cfi_adjust_cfa_offset 32 + __cp_begin: + lw $4, 0($4) + bne $4, $0, __cp_cancel +@@ -35,14 +65,17 @@ __cp_begin: + __cp_end: + beq $7, $0, 1f + addu $sp, $sp, 32 ++ .cfi_adjust_cfa_offset -32 + subu $2, $0, $2 + 1: jr $ra + nop + + __cp_cancel: + move $2, $ra ++ .cfi_register $ra, $2 + bal 1f + addu $sp, $sp, 32 ++ .cfi_adjust_cfa_offset -32 + .gpword . + .gpword __cancel + 1: lw $3, ($ra) +@@ -51,3 +84,9 @@ __cp_cancel: + addu $25, $25, $3 + jr $25 + move $ra, $2 ++ .cfi_restore $ra ++#ifdef __ELF__ ++ .size __syscall_cp_asm,.-__syscall_cp_asm ++#endif ++ .end __syscall_cp_asm ++ .cfi_endproc +-- +2.24.1 + diff --git a/toolchain/musl/patches/221-mipsel-preprocess-syscall_cp.s.patch b/toolchain/musl/patches/221-mipsel-preprocess-syscall_cp.s.patch new file mode 100644 index 0000000000..a4eb8fed51 --- /dev/null +++ b/toolchain/musl/patches/221-mipsel-preprocess-syscall_cp.s.patch @@ -0,0 +1,18 @@ +From 76cfae6e5a22bbbbdca17ff2ffa196b3ad2a3537 Mon Sep 17 00:00:00 2001 +From: Daniel Santos +Date: Wed, 24 Jun 2020 14:46:15 -0500 +Subject: mipsel: preprocess syscall_cp.s + +Signed-off-by: Daniel Santos +--- + src/thread/mips/{syscall_cp.s => syscall_cp.S} | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + rename src/thread/mips/{syscall_cp.s => syscall_cp.S} (100%) + +diff --git a/src/thread/mips/syscall_cp.s b/src/thread/mips/syscall_cp.S +similarity index 100% +rename from src/thread/mips/syscall_cp.s +rename to src/thread/mips/syscall_cp.S +-- +2.24.1 + -- 2.24.1 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Wed Jun 24 19:48:54 2020 From: rosenp at gmail.com (Rosen Penev) Date: Wed, 24 Jun 2020 16:48:54 -0700 Subject: [PATCH] procd: fix compilation with uClibc-ng Message-ID: <20200624234854.528880-1-rosenp@gmail.com> _GNU_SOURCE was missing. Also defined two macros unavailable with uClibc-ng. Signed-off-by: Rosen Penev --- jail/console.c | 4 ++++ jail/jail.c | 4 ++++ trace/trace.c | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/jail/console.c b/jail/console.c index eacb2fa..588d241 100644 --- a/jail/console.c +++ b/jail/console.c @@ -11,6 +11,10 @@ * GNU General Public License for more details. */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif + #include #include #include diff --git a/jail/jail.c b/jail/jail.c index 4590690..2a0391c 100644 --- a/jail/jail.c +++ b/jail/jail.c @@ -39,6 +39,10 @@ #include #include +#ifndef CLONE_NEWCGROUP +#define CLONE_NEWCGROUP 0x02000000 +#endif + #define STACK_SIZE (1024 * 1024) #define OPT_ARGS "S:C:n:h:r:w:d:psulocU:G:NR:fFO:T:Ey" diff --git a/trace/trace.c b/trace/trace.c index 78b99dd..93554f7 100644 --- a/trace/trace.c +++ b/trace/trace.c @@ -33,6 +33,11 @@ #define PTRACE_EVENT_STOP 128 #endif +#ifndef PTRACE_EVENT_SECCOMP +/* undefined with uClibc-ng */ +#define PTRACE_EVENT_SECCOMP 7 +#endif + #include #include #include -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From rosenp at gmail.com Wed Jun 24 19:49:13 2020 From: rosenp at gmail.com (Rosen Penev) Date: Wed, 24 Jun 2020 16:49:13 -0700 Subject: [PATCH] dropbear: fix compilation with uClibc-ng Message-ID: <20200624234913.529818-1-rosenp@gmail.com> Backported two upstream patches. Signed-off-by: Rosen Penev --- package/network/services/dropbear/Makefile | 2 +- .../patches/020-backport-gnu-source.patch | 22 +++++++++++++ .../patches/030-backport-gnu-source2.patch | 31 +++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 package/network/services/dropbear/patches/020-backport-gnu-source.patch create mode 100644 package/network/services/dropbear/patches/030-backport-gnu-source2.patch diff --git a/package/network/services/dropbear/Makefile b/package/network/services/dropbear/Makefile index 8031a0c62a..b938399023 100644 --- a/package/network/services/dropbear/Makefile +++ b/package/network/services/dropbear/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dropbear PKG_VERSION:=2020.79 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:= \ diff --git a/package/network/services/dropbear/patches/020-backport-gnu-source.patch b/package/network/services/dropbear/patches/020-backport-gnu-source.patch new file mode 100644 index 0000000000..66696df26a --- /dev/null +++ b/package/network/services/dropbear/patches/020-backport-gnu-source.patch @@ -0,0 +1,22 @@ +From 3f5c106a880a02b21739f2022746e6aa7672474c Mon Sep 17 00:00:00 2001 +From: Matt Johnston +Date: Tue, 23 Jun 2020 21:38:46 +0800 +Subject: [PATCH] _GNU_SOURCE for random + +--- + includes.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/includes.h b/includes.h +index e8c3e189..2789f23d 100644 +--- a/includes.h ++++ b/includes.h +@@ -125,6 +125,8 @@ + #endif + + #ifdef HAVE_SYS_RANDOM_H ++/* uclibc needs _GNU_SOURCE */ ++#define _GNU_SOURCE + #include + #endif + diff --git a/package/network/services/dropbear/patches/030-backport-gnu-source2.patch b/package/network/services/dropbear/patches/030-backport-gnu-source2.patch new file mode 100644 index 0000000000..e64cf7e4c2 --- /dev/null +++ b/package/network/services/dropbear/patches/030-backport-gnu-source2.patch @@ -0,0 +1,31 @@ +From a7a67585cbc3fe5df85c641618b347a51a943356 Mon Sep 17 00:00:00 2001 +From: Matt Johnston +Date: Tue, 23 Jun 2020 22:24:58 +0800 +Subject: [PATCH] move GNU_SOURCE earlier + +--- + includes.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/includes.h b/includes.h +index 2789f23d..884ebf71 100644 +--- a/includes.h ++++ b/includes.h +@@ -25,6 +25,8 @@ + #ifndef DROPBEAR_INCLUDES_H_ + #define DROPBEAR_INCLUDES_H_ + ++/* uclibc needs _GNU_SOURCE, maybe other things? */ ++#define _GNU_SOURCE + + #include "options.h" + #include "debug.h" +@@ -125,8 +127,6 @@ + #endif + + #ifdef HAVE_SYS_RANDOM_H +-/* uclibc needs _GNU_SOURCE */ +-#define _GNU_SOURCE + #include + #endif + -- 2.26.2 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From mail at david-bauer.net Wed Jun 24 20:45:25 2020 From: mail at david-bauer.net (David Bauer) Date: Thu, 25 Jun 2020 02:45:25 +0200 Subject: [PATCH 1/2] ramips: add support for RAVPower RP-WD009 Message-ID: <20200625004526.32930-1-mail@david-bauer.net> The RAVPower RP-WD009 is a batter-powered pocket sized router with SD card lot and USB port. Hardware -------- CPU: MediaTek MT7628AN RAM: 64M DDR2 FLASH: 16M GigaDevices SPI-NOR WLAN: MediaTek MT7628AN 2T2R b/g/n MediaTek MT7610E 1T1R n/ac ETH: 1x FastEthernet SD: SD Card slot USB: USB 2.0 Custom PMIC on the I2C bus (address 0x0a). Installation ------------ 1. Press and hold down the reset button. 2. Power up the Device. Keep pressing the reset button for 10 more seconds until the Globe LED lights up. 3. Attach your Computer to the Ethernet port. Assign yourself the address 10.10.10.1/24. 4. Access the recovery page at 10.10.10.128 and upload the OpenWrt factory image. 5. The flashing will take around 1 minute. The device will reboot automatically into OpenWrt. Signed-off-by: David Bauer --- package/boot/uboot-ramips/Makefile | 34 ++ ...01-add-support-for-RAVPower-RP-WD009.patch | 290 ++++++++++++++++++ .../ramips/dts/mt7628an_ravpower_rp-wd009.dts | 202 ++++++++++++ target/linux/ramips/image/Makefile | 6 + target/linux/ramips/image/mt76x8.mk | 11 + .../mt76x8/base-files/etc/board.d/02_network | 1 + 6 files changed, 544 insertions(+) create mode 100644 package/boot/uboot-ramips/Makefile create mode 100644 package/boot/uboot-ramips/patches/0001-add-support-for-RAVPower-RP-WD009.patch create mode 100644 target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts diff --git a/package/boot/uboot-ramips/Makefile b/package/boot/uboot-ramips/Makefile new file mode 100644 index 0000000000..5229f5cd3c --- /dev/null +++ b/package/boot/uboot-ramips/Makefile @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: GPL-2.0-only + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_VERSION:=2020.04 +PKG_RELEASE:=1 + +PKG_HASH:=fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372 + +include $(INCLUDE_DIR)/u-boot.mk +include $(INCLUDE_DIR)/package.mk + +define U-Boot/Default + BUILD_TARGET:=ramips + UBOOT_IMAGE:=u-boot.bin +endef + +define U-Boot/ravpower_rp-wd009 + BUILD_DEVICES:=ravpower_rp-wd009 + BUILD_SUBTARGET:=mt76x8 + NAME:=RAVPower RP-WD009 + UBOOT_CONFIG:=ravpower-rp-wd009-ram +endef + +UBOOT_TARGETS := \ + ravpower_rp-wd009 + +define Build/InstallDev + $(INSTALL_DIR) $(STAGING_DIR_IMAGE) + $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(VARIANT)-$(UBOOT_IMAGE) +endef + +$(eval $(call BuildPackage/U-Boot)) diff --git a/package/boot/uboot-ramips/patches/0001-add-support-for-RAVPower-RP-WD009.patch b/package/boot/uboot-ramips/patches/0001-add-support-for-RAVPower-RP-WD009.patch new file mode 100644 index 0000000000..1833a627dc --- /dev/null +++ b/package/boot/uboot-ramips/patches/0001-add-support-for-RAVPower-RP-WD009.patch @@ -0,0 +1,290 @@ +From 593db38363297247df731566c2aa307a5d795005 Mon Sep 17 00:00:00 2001 +From: David Bauer +Date: Thu, 18 Jun 2020 00:13:11 +0200 +Subject: [PATCH] add support for RAVPower RP-WD009 + +--- + arch/mips/dts/Makefile | 3 +- + arch/mips/dts/ravpower-rp-wd009.dts | 50 +++++++++++++++++++++ + arch/mips/mach-mtmips/Kconfig | 9 ++++ + board/ravpower/rp-wd009/Kconfig | 12 +++++ + board/ravpower/rp-wd009/Makefile | 3 ++ + board/ravpower/rp-wd009/board.c | 16 +++++++ + configs/ravpower-rp-wd009-ram_defconfig | 59 +++++++++++++++++++++++++ + include/configs/ravpower-rp-wd009.h | 48 ++++++++++++++++++++ + 8 files changed, 199 insertions(+), 1 deletion(-) + create mode 100644 arch/mips/dts/ravpower-rp-wd009.dts + create mode 100644 board/ravpower/rp-wd009/Kconfig + create mode 100644 board/ravpower/rp-wd009/Makefile + create mode 100644 board/ravpower/rp-wd009/board.c + create mode 100644 configs/ravpower-rp-wd009-ram_defconfig + create mode 100644 include/configs/ravpower-rp-wd009.h + +diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile +index c9d75596f2..23868ae1d2 100644 +--- a/arch/mips/dts/Makefile ++++ b/arch/mips/dts/Makefile +@@ -2,7 +2,8 @@ + + dtb-$(CONFIG_ARCH_MTMIPS) += \ + gardena-smart-gateway-mt7688.dtb \ +- linkit-smart-7688.dtb ++ linkit-smart-7688.dtb \ ++ ravpower-rp-wd009.dtb + dtb-$(CONFIG_TARGET_AP121) += ap121.dtb + dtb-$(CONFIG_TARGET_AP143) += ap143.dtb + dtb-$(CONFIG_TARGET_AP152) += ap152.dtb +diff --git a/arch/mips/dts/ravpower-rp-wd009.dts b/arch/mips/dts/ravpower-rp-wd009.dts +new file mode 100644 +index 0000000000..b271d5bfbc +--- /dev/null ++++ b/arch/mips/dts/ravpower-rp-wd009.dts +@@ -0,0 +1,50 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Copyright (C) 2018 Stefan Roese ++ */ ++ ++/dts-v1/; ++ ++#include "mt7628a.dtsi" ++#include ++ ++/ { ++ compatible = "ravpower,rp-wd009", "ralink,mt7628a-soc"; ++ model = "RAVPower RP-WD009"; ++ ++ aliases { ++ serial0 = &uart0; ++ spi0 = &spi0; ++ }; ++ ++ memory at 0 { ++ device_type = "memory"; ++ reg = <0x0 0x4000000>; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++}; ++ ++&uart0 { ++ status = "okay"; ++}; ++ ++&spi0 { ++ status = "okay"; ++ num-cs = <2>; ++ ++ spi-flash at 0 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "jedec,spi-nor"; ++ spi-max-frequency = <40000000>; ++ reg = <0>; ++ }; ++}; ++ ++ð { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ephy_router_mode>; ++}; +diff --git a/arch/mips/mach-mtmips/Kconfig b/arch/mips/mach-mtmips/Kconfig +index c8dcf19c0d..85ac8878ab 100644 +--- a/arch/mips/mach-mtmips/Kconfig ++++ b/arch/mips/mach-mtmips/Kconfig +@@ -32,6 +32,14 @@ config BOARD_GARDENA_SMART_GATEWAY_MT7688 + GARDENA smart Gateway boards have a MT7688 SoC with 128 MiB of RAM + and 8 MiB of flash (SPI NOR) and additional SPI NAND storage. + ++config BOARD_RAVPOWER_RP_WD009 ++ bool "RAVPower RP-WD009" ++ depends on SOC_MT7628 ++ select BOARD_LATE_INIT ++ select SUPPORTS_BOOT_RAM ++ help ++ RAVPower RP-WD009 ++ + config BOARD_LINKIT_SMART_7688 + bool "LinkIt Smart 7688" + depends on SOC_MT7628 +@@ -133,6 +141,7 @@ config SUPPORTS_BOOT_RAM + bool + + source "board/gardena/smart-gateway-mt7688/Kconfig" ++source "board/ravpower/rp-wd009/Kconfig" + source "board/seeed/linkit-smart-7688/Kconfig" + + endmenu +diff --git a/board/ravpower/rp-wd009/Kconfig b/board/ravpower/rp-wd009/Kconfig +new file mode 100644 +index 0000000000..111f8e4478 +--- /dev/null ++++ b/board/ravpower/rp-wd009/Kconfig +@@ -0,0 +1,12 @@ ++if BOARD_RAVPOWER_RP_WD009 ++ ++config SYS_BOARD ++ default "rp-wd009" ++ ++config SYS_VENDOR ++ default "ravpower" ++ ++config SYS_CONFIG_NAME ++ default "ravpower-rp-wd009" ++ ++endif +diff --git a/board/ravpower/rp-wd009/Makefile b/board/ravpower/rp-wd009/Makefile +new file mode 100644 +index 0000000000..70cd7a8e56 +--- /dev/null ++++ b/board/ravpower/rp-wd009/Makefile +@@ -0,0 +1,3 @@ ++# SPDX-License-Identifier: GPL-2.0+ ++ ++obj-y += board.o +diff --git a/board/ravpower/rp-wd009/board.c b/board/ravpower/rp-wd009/board.c +new file mode 100644 +index 0000000000..eabcf85735 +--- /dev/null ++++ b/board/ravpower/rp-wd009/board.c +@@ -0,0 +1,16 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 Stefan Roese ++ */ ++ ++ ++int board_early_init_f(void) ++{ ++ return 0; ++} ++ ++ ++int board_late_init(void) ++{ ++ return 0; ++} +diff --git a/configs/ravpower-rp-wd009-ram_defconfig b/configs/ravpower-rp-wd009-ram_defconfig +new file mode 100644 +index 0000000000..08cbf40638 +--- /dev/null ++++ b/configs/ravpower-rp-wd009-ram_defconfig +@@ -0,0 +1,59 @@ ++CONFIG_MIPS=y ++CONFIG_SYS_TEXT_BASE=0x80010000 ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_ARCH_MTMIPS=y ++CONFIG_MIPS_BOOT_FDT=y ++CONFIG_LEGACY_IMAGE_FORMAT=y ++CONFIG_OF_STDOUT_VIA_ALIAS=y ++CONFIG_USE_BOOTCOMMAND=y ++CONFIG_BOOTCOMMAND="sf probe && mtd read firmware 82000000 && bootm 82000000" ++CONFIG_USE_PREBOOT=y ++CONFIG_SYS_CONSOLE_INFO_QUIET=y ++CONFIG_VERSION_VARIABLE=y ++CONFIG_BOARD_RAVPOWER_RP_WD009=y ++CONFIG_BOARD_EARLY_INIT_F=y ++CONFIG_HUSH_PARSER=y ++CONFIG_CMD_LICENSE=y ++# CONFIG_CMD_ELF is not set ++# CONFIG_CMD_XIMG is not set ++CONFIG_CMD_MEMINFO=y ++# CONFIG_CMD_FLASH is not set ++CONFIG_CMD_GPIO=y ++# CONFIG_CMD_LOADS is not set ++CONFIG_CMD_MTD=y ++CONFIG_CMD_SPI=y ++CONFIG_CMD_WDT=y ++CONFIG_CMD_DHCP=y ++CONFIG_CMD_MII=y ++CONFIG_CMD_PING=y ++CONFIG_CMD_TIME=y ++CONFIG_CMD_UUID=y ++CONFIG_CMD_MTDPARTS=y ++CONFIG_MTDIDS_DEFAULT="nor0=spi0.0" ++CONFIG_MTDPARTS_DEFAULT="spi0.0:192k(factory-uboot),64k(config),64k(factory),1536k(loader),64k(params),64k(user_backup),64k(user),14272k(firmware),64k(mode)" ++CONFIG_DEFAULT_DEVICE_TREE="ravpower-rp-wd009" ++CONFIG_NET_RANDOM_ETHADDR=y ++# CONFIG_DM_DEVICE_REMOVE is not set ++CONFIG_HAVE_BLOCK_DEVICE=y ++CONFIG_LED=y ++CONFIG_LED_BLINK=y ++CONFIG_LED_GPIO=y ++CONFIG_MTD=y ++CONFIG_DM_MTD=y ++CONFIG_SPI_FLASH_GIGADEVICE=y ++CONFIG_SPI_FLASH_MACRONIX=y ++CONFIG_SPI_FLASH_SPANSION=y ++CONFIG_SPI_FLASH_STMICRO=y ++CONFIG_SPI_FLASH_WINBOND=y ++CONFIG_SPI_FLASH_XMC=y ++CONFIG_SPI_FLASH_MTD=y ++CONFIG_MTD_UBI_BEB_LIMIT=22 ++CONFIG_MT7628_ETH=y ++CONFIG_PHY=y ++CONFIG_SPI=y ++CONFIG_MT7621_SPI=y ++CONFIG_SYSRESET_SYSCON=y ++CONFIG_WDT=y ++CONFIG_WDT_MT7621=y ++CONFIG_LZMA=y ++CONFIG_BAUDRATE=57600 +diff --git a/include/configs/ravpower-rp-wd009.h b/include/configs/ravpower-rp-wd009.h +new file mode 100644 +index 0000000000..bb4145197c +--- /dev/null ++++ b/include/configs/ravpower-rp-wd009.h +@@ -0,0 +1,48 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 Stefan Roese ++ */ ++ ++#ifndef __CONFIG_RAVPOWER_RP_WD009_H ++#define __CONFIG_RAVPOWER_RP_WD009_H ++ ++/* CPU */ ++#define CONFIG_SYS_MIPS_TIMER_FREQ 290000000 ++ ++/* RAM */ ++#define CONFIG_SYS_SDRAM_BASE 0x80000000 ++ ++#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_SDRAM_BASE + 0x100000 ++ ++#define CONFIG_SYS_INIT_SP_OFFSET 0x400000 ++ ++#ifdef CONFIG_BOOT_RAM ++#define CONFIG_SKIP_LOWLEVEL_INIT ++#endif ++ ++/* UART */ ++#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \ ++ 230400, 460800, 921600 } ++ ++/* RAM */ ++#define CONFIG_SYS_MEMTEST_START 0x80100000 ++#define CONFIG_SYS_MEMTEST_END 0x80400000 ++ ++/* Memory usage */ ++#define CONFIG_SYS_MAXARGS 64 ++#define CONFIG_SYS_MALLOC_LEN (16 * 1024 * 1024) ++#define CONFIG_SYS_BOOTPARAMS_LEN (128 * 1024) ++#define CONFIG_SYS_CBSIZE 512 ++ ++/* U-Boot */ ++#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE ++ ++/* Environment settings */ ++ ++/* ++ * Environment is right behind U-Boot in flash. Make sure U-Boot ++ * doesn't grow into the environment area. ++ */ ++#define CONFIG_BOARD_SIZE_LIMIT CONFIG_ENV_OFFSET ++ ++#endif /* __CONFIG_RAVPOWER_RP_WD009_H */ +-- +2.27.0 + diff --git a/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts new file mode 100644 index 0000000000..5f556af1d3 --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts @@ -0,0 +1,202 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7628an.dtsi" + +#include +#include + +/ { + compatible = "ravpower,rp-wd009", "mediatek,mt7628an-soc"; + model = "RAVPower RP-WD009"; + + aliases { + led-boot = &led_globe; + led-failsafe = &led_globe; + led-running = &led_globe; + led-upgrade = &led_globe; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + leds { + compatible = "gpio-leds"; + + led_globe: globe { + label = "rp-wd009:white:globe"; + gpios = <&gpio 43 GPIO_ACTIVE_LOW>; + }; + + wlan2 { + label = "rp-wd009:white:wlan2"; + gpios = <&gpio 44 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; + }; + + wlan5 { + label = "rp-wd009:white:wlan5"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + sd_white { + label = "rp-wd009:white:sd"; + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; + }; + + sd_red { + label = "rp-wd009:red:sd"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + /* Power interrupt on Pin 39 */ + + rfkill { + label = "rfkill"; + gpios = <&gpio 21 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + backup { + label = "backup"; + gpios = <&gpio 40 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&gpio { + mt7610-power { + gpio-hog; + gpios = <20 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "mt7610-power"; + }; +}; + +&state_default { + gpio { + groups = "uart1", "wled_an", "p0led_an", "p2led_an", "p3led_an", + "p4led_an", "uart2", "pwm0", "i2s"; + function = "gpio"; + }; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +&sdhci { + status = "okay"; +}; + +&i2c { + status = "okay"; + + /* Custom PMIC at 0x0a */ +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi at 0,0 { + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; + +&spi0 { + status = "okay"; + + flash at 0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <40000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition at 0 { + label = "bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition at 30000 { + label = "config"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition at 40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition at 50000 { + label = "loader"; + reg = <0x50000 0x180000>; + }; + + partition at 1d0000 { + label = "params"; + reg = <0x1d0000 0x10000>; + read-only; + }; + + partition at 1e0000 { + label = "user_backup"; + reg = <0x1e0000 0x10000>; + read-only; + }; + + partition at 1f0000 { + label = "user"; + reg = <0x1f0000 0x10000>; + read-only; + }; + + partition at 200000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x200000 0xdf0000>; + }; + + partition at ff0000 { + label = "mode"; + reg = <0xff0000 0x10000>; + read-only; + }; + }; + }; +}; + +&wmac { + status = "okay"; +}; + +ðernet { + mtd-mac-address = <&factory 0x4>; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index b00e6d8726..93ce59e262 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -111,6 +111,12 @@ define Build/poray-header mv $@.new $@ endef +define Build/ravpower-wd009-factory + mkimage -A mips -T standalone -C none -a 0x80010000 -e 0x80010000 -n "OpenWrt Bootloader" -d $(UBOOT_PATH) $@.new + cat $@ >> $@.new + @mv $@.new $@ +endef + define Build/relocate-kernel rm -rf $@.relocate $(CP) ../../generic/image/relocate $@.relocate diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index f3ae384a23..53b5fe21d4 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -234,6 +234,17 @@ define Device/rakwireless_rak633 endef TARGET_DEVICES += rakwireless_rak633 +define Device/ravpower_rp-wd009 + IMAGE_SIZE := 14272k + DEVICE_VENDOR := RAVPower + DEVICE_MODEL := RP-WD009 + UBOOT_PATH := $(STAGING_DIR_IMAGE)/ravpower_rp-wd009-u-boot.bin + DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 kmod-i2c-mt7628 + IMAGES += factory.bin + IMAGE/factory.bin := $$(sysupgrade_bin) | ravpower-wd009-factory +endef +TARGET_DEVICES += ravpower_rp-wd009 + define Device/skylab_skw92a IMAGE_SIZE := 16064k DEVICE_VENDOR := Skylab diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index 398b5e88c7..096958596f 100755 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -14,6 +14,7 @@ ramips_setup_interfaces() mediatek,linkit-smart-7688|\ onion,omega2p|\ onion,omega2|\ + ravpower,rp-wd009|\ tama,w06|\ tplink,re200-v2|\ tplink,re305-v1|\ -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From mail at david-bauer.net Wed Jun 24 20:45:26 2020 From: mail at david-bauer.net (David Bauer) Date: Thu, 25 Jun 2020 02:45:26 +0200 Subject: [PATCH 2/2] package: add ravpower-mcu package In-Reply-To: <20200625004526.32930-1-mail@david-bauer.net> References: <20200625004526.32930-1-mail@david-bauer.net> Message-ID: <20200625004526.32930-2-mail@david-bauer.net> This package allows to read battery status information and control the power state of the RAVPower RP-WD009 power management IC. Signed-off-by: David Bauer --- package/utils/ravpower-mcu/Makefile | 34 +++++++++++++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 3 ++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 package/utils/ravpower-mcu/Makefile diff --git a/package/utils/ravpower-mcu/Makefile b/package/utils/ravpower-mcu/Makefile new file mode 100644 index 0000000000..435445fcc5 --- /dev/null +++ b/package/utils/ravpower-mcu/Makefile @@ -0,0 +1,34 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=ravpower-mcu + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL=https://github.com/blocktrron/ravpower-mcu.git +PKG_MIRROR_HASH:=edde0fda3fc708eac65baff46b5b6f1290ab733d3f4bd7fc027ef45c3d1b5814 +PKG_SOURCE_DATE:=2020-06-19 +PKG_SOURCE_VERSION:=1665d9e9212dcd118629a74fbe658841f81036f7 +PKG_MAINTAINER:=David Bauer +PKG_LICENSE:=GPL-2.0-or-later + +include $(INCLUDE_DIR)/package.mk + +define Package/ravpower-mcu + SECTION:=utils + CATEGORY:=Utilities + TITLE:=Utility to control the RAVPower RP-WD009 PMIC + DEPENDS:=@TARGET_ramips_mt76x8 + URL:=https://github.com/blocktrron/ravpower-mcu/ +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -Wall" +endef + +define Package/ravpower-mcu/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/ravpower-mcu $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,ravpower-mcu)) diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index 53b5fe21d4..f96f547d54 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -239,7 +239,8 @@ define Device/ravpower_rp-wd009 DEVICE_VENDOR := RAVPower DEVICE_MODEL := RP-WD009 UBOOT_PATH := $(STAGING_DIR_IMAGE)/ravpower_rp-wd009-u-boot.bin - DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 kmod-i2c-mt7628 + DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci \ + kmod-sdhci-mt7620 kmod-i2c-mt7628 ravpower-mcu IMAGES += factory.bin IMAGE/factory.bin := $$(sysupgrade_bin) | ravpower-wd009-factory endef -- 2.27.0 _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From openwrt-devel at lists.openwrt.org Thu Jun 25 05:05:07 2020 From: openwrt-devel at lists.openwrt.org (Emil Muratov via openwrt-devel) Date: Thu, 25 Jun 2020 12:05:07 +0300 Subject: No subject In-Reply-To: References: <20200623112953.3454-1-rsalvaterra@gmail.com> Message-ID: The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. -------------- next part -------------- An embedded message was scrubbed... From: Emil Muratov Subject: Re: [PATCH] zram-swap: enable swap discard Date: Thu, 25 Jun 2020 12:05:07 +0300 Size: 4312 URL: -------------- next part -------------- _______________________________________________ openwrt-devel mailing list openwrt-devel at lists.openwrt.org http://lists.infradead.org/mailman/listinfo/openwrt-devel From rsalvaterra at gmail.com Thu Jun 25 05:55:22 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Thu, 25 Jun 2020 10:55:22 +0100 Subject: [PATCH] zram-swap: enable swap discard In-Reply-To: <9948ad5b-26d1-446e-cbe6-d66bca677721@hotplug.ru> References: <20200623112953.3454-1-rsalvaterra@gmail.com> <9948ad5b-26d1-446e-cbe6-d66bca677721@hotplug.ru> Message-ID: Hi, Emil, On Thu, 25 Jun 2020 at 10:05, Emil Muratov wrote: > > Hmm... that looks weird at first, > I was checking kernel counters at /sys/block/zram0/io_stat, > which is zram device for swap. And if there was positive counter for > discards for zram device while swap was not sending any discards than > what is that counter is about? The number you see in io_stat doesn't reflect only pages freed due to discard/trim requests. From the zram documentation itself [1]: File /sys/block/zram/io_stat The stat file represents device's I/O statistics not accounted by block layer and, thus, not available in zram/stat file. It consists of a single line of text and contains the following stats separated by whitespace: failed_reads the number of failed reads failed_writes the number of failed writes invalid_io the number of non-page-size-aligned I/O requests notify_free Depending on device usage scenario it may account a) the number of pages freed because of swap slot free notifications or b) the number of pages freed because of REQ_OP_DISCARD requests sent by bio. The former ones are sent to a swap block device when a swap slot is freed, which implies that this disk is being used as a swap disk. The latter ones are sent by filesystem mounted with discard option, whenever some data blocks are getting discarded. What you are seeing is the number of freed pages due to swap slot free notifications. This means the swap "filesystem" is marking the swap slots as free (metadata), but the underlying zram device is not returning the memory to the kernel. > Have you checked if stressing swap with some push/pull paging load > indeed keeps ram occupied at max level? > Analyzing /sys/block/$zdev/mm_stat could also help there. I do not > remember mem leaks issues when tested stats script, but who knows... > Need to take a closer look into this. > Thanks! The thing is, there are no memory leaks from the kernel point of view. The kernel thinks zram needs the memory it has allocated, the problem is that it actually doesn't and also doesn't tell the kernel that it can reclaim it. So, indeed, we need to explicitly tell swapon we want to issue discard commands. [1] https://www.kernel.org/doc/Documentation/blockdev/zram.txt Thanks, Rui From gpm at hotplug.ru Thu Jun 25 08:57:01 2020 From: gpm at hotplug.ru (Emil Muratov) Date: Thu, 25 Jun 2020 15:57:01 +0300 Subject: [PATCH] zram-swap: enable swap discard In-Reply-To: References: <20200623112953.3454-1-rsalvaterra@gmail.com> <9948ad5b-26d1-446e-cbe6-d66bca677721@hotplug.ru> Message-ID: <6c9948e7-015a-6431-17f5-29b8723ec473@hotplug.ru> Hi Rui, no, of cource I mean not literally leaked memory but the memory actually used by zram dev. In case of non-discarding operation memory used by zdev will grow up untill 'mem limit' and never shrink back again. But checking for zdev counters in $zdev/mm_stat the following values correlates pretty good: "Compressed data size", "Memory used, total", "Maximum memory ever used". In particular "memory used" for zram floats pretty close to swap's current used capacity and "Maximum memory ever used" bumps to the highest observable swap's usage and usually more than or equal to "mem used". Could you, please, describe you test case scenarios and measurements where you've hit memory waste for zram dev when swap shrinks? I want to try and reproduce it for recent and kernels maybe. Thanks for your help! On 25.06.2020 12:55, Rui Salvaterra wrote: > Hi, Emil, > > On Thu, 25 Jun 2020 at 10:05, Emil Muratov wrote: >> Hmm... that looks weird at first, >> I was checking kernel counters at /sys/block/zram0/io_stat, >> which is zram device for swap. And if there was positive counter for >> discards for zram device while swap was not sending any discards than >> what is that counter is about? > The number you see in io_stat doesn't reflect only pages freed due to > discard/trim requests. From the zram documentation itself [1]: > > File /sys/block/zram/io_stat > > The stat file represents device's I/O statistics not accounted by block > layer and, thus, not available in zram/stat file. It consists of a > single line of text and contains the following stats separated by > whitespace: > failed_reads the number of failed reads > failed_writes the number of failed writes > invalid_io the number of non-page-size-aligned I/O requests > notify_free Depending on device usage scenario it may account > a) the number of pages freed because of swap slot free > notifications or b) the number of pages freed because of > REQ_OP_DISCARD requests sent by bio. The former ones are > sent to a swap block device when a swap slot is freed, > which implies that this disk is being used as a swap disk. > The latter ones are sent by filesystem mounted with > discard option, whenever some data blocks are getting > discarded. > > What you are seeing is the number of freed pages due to swap slot free > notifications. This means the swap "filesystem" is marking the swap > slots as free (metadata), but the underlying zram device is not > returning the memory to the kernel. > >> Have you checked if stressing swap with some push/pull paging load >> indeed keeps ram occupied at max level? >> Analyzing /sys/block/$zdev/mm_stat could also help there. I do not >> remember mem leaks issues when tested stats script, but who knows... >> Need to take a closer look into this. >> Thanks! > The thing is, there are no memory leaks from the kernel point of view. > The kernel thinks zram needs the memory it has allocated, the problem > is that it actually doesn't and also doesn't tell the kernel that it > can reclaim it. > So, indeed, we need to explicitly tell swapon we want to issue discard commands. > > [1] https://www.kernel.org/doc/Documentation/blockdev/zram.txt > > Thanks, > Rui From rsalvaterra at gmail.com Thu Jun 25 09:32:52 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Thu, 25 Jun 2020 14:32:52 +0100 Subject: [PATCH] zram-swap: enable swap discard In-Reply-To: <6c9948e7-015a-6431-17f5-29b8723ec473@hotplug.ru> References: <20200623112953.3454-1-rsalvaterra@gmail.com> <9948ad5b-26d1-446e-cbe6-d66bca677721@hotplug.ru> <6c9948e7-015a-6431-17f5-29b8723ec473@hotplug.ru> Message-ID: Hi, Emil, On Thu, 25 Jun 2020 at 13:57, Emil Muratov wrote: > > Could you, please, describe you test case scenarios and measurements > where you've hit memory waste for zram dev when swap shrinks? I don't have a specific procedure to test this, but I believe I showed you proof that it's a good idea. I'm sure the reason discard isn't the default is because people actually use swap on SSD, and repeated discard commands will wear the flash storage too much. If you want to merge it, fine. If you don't, it's fine too, I'll just keep it in my tree. Cheers, Rui From rsalvaterra at gmail.com Thu Jun 25 10:20:23 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Thu, 25 Jun 2020 15:20:23 +0100 Subject: [RFC PATCH] kernel: kmod-zram: break the strict dependency from lz4 Message-ID: <20200625142021.479434-1-rsalvaterra@gmail.com> Zram is only strictly dependent on lzo, not lz4. Break this dependency and make the lz4 module visible in the configuration, in order for the user to have the choice of enabling/disabling it, if (s)he sees fit. Signed-off-by: Rui Salvaterra --- package/kernel/linux/modules/lib.mk | 1 - package/kernel/linux/modules/other.mk | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk index e14c6b31c0..1289cc1f25 100644 --- a/package/kernel/linux/modules/lib.mk +++ b/package/kernel/linux/modules/lib.mk @@ -147,7 +147,6 @@ define KernelPackage/lib-lz4 SUBMENU:=$(LIB_MENU) TITLE:=LZ4 support DEPENDS:=+kmod-crypto-acompress - HIDDEN:=1 KCONFIG:= \ CONFIG_CRYPTO_LZ4 \ CONFIG_LZ4_COMPRESS \ diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index 936a1327fd..088a495d09 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -896,15 +896,14 @@ $(eval $(call KernelPackage,ikconfig)) define KernelPackage/zram SUBMENU:=$(OTHER_MENU) TITLE:=ZRAM - DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4 + DEPENDS:=+kmod-lib-lzo KCONFIG:= \ CONFIG_ZSMALLOC \ CONFIG_ZRAM \ CONFIG_ZRAM_DEBUG=n \ CONFIG_PGTABLE_MAPPING=n \ CONFIG_ZRAM_WRITEBACK=n \ - CONFIG_ZSMALLOC_STAT=n \ - CONFIG_ZRAM_LZ4_COMPRESS=y + CONFIG_ZSMALLOC_STAT=n FILES:= \ $(LINUX_DIR)/mm/zsmalloc.ko \ $(LINUX_DIR)/drivers/block/zram/zram.ko -- 2.27.0 From frms at documents.medusaranch.com Thu Jun 25 08:38:16 2020 From: frms at documents.medusaranch.com (frms at documents.medusaranch.com) Date: Thu, 25 Jun 2020 15:38:16 +0300 (MSK) Subject: Bangalow Computer Services - 26549; Vertrag Message-ID: <387079306.5431683.1593088696935@debian> An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 7162796_90474_7266421.zip Type: application/zip Size: 306763 bytes Desc: not available URL: From rsalvaterra at gmail.com Thu Jun 25 15:46:14 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Thu, 25 Jun 2020 20:46:14 +0100 Subject: [PATCH] zram-swap: enable swap discard In-Reply-To: References: <20200623112953.3454-1-rsalvaterra@gmail.com> <9948ad5b-26d1-446e-cbe6-d66bca677721@hotplug.ru> <6c9948e7-015a-6431-17f5-29b8723ec473@hotplug.ru> Message-ID: Hi, Emil, After pressing send, I realised my choice of words made my previous email sound harsh, it wasn't my intention, I'm sorry about that. :) On Thu, 25 Jun 2020 at 18:13, Emil Muratov wrote: > > Hi Rui, > no offence, but I do not have direct commit right to openwrt's repo. > I've had done some work on zram-script before, that's why I was > interested in this case. Right, I cc'd you exactly because you worked a lot on this in the last couple of years, so I supposed you could be interested. The thing is, given how zram works, enabling discard doesn't hurt and can only help, from all the documentation (and code) I've read. > You could try to create a PR to GiHub's openwrt repo than someone from > the core team could pick it up for review. Sure, it's already caught by Patchwork and awaiting review, no worries. Thanks, Rui From rsalvaterra at gmail.com Thu Jun 25 18:36:19 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Thu, 25 Jun 2020 23:36:19 +0100 Subject: [RFC PATCH] kernel: zstd: enable crypto API support on Linux 4.19+ Message-ID: <20200625223619.881426-1-rsalvaterra@gmail.com> Zstd is supported by the crypto API since Linux 4.18. Enable this feature and reveal the package in the configuration section, so the user can select it. This allows zstd to be used as a compression algorithm in zram, for example. Signed-off-by: Rui Salvaterra --- package/kernel/linux/modules/lib.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk index 1289cc1f25..143ce7e62d 100644 --- a/package/kernel/linux/modules/lib.mk +++ b/package/kernel/linux/modules/lib.mk @@ -124,16 +124,18 @@ $(eval $(call KernelPackage,lib-lzo)) define KernelPackage/lib-zstd SUBMENU:=$(LIB_MENU) TITLE:=ZSTD support + DEPENDS:=+!LINUX_4_14:kmod-crypto-acompress KCONFIG:= \ + CONFIG_CRYPTO_ZSTD \ CONFIG_ZSTD_COMPRESS \ CONFIG_ZSTD_DECOMPRESS \ CONFIG_XXHASH - HIDDEN:=1 FILES:= \ + $(LINUX_DIR)/crypto/zstd.ko at ge4.19 \ $(LINUX_DIR)/lib/xxhash.ko \ $(LINUX_DIR)/lib/zstd/zstd_compress.ko \ $(LINUX_DIR)/lib/zstd/zstd_decompress.ko - AUTOLOAD:=$(call AutoProbe,xxhash zstd_compress zstd_decompress) + AUTOLOAD:=$(call AutoProbe,xxhash zstd zstd_compress zstd_decompress) endef define KernelPackage/lib-zstd/description -- 2.27.0 From karlp at etactica.com Fri Jun 26 06:14:54 2020 From: karlp at etactica.com (Karl Palsson) Date: Fri, 26 Jun 2020 10:14:54 +0000 Subject: patch libubox-lua Message-ID: <20200626101458.8443-1-karlp@etactica.com> Some minor improvements to argument handling and docs. Patches 2 and 3 are optional, they have zero functional change, but IMO make the code easier to follow for future workers. From karlp at etactica.com Fri Jun 26 06:14:58 2020 From: karlp at etactica.com (Karl Palsson) Date: Fri, 26 Jun 2020 10:14:58 +0000 Subject: [PATCH libubox 4/4] examples/lua: attempt to highlight some traps In-Reply-To: <20200626101458.8443-1-karlp@etactica.com> References: <20200626101458.8443-1-karlp@etactica.com> Message-ID: <20200626101458.8443-5-karlp@etactica.com> Ran into some issues with my fd event being garbage collected. As I never wanted to call :delete, I had seen no reason to keep the returned object, as my callback and upvalues were still valid. Signed-off-by: Karl Palsson --- examples/uloop-example.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/uloop-example.lua b/examples/uloop-example.lua index 9b0684e..511b9ea 100755 --- a/examples/uloop-example.lua +++ b/examples/uloop-example.lua @@ -9,7 +9,7 @@ local udp = socket.udp() udp:settimeout(0) udp:setsockname('*', 8080) --- timer example 1 +-- timer example 1 (will run repeatedly) local timer function t() print("1000 ms timer run"); @@ -18,10 +18,10 @@ end timer = uloop.timer(t) timer:set(1000) --- timer example 2 +-- timer example 2 (will run once) uloop.timer(function() print("2000 ms timer run"); end, 2000) --- timer example 3 +-- timer example 3 (will never run) uloop.timer(function() print("3000 ms timer run"); end, 3000):cancel() -- process @@ -46,6 +46,8 @@ uloop.timer( end, 2000 ) +-- Keep udp_ev reference, events will be gc'd, even if the callback is still referenced +-- .delete will manually untrack. udp_ev = uloop.fd_add(udp, function(ufd, events) local words, msg_or_ip, port_or_nil = ufd:receivefrom() print('Recv UDP packet from '..msg_or_ip..':'..port_or_nil..' : '..words) -- 2.21.3 From karlp at etactica.com Fri Jun 26 06:14:56 2020 From: karlp at etactica.com (Karl Palsson) Date: Fri, 26 Jun 2020 10:14:56 +0000 Subject: [PATCH libubox 2/4] lua/uloop: make get_sock_fd capable of absolute addresses In-Reply-To: <20200626101458.8443-1-karlp@etactica.com> References: <20200626101458.8443-1-karlp@etactica.com> Message-ID: <20200626101458.8443-3-karlp@etactica.com> The original code required the use of relative addresses into the lua stack. It should accept either. Signed-off-by: Karl Palsson --- lua/uloop.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/uloop.c b/lua/uloop.c index fcbe274..394970d 100644 --- a/lua/uloop.c +++ b/lua/uloop.c @@ -188,7 +188,8 @@ static int get_sock_fd(lua_State* L, int idx) { lua_getfield(L, idx, "getfd"); if(lua_isnil(L, -1)) return luaL_error(L, "socket type missing 'getfd' method"); - lua_pushvalue(L, idx - 1); + /* if we have absolute, no need to adjust for getfield() call */ + lua_pushvalue(L, idx > 0 ? idx: idx - 1); lua_call(L, 1, 1); fd = lua_tointeger(L, -1); lua_pop(L, 1); -- 2.21.3 From karlp at etactica.com Fri Jun 26 06:14:55 2020 From: karlp at etactica.com (Karl Palsson) Date: Fri, 26 Jun 2020 10:14:55 +0000 Subject: [PATCH libubox 1/4] lua/uloop: fd_add() better args checking In-Reply-To: <20200626101458.8443-1-karlp@etactica.com> References: <20200626101458.8443-1-karlp@etactica.com> Message-ID: <20200626101458.8443-2-karlp@etactica.com> Actually check for flags being valid, instead of simply ignoring the call if flags was zero. Use standard lua checks for the function argument, so you can get a normal "argument #2 was invalid, expected function, got xxx" instead of the vague, "invalid arg list" Signed-off-by: Karl Palsson --- lua/uloop.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/lua/uloop.c b/lua/uloop.c index 1b0389f..fcbe274 100644 --- a/lua/uloop.c +++ b/lua/uloop.c @@ -232,17 +232,14 @@ static int ul_ufd_add(lua_State *L) int ref; int fd_ref; - if (lua_isnumber(L, -1)) { - flags = lua_tointeger(L, -1); - lua_pop(L, 1); - } - - if (!lua_isfunction(L, -1)) { - lua_pushstring(L, "invalid arg list"); + flags = luaL_checkinteger(L, -1); + if (!flags) { + lua_pushstring(L, "flags cannot be zero"); lua_error(L); - - return 0; } + lua_pop(L, 1); + + luaL_checktype(L, -1, LUA_TFUNCTION); fd = get_sock_fd(L, -2); @@ -261,8 +258,7 @@ static int ul_ufd_add(lua_State *L) ufd->fd.fd = fd; ufd->fd_r = fd_ref; ufd->fd.cb = ul_ufd_cb; - if (flags) - uloop_fd_add(&ufd->fd, flags); + uloop_fd_add(&ufd->fd, flags); return 1; } -- 2.21.3 From karlp at etactica.com Fri Jun 26 06:14:57 2020 From: karlp at etactica.com (Karl Palsson) Date: Fri, 26 Jun 2020 10:14:57 +0000 Subject: [PATCH libubox 3/4] lua/uloop: fd_add: use absolute indices for arguments In-Reply-To: <20200626101458.8443-1-karlp@etactica.com> References: <20200626101458.8443-1-karlp@etactica.com> Message-ID: <20200626101458.8443-4-karlp@etactica.com> Instead of having to adjust the index repeatedly as the stack is manipulated, use absolute addressing for the function arguments, so they stay the same throughout the call. Zero functional change, just subjectively easier to follow variables. Signed-off-by: Karl Palsson --- lua/uloop.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lua/uloop.c b/lua/uloop.c index 394970d..ee82104 100644 --- a/lua/uloop.c +++ b/lua/uloop.c @@ -233,24 +233,23 @@ static int ul_ufd_add(lua_State *L) int ref; int fd_ref; - flags = luaL_checkinteger(L, -1); + flags = luaL_checkinteger(L, 3); if (!flags) { lua_pushstring(L, "flags cannot be zero"); lua_error(L); } - lua_pop(L, 1); - luaL_checktype(L, -1, LUA_TFUNCTION); + luaL_checktype(L, 2, LUA_TFUNCTION); - fd = get_sock_fd(L, -2); + fd = get_sock_fd(L, 1); lua_getglobal(L, "__uloop_cb"); - lua_pushvalue(L, -2); + lua_pushvalue(L, 2); ref = luaL_ref(L, -2); lua_pop(L, 1); lua_getglobal(L, "__uloop_fds"); - lua_pushvalue(L, -3); + lua_pushvalue(L, 1); fd_ref = luaL_ref(L, -2); lua_pop(L, 1); -- 2.21.3 From gpm at hotplug.ru Thu Jun 25 13:13:29 2020 From: gpm at hotplug.ru (Emil Muratov) Date: Thu, 25 Jun 2020 20:13:29 +0300 Subject: [PATCH] zram-swap: enable swap discard In-Reply-To: References: <20200623112953.3454-1-rsalvaterra@gmail.com> <9948ad5b-26d1-446e-cbe6-d66bca677721@hotplug.ru> <6c9948e7-015a-6431-17f5-29b8723ec473@hotplug.ru> Message-ID: Hi Rui, no offence, but I do not have direct commit right to openwrt's repo. I've had done some work on zram-script before, that's why I was interested in this case. You could try to create a PR to GiHub's openwrt repo than someone from the core team could pick it up for review. Cheers! On 25.06.2020 16:32, Rui Salvaterra wrote: > Hi, Emil, > > On Thu, 25 Jun 2020 at 13:57, Emil Muratov wrote: >> Could you, please, describe you test case scenarios and measurements >> where you've hit memory waste for zram dev when swap shrinks? > I don't have a specific procedure to test this, but I believe I showed > you proof that it's a good idea. I'm sure the reason discard isn't the > default is because people actually use swap on SSD, and repeated > discard commands will wear the flash storage too much. > If you want to merge it, fine. If you don't, it's fine too, I'll just > keep it in my tree. > > Cheers, > Rui From uwe at kleine-koenig.org Thu Jun 25 16:27:35 2020 From: uwe at kleine-koenig.org (=?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?=) Date: Thu, 25 Jun 2020 22:27:35 +0200 Subject: [PATCH RFC odhcpd] Improve information provided in router advertisments Message-ID: <20200625202735.19230-1-uwe@kleine-koenig.org> The two main changes are that Prefix Informations are only sent for prefixes the router is responsible for and that Route Informations are sent for all prefixes. This allows to send router advertisements on the wan interface to tell hosts there about the routes available via the router. And it also improves routing between two downstream networks. Unresolved issues: - valid life time needs to be determined - some doubts about the right procedures - only lightly tested Signed-off-by: Uwe Kleine-K?nig --- Hello, this is a first draft to address an old item on my todo list, see https://forum.openwrt.org/t/sending-ipv6-router-advertisments-to-wan-interface-about-ula-prefix/6577 . Some feedback about how to determine the missing timestamp would be very welcome. The old code used the life time of the assigned addresses, is this the correct thing to do? Also I wonder if I could better somehow query odhcp6c and the config for the source prefix information instead of relying on the unreachable routes? Best regards Uwe src/dhcpv6-ia.c | 2 -- src/odhcpd.h | 3 -- src/router.c | 86 +++++++++++++++++++++++++++++++++---------------- 3 files changed, 58 insertions(+), 33 deletions(-) diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c index 38a901bfc534..16f75b90b718 100644 --- a/src/dhcpv6-ia.c +++ b/src/dhcpv6-ia.c @@ -525,8 +525,6 @@ static void managed_handle_pd_data(struct ustream *s, _unused int bytes_new) else n->valid += now; - n->dprefix = 0; - ++c->managed_size; } diff --git a/src/odhcpd.h b/src/odhcpd.h index 09013c4b094b..9139f6fb65b7 100644 --- a/src/odhcpd.h +++ b/src/odhcpd.h @@ -109,9 +109,6 @@ struct odhcpd_ipaddr { uint32_t preferred; uint32_t valid; - /* ipv6 only */ - uint8_t dprefix; - /* ipv4 only */ struct in_addr broadcast; }; diff --git a/src/router.c b/src/router.c index 7198ee97cb35..122cea974a41 100644 --- a/src/router.c +++ b/src/router.c @@ -297,13 +297,17 @@ static bool router_icmpv6_valid(struct sockaddr_in6 *source, uint8_t *data, size } -/* Detect whether a default route exists, also find the source prefixes */ -static bool parse_routes(struct odhcpd_ipaddr *n, ssize_t len) +/* + * Find the source prefixes. The return value signals if there is a default + * route. + */ +static bool parse_source_prefixes(struct odhcpd_ipaddr **source_prefixes, ssize_t *source_prefixes_cnt) { struct odhcpd_ipaddr p = { .addr.in6 = IN6ADDR_ANY_INIT, .prefix = 0, - .dprefix = 0, .preferred = 0, .valid = 0}; + .preferred = 3600, .valid = 3600}; /* XXX */ bool found_default = false; char line[512], ifname[16]; + struct odhcpd_ipaddr *pfxs = NULL; ssize_t pfxs_cnt = 0; rewind(fp_route); @@ -317,20 +321,25 @@ static bool parse_routes(struct odhcpd_ipaddr *n, ssize_t len) "%*s 00000000000000000000000000000000 %*s %*s %*s %" SCNx32 " lo", &p.addr.in6.s6_addr32[0], &p.addr.in6.s6_addr32[1], &p.prefix, &rflags) && p.prefix > 0 && (rflags & RTF_NONEXTHOP) && (rflags & RTF_REJECT)) { + void *tmp; + // Find source prefixes by scanning through unreachable-routes p.addr.in6.s6_addr32[0] = htonl(p.addr.in6.s6_addr32[0]); p.addr.in6.s6_addr32[1] = htonl(p.addr.in6.s6_addr32[1]); - for (ssize_t i = 0; i < len; ++i) { - if (n[i].prefix <= 64 && n[i].prefix >= p.prefix && - !odhcpd_bmemcmp(&p.addr.in6, &n[i].addr.in6, p.prefix)) { - n[i].dprefix = p.prefix; - break; - } + tmp = realloc(pfxs, sizeof(*pfxs) * (pfxs_cnt + 1)); + if (!tmp) { + syslog(LOG_ERR, "Realloc failed for list of source prefixes"); + continue; } + pfxs = tmp; + pfxs[pfxs_cnt++] = p; } } + *source_prefixes = pfxs; + *source_prefixes_cnt = pfxs_cnt; + return found_default; } @@ -447,6 +456,8 @@ static int send_router_advert(struct interface *iface, const struct in6_addr *fr bool default_route = false; bool valid_prefix = false; char buf[INET6_ADDRSTRLEN]; + struct odhcpd_ipaddr *source_prefixes = NULL; + ssize_t source_prefixes_cnt = 0; memset(&adv, 0, sizeof(adv)); adv.h.nd_ra_type = ND_ROUTER_ADVERT; @@ -500,7 +511,9 @@ static int send_router_advert(struct interface *iface, const struct in6_addr *fr if (iface->default_router > 1) valid_prefix = true; - } else if (parse_routes(addrs, addr_cnt)) + } + + if (parse_source_prefixes(&source_prefixes, &source_prefixes_cnt)) default_route = true; } @@ -510,6 +523,7 @@ static int send_router_advert(struct interface *iface, const struct in6_addr *fr struct nd_opt_prefix_info *p = NULL; uint32_t preferred = 0; uint32_t valid = 0; + bool addr_in_source_prefix = false; if (addr->prefix > 96 || addr->valid <= (uint32_t)now) { syslog(LOG_INFO, "Address %s (prefix %d, valid %u) not suitable as RA prefix on %s", @@ -527,6 +541,20 @@ static int send_router_advert(struct interface *iface, const struct in6_addr *fr continue; /* PIO filtered out of this RA */ } + /* + * Only announce prefix if the address belongs to a delegated + * network + */ + for (ssize_t j = 0; j < source_prefixes_cnt; ++j) { + if (odhcpd_bmemcmp(&addr->addr, &source_prefixes[j].addr, + source_prefixes[j].prefix) == 0) { + break; + } + } + if (!addr_in_source_prefix) { + continue; + } + for (size_t i = 0; i < pfxs_cnt; ++i) { if (addr->prefix == pfxs[i].nd_opt_pi_prefix_len && !odhcpd_bmemcmp(&pfxs[i].nd_opt_pi_prefix, @@ -669,33 +697,33 @@ static int send_router_advert(struct interface *iface, const struct in6_addr *fr * WAN interface. */ - for (ssize_t i = 0; i < addr_cnt; ++i) { - struct odhcpd_ipaddr *addr = &addrs[i]; + for (ssize_t i = 0; i < source_prefixes_cnt; ++i) { + struct odhcpd_ipaddr *spfx = &source_prefixes[i]; struct nd_opt_route_info *tmp; uint32_t valid; - if (addr->dprefix >= 64 || addr->dprefix == 0 || addr->valid <= (uint32_t)now) { - syslog(LOG_INFO, "Address %s (dprefix %d, valid %u) not suitable as RA route on %s", - inet_ntop(AF_INET6, &addr->addr.in6, buf, sizeof(buf)), - addr->dprefix, addr->valid, iface->name); + if (spfx->prefix >= 64 || spfx->prefix == 0 || spfx->valid <= (uint32_t)now) { + syslog(LOG_INFO, "Address %s (prefix %d, valid %u) not suitable as RA route on %s", + inet_ntop(AF_INET6, &spfx->addr.in6, buf, sizeof(buf)), + spfx->prefix, spfx->valid, iface->name); continue; /* Address not suitable */ } - if (odhcpd_bmemcmp(&addr->addr, &iface->pio_filter_addr, + if (odhcpd_bmemcmp(&spfx->addr, &iface->pio_filter_addr, iface->pio_filter_length) != 0 || - addr->prefix < iface->pio_filter_length) { + spfx->prefix < iface->pio_filter_length) { syslog(LOG_INFO, "Address %s filtered out as RA route on %s", - inet_ntop(AF_INET6, &addr->addr.in6, buf, sizeof(buf)), + inet_ntop(AF_INET6, &spfx->addr.in6, buf, sizeof(buf)), iface->name); continue; /* PIO filtered out of this RA */ } - if (addr->dprefix > 32) { - addr->addr.in6.s6_addr32[1] &= htonl(~((1U << (64 - addr->dprefix)) - 1)); - } else if (addr->dprefix <= 32) { - addr->addr.in6.s6_addr32[0] &= htonl(~((1U << (32 - addr->dprefix)) - 1)); - addr->addr.in6.s6_addr32[1] = 0; + if (spfx->prefix > 32) { + spfx->addr.in6.s6_addr32[1] &= htonl(~((1U << (64 - spfx->prefix)) - 1)); + } else if (spfx->prefix <= 32) { + spfx->addr.in6.s6_addr32[0] &= htonl(~((1U << (32 - spfx->prefix)) - 1)); + spfx->addr.in6.s6_addr32[1] = 0; } tmp = realloc(routes, sizeof(*routes) * (routes_cnt + 1)); @@ -709,23 +737,25 @@ static int send_router_advert(struct interface *iface, const struct in6_addr *fr memset(&routes[routes_cnt], 0, sizeof(*routes)); routes[routes_cnt].type = ND_OPT_ROUTE_INFO; routes[routes_cnt].len = sizeof(*routes) / 8; - routes[routes_cnt].prefix = addr->dprefix; + routes[routes_cnt].prefix = spfx->prefix; routes[routes_cnt].flags = 0; if (iface->route_preference < 0) routes[routes_cnt].flags |= ND_RA_PREF_LOW; else if (iface->route_preference > 0) routes[routes_cnt].flags |= ND_RA_PREF_HIGH; - valid = TIME_LEFT(addr->valid, now); + valid = TIME_LEFT(spfx->valid, now); routes[routes_cnt].lifetime = htonl(valid < lifetime ? valid : lifetime); - routes[routes_cnt].addr[0] = addr->addr.in6.s6_addr32[0]; - routes[routes_cnt].addr[1] = addr->addr.in6.s6_addr32[1]; + routes[routes_cnt].addr[0] = spfx->addr.in6.s6_addr32[0]; + routes[routes_cnt].addr[1] = spfx->addr.in6.s6_addr32[1]; routes[routes_cnt].addr[2] = 0; routes[routes_cnt].addr[3] = 0; ++routes_cnt; } + free(source_prefixes); + iov[IOV_RA_ROUTES].iov_base = (char *)routes; iov[IOV_RA_ROUTES].iov_len = routes_cnt * sizeof(*routes); base-commit: 5da52992a3926b36e53d0a5d55955a6ccbc35872 -- 2.27.0 From rsalvaterra at gmail.com Fri Jun 26 04:34:38 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Fri, 26 Jun 2020 09:34:38 +0100 Subject: [RFC PATCH] kernel: zstd: enable crypto API support on Linux 4.19+ Message-ID: <20200626083437.706-1-rsalvaterra@gmail.com> Zstd is supported by the crypto API since Linux 4.18. Enable this feature and reveal the package in the configuration section, so the user can select it. This allows zstd to be used as a compression algorithm in zram, for example. Signed-off-by: Rui Salvaterra --- package/kernel/linux/modules/lib.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk index 1289cc1f25..143ce7e62d 100644 --- a/package/kernel/linux/modules/lib.mk +++ b/package/kernel/linux/modules/lib.mk @@ -124,16 +124,18 @@ $(eval $(call KernelPackage,lib-lzo)) define KernelPackage/lib-zstd SUBMENU:=$(LIB_MENU) TITLE:=ZSTD support + DEPENDS:=+!LINUX_4_14:kmod-crypto-acompress KCONFIG:= \ + CONFIG_CRYPTO_ZSTD \ CONFIG_ZSTD_COMPRESS \ CONFIG_ZSTD_DECOMPRESS \ CONFIG_XXHASH - HIDDEN:=1 FILES:= \ + $(LINUX_DIR)/crypto/zstd.ko at ge4.19 \ $(LINUX_DIR)/lib/xxhash.ko \ $(LINUX_DIR)/lib/zstd/zstd_compress.ko \ $(LINUX_DIR)/lib/zstd/zstd_decompress.ko - AUTOLOAD:=$(call AutoProbe,xxhash zstd_compress zstd_decompress) + AUTOLOAD:=$(call AutoProbe,xxhash zstd zstd_compress zstd_decompress) endef define KernelPackage/lib-zstd/description -- 2.27.0 From mail at adrianschmutzler.de Thu Jun 25 13:02:27 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Thu, 25 Jun 2020 19:02:27 +0200 Subject: Buildbot problems mediatek mt7629 Message-ID: <017001d64b12$6967e780$3c37b680$@adrianschmutzler.de> Hi, I just had a look at the buildbots and found that there seems to be a build error for mt7629, no images build since May 3! http://buildbot.openwrt.org/master/images/builders/mediatek%2Fmt7629 A local build with buildbot settings on my Debian 10 VM went through fine, though. So, it must be something specific to that buildbot setup and/or compiler, packages installed etc. The relevant part of the log seems to be: error: command 'swig' failed with exit status 1 scripts/dtc/pylibfdt/Makefile:27: recipe for target 'scripts/dtc/pylibfdt/_libfdt.so' failed make[6]: *** [scripts/dtc/pylibfdt/_libfdt.so] Error 1 make[2]: Leaving directory '/builder/shared-workdir/build/package/libs/argp-standalone' scripts/Makefile.build:432: recipe for target 'scripts/dtc/pylibfdt' failed make[5]: *** [scripts/dtc/pylibfdt] Error 2 scripts/Makefile.build:432: recipe for target 'scripts/dtc' failed make[4]: *** [scripts/dtc] Error 2 Makefile:551: recipe for target 'scripts' failed make[3]: *** [scripts] Error 2 make[3]: Leaving directory '/builder/shared-workdir/build/build_dir/target-arm_cortex-a7_musl_eabi/u-boot-mt7629/u-boot-2020.04' time: package/libs/argp-standalone/compile#1.76#0.43#5.78 Makefile:41: recipe for target '/builder/shared-workdir/build/build_dir/target-arm_cortex-a7_musl_eabi/u-boot-mt7629/u-boot-2020.04/.built' failed make[2]: *** [/builder/shared-workdir/build/build_dir/target-arm_cortex-a7_musl_eabi/u-boot-mt7629/u-boot-2020.04/.built] Error 2 make[2]: Leaving directory '/builder/shared-workdir/build/package/boot/uboot-mediatek' time: package/boot/uboot-mediatek/mt7629/compile#9.79#1.64#13.04 package/Makefile:111: recipe for target 'package/boot/uboot-mediatek/compile' failed make[1]: *** [package/boot/uboot-mediatek/compile] Error 2 make[1]: *** Waiting for unfinished jobs.... Maybe somebody with more knowledge of the buildbot setup can help here. Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: From mail at adrianschmutzler.de Thu Jun 25 13:05:10 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Thu, 25 Jun 2020 19:05:10 +0200 Subject: Buildbot for former mpc85xx needs to be updated Message-ID: <017501d64b12$c9493140$5bdb93c0$@adrianschmutzler.de> Hi, the subtarget mpc85xx/generic has been renamed to mpc85xx/p1010 in commit: https://github.com/openwrt/openwrt/commit/564f87ef5bea16d5d1d8a9a80e8de77429159f26 Unfortunately, nobody has though of updating the buildbots, so images are frozen at that date and the buildbot fails for every run: http://buildbot.openwrt.org/master/images/builders/mpc85xx%2Fgeneric Maybe somebody with access can update that, or give me access and a short introduction so I can fix this myself. Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: From jakov.petrina at sartura.hr Thu Jun 25 15:03:54 2020 From: jakov.petrina at sartura.hr (Jakov Petrina) Date: Thu, 25 Jun 2020 21:03:54 +0200 Subject: mvebu: cannot load XDP In-Reply-To: References: Message-ID: Hi Deng, On 25/06/2020 20:32, DENG Qingfang wrote: > Commit 76f9aa6f4bfd12fba34fc44aef890c48d4fb1024 should backport > support for mvneta XDP, but I can't load it. > > # ip link set dev eth0 xdp obj /tmp/bpf.o sec xdp1 > RTNETLINK answers: Not supported > > strace output: > > recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, > nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=132, > type=NLMSG_ERROR, flags=NLM_F_ACK_TLVS, seq=1593109321, pid=8909}, > {error=-EOPNOTSUPP, msg={{len=52, type=RTM_NEWLINK, > flags=NLM_F_REQUEST|NLM_F_ACK, seq=1593109321, pid=0}, > {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, > ifi_index=if_nametoindex("eth0"), ifi_flags=0, ifi_change=0}, > {{nla_len=20, nla_type=IFLA_XDP}, [{{nla_len=8, nla_type=IFLA_XDP_FD}, > 5}, {{nla_len=8, nla_type=IFLA_XDP_FLAGS}, > XDP_FLAGS_UPDATE_IF_NOEXIST}]}}, {{nla_len=60, > nla_type=NLMSGERR_ATTR_MSG}, "mvneta: Hardware Buffer Manageme"...}}}, > iov_len=32768}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = > 132 The rest of this output is due to upstream commit: 79572c98c554d mvneta driver disallow XDP program on hardware buffer management This check has not yet been reverted in mainline, so it would appear that XDP support in the mvneta driver is still limited to software buffer management only [1]. [1] https://www.spinics.net/lists/netdev/msg626999.html There seems to be a `CONFIG_MVNETA_BM` kernel option which might be relevant for you. > writev(2, [{iov_base="RTNETLINK answers: Not supported"..., > iov_len=33}, {iov_base=NULL, iov_len=0}], 2RTNETLINK answers: Not > supported > ) = 33 > exit_group(2) = ? > +++ exited with 2 +++ > > xdpgeneric works fine. > Regards, -- Jakov Petrina From torbjorn.jansson at mbox200.swipnet.se Fri Jun 26 07:36:37 2020 From: torbjorn.jansson at mbox200.swipnet.se (Torbjorn Jansson) Date: Fri, 26 Jun 2020 13:36:37 +0200 Subject: Missing subject on DMARC mails to the list Message-ID: <12d7f96b-f7b5-bbe8-5736-10aecb5aefea@mbox200.swipnet.se> Hello. Not sure if this is just for me but lately all mails that the mailinglist software marks like this in the beginning: - The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. - have a blank subject. I'm not so sure i like a whole bunch of mails with blank subjects, is there anything that can be done to fix it? From dqfext at gmail.com Thu Jun 25 14:32:31 2020 From: dqfext at gmail.com (DENG Qingfang) Date: Fri, 26 Jun 2020 02:32:31 +0800 Subject: mvebu: cannot load XDP Message-ID: Commit 76f9aa6f4bfd12fba34fc44aef890c48d4fb1024 should backport support for mvneta XDP, but I can't load it. # ip link set dev eth0 xdp obj /tmp/bpf.o sec xdp1 RTNETLINK answers: Not supported strace output: set_tls(0xb6f5f5d8) = 0 set_tid_address(0xb6f6018c) = 8909 open("/etc/ld-musl-armhf.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/lib/libelf.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/local/lib/libelf.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libelf.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 fstat64(3, {st_mode=S_IFREG|0755, st_size=77827, ...}) = 0 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\350&\0\0004\0\0\0"..., 936) = 936 mmap2(NULL, 147456, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb6ec0000 mmap2(0xb6ee2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x12000) = 0xb6ee2000 close(3) = 0 open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=45059, ...}) = 0 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0`E\0\0004\0\0\0"..., 936) = 936 mmap2(NULL, 114688, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb6ea4000 mmap2(0xb6ebe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa000) = 0xb6ebe000 close(3) = 0 open("/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/local/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 fstat64(3, {st_mode=S_IFREG|0755, st_size=73731, ...}) = 0 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@\33\0\0004\0\0\0"..., 936) = 936 mmap2(NULL, 143360, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb6e81000 mmap2(0xb6ea2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x11000) = 0xb6ea2000 close(3) = 0 mprotect(0xb6ee2000, 4096, PROT_READ) = 0 mprotect(0xb6ebe000, 4096, PROT_READ) = 0 mprotect(0xb6ea2000, 4096, PROT_READ) = 0 mprotect(0x81000, 4096, PROT_READ) = 0 socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0 setsockopt(3, SOL_NETLINK, NETLINK_EXT_ACK, [1], 4) = 0 bind(3, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0 getsockname(3, {sa_family=AF_NETLINK, nl_pid=8909, nl_groups=00000000}, [12]) = 0 clock_gettime(CLOCK_REALTIME, {tv_sec=1593109320, tv_nsec=784735572}) = 0 setsockopt(3, SOL_NETLINK, NETLINK_DUMP_STRICT_CHK, [1], 4) = 0 sendto(3, {{len=32, type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK, seq=0, pid=0}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=0, ifi_flags=0, ifi_change=0}}, 32, 0, NULL, 0) = 32 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=52, type=NLMSG_ERROR, flags=0, seq=0, pid=8909}, {error=-ENODEV, msg={{len=32, type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK, seq=0, pid=0}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=0, ifi_flags=0, ifi_change=0}}}}, iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 52 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], NULL, 8) = 0 prlimit64(0, RLIMIT_MEMLOCK, {rlim_cur=RLIM64_INFINITY, rlim_max=RLIM64_INFINITY}, NULL) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 statfs64("/sys/fs/bpf", 88, 0xbe8492c0) = 0 mkdir("/sys/fs/bpf/tc/", 0700) = -1 EEXIST (File exists) mkdir("/sys/fs/bpf/tc//globals/", 0700) = -1 EEXIST (File exists) symlink("/sys/fs/bpf/tc/", "/sys/fs/bpf/tc") = -1 EEXIST (File exists) lstat64("/sys/fs/bpf/tc", {st_mode=S_IFDIR|0700, st_size=0, ...}) = 0 mkdir("/sys/fs/bpf/tc/globals/", 0700) = -1 EEXIST (File exists) symlink("/sys/fs/bpf/tc/", "/sys/fs/bpf/xdp") = -1 EEXIST (File exists) lstat64("/sys/fs/bpf/xdp", {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 symlink("/sys/fs/bpf/tc/", "/sys/fs/bpf/ip") = -1 EEXIST (File exists) lstat64("/sys/fs/bpf/ip", {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 symlink("/sys/fs/bpf/tc/", "/sys/fs/bpf/ip") = -1 EEXIST (File exists) lstat64("/sys/fs/bpf/ip", {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 symlink("/sys/fs/bpf/tc/", "/sys/fs/bpf/ip") = -1 EEXIST (File exists) lstat64("/sys/fs/bpf/ip", {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0 open("/proc/sys/net/core/bpf_jit_enable", O_RDONLY|O_LARGEFILE) = 4 read(4, "1\n", 16) = 2 close(4) = 0 socket(AF_ALG, SOCK_SEQPACKET, 0) = -1 EAFNOSUPPORT (Address family not supported by protocol) open("/tmp/bpf.o", O_RDONLY|O_LARGEFILE) = 4 fcntl64(4, F_GETFD) = 0 fstat64(4, {st_mode=S_IFREG|0644, st_size=1120, ...}) = 0 pread64(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\1\0\367\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 64, 0) = 64 fstat64(4, {st_mode=S_IFREG|0644, st_size=1120, ...}) = 0 open("/etc/iproute2/bpf_pinning", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) pread64(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512, 608) = 512 pread64(4, "\0.text\0xdp1\0"..., 96, 512) = 96 pread64(4, "\267\0\0\0\2\0\0\0a\22\4\0\0\0\0\0a\21\0\0\0\0\0\0\277\23\0\0\0\0\0\0"..., 256, 64) = 256 pread64(4, "GPL\0", 4, 320) = 4 pread64(4, "\20\0\0\0\0\0\0\0\1zR\0\10|\v\1\f\0\0\0\30\0\0\0\30\0\0\0\0\0\0\0"..., 48, 328) = 48 pread64(4, "\34\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0", 16, 496) = 16 pread64(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0X\0\0\0\0\0\3\0"..., 120, 376) = 120 bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_XDP, insn_cnt=32, insns=0xcbcc0, license="GPL", log_level=0, log_size=0, log_buf=NULL, kern_version=KERNEL_VERSION(0, 0, 0), prog_flags=0, prog_name="", prog_ifindex=0, expected_attach_type=BPF_CGROUP_INET_INGRESS, prog_btf_fd=0, func_info_rec_size=0, func_info=NULL, func_info_cnt=0, line_info_rec_size=0, line_info=NULL, line_info_cnt=0, attach_btf_id=0, attach_prog_fd=0}, 120) = 5 close(4) = 0 socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 4 setsockopt(4, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0 setsockopt(4, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0 setsockopt(4, SOL_NETLINK, NETLINK_EXT_ACK, [1], 4) = 0 bind(4, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0 getsockname(4, {sa_family=AF_NETLINK, nl_pid=-1742782509, nl_groups=00000000}, [12]) = 0 clock_gettime(CLOCK_REALTIME, {tv_sec=1593109320, tv_nsec=804674444}) = 0 sendmsg(4, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=52, type=RTM_GETLINK, flags=NLM_F_REQUEST, seq=1593109321, pid=0}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=0, ifi_flags=0, ifi_change=0}, [{{nla_len=8, nla_type=IFLA_EXT_MASK}, 9}, {{nla_len=9, nla_type=IFLA_IFNAME}, "eth0"}]}, iov_len=52}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 52 recvmsg(4, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=NULL, iov_len=0}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_TRUNC}, MSG_PEEK|MSG_TRUNC) = 952 brk(NULL) = 0xb42000 brk(0xb4b000) = 0xb4b000 recvmsg(4, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=952, type=RTM_NEWLINK, flags=0, seq=1593109321, pid=2552184787}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_ETHER, ifi_index=if_nametoindex("eth0"), ifi_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST|IFF_LOWER_UP, ifi_change=0}, [{{nla_len=9, nla_type=IFLA_IFNAME}, "eth0"}, {{nla_len=8, nla_type=IFLA_TXQLEN}, 1024}, {{nla_len=5, nla_type=IFLA_OPERSTATE}, 6}, {{nla_len=5, nla_type=IFLA_LINKMODE}, 0}, {{nla_len=8, nla_type=IFLA_MTU}, 1508}, {{nla_len=8, nla_type=IFLA_MIN_MTU}, 68}, {{nla_len=8, nla_type=IFLA_MAX_MTU}, 9676}, {{nla_len=8, nla_type=IFLA_GROUP}, 0}, {{nla_len=8, nla_type=IFLA_PROMISCUITY}, 5}, {{nla_len=8, nla_type=IFLA_NUM_TX_QUEUES}, 8}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SEGS}, 100}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SIZE}, 65536}, {{nla_len=8, nla_type=IFLA_NUM_RX_QUEUES}, 8}, {{nla_len=5, nla_type=IFLA_CARRIER}, 1}, {{nla_len=7, nla_type=IFLA_QDISC}, "mq"}, {{nla_len=8, nla_type=IFLA_CARRIER_CHANGES}, 2}, {{nla_len=5, nla_type=IFLA_PROTO_DOWN}, 0}, {{nla_len=8, nla_type=IFLA_CARRIER_UP_COUNT}, 1}, {{nla_len=8, nla_type=IFLA_CARRIER_DOWN_COUNT}, 1}, {{nla_len=36, nla_type=IFLA_MAP}, {mem_start=0, mem_end=0, base_addr=0, irq=37, dma=0, port=0}}, {{nla_len=10, nla_type=IFLA_ADDRESS}, "\x14\x91\x82\x2f\x91\x23"}, {{nla_len=10, nla_type=IFLA_BROADCAST}, "\xff\xff\xff\xff\xff\xff"}, {{nla_len=7, nla_type=IFLA_PHYS_PORT_NAME}, "p6"}, {{nla_len=196, nla_type=IFLA_STATS64}, {rx_packets=111678, tx_packets=99993, rx_bytes=70400081, tx_bytes=53954676, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=0, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=100, nla_type=IFLA_STATS}, {rx_packets=111678, tx_packets=99993, rx_bytes=70400081, tx_bytes=53954676, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=0, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=8, nla_type=IFLA_NUM_VF}, 0}, {{nla_len=12, nla_type=IFLA_XDP}, {{nla_len=5, nla_type=IFLA_XDP_ATTACHED}, XDP_ATTACHED_NONE}}, {{nla_len=380, nla_type=IFLA_AF_SPEC}, [{{nla_len=136, nla_type=AF_INET}, {{nla_len=132, nla_type=IFLA_INET_CONF}, [[IPV4_DEVCONF_FORWARDING-1] = 1, [IPV4_DEVCONF_MC_FORWARDING-1] = 0, [IPV4_DEVCONF_PROXY_ARP-1] = 0, [IPV4_DEVCONF_ACCEPT_REDIRECTS-1] = 1, [IPV4_DEVCONF_SECURE_REDIRECTS-1] = 1, [IPV4_DEVCONF_SEND_REDIRECTS-1] = 1, [IPV4_DEVCONF_SHARED_MEDIA-1] = 1, [IPV4_DEVCONF_RP_FILTER-1] = 0, [IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE-1] = 1, [IPV4_DEVCONF_BOOTP_RELAY-1] = 0, [IPV4_DEVCONF_LOG_MARTIANS-1] = 0, [IPV4_DEVCONF_TAG-1] = 0, [IPV4_DEVCONF_ARPFILTER-1] = 0, [IPV4_DEVCONF_MEDIUM_ID-1] = 0, [IPV4_DEVCONF_NOXFRM-1] = 0, [IPV4_DEVCONF_NOPOLICY-1] = 0, [IPV4_DEVCONF_FORCE_IGMP_VERSION-1] = 0, [IPV4_DEVCONF_ARP_ANNOUNCE-1] = 0, [IPV4_DEVCONF_ARP_IGNORE-1] = 1, [IPV4_DEVCONF_PROMOTE_SECONDARIES-1] = 0, [IPV4_DEVCONF_ARP_ACCEPT-1] = 0, [IPV4_DEVCONF_ARP_NOTIFY-1] = 0, [IPV4_DEVCONF_ACCEPT_LOCAL-1] = 0, [IPV4_DEVCONF_SRC_VMARK-1] = 0, [IPV4_DEVCONF_PROXY_ARP_PVLAN-1] = 0, [IPV4_DEVCONF_ROUTE_LOCALNET-1] = 0, [IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL-1] = 10000, [IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL-1] = 1000, [IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN-1] = 0, [IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST-1] = 0, [IPV4_DEVCONF_DROP_GRATUITOUS_ARP-1] = 0, [IPV4_DEVCONF_BC_FORWARDING-1] = 0]}}, {{nla_len=240, nla_type=AF_INET6}, [{{nla_len=8, nla_type=IFLA_INET6_FLAGS}, IF_READY}, {{nla_len=20, nla_type=IFLA_INET6_CACHEINFO}, {max_reasm_len=65535, tstamp=1947, reachable_time=43030, retrans_time=1000}}, {{nla_len=208, nla_type=IFLA_INET6_CONF}, [[DEVCONF_FORWARDING] = 1, [DEVCONF_HOPLIMIT] = 64, [DEVCONF_MTU6] = 1508, [DEVCONF_ACCEPT_RA] = 0, [DEVCONF_ACCEPT_REDIRECTS] = 1, [DEVCONF_AUTOCONF] = 1, [DEVCONF_DAD_TRANSMITS] = 1, [DEVCONF_RTR_SOLICITS] = -1, [DEVCONF_RTR_SOLICIT_INTERVAL] = 4000, [DEVCONF_RTR_SOLICIT_DELAY] = 1000, [DEVCONF_USE_TEMPADDR] = 0, [DEVCONF_TEMP_VALID_LFT] = 604800, [DEVCONF_TEMP_PREFERED_LFT] = 86400, [DEVCONF_REGEN_MAX_RETRY] = 3, [DEVCONF_MAX_DESYNC_FACTOR] = 600, [DEVCONF_MAX_ADDRESSES] = 16, [DEVCONF_FORCE_MLD_VERSION] = 0, [DEVCONF_ACCEPT_RA_DEFRTR] = 1, [DEVCONF_ACCEPT_RA_PINFO] = 1, [DEVCONF_ACCEPT_RA_RTR_PREF] = 0, [DEVCONF_RTR_PROBE_INTERVAL] = 0, [DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN] = 0, [DEVCONF_PROXY_NDP] = 0, [DEVCONF_OPTIMISTIC_DAD] = 0, [DEVCONF_ACCEPT_SOURCE_ROUTE] = 0, [DEVCONF_MC_FORWARDING] = 0, [DEVCONF_DISABLE_IPV6] = 0, [DEVCONF_ACCEPT_DAD] = 1, [DEVCONF_FORCE_TLLAO] = 0, [DEVCONF_NDISC_NOTIFY] = 0, [DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL] = 10000, [DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL] = 1000, ...]}]}]}]}, iov_len=32768}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 952 close(4) = 0 sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=52, type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK, seq=1593109321, pid=0}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=if_nametoindex("eth0"), ifi_flags=0, ifi_change=0}, {{nla_len=20, nla_type=IFLA_XDP}, [{{nla_len=8, nla_type=IFLA_XDP_FD}, 5}, {{nla_len=8, nla_type=IFLA_XDP_FLAGS}, XDP_FLAGS_UPDATE_IF_NOEXIST}]}}, iov_len=52}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 52 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=NULL, iov_len=0}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_TRUNC}, MSG_PEEK|MSG_TRUNC) = 132 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=132, type=NLMSG_ERROR, flags=NLM_F_ACK_TLVS, seq=1593109321, pid=8909}, {error=-EOPNOTSUPP, msg={{len=52, type=RTM_NEWLINK, flags=NLM_F_REQUEST|NLM_F_ACK, seq=1593109321, pid=0}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, ifi_index=if_nametoindex("eth0"), ifi_flags=0, ifi_change=0}, {{nla_len=20, nla_type=IFLA_XDP}, [{{nla_len=8, nla_type=IFLA_XDP_FD}, 5}, {{nla_len=8, nla_type=IFLA_XDP_FLAGS}, XDP_FLAGS_UPDATE_IF_NOEXIST}]}}, {{nla_len=60, nla_type=NLMSGERR_ATTR_MSG}, "mvneta: Hardware Buffer Manageme"...}}}, iov_len=32768}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 132 writev(2, [{iov_base="RTNETLINK answers: Not supported"..., iov_len=33}, {iov_base=NULL, iov_len=0}], 2RTNETLINK answers: Not supported ) = 33 exit_group(2) = ? +++ exited with 2 +++ xdpgeneric works fine. From jan at 3e8.eu Fri Jun 26 07:57:24 2020 From: jan at 3e8.eu (Jan Hoffmann) Date: Fri, 26 Jun 2020 13:57:24 +0200 Subject: [PATCH] ramips: add support for NETGEAR WAC124 Message-ID: <20200626115724.1222645-1-jan@3e8.eu> The hardware appears to be identical to R6260/R6350/R6850. The factory image has been confirmed to work with nmrpflash. Signed-off-by: Jan Hoffmann --- .../ramips/dts/mt7621_netgear_wac124.dts | 25 +++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 12 +++++++++ .../mt7621/base-files/etc/board.d/01_leds | 1 + .../mt7621/base-files/lib/upgrade/platform.sh | 1 + 4 files changed, 39 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_netgear_wac124.dts diff --git a/target/linux/ramips/dts/mt7621_netgear_wac124.dts b/target/linux/ramips/dts/mt7621_netgear_wac124.dts new file mode 100644 index 0000000000..b59fa1f539 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_netgear_wac124.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; + +#include "mt7621_netgear_sercomm_chj.dtsi" + +/ { + compatible = "netgear,wac124", "mediatek,mt7621-soc"; + model = "Netgear WAC124"; +}; + +&led_power { + label = "wac124:green:power"; +}; + +&led_usb { + label = "wac124:green:usb"; +}; + +&led_internet { + label = "wac124:green:wan"; +}; + +&led_wifi { + label = "wac124:green:wifi"; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index d6423f81d9..de20934598 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -702,6 +702,18 @@ define Device/netgear_wac104 endef TARGET_DEVICES += netgear_wac104 +define Device/netgear_wac124 + $(Device/netgear_sercomm_nand) + DEVICE_MODEL := WAC124 + SERCOMM_HWNAME := WAC124 + SERCOMM_HWID := CTL + SERCOMM_HWVER := A003 + SERCOMM_SWVER := 0x0402 + IMAGE_SIZE := 40960k + DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware +endef +TARGET_DEVICES += netgear_wac124 + define Device/netgear_wndr3700-v5 $(Device/uimage-lzma-loader) BLOCKSIZE := 64k diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index fdfd29d011..716bc6e462 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -56,6 +56,7 @@ netgear,r6220|\ netgear,r6260|\ netgear,r6350|\ netgear,r6850|\ +netgear,wac124|\ netgear,wndr3700-v5) ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" "wan" ;; diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index cb26b7745b..233ed80b4e 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -53,6 +53,7 @@ platform_do_upgrade() { netgear,r6800|\ netgear,r6850|\ netgear,wac104|\ + netgear,wac124|\ netis,wf2881|\ xiaomi,mir3g|\ xiaomi,mir3p|\ -- 2.27.0 From jo at mein.io Fri Jun 26 08:15:12 2020 From: jo at mein.io (Jo-Philipp Wich) Date: Fri, 26 Jun 2020 14:15:12 +0200 Subject: [missing subjects] In-Reply-To: References: Message-ID: Hi, I think this was a misconfiguration in mailman (global "from_is_list" was set to "Wrap message"). Let's see if this reply mail looks better. Regards, Jo -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From baptiste at bitsofnetworks.org Fri Jun 26 08:47:01 2020 From: baptiste at bitsofnetworks.org (Baptiste Jonglez) Date: Fri, 26 Jun 2020 14:47:01 +0200 Subject: Simplified LuCI interface project: dashboard, quick setup, configuration Message-ID: <20200626124701.GA815421@tuxmachine.localdomain> Hi, The student project of Biyun and Zhao has just finished. The goal was to develop a simplified web interface for OpenWrt, integrated in LuCI and complementary to the current LuCI interface. Feedback on the results of the project is welcome, preferably in the pull requests (see below). Zhao and Biyun are still available for a few weeks to improve the code and the interface, so that it can hopefully be integrated in LuCI. It was one of the goals of the project, so it would be good to accomplish it. Demo video: https://youtu.be/usFHV2WYvMw or https://gricad-gitlab.univ-grenoble-alpes.fr/projet-ter-m1-wic-openwrt/documentation/-/blob/master/demonstration.mp4 Project report: https://gricad-gitlab.univ-grenoble-alpes.fr/projet-ter-m1-wic-openwrt/documentation/-/blob/master/Report.pdf Github pull requests to integrate the modules in LuCI: - dashboard: https://github.com/openwrt/luci/pull/4185 - quick setup: https://github.com/openwrt/luci/pull/4141 - configuration: https://github.com/openwrt/luci/pull/4186 Wiki pages with screenshots: - dashboard: https://openwrt.org/docs/guide-user/luci/dashboard - quick setup: https://openwrt.org/docs/guide-user/luci/quick_setup - static leases: https://openwrt.org/docs/guide-user/luci/static_ip - port forwards: https://openwrt.org/docs/guide-user/luci/port_forwards Thanks, Baptiste -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From mail at adrianschmutzler.de Fri Jun 26 10:33:29 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Fri, 26 Jun 2020 16:33:29 +0200 Subject: [PATCH] ramips: add support for NETGEAR WAC124 In-Reply-To: <20200626115724.1222645-1-jan@3e8.eu> References: <20200626115724.1222645-1-jan@3e8.eu> Message-ID: <012c01d64bc6$c2f062f0$48d128d0$@adrianschmutzler.de> Hi, > -----Original Message----- > From: Jan Hoffmann [mailto:jan at 3e8.eu] > Sent: Freitag, 26. Juni 2020 13:57 > To: openwrt-devel at lists.openwrt.org > Cc: Jan Hoffmann > Subject: [PATCH] ramips: add support for NETGEAR WAC124 > > The hardware appears to be identical to R6260/R6350/R6850. > > The factory image has been confirmed to work with nmrpflash. Looks good so far. Please add specifications and flashing instructions to your commit message. For the license, I think the proper string is GPL-2.0-only instead of GPL-2.0. Best Adrian > > Signed-off-by: Jan Hoffmann > --- > .../ramips/dts/mt7621_netgear_wac124.dts | 25 +++++++++++++++++++ > target/linux/ramips/image/mt7621.mk | 12 +++++++++ > .../mt7621/base-files/etc/board.d/01_leds | 1 + > .../mt7621/base-files/lib/upgrade/platform.sh | 1 + > 4 files changed, 39 insertions(+) > create mode 100644 target/linux/ramips/dts/mt7621_netgear_wac124.dts > > diff --git a/target/linux/ramips/dts/mt7621_netgear_wac124.dts > b/target/linux/ramips/dts/mt7621_netgear_wac124.dts > new file mode 100644 > index 0000000000..b59fa1f539 > --- /dev/null > +++ b/target/linux/ramips/dts/mt7621_netgear_wac124.dts > @@ -0,0 +1,25 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/dts-v1/; > + > +#include "mt7621_netgear_sercomm_chj.dtsi" > + > +/ { > + compatible = "netgear,wac124", "mediatek,mt7621-soc"; > + model = "Netgear WAC124"; > +}; > + > +&led_power { > + label = "wac124:green:power"; > +}; > + > +&led_usb { > + label = "wac124:green:usb"; > +}; > + > +&led_internet { > + label = "wac124:green:wan"; > +}; > + > +&led_wifi { > + label = "wac124:green:wifi"; > +}; > diff --git a/target/linux/ramips/image/mt7621.mk > b/target/linux/ramips/image/mt7621.mk > index d6423f81d9..de20934598 100644 > --- a/target/linux/ramips/image/mt7621.mk > +++ b/target/linux/ramips/image/mt7621.mk > @@ -702,6 +702,18 @@ define Device/netgear_wac104 endef > TARGET_DEVICES += netgear_wac104 > > +define Device/netgear_wac124 > + $(Device/netgear_sercomm_nand) > + DEVICE_MODEL := WAC124 > + SERCOMM_HWNAME := WAC124 > + SERCOMM_HWID := CTL > + SERCOMM_HWVER := A003 > + SERCOMM_SWVER := 0x0402 > + IMAGE_SIZE := 40960k > + DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware endef > +TARGET_DEVICES += netgear_wac124 > + > define Device/netgear_wndr3700-v5 > $(Device/uimage-lzma-loader) > BLOCKSIZE := 64k > diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds > b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds > index fdfd29d011..716bc6e462 100755 > --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds > +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds > @@ -56,6 +56,7 @@ netgear,r6220|\ > netgear,r6260|\ > netgear,r6350|\ > netgear,r6850|\ > +netgear,wac124|\ > netgear,wndr3700-v5) > ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" > "wan" > ;; > diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh > b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh > index cb26b7745b..233ed80b4e 100755 > --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh > +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh > @@ -53,6 +53,7 @@ platform_do_upgrade() { > netgear,r6800|\ > netgear,r6850|\ > netgear,wac104|\ > + netgear,wac124|\ > netis,wf2881|\ > xiaomi,mir3g|\ > xiaomi,mir3p|\ > -- > 2.27.0 > -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: From dqfext at gmail.com Fri Jun 26 10:55:48 2020 From: dqfext at gmail.com (DENG Qingfang) Date: Fri, 26 Jun 2020 22:55:48 +0800 Subject: mvebu: cannot load XDP In-Reply-To: References: Message-ID: Hi On Fri, Jun 26, 2020 at 3:03 AM Jakov Petrina wrote: > > Hi Deng, > > On 25/06/2020 20:32, DENG Qingfang wrote: > > Commit 76f9aa6f4bfd12fba34fc44aef890c48d4fb1024 should backport > > support for mvneta XDP, but I can't load it. > > > > # ip link set dev eth0 xdp obj /tmp/bpf.o sec xdp1 > > RTNETLINK answers: Not supported > > > > strace output: > > > > > recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, > > nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=132, > > type=NLMSG_ERROR, flags=NLM_F_ACK_TLVS, seq=1593109321, pid=8909}, > > {error=-EOPNOTSUPP, msg={{len=52, type=RTM_NEWLINK, > > flags=NLM_F_REQUEST|NLM_F_ACK, seq=1593109321, pid=0}, > > {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_NETROM, > > ifi_index=if_nametoindex("eth0"), ifi_flags=0, ifi_change=0}, > > {{nla_len=20, nla_type=IFLA_XDP}, [{{nla_len=8, nla_type=IFLA_XDP_FD}, > > 5}, {{nla_len=8, nla_type=IFLA_XDP_FLAGS}, > > XDP_FLAGS_UPDATE_IF_NOEXIST}]}}, {{nla_len=60, > > nla_type=NLMSGERR_ATTR_MSG}, "mvneta: Hardware Buffer Manageme"...}}}, > > iov_len=32768}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = > > 132 > > The rest of this output is due to upstream commit: > > 79572c98c554d mvneta driver disallow XDP program on hardware buffer > management > > This check has not yet been reverted in mainline, so it would appear > that XDP support in the mvneta driver is still limited to software > buffer management only [1]. > > [1] https://www.spinics.net/lists/netdev/msg626999.html > > There seems to be a `CONFIG_MVNETA_BM` kernel option which might be > relevant for you. Thanks. But I wonder about the performance penalty if I disable it.. > > > writev(2, [{iov_base="RTNETLINK answers: Not supported"..., > > iov_len=33}, {iov_base=NULL, iov_len=0}], 2RTNETLINK answers: Not > > supported > > ) = 33 > > exit_group(2) = ? > > +++ exited with 2 +++ > > > > xdpgeneric works fine. > > > > Regards, > > -- > Jakov Petrina From torbjorn.jansson at mbox200.swipnet.se Fri Jun 26 13:29:20 2020 From: torbjorn.jansson at mbox200.swipnet.se (Torbjorn Jansson) Date: Fri, 26 Jun 2020 19:29:20 +0200 Subject: [missing subjects] In-Reply-To: References: Message-ID: <5892b98d-9203-9d52-2b9e-2fd941c23dd1@mbox200.swipnet.se> On 2020-06-26 14:15, Jo-Philipp Wich wrote: > Hi, > > I think this was a misconfiguration in mailman (global "from_is_list" was set > to "Wrap message"). Let's see if this reply mail looks better. > > Regards, > Jo > > So far so good. From jan at 3e8.eu Fri Jun 26 17:46:19 2020 From: jan at 3e8.eu (Jan Hoffmann) Date: Fri, 26 Jun 2020 23:46:19 +0200 Subject: [PATCH v2] ramips: add support for NETGEAR WAC124 In-Reply-To: <20200626115724.1222645-1-jan@3e8.eu> References: <20200626115724.1222645-1-jan@3e8.eu> Message-ID: <20200626214619.1249555-1-jan@3e8.eu> The WAC124 hardware appears to be identical to R6260/R6350/R6850. SoC: MediaTek MT7621AT RAM: 128M DDR3 FLASH: 128M NAND (Macronix MX30LF1G18AC) WiFI: MediaTek MT7603 bgn 2T2R MediaTek MT7615 nac 4T4R ETH: SoC Integrated Gigabit Switch (1x WAN, 4x LAN) USB: 1x USB 2.0 BTN: Reset, WPS LED: Power, Internet, WiFi, USB (all green) Installation: The factory image can be flashed from the stock firmware web interface or using nmrpflash. With nmrpflash it is also possible to revert to stock firmware. Signed-off-by: Jan Hoffmann --- v2: - more detailed commit message - update deprecated SPDX license identifier .../ramips/dts/mt7621_netgear_wac124.dts | 25 +++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 12 +++++++++ .../mt7621/base-files/etc/board.d/01_leds | 1 + .../mt7621/base-files/lib/upgrade/platform.sh | 1 + 4 files changed, 39 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_netgear_wac124.dts diff --git a/target/linux/ramips/dts/mt7621_netgear_wac124.dts b/target/linux/ramips/dts/mt7621_netgear_wac124.dts new file mode 100644 index 0000000000..b081581a31 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_netgear_wac124.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0-only +/dts-v1/; + +#include "mt7621_netgear_sercomm_chj.dtsi" + +/ { + compatible = "netgear,wac124", "mediatek,mt7621-soc"; + model = "Netgear WAC124"; +}; + +&led_power { + label = "wac124:green:power"; +}; + +&led_usb { + label = "wac124:green:usb"; +}; + +&led_internet { + label = "wac124:green:wan"; +}; + +&led_wifi { + label = "wac124:green:wifi"; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index d6423f81d9..de20934598 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -702,6 +702,18 @@ define Device/netgear_wac104 endef TARGET_DEVICES += netgear_wac104 +define Device/netgear_wac124 + $(Device/netgear_sercomm_nand) + DEVICE_MODEL := WAC124 + SERCOMM_HWNAME := WAC124 + SERCOMM_HWID := CTL + SERCOMM_HWVER := A003 + SERCOMM_SWVER := 0x0402 + IMAGE_SIZE := 40960k + DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware +endef +TARGET_DEVICES += netgear_wac124 + define Device/netgear_wndr3700-v5 $(Device/uimage-lzma-loader) BLOCKSIZE := 64k diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index fdfd29d011..716bc6e462 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -56,6 +56,7 @@ netgear,r6220|\ netgear,r6260|\ netgear,r6350|\ netgear,r6850|\ +netgear,wac124|\ netgear,wndr3700-v5) ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" "wan" ;; diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index cb26b7745b..233ed80b4e 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -53,6 +53,7 @@ platform_do_upgrade() { netgear,r6800|\ netgear,r6850|\ netgear,wac104|\ + netgear,wac124|\ netis,wf2881|\ xiaomi,mir3g|\ xiaomi,mir3p|\ -- 2.27.0 From mcr at sandelman.ca Fri Jun 26 21:05:38 2020 From: mcr at sandelman.ca (Michael Richardson) Date: Fri, 26 Jun 2020 21:05:38 -0400 Subject: Simplified LuCI interface project: dashboard, quick setup, configuration In-Reply-To: <20200626124701.GA815421@tuxmachine.localdomain> References: <20200626124701.GA815421@tuxmachine.localdomain> Message-ID: <28278.1593219938@localhost> Thank you kindly for this work. Baptiste Jonglez wrote: > The student project of Biyun and Zhao has just finished. > The goal was to develop a simplified web interface for OpenWrt, integrated > in LuCI and complementary to the current LuCI interface. I watched the video. I have some questions. Maybe I didn't pay enough attention though, so I read the report a bit too. :-) I now understand what the goals were, and I think that you did a good job making the dashboard better. From watching the video the two tasks that you were attempting to improve were (in laymens terms): 1) changing the WIFI password 2) creating a port-forward (I guess I missed the static-IP part in the video) I think that this could be just a bit easier to do: in particular I think that the average person needs just a bit more friendly text to connect between what they want to do, with our terminology as to what we are doing. > Feedback on the results of the project is welcome, preferably in the pull > requests (see below). Zhao and Biyun are still available for a few weeks > to improve the code and the interface, so that it can hopefully be > integrated in LuCI. It was one of the goals of the project, so it would > be good to accomplish it. > Demo video: https://youtu.be/usFHV2WYvMw or https://gricad-gitlab.univ-grenoble-alpes.fr/projet-ter-m1-wic-openwrt/documentation/-/blob/master/demonstration.mp4 > Project report: https://gricad-gitlab.univ-grenoble-alpes.fr/projet-ter-m1-wic-openwrt/documentation/-/blob/master/Report.pdf > Github pull requests to integrate the modules in LuCI: > - dashboard: https://github.com/openwrt/luci/pull/4185 > - quick setup: https://github.com/openwrt/luci/pull/4141 > - configuration: https://github.com/openwrt/luci/pull/4186 > Wiki pages with screenshots: > - dashboard: https://openwrt.org/docs/guide-user/luci/dashboard > - quick setup: https://openwrt.org/docs/guide-user/luci/quick_setup > - static leases: https://openwrt.org/docs/guide-user/luci/static_ip > - port forwards: https://openwrt.org/docs/guide-user/luci/port_forwards > Thanks, > Baptiste > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > http://lists.infradead.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 487 bytes Desc: not available URL: From gch981213 at gmail.com Sat Jun 27 03:33:09 2020 From: gch981213 at gmail.com (Chuanhong Guo) Date: Sat, 27 Jun 2020 15:33:09 +0800 Subject: Buildbot problems mediatek mt7629 In-Reply-To: <017001d64b12$6967e780$3c37b680$@adrianschmutzler.de> References: <017001d64b12$6967e780$3c37b680$@adrianschmutzler.de> Message-ID: Hi! On Fri, Jun 26, 2020 at 1:02 AM wrote: > > Hi, > > I just had a look at the buildbots and found that there seems to be a build error for mt7629, no images build since May 3! > > http://buildbot.openwrt.org/master/images/builders/mediatek%2Fmt7629 > > A local build with buildbot settings on my Debian 10 VM went through fine, though. > > So, it must be something specific to that buildbot setup and/or compiler, packages installed etc. > > The relevant part of the log seems to be: > > error: command 'swig' failed with exit status 1 > scripts/dtc/pylibfdt/Makefile:27: recipe for target 'scripts/dtc/pylibfdt/_libfdt.so' failed > make[6]: *** [scripts/dtc/pylibfdt/_libfdt.so] Error 1 > make[2]: Leaving directory '/builder/shared-workdir/build/package/libs/argp-standalone' > scripts/Makefile.build:432: recipe for target 'scripts/dtc/pylibfdt' failed > make[5]: *** [scripts/dtc/pylibfdt] Error 2 > scripts/Makefile.build:432: recipe for target 'scripts/dtc' failed > make[4]: *** [scripts/dtc] Error 2 > Makefile:551: recipe for target 'scripts' failed > make[3]: *** [scripts] Error 2 > make[3]: Leaving directory '/builder/shared-workdir/build/build_dir/target-arm_cortex-a7_musl_eabi/u-boot-mt7629/u-boot-2020.04' > time: package/libs/argp-standalone/compile#1.76#0.43#5.78 > Makefile:41: recipe for target '/builder/shared-workdir/build/build_dir/target-arm_cortex-a7_musl_eabi/u-boot-mt7629/u-boot-2020.04/.built' failed > make[2]: *** [/builder/shared-workdir/build/build_dir/target-arm_cortex-a7_musl_eabi/u-boot-mt7629/u-boot-2020.04/.built] Error 2 > make[2]: Leaving directory '/builder/shared-workdir/build/package/boot/uboot-mediatek' > time: package/boot/uboot-mediatek/mt7629/compile#9.79#1.64#13.04 > package/Makefile:111: recipe for target 'package/boot/uboot-mediatek/compile' failed > make[1]: *** [package/boot/uboot-mediatek/compile] Error 2 > make[1]: *** Waiting for unfinished jobs.... > > Maybe somebody with more knowledge of the buildbot setup can help here. upstream u-boot with spl uses binman which needs python-devel in host system. u-boot-sunxi got that patched out with [0]. [0] https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=package/boot/uboot-sunxi/patches/210-sunxi-deactivate-binman.patch;h=5efebbd056b092617720448025004d87d4f90700;hb=HEAD -- Regards, Chuanhong Guo From mail at adrianschmutzler.de Sat Jun 27 06:48:05 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Sat, 27 Jun 2020 12:48:05 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 In-Reply-To: <20200624204609.78d59b4e@mir> References: <447f8cc7-a544-48d8-bc74-ab07e160c174@blazebox.homeip.net> <014701d64a52$9df0b560$d9d22020$@adrianschmutzler.de> <20200624204609.78d59b4e@mir> Message-ID: <004701d64c70$70faefb0$52f0cf10$@adrianschmutzler.de> > > > See here for some more details: > > > https://bugs.openwrt.org/index.php?do=details&task_id=2928 > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94506 > > > > What's the status on this issue? Is it still there, and do we still have a > blocker for 5.4 on ath79? > > This issue is still open as of yesterday's master/ r13611-3f27a6e640, tested on > both tl-wdr3600 and tl-wdr4300 with kernel v5.4.48. The device bootloops > very early and in close succession, requiring tftp recovery[0]. I think we should find some way to go on here. ath79 is quite a big target, and even after having it switched to 5.4 one should give it some time for tests and possible other necessary fixes before thinking about branching a release. So far, I see three possible options: 1. Just use Hauke's hack 2. Use a different GCC version for the target, since problems are limited to 8.4.0 3. Find out the real reason for the problem Am I getting this right? Any opinions or additional ideas? Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: From sander at svanheule.net Sat Jun 27 07:04:41 2020 From: sander at svanheule.net (Sander Vanheule) Date: Sat, 27 Jun 2020 13:04:41 +0200 Subject: [PATCH 0/1] kernel: mtdsplit: support okli loader splitting Message-ID: <20200627110441.16622-1-sander@svanheule.net> [resubmission after openwrt-devel list DMARC issues] To enable dynamic kernel/rootfs splitting for devices that require an ELF loader, I decided to modify the current splitter for openwrt,okli compatible partitions. openwrt,okli is currently used by one device: PISEN WMB001N. For this device, this patch could remove the custom build directives for the factory images. For TP-Link CPE devices, it could enable a dynamic firmware partition, where these devices currently employ a fixed partition split. The modifications are placed inside mtdsplit_uimage.c to leverage the existing uImage definitions. Alternatively, this loader could be moved to a separate file, but then I would prefer to create an extra mtdsplit_uimage.h header for the common parts. This would touch more parts of the code, but might be better moving forward. This patch was also posted on github as part of pull request #3130 https://github.com/openwrt/openwrt/pull/3130 Sander Vanheule (1): kernel: mtdsplit: support okli loader splitting .../drivers/mtd/mtdsplit/mtdsplit_uimage.c | 124 +++++++++++++++++- 1 file changed, 118 insertions(+), 6 deletions(-) -- 2.26.2 From sander at svanheule.net Sat Jun 27 07:04:42 2020 From: sander at svanheule.net (Sander Vanheule) Date: Sat, 27 Jun 2020 13:04:42 +0200 Subject: [PATCH 1/1] kernel: mtdsplit: support okli loader splitting In-Reply-To: <20200627110441.16622-1-sander@svanheule.net> References: <20200627110441.16622-1-sander@svanheule.net> Message-ID: <20200627110441.16622-2-sander@svanheule.net> okli images always have the following structure: * ELF kernel loader * kernel uImage * rootfs Because the kernel loader is limited in size, the uImage can start within the same erase block. The current version of the the uImage splitter doesn't handle uImages not starting at an erase block boundary, requiring fixed partition splits. A fixed rootfs/kernel split may require future tuning if the kernel size changes. A fixed loader/firmware split enabled the current uImage splitter, but would require sysupgrade files without a loader, complicating build directives. This patch implements a basic partition scan, assuming the order listed above. If the ELF loader is present at the start of the firmware partition, it is included in the kernel partition. If not, then the dynamic kernel partition only comprises the uImage. This is done for backwards compatibility with other devices that use an openwrt,okli compatible firmware partition with a separate loader partition. Signed-off-by: Sander Vanheule --- .../drivers/mtd/mtdsplit/mtdsplit_uimage.c | 124 +++++++++++++++++- 1 file changed, 118 insertions(+), 6 deletions(-) diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c index 525ad8218b..5476ed3508 100644 --- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c +++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c @@ -411,12 +411,13 @@ static struct mtd_part_parser uimage_fonfxc_parser = { * OKLI (OpenWrt Kernel Loader Image) **************************************************/ -#define IH_MAGIC_OKLI 0x4f4b4c49 +#define IH_MAGIC_OKLI 0x4f4b4c49 +#define OKLI_MAGIC_ELF 0x7f454c46 +#define OKLI_NUM_PARTS 2 +#define OKLI_SEARCH_STEP 0x1000 -static ssize_t uimage_verify_okli(u_char *buf, size_t len, int *extralen) +static int uimage_verify_okli(struct uimage_header *header) { - struct uimage_header *header = (struct uimage_header *)buf; - /* default sanity checks */ if (be32_to_cpu(header->ih_magic) != IH_MAGIC_OKLI) { pr_debug("invalid uImage magic: %08x\n", @@ -439,13 +440,124 @@ static ssize_t uimage_verify_okli(u_char *buf, size_t len, int *extralen) return 0; } +static ssize_t +uimage_okli_find_offset(struct mtd_info *master, + size_t *uimage_size) +{ + struct uimage_header *buf; + size_t buf_len = sizeof(struct uimage_header); + size_t offset; + int ret; + + buf = vmalloc(buf_len); + if (!buf) + return -ENOMEM; + + /* use default okli step size to search for uImage */ + for (offset = 0; offset < master->size; offset += OKLI_SEARCH_STEP) { + *uimage_size = 0; + + ret = read_uimage_header(master, offset, (u_char *)buf, buf_len); + if (ret) + continue; + + ret = uimage_verify_okli(buf); + if (ret) { + pr_debug("no valid uImage found in \"%s\" at offset %llx\n", + master->name, (unsigned long long) offset); + continue; + } + + *uimage_size = sizeof(*buf) + be32_to_cpu(buf->ih_size); + + if ((offset + *uimage_size) > master->size) { + pr_debug("uImage exceeds MTD device \"%s\"\n", master->name); + *uimage_size = 0; + continue; + } + break; + } + + vfree(buf); + + if (offset == master->size) { + pr_debug("no uImage found in \"%s\"\n", master->name); + return -ENODEV; + } + + return offset; +} + static int mtdsplit_uimage_parse_okli(struct mtd_info *master, const struct mtd_partition **pparts, struct mtd_part_parser_data *data) { - return __mtdsplit_parse_uimage(master, pparts, data, - uimage_verify_okli); + struct mtd_partition *parts; + size_t uimage_offset; + size_t uimage_size = 0; + size_t rootfs_offset; + size_t rootfs_size = 0; + int ret; + enum mtdsplit_part_type type; + + uint32_t magic; + ret = read_uimage_header(master, 0, (u_char *)&magic, sizeof(magic)); + if (ret) + return ret; + + switch (be32_to_cpu(magic)) { + case OKLI_MAGIC_ELF: + case IH_MAGIC_OKLI: + break; + default: + pr_debug("invalid partition magic: %08x\n", be32_to_cpu(magic)); + return -EINVAL; + } + + ret = uimage_okli_find_offset(master, &uimage_size); + if (ret < 0) + return ret; + + if (uimage_size == 0) { + pr_debug("no uImage found in \"%s\"\n", master->name); + return -ENODEV; + } + + uimage_offset = ret; + + ret = mtd_find_rootfs_from(master, uimage_offset + uimage_size, + master->size, &rootfs_offset, &type); + if (ret) { + pr_debug("no rootfs after uImage in \"%s\"\n", master->name); + return ret; + } + + uimage_size = rootfs_offset; + rootfs_size = master->size - rootfs_offset; + + if (rootfs_size == 0) { + pr_debug("no rootfs found in \"%s\"\n", master->name); + return -ENODEV; + } + + parts = kzalloc(OKLI_NUM_PARTS * sizeof(*parts), GFP_KERNEL); + if (!parts) + return -ENOMEM; + + parts[0].name = KERNEL_PART_NAME; + parts[0].offset = 0; + parts[0].size = uimage_size; + + if (type == MTDSPLIT_PART_TYPE_UBI) + parts[1].name = UBI_PART_NAME; + else + parts[1].name = ROOTFS_PART_NAME; + parts[1].offset = rootfs_offset; + parts[1].size = rootfs_size; + + *pparts = parts; + return OKLI_NUM_PARTS; } static const struct of_device_id mtdsplit_uimage_okli_of_match_table[] = { -- 2.26.2 From adron at yapic.net Sat Jun 27 07:18:25 2020 From: adron at yapic.net (adron at yapic.net) Date: Sat, 27 Jun 2020 14:18:25 +0300 Subject: package: procd: Bug fix for case when kernel cmdline="console=null". In this case, the message is displayed in procd log: failed to set stdio: No such device and the working directory for the procd remains /dev ! chdir("/dev") is done in set_stdio(). And this, in turn, is already breaking the sysupgrade mechanism. chroot(".") is already performed not in the "/" but in the "/dev" and the sysupgrade process fails. Message-ID: <1593256705-19008-1-git-send-email-adron@yapic.net> From: Sergey Sergeev Signed-off-by: Sergey Sergeev --- package/system/procd/patches/001-fix_null_console_bug.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 package/system/procd/patches/001-fix_null_console_bug.patch diff --git a/package/system/procd/patches/001-fix_null_console_bug.patch b/package/system/procd/patches/001-fix_null_console_bug.patch new file mode 100644 index 0000000..d1e53b7 --- /dev/null +++ b/package/system/procd/patches/001-fix_null_console_bug.patch @@ -0,0 +1,12 @@ +diff -rNu a/state.c b/state.c +--- a/state.c 2018-03-28 12:29:49.000000000 +0300 ++++ b/state.c 2020-06-26 18:52:27.098719261 +0300 +@@ -108,7 +108,7 @@ + case STATE_UBUS: + // try to reopen incase the wdt was not available before coldplug + watchdog_init(0); +- set_stdio("console"); ++ set_console(); + LOG("- ubus -\n"); + procd_connect_ubus(); + service_start_early("ubus", ubus_cmd); -- 2.7.4 From sander at svanheule.net Sat Jun 27 08:27:47 2020 From: sander at svanheule.net (Sander Vanheule) Date: Sat, 27 Jun 2020 14:27:47 +0200 Subject: Wrapped DMARC messages not picked up by patchwork Message-ID: <1b2447296ffd0df8ff4b79cd6a1d0c084be7cf0b.camel@svanheule.net> Hi everyone, Earlier today, I have tried to (re-)submit a patch to the mailing list (messages listed below). The mails show up fine on the list archives at infradead.org. Since my DMARC policy is (was) "p=quarantine", the forwarded messages were wrapped as a mitigation. The wrapped messages however, still showed up in my mailbox with an empty subject. The patch is also not being picked up by Patchwork. I will probably have to mail the patch again to get it processed, but I'm starting to feel annoyed by causing all this noise on the list with my resubmissions. Patch messages 2020-06-23: https://lists.infradead.org/pipermail/openwrt-devel/2020-June/029795.html https://lists.infradead.org/pipermail/openwrt-devel/2020-June/029796.html Patch messages 2020-06-27: https://lists.infradead.org/pipermail/openwrt-devel/2020-June/029843.html https://lists.infradead.org/pipermail/openwrt-devel/2020-June/029844.html Ideally, I should be able to keep my DMARC policy set to 'quarantine', if mailman would rewrite the From header and re-sign the message with the mail server's DKIM key (stripping my signature in the process). However, I don't know if Patchworks would be able to correctly process mails like this. Commit messages would still contain Signed-of-by and the Reply-to mail-header would also correspond to the author/submitter. Regards, Sander From paulb at blazebox.homeip.net Sat Jun 27 15:33:41 2020 From: paulb at blazebox.homeip.net (Paul Blazejowski) Date: Sat, 27 Jun 2020 15:33:41 -0400 Subject: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 In-Reply-To: <004701d64c70$70faefb0$52f0cf10$@adrianschmutzler.de> References: <447f8cc7-a544-48d8-bc74-ab07e160c174@blazebox.homeip.net> <014701d64a52$9df0b560$d9d22020$@adrianschmutzler.de> <20200624204609.78d59b4e@mir> <004701d64c70$70faefb0$52f0cf10$@adrianschmutzler.de> Message-ID: <75688383-5bda-dd20-0731-1a132c348a9f@blazebox.homeip.net> -------- Original Message -------- Subject: Re: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 From: To: 'Stefan Lippers-Hollmann' Date: 6/27/2020, 6:48:05 AM >>>> See here for some more details: >>>> https://bugs.openwrt.org/index.php?do=details&task_id=2928 >>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94506 >>> >>> What's the status on this issue? Is it still there, and do we >>> still have a >> blocker for 5.4 on ath79? >> >> This issue is still open as of yesterday's master/ >> r13611-3f27a6e640, tested on both tl-wdr3600 and tl-wdr4300 with >> kernel v5.4.48. The device bootloops very early and in close >> succession, requiring tftp recovery[0]. > > I think we should find some way to go on here. ath79 is quite a big > target, and even after having it switched to 5.4 one should give it > some time for tests and possible other necessary fixes before > thinking about branching a release. So far, I see three possible > options: > > 1. Just use Hauke's hack It does not work anymore (for me at least) see #2 > 2. Use a different GCC version for the target, since problems are > limited to 8.4.0 GCC 9.3.0 works with kernels up to 5.4.32 anything after and up to 5.4.49 will bootloop so this leads me to believe that this issue lies also in kernel. > 3. Find out the real reason for the problem That's the problem here, the issue is not easy to find but everyone gets it with no real fix (other thank flipping gcc versions in the build for a while until it caches up again producing bootloop). > > Am I getting this right? Any opinions or additional ideas? What worked for me in the initial report to the mailing list was to use this patch from Kevin's staging tree [1] (modified for kernel 5.4, and building with any gcc version on a clean checkout). > > Best > > Adrian > Cheers, -paul [1] https://git.openwrt.org/?p=openwrt/staging/ldir.git;a=commit;h=2327a4deb 2941f0b59c0f1a8affd109a3262c753 From torbjorn.jansson at mbox200.swipnet.se Sat Jun 27 15:59:46 2020 From: torbjorn.jansson at mbox200.swipnet.se (Torbjorn Jansson) Date: Sat, 27 Jun 2020 21:59:46 +0200 Subject: [missing subjects] In-Reply-To: <5892b98d-9203-9d52-2b9e-2fd941c23dd1@mbox200.swipnet.se> References: <5892b98d-9203-9d52-2b9e-2fd941c23dd1@mbox200.swipnet.se> Message-ID: <3c073b89-c7e7-5eb9-079e-f3bb70eea510@mbox200.swipnet.se> On 2020-06-26 19:29, Torbjorn Jansson wrote: > On 2020-06-26 14:15, Jo-Philipp Wich wrote: >> Hi, >> >> I think this was a misconfiguration in mailman (global "from_is_list" was set >> to "Wrap message"). Let's see if this reply mail looks better. >> >> Regards, >> Jo >> >> > > So far so good. > Looks like there still is mails with missing subject and the real mail wrapped. From dgcbueu at gmail.com Sat Jun 27 16:01:28 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sat, 27 Jun 2020 22:01:28 +0200 Subject: mvebu: LS421DE: use automatic fan control with thermal zones Message-ID: <35828190.baaJOZRrAV@tool> The Buffalo Linkstation LS421DE has a chassis fan for cooling two internal hard drives. Currently there is no control over this fan, running always at fixed medium speed. With the recent jump to the kernel 5.4, now we can monitor the hard drive temperature and control the fan with thermal zones. Install the kmod-hwmon-drivetemp module and wire up a thermal zone on the dts file to allow automatic fan control by the kernel. Tested succesfully using a single Crucial BX500 SSD drive. Signed-off-by: Daniel Gonz?lez Cabanelas --- .../boot/dts/armada-370-buffalo-ls421de.dts | 67 ++++++++++++++++++- target/linux/mvebu/image/cortexa9.mk | 5 +- 2 files changed, 68 insertions(+), 4 deletions(-) diff --git a/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts b/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts index 4d2760eb72..7a900dd30e 100644 --- a/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts +++ b/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts @@ -11,6 +11,7 @@ #include "mvebu-linkstation-fan.dtsi" #include #include +#include / { model = "Buffalo LinkStation LS421DE"; @@ -40,10 +41,62 @@ MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>; }; - gpio_fan { + system_fan: gpio_fan { gpios = <&gpio0 13 GPIO_ACTIVE_HIGH - &gpio0 14 GPIO_ACTIVE_HIGH>; + &gpio0 14 GPIO_ACTIVE_HIGH>; alarm-gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>; + + cooling-min-state = <0>; + cooling-max-state = <3>; + #cooling-cells = <2>; + }; + + thermal-zones { + chassis_thermal: chassis-thermal { + polling-delay = <20000>; + polling-delay-passive = <2000>; + + thermal-sensors = <&hdd0_temp>, <&hdd1_temp>; + coefficients = <1 1>; + + trips { + chassis_alert1: chassis-alert1 { + temperature = <36000>; + hysteresis = <2000>; + type = "active"; + }; + chassis_alert2: chassis-alert2 { + temperature = <46000>; + hysteresis = <2000>; + type = "active"; + }; + chassis_alert3: chassis-alert3 { + temperature = <56000>; + hysteresis = <2000>; + type = "passive"; + }; + chassis_crit: chassis-crit { + temperature = <66000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + map1 { + trip = <&chassis_alert1>; + cooling-device = <&system_fan THERMAL_NO_LIMIT 1>; + }; + map2 { + trip = <&chassis_alert2>; + cooling-device = <&system_fan 2 2>; + }; + map3 { + trip = <&chassis_alert3>; + cooling-device = <&system_fan 3 THERMAL_NO_LIMIT>; + }; + }; + }; }; gpio_keys { @@ -225,6 +278,16 @@ &sata { nr-ports = <2>; status = "okay"; + + hdd0_temp: sata-port at 0 { + reg = <0>; + #thermal-sensor-cells = <0>; + }; + + hdd1_temp: sata-port at 1 { + reg = <1>; + #thermal-sensor-cells = <0>; + }; }; &sdio { diff --git a/target/linux/mvebu/image/cortexa9.mk b/target/linux/mvebu/image/cortexa9.mk index bb09d2b6f7..ae75700fe5 100644 --- a/target/linux/mvebu/image/cortexa9.mk +++ b/target/linux/mvebu/image/cortexa9.mk @@ -17,8 +17,9 @@ define Device/buffalo_ls421de KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none DEVICE_DTS := armada-370-buffalo-ls421de DEVICE_PACKAGES := \ - kmod-rtc-rs5c372a kmod-hwmon-gpiofan kmod-usb3 kmod-md-raid0 \ - kmod-md-raid1 kmod-md-mod kmod-fs-xfs mkf2fs e2fsprogs partx-utils + kmod-rtc-rs5c372a kmod-hwmon-gpiofan kmod-hwmon-drivetemp kmod-usb3 \ + kmod-md-raid0 kmod-md-raid1 kmod-md-mod kmod-fs-xfs mkf2fs e2fsprogs \ + partx-utils endef TARGET_DEVICES += buffalo_ls421de -- 2.27.0 From mail at david-bauer.net Sat Jun 27 16:17:41 2020 From: mail at david-bauer.net (David Bauer) Date: Sat, 27 Jun 2020 22:17:41 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 In-Reply-To: <75688383-5bda-dd20-0731-1a132c348a9f@blazebox.homeip.net> References: <447f8cc7-a544-48d8-bc74-ab07e160c174@blazebox.homeip.net> <014701d64a52$9df0b560$d9d22020$@adrianschmutzler.de> <20200624204609.78d59b4e@mir> <004701d64c70$70faefb0$52f0cf10$@adrianschmutzler.de> <75688383-5bda-dd20-0731-1a132c348a9f@blazebox.homeip.net> Message-ID: <00d50de7-e971-06d2-487d-f9f6d6404f21@david-bauer.net> Hi all, On 6/27/20 9:33 PM, Paul Blazejowski wrote: > What worked for me in the initial report to the mailing list was to use > this patch from Kevin's staging tree [1] (modified for kernel 5.4, and > building with any gcc version on a clean checkout). Removing the 308-mips32r2_tune.patch patch is enough. What would be interesting to know is whether or not we run into a similar / more significant issue with that down the road. If the issue is due to the optimization being flawed we might be okay with that. But i lack significant knowledge about the inner workings of GCC. So take that with a grain of salt. Best wishes David From paulb at blazebox.homeip.net Sun Jun 28 08:36:15 2020 From: paulb at blazebox.homeip.net (Paul Blazejowski) Date: Sun, 28 Jun 2020 08:36:15 -0400 Subject: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 In-Reply-To: <00d50de7-e971-06d2-487d-f9f6d6404f21@david-bauer.net> References: <447f8cc7-a544-48d8-bc74-ab07e160c174@blazebox.homeip.net> <014701d64a52$9df0b560$d9d22020$@adrianschmutzler.de> <20200624204609.78d59b4e@mir> <004701d64c70$70faefb0$52f0cf10$@adrianschmutzler.de> <75688383-5bda-dd20-0731-1a132c348a9f@blazebox.homeip.net> <00d50de7-e971-06d2-487d-f9f6d6404f21@david-bauer.net> Message-ID: -------- Original Message -------- Subject: Re: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 From: David Bauer To: Paul Blazejowski Date: 6/27/2020, 4:17:41 PM > Hi all, Hi David > > On 6/27/20 9:33 PM, Paul Blazejowski wrote: >> What worked for me in the initial report to the mailing list was to use >> this patch from Kevin's staging tree [1] (modified for kernel 5.4, and >> building with any gcc version on a clean checkout). > > Removing the 308-mips32r2_tune.patch patch is enough. > What would be interesting to know is whether or not we run > into a similar / more significant issue with that down the road. I can confirm, dropping this patch and building the image using GCC 9.3.0 and kernel 5.4.48 produces working image and the router boots properly, working properly for 14 hours now...on my end. [ 0.000000] Linux version 5.4.48 (diffie at blaze) (gcc version 9.3.0 (OpenWrt GCC 9.3.0 r13136+1-ad27c133eb)) #0 Sat Jun 27 21:07:58 2020 [ 0.000000] printk: bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 0001974c (MIPS 74Kc) [ 0.000000] MIPS: machine is Netgear WNDR3700 v4 > > If the issue is due to the optimization being flawed we might be okay > with that. But i lack significant knowledge about the inner workings of GCC. > So take that with a grain of salt. I don't know {yet!) of any implications or pitfalls from removal of said patch but for now compiled code is working, so optimization may be NOT the right thing to *do in this case, just a test case on my part. What you say? > > Best wishes > David > Thank you, -paul From mail at david-bauer.net Sun Jun 28 12:26:29 2020 From: mail at david-bauer.net (David Bauer) Date: Sun, 28 Jun 2020 18:26:29 +0200 Subject: [PATCH] ath79: replace custom uImageArcher generation Message-ID: <20200628162629.200982-1-mail@david-bauer.net> The replaces the custom uImageArcher build step with the generic uImage build step. The only different between these two is the difference in the generated name. Tested on: TP-Link Archer C59 v1 Signed-off-by: David Bauer --- target/linux/ath79/image/common-tp-link.mk | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/target/linux/ath79/image/common-tp-link.mk b/target/linux/ath79/image/common-tp-link.mk index 81a557df48..ab10920402 100644 --- a/target/linux/ath79/image/common-tp-link.mk +++ b/target/linux/ath79/image/common-tp-link.mk @@ -1,14 +1,6 @@ DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HWREVADD TPLINK_HVERSION -define Build/uImageArcher - mkimage -A $(LINUX_KARCH) \ - -O linux -T kernel -C $(1) -a $(KERNEL_LOADADDR) \ - -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ - -n '$(call toupper,$(LINUX_KARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $@ $@.new - @mv $@.new $@ -endef - define Device/tplink-v1 DEVICE_VENDOR := TP-Link TPLINK_HWID := 0x0 @@ -86,7 +78,7 @@ endef define Device/tplink-safeloader-uimage $(Device/tplink-safeloader) - KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma + KERNEL := kernel-bin | append-dtb | lzma | uImage lzma KERNEL_INITRAMFS := $$(KERNEL) endef -- 2.27.0 From mail at adrianschmutzler.de Sun Jun 28 13:55:11 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Sun, 28 Jun 2020 19:55:11 +0200 Subject: [PATCH] ath79: replace custom uImageArcher generation In-Reply-To: <20200628162629.200982-1-mail@david-bauer.net> References: <20200628162629.200982-1-mail@david-bauer.net> Message-ID: <00ad01d64d75$4525b5e0$cf7121a0$@adrianschmutzler.de> > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of David Bauer > Sent: Sonntag, 28. Juni 2020 18:26 > To: openwrt-devel at lists.openwrt.org > Subject: [PATCH] ath79: replace custom uImageArcher generation > > The replaces the custom uImageArcher build step with the generic uImage > build step. The only different between these two is the difference in the > generated name. Acked-by: Adrian Schmutzler > > Tested on: TP-Link Archer C59 v1 > > Signed-off-by: David Bauer > --- > target/linux/ath79/image/common-tp-link.mk | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/target/linux/ath79/image/common-tp-link.mk > b/target/linux/ath79/image/common-tp-link.mk > index 81a557df48..ab10920402 100644 > --- a/target/linux/ath79/image/common-tp-link.mk > +++ b/target/linux/ath79/image/common-tp-link.mk > @@ -1,14 +1,6 @@ > DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT > TPLINK_HEADER_VERSION DEVICE_VARS += TPLINK_BOARD_ID > TPLINK_HWREVADD TPLINK_HVERSION > > -define Build/uImageArcher > - mkimage -A $(LINUX_KARCH) \ > - -O linux -T kernel -C $(1) -a $(KERNEL_LOADADDR) \ > - -e $(if > $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ > - -n '$(call toupper,$(LINUX_KARCH)) OpenWrt Linux- > $(LINUX_VERSION)' -d $@ $@.new > - @mv $@.new $@ > -endef > - > define Device/tplink-v1 > DEVICE_VENDOR := TP-Link > TPLINK_HWID := 0x0 > @@ -86,7 +78,7 @@ endef > > define Device/tplink-safeloader-uimage > $(Device/tplink-safeloader) > - KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma > + KERNEL := kernel-bin | append-dtb | lzma | uImage lzma > KERNEL_INITRAMFS := $$(KERNEL) > endef > > -- > 2.27.0 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel at lists.openwrt.org > http://lists.infradead.org/mailman/listinfo/openwrt-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: From noreply at github.com Sun Jun 28 15:46:35 2020 From: noreply at github.com (Stephen Walker) Date: Sun, 28 Jun 2020 12:46:35 -0700 Subject: [sdwalker/sdwalker.github.io] 899499: This week's update Message-ID: Branch: refs/heads/master Home: https://github.com/sdwalker/sdwalker.github.io Commit: 8994990f2264c0dce81228d6640d16c808ff9748 https://github.com/sdwalker/sdwalker.github.io/commit/8994990f2264c0dce81228d6640d16c808ff9748 Author: Stephen Walker Date: 2020-06-28 (Sun, 28 Jun 2020) Changed paths: M uscan/index-18.06.html M uscan/index-19.07.html M uscan/index.html Log Message: ----------- This week's update From dgcbueu at gmail.com Sun Jun 28 17:52:10 2020 From: dgcbueu at gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez?= Cabanelas) Date: Sun, 28 Jun 2020 23:52:10 +0200 Subject: [PATCH v2] mvebu: LS421DE: use automatic fan control with thermal zones Message-ID: <2428141.4nU0hxDUYR@tool> The Buffalo Linkstation LS421DE has a chassis fan for cooling two internal hard drives. Currently there is no control over this fan, running always at fixed medium speed. With the recent jump to the kernel 5.4, now we can monitor the hard drive temperature and control the fan with thermal zones. Install the kmod-hwmon-drivetemp module and wire up a thermal zone on the dts file to allow automatic fan control by the kernel. Tested succesfully using a single Crucial BX500 SSD drive. Signed-off-by: Daniel Gonz?lez Cabanelas --- Changes in v2: - Fixed sata related dtb warnings. - Deleted deprecated cooling-min/max properties. - Minor cosmetic changes. .../boot/dts/armada-370-buffalo-ls421de.dts | 65 ++++++++++++++++++- target/linux/mvebu/image/cortexa9.mk | 5 +- 2 files changed, 67 insertions(+), 3 deletions(-) diff --git a/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts b/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts index 4d2760eb72..ea392f9e41 100644 --- a/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts +++ b/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts @@ -11,6 +11,7 @@ #include "mvebu-linkstation-fan.dtsi" #include #include +#include / { model = "Buffalo LinkStation LS421DE"; @@ -40,10 +41,60 @@ MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>; }; - gpio_fan { + system_fan: gpio_fan { gpios = <&gpio0 13 GPIO_ACTIVE_HIGH &gpio0 14 GPIO_ACTIVE_HIGH>; alarm-gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>; + + #cooling-cells = <2>; + }; + + thermal-zones { + chassis-thermal { + polling-delay = <20000>; + polling-delay-passive = <2000>; + + thermal-sensors = <&hdd0_temp>, <&hdd1_temp>; + coefficients = <1 1>; + + trips { + chassis_alert1: chassis-alert1 { + temperature = <36000>; + hysteresis = <2000>; + type = "active"; + }; + chassis_alert2: chassis-alert2 { + temperature = <46000>; + hysteresis = <2000>; + type = "active"; + }; + chassis_alert3: chassis-alert3 { + temperature = <56000>; + hysteresis = <2000>; + type = "passive"; + }; + chassis_crit: chassis-crit { + temperature = <66000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + map1 { + trip = <&chassis_alert1>; + cooling-device = <&system_fan THERMAL_NO_LIMIT 1>; + }; + map2 { + trip = <&chassis_alert2>; + cooling-device = <&system_fan 2 2>; + }; + map3 { + trip = <&chassis_alert3>; + cooling-device = <&system_fan 3 THERMAL_NO_LIMIT>; + }; + }; + }; }; gpio_keys { @@ -225,6 +276,18 @@ &sata { nr-ports = <2>; status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + + hdd0_temp: sata-port at 0 { + reg = <0>; + #thermal-sensor-cells = <0>; + }; + + hdd1_temp: sata-port at 1 { + reg = <1>; + #thermal-sensor-cells = <0>; + }; }; &sdio { diff --git a/target/linux/mvebu/image/cortexa9.mk b/target/linux/mvebu/image/cortexa9.mk index bb09d2b6f7..ae75700fe5 100644 --- a/target/linux/mvebu/image/cortexa9.mk +++ b/target/linux/mvebu/image/cortexa9.mk @@ -17,8 +17,9 @@ define Device/buffalo_ls421de KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none DEVICE_DTS := armada-370-buffalo-ls421de DEVICE_PACKAGES := \ - kmod-rtc-rs5c372a kmod-hwmon-gpiofan kmod-usb3 kmod-md-raid0 \ - kmod-md-raid1 kmod-md-mod kmod-fs-xfs mkf2fs e2fsprogs partx-utils + kmod-rtc-rs5c372a kmod-hwmon-gpiofan kmod-hwmon-drivetemp kmod-usb3 \ + kmod-md-raid0 kmod-md-raid1 kmod-md-mod kmod-fs-xfs mkf2fs e2fsprogs \ + partx-utils endef TARGET_DEVICES += buffalo_ls421de -- 2.27.0 From hauke at hauke-m.de Sun Jun 28 18:29:22 2020 From: hauke at hauke-m.de (Hauke Mehrtens) Date: Mon, 29 Jun 2020 00:29:22 +0200 Subject: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 In-Reply-To: References: <447f8cc7-a544-48d8-bc74-ab07e160c174@blazebox.homeip.net> <014701d64a52$9df0b560$d9d22020$@adrianschmutzler.de> <20200624204609.78d59b4e@mir> <004701d64c70$70faefb0$52f0cf10$@adrianschmutzler.de> <75688383-5bda-dd20-0731-1a132c348a9f@blazebox.homeip.net> <00d50de7-e971-06d2-487d-f9f6d6404f21@david-bauer.net> Message-ID: On 6/28/20 2:36 PM, Paul Blazejowski wrote: > > > -------- Original Message -------- > Subject: Re: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4 > From: David Bauer > To: Paul Blazejowski > Date: 6/27/2020, 4:17:41 PM > >> Hi all, > > Hi David > >> >> On 6/27/20 9:33 PM, Paul Blazejowski wrote: >>> What worked for me in the initial report to the mailing list was to use >>> this patch from Kevin's staging tree [1] (modified for kernel 5.4, and >>> building with any gcc version on a clean checkout). >> >> Removing the 308-mips32r2_tune.patch patch is enough. >> What would be interesting to know is whether or not we run >> into a similar / more significant issue with that down the road. > > I can confirm, dropping this patch and building the image using GCC > 9.3.0 and kernel 5.4.48 produces working image and the router boots > properly, working properly for 14 hours now...on my end. > > [ 0.000000] Linux version 5.4.48 (diffie at blaze) (gcc version 9.3.0 > (OpenWrt GCC 9.3.0 r13136+1-ad27c133eb)) #0 Sat Jun 27 21:07:58 2020 > [ 0.000000] printk: bootconsole [early0] enabled > [ 0.000000] CPU0 revision is: 0001974c (MIPS 74Kc) > [ 0.000000] MIPS: machine is Netgear WNDR3700 v4 > >> >> If the issue is due to the optimization being flawed we might be okay >> with that. But i lack significant knowledge about the inner workings of GCC. >> So take that with a grain of salt. > > I don't know {yet!) of any implications or pitfalls from removal of said > patch but for now compiled code is working, so optimization may be NOT > the right thing to *do in this case, just a test case on my part. What > you say? > >> >> Best wishes >> David >> > > Thank you, > -paul > Hi, I debugged this a little further today. With the revert >= 5.4.33 kernel it boots up fine for me, but I do not think this problem is fixed, we probably just do not see it any more. OpenWrt commit d74fb0088c5bc89ba080816921699a980966d015 worked for me. It looks like the DSP extension is not activated correctly. This MIPS documentation says in section 3.11 "Software Detection of the DSP Module" that we should only get this exception in case the DSPEn is not set. https://s3-eu-west-1.amazonaws.com/downloads-mips/documents/MD00374-2B-MIPS32DSP-AFP-03.01.pdf This is set in the configure_status() function: https://elixir.bootlin.com/linux/v5.4.47/source/arch/mips/kernel/traps.c#L2125 But I think this is not working correctly under some unknown conditions. I printed the read_c0_status() in the do_dsp() function and when this exception occurs the DSPEn bit is *not* set. I used OpenWrt commit 0495324b9bd0b6a976ea731a1b4b77b26df32ee6 to further debug the root cause. Removing the static from configure_status() makes no difference and I am still seeing the problem. When I add this debug printout ad the end of the function the code starts working and I also do not see this printout: if (cpu_has_dsp && !(read_c0_status() & ST0_MX)) printk("%s:%i: ST0_MX not set!\n", __func__, __LINE__); Here is the ASM of the broken function: ---- 00000000 : 0: 3c030000 lui v1,0x0 4: 24630000 addiu v1,v1,0 8: 3c051000 lui a1,0x1000 c: 8c620034 lw v0,52(v1) 10: 8c630008 lw v1,8(v1) 14: 30420004 andi v0,v0,0x4 18: 3c049000 lui a0,0x9000 1c: 00a2200a movz a0,a1,v0 20: 30630010 andi v1,v1,0x10 24: 10600003 beqz v1,34 28: 00801025 move v0,a0 2c: 3c030100 lui v1,0x100 30: 00831025 or v0,a0,v1 34: 40046000 mfc0 a0,c0_status 38: 3c03f760 lui v1,0xf760 3c: 00441026 xor v0,v0,a0 40: 246300e0 addiu v1,v1,224 44: 00431024 and v0,v0,v1 48: 00441026 xor v0,v0,a0 4c: 40826000 mtc0 v0,c0_status 50: 03e00008 jr ra 54: 00000000 nop ----- Here is the ASM of the working function: ------- 00000000 : 0: 3c030000 lui v1,0x0 4: 24630000 addiu v1,v1,0 8: 3c051000 lui a1,0x1000 c: 8c620034 lw v0,52(v1) 10: 8c630008 lw v1,8(v1) 14: 30420004 andi v0,v0,0x4 18: 3c049000 lui a0,0x9000 1c: 00a2200a movz a0,a1,v0 20: 30630010 andi v1,v1,0x10 24: 10600003 beqz v1,34 28: 00801025 move v0,a0 2c: 3c040100 lui a0,0x100 30: 00441025 or v0,v0,a0 34: 40056000 mfc0 a1,c0_status 38: 3c04f760 lui a0,0xf760 3c: 00451026 xor v0,v0,a1 40: 248400e0 addiu a0,a0,224 44: 00441024 and v0,v0,a0 48: 00451026 xor v0,v0,a1 4c: 40826000 mtc0 v0,c0_status 50: 10600005 beqz v1,68 54: 00000000 nop 58: 40026000 mfc0 v0,c0_status 5c: 7c420600 ext v0,v0,0x18,0x1 60: 10400003 beqz v0,70 64: 00000000 nop 68: 03e00008 jr ra 6c: 00000000 nop 70: 3c050000 lui a1,0x0 74: 3c040000 lui a0,0x0 78: 24060853 li a2,2131 7c: 24a50000 addiu a1,a1,0 80: 08000000 j 0 84: 24840000 addiu a0,a0,0 ------ Does someone see a bug in the broken version? In this line: 4c: 40826000 mtc0 v0,c0_status in v0 the following bits should be set: #define ST0_MX 0x01000000 #define ST0_CU0 0x10000000 Hauke -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: From jan at 3e8.eu Sun Jun 28 19:27:47 2020 From: jan at 3e8.eu (Jan Hoffmann) Date: Mon, 29 Jun 2020 01:27:47 +0200 Subject: [RFT PATCH] ramips: use partition table on Netgear NAND devices In-Reply-To: <993ee10a-9108-271d-072f-8f4420be7dde@david-bauer.net> References: <993ee10a-9108-271d-072f-8f4420be7dde@david-bauer.net> Message-ID: <20200628232747.1367531-1-jan@3e8.eu> There have been multiple reports of the partition table on these devices being incorrect when there are bad blocks. This change should fix this by parsing the partition table that is stored in the SC_PART_MAP partition. This is essentially the same code as proposed in the original pull request for Netgear R6350 support by NOGUCHI Hiroshi : https://github.com/openwrt/openwrt/pull/1318 At the time, it was rejected in favor of fixed partition offsets, as it did not seem to work correctly. However, this was due the NAND driver transparently shifting pages to hide bad blocks, which was fixed in commit 527832e54bf3bc4d699a145ae66f34230246f0a9. Signed-off-by: Jan Hoffmann --- So far this patch has only been tested on my own WAC124, which doesn't have any bad blocks (i.e. the partition table that is read from flash matches the existing fixed offsets). It needs further testing to verify that it actually fixes the issue on devices that have bad blocks, and does not cause any additional issues. This change applies to the following devices: R6260, R6350, R6850, WAC124 (CHJ) R6800, R6700-v2, R7200, Nighthawk AC2400 (BZV) .../dts/mt7621_netgear_sercomm_bzv.dtsi | 169 +++++++++++- .../dts/mt7621_netgear_sercomm_chj.dtsi | 169 +++++++++++- .../ramips/files/drivers/mtd/parsers/scpart.c | 257 ++++++++++++++++++ target/linux/ramips/mt7621/config-5.4 | 1 + .../patches-5.4/303-mtd-scpart-parser.patch | 19 ++ 5 files changed, 607 insertions(+), 8 deletions(-) create mode 100644 target/linux/ramips/files/drivers/mtd/parsers/scpart.c create mode 100644 target/linux/ramips/patches-5.4/303-mtd-scpart-parser.patch diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi index d2e5502e48..2ab0b75862 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi @@ -113,47 +113,208 @@ status = "okay"; partitions { - compatible = "fixed-partitions"; + compatible = "sercomm,sc-partitions", "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition at 0 { label = "u-boot"; reg = <0x0 0x100000>; + scpart-id = <0>; read-only; }; partition at 100000 { label = "SC PART_MAP"; reg = <0x100000 0x100000>; + scpart-id = <1>; read-only; }; partition at 200000 { label = "kernel"; reg = <0x200000 0x400000>; + scpart-id = <2>; }; partition at 600000 { label = "ubi"; reg = <0x600000 0x2800000>; + scpart-id = <3>; }; partition at 2e00000 { - label = "reserved0"; - reg = <0x2e00000 0x1800000>; + label = "English UI"; + reg = <0x2e00000 0x200000>; + scpart-id = <4>; + read-only; + }; + + partition at 3000000 { + label = "ML1"; + reg = <0x3000000 0x200000>; + scpart-id = <5>; + read-only; + }; + + partition at 3200000 { + label = "ML2"; + reg = <0x3200000 0x200000>; + scpart-id = <6>; + read-only; + }; + + partition at 3400000 { + label = "ML3"; + reg = <0x3400000 0x200000>; + scpart-id = <7>; + read-only; + }; + + partition at 3600000 { + label = "ML4"; + reg = <0x3600000 0x200000>; + scpart-id = <8>; + read-only; + }; + + partition at 3800000 { + label = "ML5"; + reg = <0x3800000 0x200000>; + scpart-id = <9>; + read-only; + }; + + partition at 3a00000 { + label = "ML6"; + reg = <0x3a00000 0x200000>; + scpart-id = <10>; + read-only; + }; + + partition at 3c00000 { + label = "ML7"; + reg = <0x3c00000 0x200000>; + scpart-id = <11>; + read-only; + }; + + partition at 3e00000 { + label = "ML8"; + reg = <0x3e00000 0x200000>; + scpart-id = <12>; + read-only; + }; + + partition at 4000000 { + label = "ML9"; + reg = <0x4000000 0x200000>; + scpart-id = <13>; + read-only; + }; + + partition at 4200000 { + label = "ML10"; + reg = <0x4200000 0x200000>; + scpart-id = <14>; + read-only; + }; + + partition at 4400000 { + label = "ML11"; + reg = <0x4400000 0x200000>; + scpart-id = <15>; read-only; }; factory: partition at 4600000 { label = "factory"; reg = <0x4600000 0x200000>; + scpart-id = <16>; read-only; }; partition at 4800000 { + label = "SC Private Data"; + reg = <0x4800000 0x200000>; + scpart-id = <17>; + read-only; + }; + + partition at 4a00000 { + label = "POT"; + reg = <0x4a00000 0x200000>; + scpart-id = <18>; + read-only; + }; + + partition at 4c00000 { + label = "Traffic Meter"; + reg = <0x4c00000 0x200000>; + scpart-id = <19>; + read-only; + }; + + partition at 4e00000 { + label = "SC PID"; + reg = <0x4e00000 0x200000>; + scpart-id = <20>; + read-only; + }; + + partition at 5000000 { + label = "SC Nvram"; + reg = <0x5000000 0x200000>; + scpart-id = <21>; + read-only; + }; + + partition at 5200000 { + label = "Ralink Nvram"; + reg = <0x5200000 0x200000>; + scpart-id = <22>; + read-only; + }; + + partition at 5400000 { + label = "reserved0"; + reg = <0x5400000 0x200000>; + scpart-id = <23>; + read-only; + }; + + partition at 5600000 { label = "reserved1"; - reg = <0x4800000 0x3800000>; + reg = <0x5600000 0x200000>; + scpart-id = <24>; + read-only; + }; + + partition at 5800000 { + label = "reserved2"; + reg = <0x5800000 0x200000>; + scpart-id = <25>; + read-only; + }; + + partition at 5a00000 { + label = "reserved3"; + reg = <0x5a00000 0x200000>; + scpart-id = <26>; + read-only; + }; + + partition at 5c00000 { + label = "reserved4"; + reg = <0x5c00000 0x200000>; + scpart-id = <27>; + read-only; + }; + + partition at 5e00000 { + label = "reserved5"; + reg = <0x5e00000 0x2180000>; + scpart-id = <28>; read-only; }; }; diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi index b781edf6be..b593ee0cd6 100644 --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi @@ -141,47 +141,208 @@ status = "okay"; partitions { - compatible = "fixed-partitions"; + compatible = "sercomm,sc-partitions", "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition at 0 { label = "u-boot"; reg = <0x0 0x100000>; + scpart-id = <0>; read-only; }; partition at 100000 { label = "SC PART_MAP"; reg = <0x100000 0x100000>; + scpart-id = <1>; read-only; }; partition at 200000 { label = "kernel"; reg = <0x200000 0x400000>; + scpart-id = <2>; }; partition at 600000 { label = "ubi"; reg = <0x600000 0x2800000>; + scpart-id = <3>; }; partition at 2e00000 { - label = "reserved0"; - reg = <0x2e00000 0x1800000>; + label = "English UI"; + reg = <0x2e00000 0x200000>; + scpart-id = <4>; + read-only; + }; + + partition at 3000000 { + label = "ML1"; + reg = <0x3000000 0x200000>; + scpart-id = <5>; + read-only; + }; + + partition at 3200000 { + label = "ML2"; + reg = <0x3200000 0x200000>; + scpart-id = <6>; + read-only; + }; + + partition at 3400000 { + label = "ML3"; + reg = <0x3400000 0x200000>; + scpart-id = <7>; + read-only; + }; + + partition at 3600000 { + label = "ML4"; + reg = <0x3600000 0x200000>; + scpart-id = <8>; + read-only; + }; + + partition at 3800000 { + label = "ML5"; + reg = <0x3800000 0x200000>; + scpart-id = <9>; + read-only; + }; + + partition at 3a00000 { + label = "ML6"; + reg = <0x3a00000 0x200000>; + scpart-id = <10>; + read-only; + }; + + partition at 3c00000 { + label = "ML7"; + reg = <0x3c00000 0x200000>; + scpart-id = <11>; + read-only; + }; + + partition at 3e00000 { + label = "ML8"; + reg = <0x3e00000 0x200000>; + scpart-id = <12>; + read-only; + }; + + partition at 4000000 { + label = "ML9"; + reg = <0x4000000 0x200000>; + scpart-id = <13>; + read-only; + }; + + partition at 4200000 { + label = "ML10"; + reg = <0x4200000 0x200000>; + scpart-id = <14>; + read-only; + }; + + partition at 4400000 { + label = "ML11"; + reg = <0x4400000 0x200000>; + scpart-id = <15>; read-only; }; factory: partition at 4600000 { label = "factory"; reg = <0x4600000 0x200000>; + scpart-id = <16>; read-only; }; partition at 4800000 { + label = "SC Private Data"; + reg = <0x4800000 0x200000>; + scpart-id = <17>; + read-only; + }; + + partition at 4a00000 { + label = "POT"; + reg = <0x4a00000 0x200000>; + scpart-id = <18>; + read-only; + }; + + partition at 4c00000 { + label = "Traffic Meter"; + reg = <0x4c00000 0x200000>; + scpart-id = <19>; + read-only; + }; + + partition at 4e00000 { + label = "SC PID"; + reg = <0x4e00000 0x200000>; + scpart-id = <20>; + read-only; + }; + + partition at 5000000 { + label = "SC Nvram"; + reg = <0x5000000 0x200000>; + scpart-id = <21>; + read-only; + }; + + partition at 5200000 { + label = "Ralink Nvram"; + reg = <0x5200000 0x200000>; + scpart-id = <22>; + read-only; + }; + + partition at 5400000 { + label = "reserved0"; + reg = <0x5400000 0x200000>; + scpart-id = <23>; + read-only; + }; + + partition at 5600000 { label = "reserved1"; - reg = <0x4800000 0x3800000>; + reg = <0x5600000 0x200000>; + scpart-id = <24>; + read-only; + }; + + partition at 5800000 { + label = "reserved2"; + reg = <0x5800000 0x200000>; + scpart-id = <25>; + read-only; + }; + + partition at 5a00000 { + label = "reserved3"; + reg = <0x5a00000 0x200000>; + scpart-id = <26>; + read-only; + }; + + partition at 5c00000 { + label = "reserved4"; + reg = <0x5c00000 0x200000>; + scpart-id = <27>; + read-only; + }; + + partition at 5e00000 { + label = "reserved5"; + reg = <0x5e00000 0x2180000>; + scpart-id = <28>; read-only; }; }; diff --git a/target/linux/ramips/files/drivers/mtd/parsers/scpart.c b/target/linux/ramips/files/drivers/mtd/parsers/scpart.c new file mode 100644 index 0000000000..36c3c0bb36 --- /dev/null +++ b/target/linux/ramips/files/drivers/mtd/parsers/scpart.c @@ -0,0 +1,257 @@ +/* + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Sercomm/Netgear FLASH partition table. + */ + + +#include +#include +#include +#include +#include + + +#define MOD_NAME "scpart" + +static const char sc_part_magic[] = { + 'S', 'C', 'F', 'L', 'M', 'A', 'P', 'O', 'K', '\0', +}; +#define PART_MAGIC_LEN sizeof(sc_part_magic) + +/* assumes that all fields are set by CPU native endian */ +struct sc_part_desc { + uint32_t part_id; + uint32_t part_offs; + uint32_t part_bytes; +}; +#define ID_ALREADY_FOUND (0xFFFFFFFFUL) + +#define MAP_OFFS_IN_BLK (0x800) + +#define MAP_MIRROR_NUM (2) + +static int scpart_desc_is_valid(struct sc_part_desc *pdesc) +{ + return !!((pdesc->part_id != 0xFFFFFFFFUL) && + (pdesc->part_offs != 0xFFFFFFFFUL) && + (pdesc->part_bytes != 0xFFFFFFFFUL)); +} + +static int scpart_scan_partmap(struct mtd_info *master, loff_t partmap_offs, + struct sc_part_desc **ppdesc) +{ + uint8_t *buf; + loff_t offs; + size_t retlen; + struct sc_part_desc *pdesc = NULL; + struct sc_part_desc *tmpdesc; + int cnt = 0; + int res2; + int res = 0; + + buf = kzalloc(master->erasesize, GFP_KERNEL); + if (!buf) { + res = -ENOMEM; + goto out; + } + + res2 = mtd_read(master, partmap_offs, master->erasesize, &retlen, buf); + if (res2 || (retlen != master->erasesize)) { + res = -EIO; + goto free; + } + + offs = MAP_OFFS_IN_BLK; + while((offs + sizeof(*tmpdesc)) < master->erasesize) { + tmpdesc = (struct sc_part_desc*)&(buf[offs]); + if (!scpart_desc_is_valid(tmpdesc)) + break; + cnt++; + offs += sizeof(*tmpdesc); + } + + if (cnt > 0) { + int bytes = cnt * sizeof(*pdesc); + + pdesc = kzalloc(bytes, GFP_KERNEL); + if (!pdesc) { + res = -ENOMEM; + goto free; + } + memcpy(pdesc, &(buf[MAP_OFFS_IN_BLK]), bytes); + + *ppdesc = pdesc; + res = cnt; + } + + free: + kfree(buf); + + out: + return res; +} + +static int scpart_find_partmap(struct mtd_info *master, + struct sc_part_desc **ppdesc) +{ + loff_t offs; + uint8_t rdbuf[PART_MAGIC_LEN]; + size_t retlen; + int magic_found = 0; + int res2; + int res = 0; + + offs = 0; + while((magic_found < MAP_MIRROR_NUM) && + (offs < master->size) && !mtd_block_isbad(master, offs)) { + res2 = mtd_read(master, offs, PART_MAGIC_LEN, &retlen, rdbuf); + if (res2 || (retlen != PART_MAGIC_LEN)) { + res = -EIO; + goto out; + } + if (!memcmp(rdbuf, sc_part_magic, PART_MAGIC_LEN)) { + pr_debug("%s: signature found at 0x%llx\n", MOD_NAME, offs); + magic_found++; + res = scpart_scan_partmap(master, offs, ppdesc); + if (res > 0) + goto out; + } + offs += master->erasesize; + } + + out: + if (res > 0) + pr_info("%s: valid 'SC PART MAP' found (%d partitions)\n", MOD_NAME, res); + else + pr_info("%s: no valid 'SC PART MAP'\n", MOD_NAME); + + return res; +} + +static int scpart_parse(struct mtd_info *master, + const struct mtd_partition **pparts, + struct mtd_part_parser_data *data) +{ + struct sc_part_desc *scpart_map = NULL; + struct mtd_partition *parts = NULL; + struct device_node *mtd_node; + struct device_node *ofpart_node; + struct device_node *pp; + const char *partname; + int nr_scparts; + int nr_parts = 0; + int n; + int res = 0; + + mtd_node = mtd_get_of_node(master); + if (!mtd_node) + goto out; + + ofpart_node = of_get_child_by_name(mtd_node, "partitions"); + if (!ofpart_node) + goto out; + + nr_scparts = scpart_find_partmap(master, &scpart_map); + if (nr_scparts <= 0) { + res = nr_scparts; + goto free; + } + + for_each_child_of_node(ofpart_node, pp) { + u32 scpart_id; + struct mtd_partition *parts_tmp; + + if(of_property_read_u32(pp, "scpart-id", &scpart_id)) + continue; + + for (n = 0 ; n < nr_scparts ; n++) + if ((scpart_map[n].part_id != ID_ALREADY_FOUND) && + (scpart_id == scpart_map[n].part_id)) + break; + if (n >= nr_scparts) + /* not match */ + continue; + + /* add the partition found in OF into MTD partition array */ + + /* reallocate partition array */ + parts_tmp = parts; + parts = kzalloc((nr_parts + 1) * sizeof(*parts), GFP_KERNEL); + if (!parts) { + kfree(parts_tmp); + res = -ENOMEM; + goto free; + } + if (parts_tmp) { + memcpy(parts, parts_tmp, nr_parts * sizeof(*parts)); + kfree(parts_tmp); + } + + parts[nr_parts].offset = scpart_map[n].part_offs; + parts[nr_parts].size = scpart_map[n].part_bytes; + parts[nr_parts].of_node = pp; + + if (!of_property_read_string(pp, "label", &partname) || + !of_property_read_string(pp, "name", &partname)) + parts[nr_parts].name = partname; + + if (of_property_read_bool(pp, "read-only")) + parts[nr_parts].mask_flags |= MTD_WRITEABLE; + if (of_property_read_bool(pp, "lock")) + parts[nr_parts].mask_flags |= MTD_POWERUP_LOCK; + + /* mark as 'done' */ + scpart_map[n].part_id = ID_ALREADY_FOUND; + + nr_parts++; + } + if (nr_parts > 0) { + *pparts = parts; + res = nr_parts; + } else + pr_info("%s: No partition in OF matches partition ID with 'SC PART MAP'.\n", + MOD_NAME); + + of_node_put(pp); + + free: + kfree(scpart_map); + if (res <= 0) + kfree(parts); + + out: + return res; +} + +static const struct of_device_id scpart_parser_of_match_table[] = { + { .compatible = "sercomm,sc-partitions" }, + {}, +}; +MODULE_DEVICE_TABLE(of, scpart_parser_of_match_table); + +static struct mtd_part_parser scpart_parser = { + .parse_fn = scpart_parse, + .name = "scpart", + .of_match_table = scpart_parser_of_match_table, +}; +module_mtd_part_parser(scpart_parser); + +/* mtd parsers will request the module by parser name */ +MODULE_ALIAS("scpart"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("NOGUCHI Hiroshi "); +MODULE_DESCRIPTION("Parsing code for Sercomm/Netgear partition table"); diff --git a/target/linux/ramips/mt7621/config-5.4 b/target/linux/ramips/mt7621/config-5.4 index b2c3ad5ba8..712ac388f1 100644 --- a/target/linux/ramips/mt7621/config-5.4 +++ b/target/linux/ramips/mt7621/config-5.4 @@ -203,6 +203,7 @@ CONFIG_MODULES_USE_ELF_REL=y CONFIG_MT7621_WDT=y # CONFIG_MTD_CFI_INTELEXT is not set CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_SERCOMM_PARTS=y CONFIG_MTD_NAND_CORE=y CONFIG_MTD_NAND_ECC_SW_HAMMING=y CONFIG_MTD_NAND_MT7621=y diff --git a/target/linux/ramips/patches-5.4/303-mtd-scpart-parser.patch b/target/linux/ramips/patches-5.4/303-mtd-scpart-parser.patch new file mode 100644 index 0000000000..f125d9c6af --- /dev/null +++ b/target/linux/ramips/patches-5.4/303-mtd-scpart-parser.patch @@ -0,0 +1,19 @@ +--- a/drivers/mtd/parsers/Kconfig ++++ b/drivers/mtd/parsers/Kconfig +@@ -185,3 +185,9 @@ config MTD_ROUTERBOOT_PARTS + flash, some of which are fixed and some of which are located at + variable offsets. This parser handles both cases via properly + formatted DTS. ++ ++config MTD_SERCOMM_PARTS ++ tristate "SERCOMM partitioning information support" ++ depends on MTD_OF_PARTS ++ help ++ This provides partition table parser for SERCOMM partition map +--- a/drivers/mtd/parsers/Makefile ++++ b/drivers/mtd/parsers/Makefile +@@ -11,3 +11,4 @@ obj-$(CONFIG_MTD_PARSER_TRX) += parser_ + obj-$(CONFIG_MTD_SHARPSL_PARTS) += sharpslpart.o + obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o + obj-$(CONFIG_MTD_ROUTERBOOT_PARTS) += routerbootpart.o ++obj-$(CONFIG_MTD_SERCOMM_PARTS) += scpart.o -- 2.27.0 From rsalvaterra at gmail.com Mon Jun 29 05:46:46 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Mon, 29 Jun 2020 10:46:46 +0100 Subject: [RFC PATCH] kernel: zstd: enable crypto API support on Linux 4.19+ Message-ID: <20200629094645.683-1-rsalvaterra@gmail.com> Zstd is supported by the crypto API since Linux 4.18. Enable this feature and reveal the package in the configuration section, so the user can select it. This allows zstd to be used as a compression algorithm in zram, for example. Signed-off-by: Rui Salvaterra --- package/kernel/linux/modules/lib.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk index 1289cc1f25..143ce7e62d 100644 --- a/package/kernel/linux/modules/lib.mk +++ b/package/kernel/linux/modules/lib.mk @@ -124,16 +124,18 @@ $(eval $(call KernelPackage,lib-lzo)) define KernelPackage/lib-zstd SUBMENU:=$(LIB_MENU) TITLE:=ZSTD support + DEPENDS:=+!LINUX_4_14:kmod-crypto-acompress KCONFIG:= \ + CONFIG_CRYPTO_ZSTD \ CONFIG_ZSTD_COMPRESS \ CONFIG_ZSTD_DECOMPRESS \ CONFIG_XXHASH - HIDDEN:=1 FILES:= \ + $(LINUX_DIR)/crypto/zstd.ko at ge4.19 \ $(LINUX_DIR)/lib/xxhash.ko \ $(LINUX_DIR)/lib/zstd/zstd_compress.ko \ $(LINUX_DIR)/lib/zstd/zstd_decompress.ko - AUTOLOAD:=$(call AutoProbe,xxhash zstd_compress zstd_decompress) + AUTOLOAD:=$(call AutoProbe,xxhash zstd zstd_compress zstd_decompress) endef define KernelPackage/lib-zstd/description -- 2.27.0 From rsalvaterra at gmail.com Mon Jun 29 13:53:23 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Mon, 29 Jun 2020 18:53:23 +0100 Subject: [RFC PATCH] procd: don't let the user choose to mount /tmp on zram Message-ID: <20200629175323.1349-1-rsalvaterra@gmail.com> The /tmp directory is mounted as tmpfs. The tmpfs filesystem is backed by anonymous memory, which means it can be swapped out at any time, if there is memory pressure [1]. For this reason, a zram swap device is a much better choice than mounting /tmp on zram, since it's able to compress all anonymous memory, and not just the memory assigned to /tmp. We already have the zram-swap package for this specific purpose, which means procd's tmp-on-zram is both redundant and more limited. For the time being, don't allow the user to select this feature. Follow-up patches will remove procd tmp-on-zram support altogether. [1] https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt Signed-off-by: Rui Salvaterra --- package/system/procd/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 5647a47326..8553b4e304 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -82,7 +82,6 @@ config PROCD_SHOW_BOOT config PROCD_ZRAM_TMPFS bool default n - prompt "Mount /tmp using zram." endmenu endef -- 2.27.0 From rsalvaterra at gmail.com Mon Jun 29 14:02:06 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Mon, 29 Jun 2020 19:02:06 +0100 Subject: [RFC PATCH] procd: completely remove tmp-on-zram support Message-ID: <20200629180204.1424-1-rsalvaterra@gmail.com> This is the follow-up patch to "procd: don't let the user choose to mount /tmp on zram". As explained there, this feature is both redundant and more limited than using a zram swap device, as already provided by the zram-swap package. Signed-off-by: Rui Salvaterra --- CMakeLists.txt | 7 +-- initd/early.c | 12 ++--- initd/init.h | 7 --- initd/zram.c | 137 ------------------------------------------------- 4 files changed, 5 insertions(+), 158 deletions(-) delete mode 100644 initd/zram.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 3eb79f9..5f23fb8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,11 +41,6 @@ IF(EARLY_PATH) ADD_DEFINITIONS(-DEARLY_PATH="${EARLY_PATH}") ENDIF() -IF(ZRAM_TMPFS) - ADD_DEFINITIONS(-DZRAM_TMPFS) - SET(SOURCES_ZRAM initd/zram.c) -ENDIF() - add_subdirectory(upgraded) ADD_EXECUTABLE(procd ${SOURCES}) @@ -61,7 +56,7 @@ IF(DISABLE_INIT) ADD_DEFINITIONS(-DDISABLE_INIT) ELSE() ADD_EXECUTABLE(init initd/init.c initd/early.c initd/preinit.c initd/mkdev.c sysupgrade.c watchdog.c - utils/utils.c ${SOURCES_ZRAM}) + utils/utils.c) TARGET_LINK_LIBRARIES(init ${LIBS}) INSTALL(TARGETS init RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR} diff --git a/initd/early.c b/initd/early.c index 7b281b2..6ba553f 100644 --- a/initd/early.c +++ b/initd/early.c @@ -70,14 +70,10 @@ early_mounts(void) } early_console("/dev/console"); - if (mount_zram_on_tmp()) { - mount("tmpfs", "/tmp", "tmpfs", MS_NOSUID | MS_NODEV | MS_NOATIME, "mode=01777"); - mkdir("/tmp/shm", 01777); - } else { - mkdir("/tmp/shm", 01777); - mount("tmpfs", "/tmp/shm", "tmpfs", MS_NOSUID | MS_NODEV | MS_NOATIME, - "mode=01777"); - } + + mount("tmpfs", "/tmp", "tmpfs", MS_NOSUID | MS_NODEV | MS_NOATIME, "mode=01777"); + mkdir("/tmp/shm", 01777); + mkdir("/tmp/run", 0755); mkdir("/tmp/lock", 0755); mkdir("/tmp/state", 0755); diff --git a/initd/init.h b/initd/init.h index 123e114..dcf9d30 100644 --- a/initd/init.h +++ b/initd/init.h @@ -26,11 +26,4 @@ void preinit(void); void early(void); int mkdev(const char *progname, int progmode); -#ifdef ZRAM_TMPFS -int mount_zram_on_tmp(void); -#else -static inline int mount_zram_on_tmp(void) { - return -ENOSYS; -} -#endif #endif diff --git a/initd/zram.c b/initd/zram.c deleted file mode 100644 index 380fe0e..0000000 --- a/initd/zram.c +++ /dev/null @@ -1,137 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "../log.h" -#include "../container.h" - -#include "init.h" - -#define KB(x) (x * 1024) - -#define ZRAM_MOD_PATH "/lib/modules/%s/zram.ko" -#define EXT4_MOD_PATH "/lib/modules/%s/ext4.ko" - -static long -proc_meminfo(void) -{ - FILE *fp; - char line[256]; - char *key; - long val = KB(16); - - fp = fopen("/proc/meminfo", "r"); - if (fp == NULL) { - ERROR("Can't open /proc/meminfo: %m\n"); - return errno; - } - - while (fgets(line, sizeof(line), fp)) { - key = strtok(line, ":"); - if (strcasecmp(key, "MemTotal")) - continue; - val = atol(strtok(NULL, " kB\n")); - break; - } - fclose(fp); - - if (val > KB(32)) - val = KB(32); - - return val; -} - -static int -early_insmod(char *module) -{ - pid_t pid = fork(); - char *modprobe[] = { "/sbin/modprobe", NULL, NULL }; - - if (!pid) { - char *path; - struct utsname ver; - - uname(&ver); - path = alloca(strlen(module) + strlen(ver.release) + 1); - sprintf(path, module, ver.release); - modprobe[1] = path; - execvp(modprobe[0], modprobe); - ERROR("Can't exec %s: %m\n", modprobe[0]); - exit(EXIT_FAILURE); - } - - if (pid <= 0) { - ERROR("Can't exec %s: %m\n", modprobe[0]); - return -1; - } else { - waitpid(pid, NULL, 0); - } - - return 0; -} - - -int -mount_zram_on_tmp(void) -{ - char *mkfs[] = { "/usr/sbin/mkfs.ext4", "-b", "4096", "-F", "-L", "TEMP", "-m", "0", "/dev/zram0", NULL }; - FILE *fp; - long zramsize; - pid_t pid; - int ret; - - if (early_insmod(ZRAM_MOD_PATH) || early_insmod(EXT4_MOD_PATH)) { - ERROR("failed to insmod zram support\n"); - return -1; - } - - mkdev("*", 0600); - - zramsize = proc_meminfo() / 2; - fp = fopen("/sys/block/zram0/disksize", "r+"); - if (fp == NULL) { - ERROR("Can't open /sys/block/zram0/disksize: %m\n"); - return errno; - } - fprintf(fp, "%ld", KB(zramsize)); - fclose(fp); - - pid = fork(); - if (!pid) { - execvp(mkfs[0], mkfs); - ERROR("Can't exec %s: %m\n", mkfs[0]); - exit(EXIT_FAILURE); - } else if (pid <= 0) { - ERROR("Can't exec %s: %m\n", mkfs[0]); - return -1; - } else { - waitpid(pid, NULL, 0); - } - - if (!is_container()) { - ret = mount("/dev/zram0", "/tmp", "ext4", MS_NOSUID | MS_NODEV | MS_NOATIME, "errors=continue,noquota"); - if (ret < 0) { - ERROR("Can't mount /dev/zram0 on /tmp: %m\n"); - return errno; - } - } - - LOG("Using up to %ld kB of RAM as ZRAM storage on /mnt\n", zramsize); - - ret = chmod("/tmp", 01777); - if (ret < 0) { - ERROR("Can't set /tmp mode to 1777: %m\n"); - return errno; - } - - return 0; -} -- 2.27.0 From rsalvaterra at gmail.com Mon Jun 29 14:31:40 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Mon, 29 Jun 2020 19:31:40 +0100 Subject: [RFC PATCH] procd: Remove the remnants of tmp-on-zram from the makefile Message-ID: <20200629183139.16837-1-rsalvaterra@gmail.com> Now that this feature is gone, clean-up the makefile accordingly. Signed-off-by: Rui Salvaterra --- package/system/procd/Makefile | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 8553b4e304..091a0a6d11 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -24,8 +24,7 @@ PKG_MAINTAINER:=John Crispin PKG_ASLR_PIE_REGULAR:=1 PKG_CONFIG_DEPENDS:= \ - CONFIG_TARGET_INIT_PATH CONFIG_KERNEL_SECCOMP \ - CONFIG_PROCD_SHOW_BOOT CONFIG_PROCD_ZRAM_TMPFS \ + CONFIG_TARGET_INIT_PATH CONFIG_KERNEL_SECCOMP CONFIG_PROCD_SHOW_BOOT \ CONFIG_KERNEL_NAMESPACES CONFIG_PACKAGE_procd-ujail CONFIG_PACKAGE_procd-seccomp include $(INCLUDE_DIR)/package.mk @@ -79,9 +78,6 @@ config PROCD_SHOW_BOOT default n prompt "Print the shutdown to the console as well as logging it to syslog" -config PROCD_ZRAM_TMPFS - bool - default n endmenu endef @@ -90,10 +86,6 @@ ifeq ($(CONFIG_PROCD_SHOW_BOOT),y) CMAKE_OPTIONS += -DSHOW_BOOT_ON_CONSOLE=1 endif -ifeq ($(CONFIG_PROCD_ZRAM_TMPFS),y) - CMAKE_OPTIONS += -DZRAM_TMPFS=1 -endif - ifdef CONFIG_PACKAGE_procd-ujail CMAKE_OPTIONS += -DJAIL_SUPPORT=1 endif -- 2.27.0 From sunivision13 at cctvteck.com Sun Jun 28 23:00:06 2020 From: sunivision13 at cctvteck.com (sunivision) Date: Mon, 29 Jun 2020 11:00:06 +0800 Subject: Wifi camera have AP function Message-ID: <58429921025895EBE0B746CEC61CD4D6411F7E6D8@CCTVTECK.COM> Dear %??????, Hot Outdoor WIFI IP cameraswithCE, ROHS and REACHstandard certificate.Welcome trial order for testing first. Support Smart Amazon Cloud storage?? AP functions?? Two-way Audio! Recycle Recording for 24/7 ! Quick Easy Setup! Weatherproof Look for to your reply soon. Thanks and best regards! Mandy PS: 2 YEAR WARRANTYand welcome sample order for testing. Sample delivery time 2~7 DAYS.OEM or ODMis welcomed. Sunivision Technology Development Co., Ltd Add: Floor 3, Building B, Taoyuan Industrial Park, Huangpu East Development Zone, Guangzhou, China TEL: +86-20-28217659-828 FAX: +86-20-28217656 Email:sunivision13 at sunivision.com Mobile & Wechat: 0086 17875594457 TradeManager ID:gzsunivision Skype ID: sunivision13 QQ: 2140756071 Web:www.sunivision.com gn_end> ? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 11021849561.jpg Type: image/jpg Size: 108857 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 11021850197.png Type: image/png Size: 325 bytes Desc: not available URL: From karlp at etactica.com Tue Jun 30 06:38:40 2020 From: karlp at etactica.com (Karl Palsson) Date: Tue, 30 Jun 2020 10:38:40 +0000 Subject: PATCH libubox: arg checking and examples Message-ID: <20200630103844.16633-1-karlp@etactica.com> Minor tweaks to hopefully help people avoid some sharp corners. Patches 2 and 3 are optional, and have no functional change, but IMO make the code easier to follow for subsequent developers. From karlp at etactica.com Tue Jun 30 06:38:41 2020 From: karlp at etactica.com (Karl Palsson) Date: Tue, 30 Jun 2020 10:38:41 +0000 Subject: [PATCH libubox 1/4] lua/uloop: fd_add() better args checking In-Reply-To: <20200630103844.16633-1-karlp@etactica.com> References: <20200630103844.16633-1-karlp@etactica.com> Message-ID: <20200630103844.16633-2-karlp@etactica.com> Actually check for flags being valid, instead of simply ignoring the call if flags was zero. Use standard lua checks for the function argument, so you can get a normal "argument #2 was invalid, expected function, got xxx" instead of the vague, "invalid arg list" Signed-off-by: Karl Palsson --- lua/uloop.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/lua/uloop.c b/lua/uloop.c index 1b0389f..fcbe274 100644 --- a/lua/uloop.c +++ b/lua/uloop.c @@ -232,17 +232,14 @@ static int ul_ufd_add(lua_State *L) int ref; int fd_ref; - if (lua_isnumber(L, -1)) { - flags = lua_tointeger(L, -1); - lua_pop(L, 1); - } - - if (!lua_isfunction(L, -1)) { - lua_pushstring(L, "invalid arg list"); + flags = luaL_checkinteger(L, -1); + if (!flags) { + lua_pushstring(L, "flags cannot be zero"); lua_error(L); - - return 0; } + lua_pop(L, 1); + + luaL_checktype(L, -1, LUA_TFUNCTION); fd = get_sock_fd(L, -2); @@ -261,8 +258,7 @@ static int ul_ufd_add(lua_State *L) ufd->fd.fd = fd; ufd->fd_r = fd_ref; ufd->fd.cb = ul_ufd_cb; - if (flags) - uloop_fd_add(&ufd->fd, flags); + uloop_fd_add(&ufd->fd, flags); return 1; } -- 2.21.3 From karlp at etactica.com Tue Jun 30 06:38:42 2020 From: karlp at etactica.com (Karl Palsson) Date: Tue, 30 Jun 2020 10:38:42 +0000 Subject: [PATCH libubox 2/4] lua/uloop: make get_sock_fd capable of absolute addresses In-Reply-To: <20200630103844.16633-1-karlp@etactica.com> References: <20200630103844.16633-1-karlp@etactica.com> Message-ID: <20200630103844.16633-3-karlp@etactica.com> The original code required the use of relative addresses into the lua stack. It should accept either. Signed-off-by: Karl Palsson --- lua/uloop.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/uloop.c b/lua/uloop.c index fcbe274..394970d 100644 --- a/lua/uloop.c +++ b/lua/uloop.c @@ -188,7 +188,8 @@ static int get_sock_fd(lua_State* L, int idx) { lua_getfield(L, idx, "getfd"); if(lua_isnil(L, -1)) return luaL_error(L, "socket type missing 'getfd' method"); - lua_pushvalue(L, idx - 1); + /* if we have absolute, no need to adjust for getfield() call */ + lua_pushvalue(L, idx > 0 ? idx: idx - 1); lua_call(L, 1, 1); fd = lua_tointeger(L, -1); lua_pop(L, 1); -- 2.21.3 From karlp at etactica.com Tue Jun 30 06:38:43 2020 From: karlp at etactica.com (Karl Palsson) Date: Tue, 30 Jun 2020 10:38:43 +0000 Subject: [PATCH libubox 3/4] lua/uloop: fd_add: use absolute indices for arguments In-Reply-To: <20200630103844.16633-1-karlp@etactica.com> References: <20200630103844.16633-1-karlp@etactica.com> Message-ID: <20200630103844.16633-4-karlp@etactica.com> Instead of having to adjust the index repeatedly as the stack is manipulated, use absolute addressing for the function arguments, so they stay the same throughout the call. Zero functional change, just subjectively easier to follow variables. Signed-off-by: Karl Palsson --- lua/uloop.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lua/uloop.c b/lua/uloop.c index 394970d..ee82104 100644 --- a/lua/uloop.c +++ b/lua/uloop.c @@ -233,24 +233,23 @@ static int ul_ufd_add(lua_State *L) int ref; int fd_ref; - flags = luaL_checkinteger(L, -1); + flags = luaL_checkinteger(L, 3); if (!flags) { lua_pushstring(L, "flags cannot be zero"); lua_error(L); } - lua_pop(L, 1); - luaL_checktype(L, -1, LUA_TFUNCTION); + luaL_checktype(L, 2, LUA_TFUNCTION); - fd = get_sock_fd(L, -2); + fd = get_sock_fd(L, 1); lua_getglobal(L, "__uloop_cb"); - lua_pushvalue(L, -2); + lua_pushvalue(L, 2); ref = luaL_ref(L, -2); lua_pop(L, 1); lua_getglobal(L, "__uloop_fds"); - lua_pushvalue(L, -3); + lua_pushvalue(L, 1); fd_ref = luaL_ref(L, -2); lua_pop(L, 1); -- 2.21.3 From karlp at etactica.com Tue Jun 30 06:38:44 2020 From: karlp at etactica.com (Karl Palsson) Date: Tue, 30 Jun 2020 10:38:44 +0000 Subject: [PATCH libubox 4/4] examples/lua: attempt to highlight some traps In-Reply-To: <20200630103844.16633-1-karlp@etactica.com> References: <20200630103844.16633-1-karlp@etactica.com> Message-ID: <20200630103844.16633-5-karlp@etactica.com> Ran into some issues with my fd event being garbage collected. As I never wanted to call :delete, I had seen no reason to keep the returned object, as my callback and upvalues were still valid. Signed-off-by: Karl Palsson --- examples/uloop-example.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/uloop-example.lua b/examples/uloop-example.lua index 9b0684e..511b9ea 100755 --- a/examples/uloop-example.lua +++ b/examples/uloop-example.lua @@ -9,7 +9,7 @@ local udp = socket.udp() udp:settimeout(0) udp:setsockname('*', 8080) --- timer example 1 +-- timer example 1 (will run repeatedly) local timer function t() print("1000 ms timer run"); @@ -18,10 +18,10 @@ end timer = uloop.timer(t) timer:set(1000) --- timer example 2 +-- timer example 2 (will run once) uloop.timer(function() print("2000 ms timer run"); end, 2000) --- timer example 3 +-- timer example 3 (will never run) uloop.timer(function() print("3000 ms timer run"); end, 3000):cancel() -- process @@ -46,6 +46,8 @@ uloop.timer( end, 2000 ) +-- Keep udp_ev reference, events will be gc'd, even if the callback is still referenced +-- .delete will manually untrack. udp_ev = uloop.fd_add(udp, function(ufd, events) local words, msg_or_ip, port_or_nil = ufd:receivefrom() print('Recv UDP packet from '..msg_or_ip..':'..port_or_nil..' : '..words) -- 2.21.3 From rsalvaterra at gmail.com Tue Jun 30 12:22:10 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Tue, 30 Jun 2020 17:22:10 +0100 Subject: [PATCH] dropbear: init: replace backticks with $() Message-ID: <20200630162208.121383-1-rsalvaterra@gmail.com> Signed-off-by: Rui Salvaterra --- package/network/services/dropbear/files/dropbear.init | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/services/dropbear/files/dropbear.init b/package/network/services/dropbear/files/dropbear.init index daf111fadb..ab8e908d8c 100755 --- a/package/network/services/dropbear/files/dropbear.init +++ b/package/network/services/dropbear/files/dropbear.init @@ -238,7 +238,7 @@ killclients() while [ "${pid}" -ne 0 ] do # get parent process id - pid=`cut -d ' ' -f 4 "/proc/${pid}/stat"` + pid=$(cut -d ' ' -f 4 "/proc/${pid}/stat") [ "${pid}" -eq 0 ] && break # check if client connection @@ -249,14 +249,14 @@ killclients() done # get all server pids that should be ignored - for server in `cat /var/run/${NAME}.*.pid` + for server in $(cat /var/run/${NAME}.*.pid) do append ignore "${server}" done # get all running pids and kill client connections local skip - for pid in `pidof "${NAME}"` + for pid in $(pidof "${NAME}") do # check if correct program, otherwise process next pid grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" || { -- 2.27.0 From rsalvaterra at gmail.com Tue Jun 30 12:23:12 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Tue, 30 Jun 2020 17:23:12 +0100 Subject: [PATCH] zram-swap: init: replace backticks with $() Message-ID: <20200630162310.121438-1-rsalvaterra@gmail.com> Signed-off-by: Rui Salvaterra --- package/system/zram-swap/files/zram.init | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/system/zram-swap/files/zram.init b/package/system/zram-swap/files/zram.init index d33e779850..a6126e578f 100755 --- a/package/system/zram-swap/files/zram.init +++ b/package/system/zram-swap/files/zram.init @@ -73,7 +73,7 @@ zram_getdev() local zdev=$( zram_dev ) if [ "$(mount | grep $zdev)" ]; then - local idx=`cat /sys/class/zram-control/hot_add` + local idx=$(cat /sys/class/zram-control/hot_add) zdev="$( zram_dev $idx )" fi @@ -89,7 +89,7 @@ zram_comp_algo() return 0 fi - if [ `grep -c "$zram_comp_algo" /sys/block/$( basename $dev )/comp_algorithm` -ne 0 ]; then + if [ $(grep -c "$zram_comp_algo" /sys/block/$( basename $dev )/comp_algorithm) -ne 0 ]; then logger -s -t zram_comp_algo -p daemon.debug "Set compression algorithm '$zram_comp_algo' for zram '$dev'" echo $zram_comp_algo > "/sys/block/$( basename $dev )/comp_algorithm" else @@ -147,8 +147,8 @@ zram_compact() # compact zram device (reduce memory allocation overhead) local zdev="/sys/block/$( basename "$1" )" - local old_mem_used=`awk '{print $3}' <$zdev/mm_stat` - local old_overhead=`awk '{print $3-$2}' <$zdev/mm_stat` + local old_mem_used=$(awk '{print $3}' <$zdev/mm_stat) + local old_overhead=$(awk '{print $3-$2}' <$zdev/mm_stat) echo 1 > $zdev/compact -- 2.27.0 From mail at adrianschmutzler.de Tue Jun 30 13:05:17 2020 From: mail at adrianschmutzler.de (mail at adrianschmutzler.de) Date: Tue, 30 Jun 2020 19:05:17 +0200 Subject: [PATCH] dropbear: init: replace backticks with $() In-Reply-To: <20200630162208.121383-1-rsalvaterra@gmail.com> References: <20200630162208.121383-1-rsalvaterra@gmail.com> Message-ID: <004101d64f00$a202dfe0$e6089fa0$@adrianschmutzler.de> > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] > On Behalf Of Rui Salvaterra > Sent: Dienstag, 30. Juni 2020 18:22 > To: openwrt-devel at lists.openwrt.org > Cc: Rui Salvaterra > Subject: [PATCH] dropbear: init: replace backticks with $() Merged your two patches, please add a commit description next time. Best Adrian -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 834 bytes Desc: not available URL: From rsalvaterra at gmail.com Tue Jun 30 13:18:29 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Tue, 30 Jun 2020 18:18:29 +0100 Subject: [PATCH] dropbear: init: replace backticks with $() In-Reply-To: <004101d64f00$a202dfe0$e6089fa0$@adrianschmutzler.de> References: <20200630162208.121383-1-rsalvaterra@gmail.com> <004101d64f00$a202dfe0$e6089fa0$@adrianschmutzler.de> Message-ID: Hi, Adrian, On Tue, 30 Jun 2020 at 18:05, wrote: > > Merged your two patches, please add a commit description next time. > Will do, thanks a lot. Cheers, Rui From hauke at hauke-m.de Tue Jun 30 16:27:43 2020 From: hauke at hauke-m.de (Hauke Mehrtens) Date: Tue, 30 Jun 2020 22:27:43 +0200 Subject: [OpenWrt-Devel][PATCH v2 2/2] octeontx: enable Cavium CPT and ZIP drivers In-Reply-To: References: <1591117502-28100-1-git-send-email-tharvey@gateworks.com> <1591117502-28100-2-git-send-email-tharvey@gateworks.com> <80d365f9-c09a-591e-00a8-37f71f2f0b86@hauke-m.de> Message-ID: <04ec50ae-d6ec-13aa-0b38-20992609e81d@hauke-m.de> On 6/24/20 11:06 PM, Tim Harvey wrote: > On Thu, Jun 11, 2020 at 5:22 AM Hauke Mehrtens wrote: >> >> On 6/3/20 10:16 PM, Tim Harvey wrote: >>> On Tue, Jun 2, 2020 at 3:21 PM Hauke Mehrtens wrote: >>>> >>>> On 6/2/20 7:05 PM, Tim Harvey wrote: >>>>> The CPT module requires firmware which we add here as well. >>>>> >>>>> Signed-off-by: Tim Harvey >>>>> --- >>>>> v2: added license file for firmware >>>>> --- >>>>> target/linux/octeontx/config-5.4 | 11 +++++++++++ >>>>> target/linux/octeontx/files/firmware/cpt8x-mc-ae.out | Bin 0 -> 9760 bytes >>>>> target/linux/octeontx/files/firmware/cpt8x-mc-se.out | Bin 0 -> 35584 bytes >>>>> target/linux/octeontx/files/firmware/license.txt | 11 +++++++++++ >>>>> 4 files changed, 22 insertions(+) >>>>> create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-ae.out >>>>> create mode 100644 target/linux/octeontx/files/firmware/cpt8x-mc-se.out >>>>> create mode 100644 target/linux/octeontx/files/firmware/license.txt >>>>> >>>>> diff --git a/target/linux/octeontx/config-5.4 b/target/linux/octeontx/config-5.4 >>>>> index cfb8b19..9fcd12b 100644 >>>>> --- a/target/linux/octeontx/config-5.4 >>>>> +++ b/target/linux/octeontx/config-5.4 >>>> ...... >>>>> @@ -233,6 +239,8 @@ CONFIG_EEPROM_AT24=y >>>>> CONFIG_EFI_EARLYCON=y >>>>> CONFIG_EXT4_FS=y >>>>> CONFIG_EXT4_FS_POSIX_ACL=y >>>>> +CONFIG_EXTRA_FIRMWARE="cpt8x-mc-ae.out cpt8x-mc-se.out" >>>>> +CONFIG_EXTRA_FIRMWARE_DIR="firmware" >>>>> CONFIG_F2FS_FS=y >>>>> CONFIG_F2FS_FS_XATTR=y >>>>> CONFIG_F2FS_STAT_FS=y >>>> .... >>>>> >>>>> diff --git a/target/linux/octeontx/files/firmware/license.txt b/target/linux/octeontx/files/firmware/license.txt >>>>> new file mode 100644 >>>>> index 0000000..531eaba >>>>> --- /dev/null >>>>> +++ b/target/linux/octeontx/files/firmware/license.txt >>>> >>>> Hi, >>>> >>>> I think this is not compatible with the OpenWrt license or at least goes >>>> into a gray area. >>>> >>>>> @@ -0,0 +1,11 @@ >>>>> +Copyright (C) 2019 Marvell International Ltd. >>>>> + >>>>> +The software package is subject to the Marvell binary license that prohibits the >>>>> +licensee to modify the software, in any manner and that prohibits to distribute >>>>> +the software as a stand-alone product. >>>> >>>> Is the distribution in >>>> target/linux/octeontx/files/firmware/cpt8x-mc-se.out not a standalone >>>> product? >>> >>> Hauke, >>> >>> I agree that this is a gray area for sure. I don't like the wording at >>> all either. >>> >>>> You can create a link to https://git.openwrt.org where you can directly >>>> download it when we push it into openwrt master. >>>> >>> >>> I'm not sure what you mean by this. Are you saying we can still push >>> the firmware binaries 'somewhere' on https://git.openwrt.org but not >>> include the build process? >> >> I do not know if such a link would be a distribution as a standalone >> product: >> https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob_plain;f=target/linux/lantiq/files/firmware/lantiq/xrx200_phy11g_a14.bin;hb=HEAD >> >> I would prefer if the user has to get the firmware files from somewhere >> else if we wants to use this feature as long as Marvell is not willing >> to change the license. >> >>>>> +Any use of the software, in all or in >>>>> +part, shall not be made subject to or otherwise contaminated by, a copyleft open >>>>> +source license (as defined by the Open Source Initiative), such as without >>>>> +limitation, GNU GPL or LGPL licenses. >>>> >>>> Adding this file in CONFIG_EXTRA_FIRMWARE could be seen as bundeling it >>>> with GPL code. >>>> >>>> The CONFIG_EXTRA_FIRMWARE option says this: >>>> WARNING: If you include additional firmware files into your binary >>>> kernel image that are not available under the terms of the GPL, >>>> then it may be a violation of the GPL to distribute the resulting >>>> image since it combines both GPL and non-GPL work. You should >>>> consult a lawyer of your own before distributing such an image. >>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/firmware_loader/Kconfig#n32 >>>> >>>>> +Any software which integrates this code or any part of it thereof, should >>>>> +include in its header the above license. >>>> >>>> We would have to extend the license information for all our octeontx >>>> binaries to add this information. >>>> >>> >>> I can replace this with a patch that enables the cpt driver as a >>> module to make it easier for people to use but they will have to go >>> get firmware and place it in their /lib/firmware on their rootfs this >>> way. >>> >>>> >>>> If this firmware contains cryptography we could also violate some export >>>> control regulation, but normally no one cares. >>>> >>> >>> agreed. >> >> Having this as a module and the user has to download the firmware on his >> own would be nice. If you add a script to make it easier to download it >> would be nice, but not necessary in my opineon. >> >> If the system still works without this firmware I am also find with >> building this into the kernel if this would be needed. >> > > Hauke > > The system works without the firmware in the kernel, just does not > provide crypto offload. Ok this is good. Then we can activate the driver even when we do not ship the FW. > So the firmware does not have to be GPL in order for me to provide a > recipe upstream in OpenWrt to package it right as long as the recipe > has 'somewhere' to obtain it from which is not an openwrt site? I see > this is done with package/firmware/cypress-firmware/Makefile for > example which downloads a zip file from a cypress site which does not > require a EULA for firmware that has a clear license which is not GPL. The FW does not have to be GPL or even open source, binary only is ok, but when OpenWrt ships it we have to be allowed to ship the binary, we need the binary only firmware under a license which allows redistribution. I understood the license like it is only allowed to ship it in a final product, the Marvell legal department probably did not thought about shipping a software image without the hardware. OpenWrt also inteagrtes and ships some of the firmware files found here: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/ Only very few (less than 10) of these binaries are licensed under an open source license, most of then are shipped binary only, but everyone is allowed to redistribute them. > Honestly, I'm not even clear what crypto firmware bings to the table > these days, with a processor like the OcteonTX software crypto greatly > outperforms hardware crypto so the only thing it brings to the table > is the ability to offload crypto from the CPU if you need the CPU > cycles and are ok with lower-latency crypto. For me it would be fine if you activate the driver driver even when you do not integrate the firmware. Whoever wants to use the crypto offload can then use the driver, but has to get the crypto offload firmware from somewhere else. I would prefer to have the drivers as a module when possible. You can also describe where to get the firmware in the commit message which adds the driver or in some ReadMe or description. Hauke -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: From hauke at hauke-m.de Tue Jun 30 16:32:15 2020 From: hauke at hauke-m.de (Hauke Mehrtens) Date: Tue, 30 Jun 2020 22:32:15 +0200 Subject: [RFC PATCH v2] mvebu: compile the kernel in Thumb-2 mode for ARMv7 targets In-Reply-To: <20200618131644.3781-1-rsalvaterra@gmail.com> References: <20200618131644.3781-1-rsalvaterra@gmail.com> Message-ID: <34c794f0-2ce5-e3eb-24f6-2a52c07663c1@hauke-m.de> On 6/18/20 3:16 PM, Rui Salvaterra wrote: > (Sending as RFC due to the note below.) > > The Thumb-2 instruction set generates denser code, allowing for more efficient > use of the cache and consequently higher execution performance. Did you run a benchmark to test how much faster it is? > Vmlinux (uncompressed) size comparison for my personal configuration (Linux > 5.4.46, compiled with gcc 9.3.0 and binutils 2.34): Did you also tested this with the current default toolchain? I would like to use binutils 2.34 as default soon, but gcc will probably not be updated soon. > > Pure ARM: > 24243392 bytes > > Thumb-2: > 22102716 bytes > > NOTE: This requires enabling a linker bug workaround to avoid the emission of > R_ARM_THM_JUMP11 relocations [1] in modules, which the kernel doesn't support. > Since this effectively implies -fno-optimize-sibling-calls [2], we're generating > suboptimal code. While compat (and in-tree) modules load and run correctly > without this workaround, WireGuard fails to load with an unknown relocation 102 > error. Do you know if there is a fix for GNU gas available? > > [1] https://static.docs.arm.com/ihi0044/e/IHI0044E_aaelf.pdf (page 28) > [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm/Makefile?h=linux-5.4.y#n129 > > Signed-off-by: Rui Salvaterra > --- > target/linux/mvebu/cortexa9/config-5.4 | 2 ++ > 1 file changed, 2 insertions(+) > create mode 100644 target/linux/mvebu/cortexa9/config-5.4 > > diff --git a/target/linux/mvebu/cortexa9/config-5.4 b/target/linux/mvebu/cortexa9/config-5.4 > new file mode 100644 > index 0000000000..6aff77fda7 > --- /dev/null > +++ b/target/linux/mvebu/cortexa9/config-5.4 > @@ -0,0 +1,2 @@ > +CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y > +CONFIG_THUMB2_KERNEL=y > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: From rsalvaterra at gmail.com Tue Jun 30 18:30:57 2020 From: rsalvaterra at gmail.com (Rui Salvaterra) Date: Tue, 30 Jun 2020 23:30:57 +0100 Subject: [RFC PATCH v2] mvebu: compile the kernel in Thumb-2 mode for ARMv7 targets In-Reply-To: <34c794f0-2ce5-e3eb-24f6-2a52c07663c1@hauke-m.de> References: <20200618131644.3781-1-rsalvaterra@gmail.com> <34c794f0-2ce5-e3eb-24f6-2a52c07663c1@hauke-m.de> Message-ID: Hi, Hauke, On Tue, 30 Jun 2020 at 21:32, Hauke Mehrtens wrote: > > Did you run a benchmark to test how much faster it is? I haven't done any performance testing, but I expect it to be a wash (improvements/regressions within around 2-3 % across the board). The big win here is in the memory/icache footprint. How do we usually do performance testing in OpenWrt, by the way? I could try and see if there's any meaningful difference in, say, OpenSSL speed, but that won't tell us anything about networking performance. > Did you also tested this with the current default toolchain? > I would like to use binutils 2.34 as default soon, but gcc will probably > not be updated soon. There's no reason gcc 8 won't work fine too, the only snag we hit was with gas, and that's already fixed (see below). I'll test with gcc 8 too, though, just to make sure (and 10, as soon as it hits master :)). > Do you know if there is a fix for GNU gas available? Yes, I do. Jason filled an upstream bug and it's already fixed [1]. I don't know if it'll be backported to other binutils versions, though. In any case, the only problematic module was WireGuard (due to an old hack), which Jason already fixed in the latest compat backport [2] (note that with this fix in place, the kernel R_ARM_THM_JUMP11 workaround isn't required at all). [1] https://sourceware.org/bugzilla/show_bug.cgi?id=26141 [2] https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=ea5192e6c505c53b0565f63841ff22dbe51c302c Thanks, Rui From mail at aparcar.org Tue Jun 30 19:28:02 2020 From: mail at aparcar.org (Paul Spooren) Date: Tue, 30 Jun 2020 13:28:02 -1000 Subject: [PATCH buildbot] phase1: add JSON merge step Message-ID: <20200630232801.2533530-1-mail@aparcar.org> The refactored JSON info files require a final merge step which sums up all created JSON info files of a target into a single `profiles.json` files. This patch adds the extra step to run `make json_overview_image_info` just before calculating the checksums so the `profiles.json` files is signed as well. Signed-off-by: Paul Spooren --- phase1/master.cfg | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/phase1/master.cfg b/phase1/master.cfg index 792f9b3..1a96982 100644 --- a/phase1/master.cfg +++ b/phase1/master.cfg @@ -925,6 +925,14 @@ for target in targets: haltOnFailure = True )) + factory.addStep(ShellCommand( + name = "json_overview_image_info", + description = "Generate profiles.json in target folder", + command=["make", "-j1", "json_overview_image_info", "V=s"], + env = MakeEnv(), + haltOnFailure = True + )) + factory.addStep(ShellCommand( name = "checksums", description = "Calculating checksums", -- 2.25.1 From mail at aparcar.org Tue Jun 30 22:00:25 2020 From: mail at aparcar.org (Paul Spooren) Date: Tue, 30 Jun 2020 16:00:25 -1000 Subject: [PATCH] build,json: store arch_packages in profiles.json Message-ID: <20200701020024.2939863-1-mail@aparcar.org> The `arch_packages` contains the supported package architecture. Previously it was necessary to parse the `Packages` index for the line `Architecture:`, requiring both an additional parser and file download. Signed-off-by: Paul Spooren --- scripts/json_overview_image_info.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/json_overview_image_info.py b/scripts/json_overview_image_info.py index 59d69df314..20b14f236b 100755 --- a/scripts/json_overview_image_info.py +++ b/scripts/json_overview_image_info.py @@ -33,19 +33,22 @@ for json_file in work_dir.glob("*.json"): ) -output["default_packages"] = run( +default_packages, output["arch_packages"] = run( [ "make", "--no-print-directory", "-C", f"target/linux/{output['target'].split('/')[0]}", "val.DEFAULT_PACKAGES", + "val.ARCH_PACKAGES", ], capture_output=True, check=True, env=environ.copy().update({"TOPDIR": Path().cwd()}), text=True, -).stdout.split() +).stdout.splitlines() + +output["default_packages"] = default_packages.split() if output: output_path.write_text(json.dumps(output, sort_keys=True, separators=(",", ":"))) -- 2.25.1