From 8b8015031bec435a43d29fbac3238b6b03aadc1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 10 Sep 2020 13:34:33 +0200 Subject: [PATCH 1/8] rpcd: update to the latest master MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rc: new ubus object for handling /etc/init.d/ scripts Signed-off-by: Rafał Miłecki --- package/system/rpcd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/system/rpcd/Makefile b/package/system/rpcd/Makefile index 20ec3bf17e..f81abc3277 100644 --- a/package/system/rpcd/Makefile +++ b/package/system/rpcd/Makefile @@ -12,10 +12,10 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/rpcd.git -PKG_SOURCE_DATE:=2020-05-26 -PKG_SOURCE_VERSION:=078bb57e0769c987c05244abe1f7d8d53e0e323e +PKG_SOURCE_DATE:=2020-09-10 +PKG_SOURCE_VERSION:=646daa0bec742e4c0af010ca85eda9021d95e4cf PKG_MAINTAINER:=Jo-Philipp Wich -PKG_MIRROR_HASH:=7f626efd95eccc7b8262a7e533341e17fe765d99cfa2fafde978190cb834fced +PKG_MIRROR_HASH:=7c1770b0f959e1e2602411ccd1bf7201f658d949ae35ad511d731ed7afbd6ce4 PKG_LICENSE:=ISC PKG_LICENSE_FILES:= From 10dbdeccfadb56557d267e3dc8f22d6bafbb422f Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 10 Sep 2020 13:55:48 +0200 Subject: [PATCH 2/8] scripts: bundle-libraries.sh: retain preloaded libraries Since the introduction of fakeroot support, wrapped SDK executables might be invoked from a shell that has libfakeroot.so preloaded. Since we're using preloading as well in order to mangle argv[0] when invoking the shipped ELF interpreter directly, we must take care of preloading the already preloaded libraries as well, to avoid invoked programs losing their fakeroot capabilities. Extend the bundle-libraries.sh script to take any existing $LD_PRELOAD into account when invoking the target ELF executable with a preloaded runas.so library. Signed-off-by: Jo-Philipp Wich --- scripts/bundle-libraries.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/bundle-libraries.sh b/scripts/bundle-libraries.sh index d3c7206a4d..9efcbbd0b2 100755 --- a/scripts/bundle-libraries.sh +++ b/scripts/bundle-libraries.sh @@ -186,7 +186,7 @@ for BIN in "$@"; do #!/usr/bin/env bash dir="\$(dirname "\$0")" export RUNAS_ARG0="\$0" - export LD_PRELOAD="\$dir/${REL:+$REL/}runas.so" + export LD_PRELOAD="\${LD_PRELOAD:+\$LD_PRELOAD:}\$dir/${REL:+$REL/}runas.so" exec "\$dir/${REL:+$REL/}$LDSO" --library-path "\$dir/${REL:+$REL/}" "\$dir/.${BIN##*/}.bin" "\$@" EOF From 788aa61e1b6a81bbf4bbf71b961be4bee1bf0046 Mon Sep 17 00:00:00 2001 From: Sergey Ryazanov Date: Sun, 6 Sep 2020 19:45:02 +0300 Subject: [PATCH 3/8] ath25: fix preinit Ethernet port configuration vconfig is no more installed by default to a firmware image. So, replace vconfig calls for VLAN subinterface configuration by coresponding ip-link commands. Also drop few useless comments from the preinit hook script, while we are at it. I have no chance to test this fix since I have no board with a subject switch IC, but this is still better then call an utility that is unavailable in the firmware for years. Signed-off-by: Sergey Ryazanov [use documented syntax for ip link add] Signed-off-by: Adrian Schmutzler --- .../base-files/lib/preinit/15_preinit_iface_atheros | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) 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 235ba4befc..b795aac45f 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,12 +1,10 @@ -# reset button only supported on ar5315+ at the moment preinit_ip() { if [ -z "$pi_ifname" ]; then grep -q 'Atheros AR231[567]' /proc/cpuinfo && { if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \ -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then - vconfig set_name_type DEV_PLUS_VID_NO_PAD ip link set eth0 up - vconfig add eth0 1 + ip link add link eth0 name eth0.1 type vlan id 1 ifname=eth0.1 else ifname=eth0 @@ -20,13 +18,10 @@ preinit_ip() { } } - -# reset button only supported on ar5315+ at the moment - preinit_ip_deconfig() { if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \ -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then - vconfig rem eth0.1 2>/dev/null + ip link del eth0.1 2>/dev/null ip link set $pi_ifname down elif [ -n "$pi_ifname" ]; then ip -4 addr flush dev $pi_ifname From f1bc66c7653e7603b4621f5ea14be129a2bd5e4f Mon Sep 17 00:00:00 2001 From: Bob Cai <1119283622@qq.com> Date: Wed, 9 Sep 2020 11:27:58 +0800 Subject: [PATCH 4/8] kernel: improve the description of fs-nfs-v4 TITLE is "NFS4 filesystem client support" (Line 428) but the description is "Kernel module for NFS v4 support" (Line 438). Use "Kernel module for NFS v4 client support" on line 438. Signed-off-by: Bob Cai <1119283622@qq.com> [commit title/message facelift] Signed-off-by: Adrian Schmutzler --- package/kernel/linux/modules/fs.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/fs.mk b/package/kernel/linux/modules/fs.mk index 9b3a6dce46..cfce929c0c 100644 --- a/package/kernel/linux/modules/fs.mk +++ b/package/kernel/linux/modules/fs.mk @@ -435,7 +435,7 @@ define KernelPackage/fs-nfs-v4 endef define KernelPackage/fs-nfs-v4/description - Kernel module for NFS v4 support + Kernel module for NFS v4 client support endef $(eval $(call KernelPackage,fs-nfs-v4)) From e087bb5bd7d700c1de91395d62a3923e6305cc46 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 26 Jul 2020 22:37:53 +0200 Subject: [PATCH 5/8] base-files: disable LEDs if default state is undefined Set the default state for LEDs to off. When a trigger is set, the trigger will turn the LED automatically on. Currently LEDs might stay on, e.g. when the LED trigger is set to a netdev trigger and the interface is never activated or the 'none' trigger is selected without setting the 'default' option to 0 and it's set for the LED indicating the system running state. Using off as a default value is also consistent with the documentation in the OpenWrt wiki. Signed-off-by: David Bauer --- package/base-files/Makefile | 2 +- package/base-files/files/etc/init.d/led | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 2419849a44..73455174db 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk include $(INCLUDE_DIR)/feeds.mk PKG_NAME:=base-files -PKG_RELEASE:=228 +PKG_RELEASE:=229 PKG_FLAGS:=nonshared PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led index 932a69a82b..277fb4e76f 100755 --- a/package/base-files/files/etc/init.d/led +++ b/package/base-files/files/etc/init.d/led @@ -21,7 +21,7 @@ load_led() { config_get dev $1 dev config_get ports $1 port config_get mode $1 mode - config_get_bool default $1 default "nil" + config_get_bool default $1 default "0" config_get delayon $1 delayon config_get delayoff $1 delayoff config_get interval $1 interval "50" From fe82ea049e521043d88c036ecdda4d2be6a14f1c Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 9 Aug 2020 00:33:57 +0200 Subject: [PATCH 6/8] scripts: download.pl: fix indentation Signed-off-by: David Bauer --- scripts/download.pl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/download.pl b/scripts/download.pl index dd49255367..cdccae133f 100755 --- a/scripts/download.pl +++ b/scripts/download.pl @@ -243,7 +243,7 @@ foreach my $mirror (@ARGV) { push @mirrors, "ftp://ftp.riken.jp/Linux/kernel.org/$dir"; push @mirrors, "ftp://www.mirrorservice.org/sites/ftp.kernel.org/pub/$dir"; } - } elsif ($mirror =~ /^\@GNOME\/(.+)$/) { + } elsif ($mirror =~ /^\@GNOME\/(.+)$/) { push @mirrors, "https://mirror.csclub.uwaterloo.ca/gnome/sources/$1"; push @mirrors, "http://ftp.acc.umu.se/pub/GNOME/sources/$1"; push @mirrors, "http://ftp.kaist.ac.kr/gnome/sources/$1"; @@ -252,8 +252,7 @@ foreach my $mirror (@ARGV) { push @mirrors, "http://ftp.belnet.be/ftp.gnome.org/sources/$1"; push @mirrors, "ftp://ftp.cse.buffalo.edu/pub/Gnome/sources/$1"; push @mirrors, "ftp://ftp.nara.wide.ad.jp/pub/X11/GNOME/sources/$1"; - } - else { + } else { push @mirrors, $mirror; } } From e289f183476b486e6f9f9590013a5b98de54c762 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Fri, 28 Aug 2020 01:39:45 +0200 Subject: [PATCH 7/8] hostapd: add support for per-BSS airtime configuration Add support for per-BSS airtime weight configuration. This allows to set a airtime weight per BSS as well as a ratio limit based on the weight. Support for this feature is only enabled in the full flavors of hostapd. Consult the hostapd.conf documentation (Airtime policy configuration) for more information on the inner workings of the exposed settings. Signed-off-by: David Bauer --- package/network/services/hostapd/Makefile | 2 +- .../services/hostapd/files/hostapd-full.config | 2 +- package/network/services/hostapd/files/hostapd.sh | 14 ++++++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index 8f94dce782..8c264854d7 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=hostapd -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE_URL:=http://w1.fi/hostap.git PKG_SOURCE_PROTO:=git diff --git a/package/network/services/hostapd/files/hostapd-full.config b/package/network/services/hostapd/files/hostapd-full.config index 0ecce423e7..ab9d13aae7 100644 --- a/package/network/services/hostapd/files/hostapd-full.config +++ b/package/network/services/hostapd/files/hostapd-full.config @@ -384,7 +384,7 @@ CONFIG_TAXONOMY=y #CONFIG_OWE=y # Airtime policy support -#CONFIG_AIRTIME_POLICY=y +CONFIG_AIRTIME_POLICY=y # Override default value for the wpa_disable_eapol_key_retries configuration # parameter. See that parameter in hostapd.conf for more details. diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh index 88113cd7ce..b33e8e1edc 100644 --- a/package/network/services/hostapd/files/hostapd.sh +++ b/package/network/services/hostapd/files/hostapd.sh @@ -113,7 +113,7 @@ hostapd_prepare_device_config() { local base_cfg= json_get_vars country country_ie beacon_int:100 dtim_period:2 doth require_mode legacy_rates \ - acs_chan_bias local_pwr_constraint spectrum_mgmt_required + acs_chan_bias local_pwr_constraint spectrum_mgmt_required airtime_mode hostapd_set_log_options base_cfg @@ -121,6 +121,7 @@ hostapd_prepare_device_config() { set_default spectrum_mgmt_required 0 set_default doth 1 set_default legacy_rates 1 + set_default airtime_mode 0 [ "$hwmode" = "b" ] && legacy_rates=1 @@ -167,6 +168,7 @@ hostapd_prepare_device_config() { [ -n "$brlist" ] && append base_cfg "basic_rates=$brlist" "$N" append base_cfg "beacon_int=$beacon_int" "$N" append base_cfg "dtim_period=$dtim_period" "$N" + [ "$airtime_mode" -gt 0 ] && append base_cfg "airtime_mode=$airtime_mode" "$N" json_get_values opts hostapd_options for val in $opts; do @@ -272,6 +274,8 @@ hostapd_common_add_bss_config() { config_add_array operator_icon config_add_array hs20_conn_capab config_add_string osu_ssid hs20_wan_metrics hs20_operating_class hs20_t_c_filename hs20_t_c_timestamp + + config_add_int airtime_bss_weight airtime_bss_limit } hostapd_set_vlan_file() { @@ -387,7 +391,8 @@ hostapd_set_bss_options() { iapp_interface eapol_version dynamic_vlan ieee80211w nasid \ acct_server acct_secret acct_port acct_interval \ bss_load_update_period chan_util_avg_period sae_require_mfp \ - multi_ap multi_ap_backhaul_ssid multi_ap_backhaul_key + multi_ap multi_ap_backhaul_ssid multi_ap_backhaul_key \ + airtime_bss_weight airtime_bss_limit set_default isolate 0 set_default maxassoc 0 @@ -405,6 +410,8 @@ hostapd_set_bss_options() { set_default chan_util_avg_period 600 set_default utf8_ssid 1 set_default multi_ap 0 + set_default airtime_bss_weight 0 + set_default airtime_bss_limit 0 append bss_conf "ctrl_interface=/var/run/hostapd" if [ "$isolate" -gt 0 ]; then @@ -417,6 +424,9 @@ hostapd_set_bss_options() { append bss_conf "ap_max_inactivity=$max_inactivity" "$N" fi + [ "$airtime_bss_weight" -gt 0 ] && append bss_conf "airtime_bss_weight=$airtime_bss_weight" "$N" + [ "$airtime_bss_limit" -gt 0 ] && append bss_conf "airtime_bss_limit=$airtime_bss_limit" "$N" + append bss_conf "bss_load_update_period=$bss_load_update_period" "$N" append bss_conf "chan_util_avg_period=$chan_util_avg_period" "$N" append bss_conf "disassoc_low_ack=$disassoc_low_ack" "$N" From 2e6c236abd0bebe82bf9020941f34344acb3ae1f Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 6 Sep 2020 01:24:00 +0200 Subject: [PATCH 8/8] ipq40xx: essedma: enable VLAN tag offload for single-port Enable the VLAN tag offloading mechanism for RGMII single-port devices. This allows those devices to use 802.1Q VLANs on the ethernet port. Previously, RX frames were double tagged, as the RX TAG removal flag was not enabled and an additional 802.1Q header was inserted elsewhere in the code. On the TX side, tagging was completely not present for single-port devices. Enable tagging if an 802.1Q frame should be transmitted and disable the default tagging mechanism for single-port devices. Tested on Aruba AP-303 Signed-off-by: David Bauer --- .../drivers/net/ethernet/qualcomm/essedma/edma.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma.c b/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma.c index 5561cc23ea..5f2630ae50 100644 --- a/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma.c +++ b/target/linux/ipq40xx/files-5.4/drivers/net/ethernet/qualcomm/essedma/edma.c @@ -164,10 +164,8 @@ static void edma_configure_rx(struct edma_common_info *edma_cinfo) /* Set Rx FIFO threshold to start to DMA data to host */ rxq_ctrl_data = EDMA_FIFO_THRESH_128_BYTE; - if (!edma_cinfo->is_single_phy) { /* Set RX remove vlan bit */ rxq_ctrl_data |= EDMA_RXQ_CTRL_RMV_VLAN; - } edma_write_reg(EDMA_REG_RXQ_CTRL, rxq_ctrl_data); } @@ -1411,12 +1409,10 @@ netdev_tx_t edma_xmit(struct sk_buff *skb, } /* Check and mark VLAN tag offload */ - if (!adapter->edma_cinfo->is_single_phy) { - if (unlikely(skb_vlan_tag_present(skb))) - flags_transmit |= EDMA_VLAN_TX_TAG_INSERT_FLAG; - else if (adapter->default_vlan_tag) - flags_transmit |= EDMA_VLAN_TX_TAG_INSERT_DEFAULT_FLAG; - } + if (unlikely(skb_vlan_tag_present(skb))) + flags_transmit |= EDMA_VLAN_TX_TAG_INSERT_FLAG; + else if (!adapter->edma_cinfo->is_single_phy && adapter->default_vlan_tag) + flags_transmit |= EDMA_VLAN_TX_TAG_INSERT_DEFAULT_FLAG; /* Check and mark checksum offload */ if (likely(skb->ip_summed == CHECKSUM_PARTIAL))