openwrt/staging/linusw.git
2 years agoCI: use tools:latest container to speedup kernel workflow
Christian Marangi [Mon, 5 Sep 2022 21:18:00 +0000 (23:18 +0200)]
CI: use tools:latest container to speedup kernel workflow

Use tools:latest container with prebuilt host tools to speedup kernel
compilation in kernel workflow.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoscripts/ext-tools: introduce new script to install prebuilt tools
Christian Marangi [Fri, 30 Sep 2022 17:36:06 +0000 (19:36 +0200)]
scripts/ext-tools: introduce new script to install prebuilt tools

Add a simple script to make it easier to install a prebuilt tools tar.
Currently it will be used by our tools container and kernel workflow on
github.

Simple script that take a tar that contains prebuilt host tools, extract
them and refresh the timestamps to skip recompilation of such host
tools.

By default it refresh timestamps of build_dir/host and
staging_dir/host/stamp.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoCI: create Docker container containing compiled tools
Paul Spooren [Mon, 8 Aug 2022 21:37:54 +0000 (23:37 +0200)]
CI: create Docker container containing compiled tools

Currently each Kernel compilation takes about 30 minutes of which 20
minutes are used to compile our tools. While the toolchain is downloaded
and instantly ready the tools are missing.

This commit starts uploading a Docker container including compiled tools
which are ready to use. It is automatically updated whenever any tools
are changed.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Co-Developed-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agotools: add option BUILD_ALL_HOST_TOOLS to compile all host tools
Christian Marangi [Fri, 9 Sep 2022 20:53:01 +0000 (22:53 +0200)]
tools: add option BUILD_ALL_HOST_TOOLS to compile all host tools

Add option to compile all host tools even if not needed.
This can be useful to prepare a universal precompiled host tools
archive to use in another buildroot and speedup compilation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agobuild: make find_md5 reproducible with AUTOREMOVE
Christian Marangi [Tue, 6 Sep 2022 14:48:37 +0000 (16:48 +0200)]
build: make find_md5 reproducible with AUTOREMOVE

While experimenting with the AUTOREMOVE option in search of a way to use
prebuilt host tools in different buildroot, it was discovered that the
md5 generated by find_md5 in depends.mk is not reproducible.

Currently the hash is generated by the path of the file in addition to
the file mod time. Out of confusion, probably, there was an idea that
such command was used on the package build_dir. Reality is that this
command is run on the package files. (Makefile, patches, src)

This is problematic because the package Makefile (for example) change at
each git clone and base the hash on the Makefile mtime doesn't really
reflect if the Makefile actually changes across a buildroot or not.

A better approach is to generate an hash of each file and then generate
an hash on the sort hash list. This way we remove the problem of git
clone setting a wrong mtime while keeping the integrity of checking if a
file changed for the package as any change will result in a different
hash.

Introduce a new kind of find_md5 function, find_md5_reproducible that
apply this new logic and limit it only with AUTOREMOVE option set to
prevent any kind of slowdown due to additional hash generation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agotools/cmake: fix compilation with host libzstd-dev
Rosen Penev [Fri, 30 Sep 2022 08:42:51 +0000 (01:42 -0700)]
tools/cmake: fix compilation with host libzstd-dev

cmake's find_package looks at host paths first for some reason. Switch
to using pkgconfig for the search, matching other modules.

Fixes: 3848cf458ef9 ("tools/cmake: Build without some included libs")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agoCI: use buildbot container for building
Paul Spooren [Sun, 20 Mar 2022 20:02:08 +0000 (20:02 +0000)]
CI: use buildbot container for building

Instead of using a fresh Linux installation which is setup every time
use the Buildbot container which is used for our own Buildbot
infrastructure, too.
While at it also tidy up the workflow to make it more consistent with
other workflow.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Co-Developed-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoscripts/download.pl: add tsinghua and ustc mirrors
Bradford Zhang [Fri, 30 Sep 2022 05:28:28 +0000 (13:28 +0800)]
scripts/download.pl: add tsinghua and ustc mirrors

Add https://mirrors.tuna.tsinghua.edu.cn/ and https://mirrors.ustc.edu.cn/ mirrors into download.pl to speed up download in China.

Signed-off-by: Bradford Zhang <zyc@zyc.name>
2 years agoramips: add led driver to UniFi FlexHD defaut package set
Daniel Golle [Fri, 30 Sep 2022 12:21:16 +0000 (13:21 +0100)]
ramips: add led driver to UniFi FlexHD defaut package set

Add kmod-leds-ubnt-ledbar to the packages selected by default on the
UniFi FlexHD access point.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoubnt-ledbar: make package available on other targets
Daniel Golle [Fri, 30 Sep 2022 12:17:07 +0000 (13:17 +0100)]
ubnt-ledbar: make package available on other targets

As also ramips/mt7621 now has a user of the ubnt-ledbar driver, make
the package available on all targets by removing the dependency on
@TARGET_mediatek_mt7622.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: add support t-phy settings from efuse on MT7986
Daniel Golle [Wed, 28 Sep 2022 18:37:43 +0000 (19:37 +0100)]
mediatek: add support t-phy settings from efuse on MT7986

Import patches from mtk-openwrt-feeds (MTK SDK) to support reading
t-phy settings affecting PCIe as well as USB2 and USB3 from efuse.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: filogic: add efuse layout to mt7986a.dtsi
Daniel Golle [Thu, 29 Sep 2022 17:50:23 +0000 (18:50 +0100)]
mediatek: filogic: add efuse layout to mt7986a.dtsi

efuse is used to store board-specific settings of some of the in-SoC
peripherals. Add it to device tree, so it gets probed on boot and can
be accessed by other drivers.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: add patch allowing 1-byte wide access to efuse
Daniel Golle [Wed, 14 Sep 2022 01:15:32 +0000 (02:15 +0100)]
mediatek: add patch allowing 1-byte wide access to efuse

Allow byte-wise access to mtk-efuse as some drivers require that.
Patch imported from mtk-openwrt-feeds (MTK SDK).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: fold lzma debloat patch into the patch adding the code
Felix Fietkau [Fri, 30 Sep 2022 10:52:35 +0000 (12:52 +0200)]
kernel: fold lzma debloat patch into the patch adding the code

Reduces the number of hack patches

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: move kernel image cmdline hack to the octeon target
Felix Fietkau [Fri, 30 Sep 2022 09:48:21 +0000 (11:48 +0200)]
kernel: move kernel image cmdline hack to the octeon target

It is the only remaining user of this hack

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: remove hack patch, move kirkwood specific kmods to target modules.mk
Felix Fietkau [Fri, 30 Sep 2022 09:42:06 +0000 (11:42 +0200)]
kernel: remove hack patch, move kirkwood specific kmods to target modules.mk

Tweaking the KCONFIG line of kmod-ata-marvell-sata makes the hack patch
unnecessary

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: move ubnt ledbar driver to a separate package
Felix Fietkau [Fri, 30 Sep 2022 09:26:47 +0000 (11:26 +0200)]
kernel: move ubnt ledbar driver to a separate package

Simplifies the tree by removing a non-upstream kernel patch and related kconfig
symbols

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: remove udp tunnel kconfig selection hack
Felix Fietkau [Fri, 30 Sep 2022 09:07:02 +0000 (11:07 +0200)]
kernel: remove udp tunnel kconfig selection hack

The corresponding kmod package is marked as HIDDEN and selected by all
other kernel modules that need it, so the kconfig side will be in sync
without manual selection

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomac80211: fix decap offload for stations on AP_VLAN interfaces
Felix Fietkau [Wed, 28 Sep 2022 11:57:55 +0000 (13:57 +0200)]
mac80211: fix decap offload for stations on AP_VLAN interfaces

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agotools/cmake: Build without some included libs
Rosen Penev [Sat, 24 Sep 2022 23:57:40 +0000 (16:57 -0700)]
tools/cmake: Build without some included libs

Saves a little bit of time when compiling cmake.

Added patches to fix searching liblzma and zlib. The issue is that
because pkgconfig is not used, the system libraries get used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agotools/expat: build with autotools again
Rosen Penev [Sun, 25 Sep 2022 00:11:52 +0000 (17:11 -0700)]
tools/expat: build with autotools again

Allows to set expat as a dependency to cmake and save on compilation
time.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agotools/zlib: switch to configure script
Rosen Penev [Sun, 25 Sep 2022 07:22:24 +0000 (00:22 -0700)]
tools/zlib: switch to configure script

A future commit will make tools/cmake use this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agowolfssl: fix TLSv1.3 RCE in uhttpd by using 5.5.1-stable (CVE-2022-39173)
Petr Štetiar [Wed, 28 Sep 2022 09:28:06 +0000 (11:28 +0200)]
wolfssl: fix TLSv1.3 RCE in uhttpd by using 5.5.1-stable (CVE-2022-39173)

Fixes denial of service attack and buffer overflow against TLS 1.3
servers using session ticket resumption. When built with
--enable-session-ticket and making use of TLS 1.3 server code in
wolfSSL, there is the possibility of a malicious client to craft a
malformed second ClientHello packet that causes the server to crash.

This issue is limited to when using both --enable-session-ticket and TLS
1.3 on the server side. Users with TLS 1.3 servers, and having
--enable-session-ticket, should update to the latest version of wolfSSL.

Thanks to Max at Trail of Bits for the report and "LORIA, INRIA, France"
for research on tlspuffin.

Complete release notes https://github.com/wolfSSL/wolfssl/releases/tag/v5.5.1-stable

Fixes: CVE-2022-39173
Fixes: https://github.com/openwrt/luci/issues/5962
References: https://github.com/wolfSSL/wolfssl/issues/5629
Tested-by: Kien Truong <duckientruong@gmail.com>
Reported-by: Kien Truong <duckientruong@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoRevert "wolfssl: fix TLSv1.3 RCE in uhttpd by using latest 5.5.1-stable release"
Petr Štetiar [Thu, 29 Sep 2022 05:50:07 +0000 (07:50 +0200)]
Revert "wolfssl: fix TLSv1.3 RCE in uhttpd by using latest 5.5.1-stable release"

This reverts commit a596a8396b1ef23cd0eda22d9a628392e70e1e1a as I've
just discovered private email, that the issue has CVE-2022-39173
assigned so I'm going to reword the commit and push it again.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agowolfssl: refresh patches
Petr Štetiar [Wed, 28 Sep 2022 09:58:22 +0000 (11:58 +0200)]
wolfssl: refresh patches

So they're tidy and apply cleanly.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agowolfssl: fix TLSv1.3 RCE in uhttpd by using latest 5.5.1-stable release
Petr Štetiar [Wed, 28 Sep 2022 09:28:06 +0000 (11:28 +0200)]
wolfssl: fix TLSv1.3 RCE in uhttpd by using latest 5.5.1-stable release

Fixes denial of service attack and buffer overflow against TLS 1.3
servers using session ticket resumption. When built with
--enable-session-ticket and making use of TLS 1.3 server code in
wolfSSL, there is the possibility of a malicious client to craft a
malformed second ClientHello packet that causes the server to crash.

This issue is limited to when using both --enable-session-ticket and TLS
1.3 on the server side. Users with TLS 1.3 servers, and having
--enable-session-ticket, should update to the latest version of wolfSSL.

Thanks to Max at Trail of Bits for the report and "LORIA, INRIA, France"
for research on tlspuffin.

Complete release notes https://github.com/wolfSSL/wolfssl/releases/tag/v5.5.1-stable

Fixes: https://github.com/openwrt/luci/issues/5962
References: https://github.com/wolfSSL/wolfssl/issues/5629
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agobcm53xx: backport clk driver fix for DT nodes names
Rafał Miłecki [Thu, 29 Sep 2022 03:51:25 +0000 (05:51 +0200)]
bcm53xx: backport clk driver fix for DT nodes names

It allows dropping downstream patch renaming DT nodes.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agobuild: fix warnings from grep
Chris Osgood [Thu, 15 Sep 2022 12:09:38 +0000 (08:09 -0400)]
build: fix warnings from grep

Fixes build warnings when using newer versions of grep.

Signed-off-by: Chris Osgood <chris_github@functionalfuture.com>
Tested-by: Georgi Valkov <gvalkov@gmail.com>
2 years agoscripts/download.pl: generilize and simplify download tool check
Christian Marangi [Wed, 28 Sep 2022 12:22:49 +0000 (14:22 +0200)]
scripts/download.pl: generilize and simplify download tool check

Generilize download tool check and skip other check if a download tool
has been found.
While at it also reintroduce c836ca84e8f641e10a8349a8f9b7432b33d6cec1
that was previously dropped with aria2c support.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoramips: update MAC address configuration for Buffalo WSR-1166DHP
Kazuhiro Ito [Tue, 30 Aug 2022 12:54:38 +0000 (21:54 +0900)]
ramips: update MAC address configuration for Buffalo WSR-1166DHP

Convert MAC address and label_mac configuration of Buffalo
WSR-1166DHP to use the generic function of OpenWrt.

Apply commit 770cfe9 for WCR-1166DS to WSR-1166DHP too.

Tested on the device and MAC address is kept before and after this
change.

Signed-off-by: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
2 years agokernel: mtk_ppe: use MTK_FOE_STATE_INVALID instead of *_UNBIND
Daniel Golle [Tue, 27 Sep 2022 20:08:04 +0000 (21:08 +0100)]
kernel: mtk_ppe: use MTK_FOE_STATE_INVALID instead of *_UNBIND

Instead of dropping *fix-typo-in-__mtk_foe_entry.patch which effectively
means keeping the (also wrong) assignment of MTK_FOE_STATE_BIND, rather
use MTK_FOE_STATE_INVALID as that works well on both older (NETSYS_V1)
and newer (NETSYS_V2) MediaTek SoCs.

Suggested-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agorealtek: rtl931x: fix missing CONFIG_COMMON_CLK_REALTEK config flag
Christian Marangi [Tue, 27 Sep 2022 23:13:24 +0000 (01:13 +0200)]
realtek: rtl931x: fix missing CONFIG_COMMON_CLK_REALTEK config flag

When the realtek clock driver was introduced, CONFIG_COMMON_CLK_REALTEK
was not correctly disabled for other subtarget. Add the missing config
flag to fix compilation error on buildbot.

Fixes: 4850bd887c3a ("realtek: add RTL83XX clock driver")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agotools: fix firmware-utils depends
Rosen Penev [Tue, 27 Sep 2022 22:35:41 +0000 (15:35 -0700)]
tools: fix firmware-utils depends

When firmware-utils was converted to use cmake, the dependency was not
updated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agoRevert "toolchain/gcc: use zstd from tools"
Christian Marangi [Tue, 27 Sep 2022 21:17:03 +0000 (23:17 +0200)]
Revert "toolchain/gcc: use zstd from tools"

This reverts commit e6cc3ded0709aa6c7a190c31575bb5c19e204cd2.
Require more testing as it does cause compilation error.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoRevert "tools/zstd: build libraries as static"
Christian Marangi [Tue, 27 Sep 2022 21:16:46 +0000 (23:16 +0200)]
Revert "tools/zstd: build libraries as static"

This reverts commit e3989094b801da63b7b65b2460ea30dfeb324cd3.
Require more testing as it does cause compilation error.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agotools/zstd: build libraries as static
Rosen Penev [Sun, 25 Sep 2022 01:42:59 +0000 (18:42 -0700)]
tools/zstd: build libraries as static

Enables to get rid of rpath hack for all users.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agoccache: update to 4.6.3
Nick Hainke [Sun, 28 Aug 2022 13:00:54 +0000 (15:00 +0200)]
ccache: update to 4.6.3

Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_6_3

Refresh patch:
- 100-honour-copts.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agotools/ccache: update to 4.6.2
Nick Hainke [Wed, 24 Aug 2022 08:57:35 +0000 (10:57 +0200)]
tools/ccache: update to 4.6.2

Release notes:
https://ccache.dev/releasenotes.html#_ccache_4_6_2

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agotools/ccache: update to 4.6.1
Nick Hainke [Thu, 18 Aug 2022 05:53:00 +0000 (07:53 +0200)]
tools/ccache: update to 4.6.1

Release notes:
https://ccache.dev/releasenotes.html#_ccache_4_6_1

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agokernel: rename upstreamed patches and import fixes
Daniel Golle [Sun, 25 Sep 2022 15:56:45 +0000 (16:56 +0100)]
kernel: rename upstreamed patches and import fixes

Move and rename patches which were merged upstream and import follow-up
fixes for MediaTek Ethernet offloading features on MT7622 and Filogic
platforms. Remove patch
793-net-ethernet-mtk_eth_soc-fix-typo-in-__mtk_foe_entry.patch
which breaks hardware flow offloading on MT7622, it will be reverted
upstream as well.

Fixes: c93c5365c0 ("kernel: pick patches for MediaTek Ethernet from linux-next")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoqos-scripts: fix trailing whitespace in config files
Manas Sambhus [Thu, 4 Aug 2022 11:24:18 +0000 (16:54 +0530)]
qos-scripts: fix trailing whitespace in config files

Signed-off-by: Manas Sambhus <manas.sambhus+github@gmail.com>
2 years agoqos-scripts: replace modprobe by rmmod
Manas Sambhus [Sat, 9 Jul 2022 06:33:43 +0000 (12:03 +0530)]
qos-scripts: replace modprobe by rmmod

modprobe -r is not available on all platforms, hence use rmmod

Signed-off-by: Manas Sambhus <manas.sambhus+github@gmail.com>
2 years agokernel: netsupport: replace insmod by modprobe
Manas Sambhus [Sat, 9 Jul 2022 06:30:25 +0000 (12:00 +0530)]
kernel: netsupport: replace insmod by modprobe

Replace insmod by modprobe in TEQL hotplug script

Signed-off-by: Manas Sambhus <manas.sambhus+github@gmail.com>
2 years agoppp: use modprobe in place of insmod
Manas Sambhus [Sat, 9 Jul 2022 06:26:09 +0000 (11:56 +0530)]
ppp: use modprobe in place of insmod

This will prevent `module is already loaded` lines from
appearing in the logs when a PPP connection is reconnecting

Signed-off-by: Manas Sambhus <manas.sambhus+github@gmail.com>
2 years agoinclude/prereq-build: fix ldconfig-stub symlink on macos and BSD OSs
Christian Marangi [Tue, 27 Sep 2022 14:54:42 +0000 (16:54 +0200)]
include/prereq-build: fix ldconfig-stub symlink on macos and BSD OSs

Some OS may have the true bin to a different location than /bin/true.
BSD based system and macos have true on /usr/bin/true.

Fix this by checking both location and take the one available in the
system.

Reported-by: Sergey V. Lobanov <sergey@lobanov.in>
Suggested-by: Huangbin Zhan <zhanhb88@gmail.com>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoMakefile: fix stray \ warnings with grep-3.8
Nick Hainke [Sun, 11 Sep 2022 06:15:52 +0000 (08:15 +0200)]
Makefile: fix stray \ warnings with grep-3.8

We simply grep for "/usr". So no need for "-E" or "\/". Furthermore, in
the new grep versions this creates warnings.

As written in the grep-3.8 announcement:
  Regular expressions with stray backslashes now cause warnings, as
  their unspecified behavior can lead to unexpected results.
  For example, '\a' and 'a' are not always equivalent
  <https://bugs.gnu.org/39678>.

Fixes warnings in the form of:
  grep: warning: stray \ before /

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agotoolchain/gdb: fix expat location
Rosen Penev [Sun, 25 Sep 2022 05:00:40 +0000 (22:00 -0700)]
toolchain/gdb: fix expat location

GDB is not finding tools/expat. This fixes it. Move it up with the other
tools.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agotoolchain/gcc: use zstd from tools
Rosen Penev [Sun, 25 Sep 2022 04:46:38 +0000 (21:46 -0700)]
toolchain/gcc: use zstd from tools

pkgconfig is not used for some reason. Match other used tools.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agobuild: fix issues with targets installed via feeds
Felix Fietkau [Tue, 27 Sep 2022 11:39:12 +0000 (13:39 +0200)]
build: fix issues with targets installed via feeds

- fix including modules.mk when a target is being replaced
- fix calling make targets from target/linux

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoscripts/download.pl: fix support for aria2c download tool on macos
Christian Marangi [Mon, 26 Sep 2022 18:48:25 +0000 (20:48 +0200)]
scripts/download.pl: fix support for aria2c download tool on macos

Currently we use /dev/shm to place aria2c tmp file. This is not present
on macos. Use the openwrt tmp directory instead of the linux-only
/dev/shm to save compatibility with more os.

Fixes: d39123626931 ("download.pl: add aria2c support")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoscripts/download.pl: fix mirrors regression for curl and wget
Christian Marangi [Sun, 25 Sep 2022 19:43:43 +0000 (21:43 +0200)]
scripts/download.pl: fix mirrors regression for curl and wget

With the introduction of aria2c support, curl and wget no longer try to
download the file from mirrors. Fix this regression by emptying the
remaining mirrors list only when aria2c is used.

Fixes: d39123626931 ("download.pl: add aria2c support")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agonftables: backport fix to interval based rules
Kevin Darbyshire-Bryant [Tue, 20 Sep 2022 14:16:37 +0000 (15:16 +0100)]
nftables: backport fix to interval based rules

'rule inet dscpclassify dscp_match  meta l4proto { udp }  th dport { 3478 }
 th sport { 3478-3497, 16384-16387 } goto ct_set_ef' works with
'nft add', but not 'nft insert', the latter yields:
"BUG: unhandled op 4".

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agosysfsutils: Define START early in file
Kevin Darbyshire-Bryant [Mon, 26 Sep 2022 08:57:43 +0000 (09:57 +0100)]
sysfsutils: Define START early in file

The luci ucode rewrite exposed the definition of START as being over 1K
from start of file.  Initial versions limited the search for START &
STOP to within the 1st 1K of a file.  Whilst the search has been
expanded, it doesn't do any harm to define START early in the file like
all other init scripts seen so far.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agoRevert "mt76: fix compilation error with mt7915 and kernel >= 5.15.61"
Christian Marangi [Sun, 25 Sep 2022 18:34:46 +0000 (20:34 +0200)]
Revert "mt76: fix compilation error with mt7915 and kernel >= 5.15.61"

This reverts commit 6e9613844ca1ddea7e36abc44a513c89ef0598ff.

The patch was wrong in the first place as we base everything on
backports package and the compilation error was caused by an ath11k
present downstream. (will be needed later when backports package will be
updated but not now)

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agorealtek: fix RTL839x egress tag for ports >= 32
Jan Hoffmann [Sun, 25 Sep 2022 12:32:31 +0000 (14:32 +0200)]
realtek: fix RTL839x egress tag for ports >= 32

Don't overwrite AS_DPM and L2LEARNING flags when dest_port is >= 32.

Fixes: 1773264a0c6d ("realtek: correct egress frame port verification")
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2 years agomt76: fix compilation error with mt7915 and kernel >= 5.15.61
Christian Marangi [Sun, 25 Sep 2022 14:04:58 +0000 (16:04 +0200)]
mt76: fix compilation error with mt7915 and kernel >= 5.15.61

With kernel 5.15.61 the define IEEE80211_MAX_AMPDU_BUF got changed to
IEEE80211_MAX_AMPDU_BUF_HE. Add patch to fix compilation error on next
5.15 kernel versions.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoscripts/download.pl: fix whitespace in mirror urls and drop for
Christian Marangi [Sun, 25 Sep 2022 13:54:12 +0000 (15:54 +0200)]
scripts/download.pl: fix whitespace in mirror urls and drop for

Fix whitespace in mirror urls and replace for loop with join+map logic.

Fixes: d39123626931 ("download.pl: add aria2c support")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agowolfssl: prefer regular libwolfssl over cpu-crypto
Eneas U de Queiroz [Fri, 23 Sep 2022 11:43:59 +0000 (08:43 -0300)]
wolfssl: prefer regular libwolfssl over cpu-crypto

Rename libwolfssl-cpu-crypto to libwolfsslcpu-crypto so that the
regular libwolfssl version comes first when running:
opkg install libwolfssl

Normally, if the package name matches the opkg parameter, that package
is preferred.  However, for libraries, the ABI version string is
appended to the package official name, and the short name won't match.
Failing a name match, the candidate packages are sorted in alphabetical
order, and a dash will come before any number.  So in order to prefer
the original library, the dash should be removed from the alternative
library.

Fixes: c3e7d86d2b (wolfssl: add libwolfssl-cpu-crypto package)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2 years agowolfssl: ABI version shouldn't depend on benchmark
Eneas U de Queiroz [Fri, 23 Sep 2022 11:26:51 +0000 (08:26 -0300)]
wolfssl: ABI version shouldn't depend on benchmark

Move CONFIG_PACKAGE_libwolfssl-benchmark from the top of
PKG_CONFIG_DEPENDS to after PKG_ABI_VERSION is set.

This avoids changing the ABI version hash whether the bnechmark package
package is selected or not.

Fixes: 05df135cac (wolfssl: Rebuild when libwolfssl-benchmark gets changes)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2 years agodownload.pl: add aria2c support
Bradford Zhang [Tue, 13 Sep 2022 23:54:04 +0000 (07:54 +0800)]
download.pl: add aria2c support

Use aria2c download tool by default on package download if available in
the system.
aria2c permits to use multiple mirrors and may improve download speed on
special context where servers are hard to reach.

Co-authored-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Bradford Zhang <zyc@zyc.name>
[ fix wrong var in the script and improve commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoocteon: fix imagebuilder generation by introducing generic target
Nick Hainke [Sun, 11 Sep 2022 11:52:31 +0000 (13:52 +0200)]
octeon: fix imagebuilder generation by introducing generic target

The generic imagebuilder does not have a generic in the name, although
this is the default naming scheme. Use bcm53xx as template for this fix.

Before the fix:
  openwrt-imagebuilder-octeon.Linux-x86_64.tar.xz

After:
  openwrt-imagebuilder-octeon-generic.Linux-x86_64.tar.xz

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agox86/config-5.10: geode: add missing CONFIG_WATCHDOG_CORE option
Florian Eckert [Tue, 19 Oct 2021 14:15:08 +0000 (16:15 +0200)]
x86/config-5.10: geode: add missing CONFIG_WATCHDOG_CORE option

If this module is not set to y, then I get the following compilation
error during geode build.

Package kmod-w83627hf-wdt is missing dependencies for the following libraries:
watchdog.ko

Setting the linux CONFIG_WATCHDOG_CORE to y as in all other targets
fixes this issue.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agox86/config-5.15: geode: add missing CONFIG_WATCHDOG_CORE option
Florian Eckert [Fri, 5 Aug 2022 09:58:26 +0000 (11:58 +0200)]
x86/config-5.15: geode: add missing CONFIG_WATCHDOG_CORE option

If this module is not set to y, then I get the following compilation
error during geode build.

Package kmod-w83627hf-wdt is missing dependencies for the following
libraries:
watchdog.ko

Setting the linux CONFIG_WATCHDOG_CORE to y as in all other targets
fixes this issue.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agolinux/x86: add missing CONFIG_WATCHDOG_CORE to *-wdt
Florian Eckert [Wed, 3 Aug 2022 14:22:12 +0000 (16:22 +0200)]
linux/x86: add missing CONFIG_WATCHDOG_CORE to *-wdt

The packages also need a dependency to watchdog core. This commit adds the
needed WATCHDOG_CORE dependency.

https://github.com/torvalds/linux/blob/master/drivers/watchdog/Kconfig

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoipq40xx: Add ZTE MF289F
Giammarco Marzano [Wed, 14 Sep 2022 12:20:43 +0000 (14:20 +0200)]
ipq40xx: Add ZTE MF289F

It's a 4G Cat.20 router used by Vodafone Italy (called Vodafone FWA)
and Vodafone DE\T-Mobile PL (called GigaCube).

Modem is a MiniPCIe-to-USB based on Snapdragon X24,
it supports 4CA aggregation.

There are currently two hardware revisions, which
differ on the 5Ghz radio:

AT1 = QCA9984 5Ghz Radio on PCI-E bus
AT2 = IPQ4019 5Ghz Radio inside IPQ4019 like 2.4Ghz

Device specification
--------------------
SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz:
(QCA9984): a/n/ac, 4x4 HW REV AT1
(IPA4019): a/n/ac, 2x2 HW REV AT2
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Network (white or red), Wifi, Power and 1 internal (blue)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot

Installation
------------
1. Place OpenWrt initramfs image for the device on a TFTP
   in the server's root. This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial connector
   GND (which is right next to the thing with MF289F MIMO-V1.0), RX, TX
   (refer to this image: https://ibb.co/31Gngpr).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. Stop in u-Boot (using ESC button) and run u-Boot commands:

setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftp openwrt-ipq40xx-generic-zte_mf289f-initramfs-fit-zImage.itb
bootm $loadaddr

5. Please make backup of original partitions, if you think about revert to
   stock, specially mtd16 (Web UI) and mtd17 (rootFS).
Use /tmp as temporary storage and do:

WEB PARITION
--------------------------------------
cat /dev/mtd16 > /tmp/mtd16.bin
scp /tmp/mtd16.bin root@YOURSERVERIP:/
rm /tmp/mtd16.bin

ROOT PARITION
--------------------------------------
cat /dev/mtd17 > /tmp/mtd17.bin
scp /tmp/mtd17.bin root@YOURSERVERIP:/
rm /tmp/mtd17.bin

6. Login via ssh or serial and remove stock partitions
   (default IP 192.168.0.1):

 # this can return an error, if ubi was attached before
 # or rootfs part was erased before.
ubiattach -m 17

 # it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs
 # some devices doesn't have it
ubirmvol /dev/ubi0 -N ubi_rootfs_data

7. download and install image via sysupgrade -n
 (either use wget/scp to copy the mf289f's squashfs-sysupgrade.bin
 to the device's /tmp directory)

 sysupgrade -n /tmp/openwrt-...-zte_mf289f-squashfs-sysupgrade.bin

Sometimes it could print ubi attach error, but please ignore it
if process goes forward.

Flash Layout

NAND:
mtd8: 000a0000 00020000 "fota-flag"
mtd9: 00080000 00020000 "0:ART"
mtd10: 00080000 00020000 "mac"
mtd11: 000c0000 00020000 "reserved2"
mtd12: 00400000 00020000 "cfg-param"
mtd13: 00400000 00020000 "log"
mtd14: 000a0000 00020000 "oops"
mtd15: 00500000 00020000 "reserved3"
mtd16: 00800000 00020000 "web"
mtd17: 01d00000 00020000 "rootfs"
mtd18: 01900000 00020000 "data"
mtd19: 03200000 00020000 "fota"
mtd20: 0041e000 0001f000 "kernel"
mtd21: 0101b000 0001f000 "ubi_rootfs"

SPI:
mtd0: 00040000 00010000 "0:SBL1"
mtd1: 00020000 00010000 "0:MIBIB"
mtd2: 00060000 00010000 "0:QSEE"
mtd3: 00010000 00010000 "0:CDT"
mtd4: 00010000 00010000 "0:DDRPARAMS"
mtd5: 00010000 00010000 "0:APPSBLENV"
mtd6: 000c0000 00010000 "0:APPSBL"
mtd7: 00050000 00010000 "0:reserved1"

Back to Stock (!!! need original dump taken from initramfs !!!)
-------------
1. Place mtd16.bin and mtd17.bin initramfs image
   for the device on a TFTP in the server's root.
   This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial console
   connector (refer to the pin-out from above).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. rename mtd16.bin to web.img and mtd17.bin to root_uImage_s
5. Stop in u-Boot (using ESC button) and run u-Boot commands:

This will erase RootFS+Web:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000

This will restore RootFS:
tftpboot 0x84000000 ${dir}root_uImage_s
nand erase 0x1800000 0x1D00000
nand write $fileaddr 0x1800000 $filesize

This will restore Web Interface:
tftpboot 0x84000000 ${dir}web.img
nand erase 0x1000000 0x800000
nand write $fileaddr 0x1000000 $filesize

After first boot on stock firwmare, do a factory reset.
Push reset button for 5 seconds so all parameters will
be reverted to the one printed on label on bottom of the router

Signed-off-by: Giammarco Marzano <stich86@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
(Warning: commit message did not conform to UTF-8 - hopefully fixed?,
added description of the pin-out if image goes down, reformatted
commit message to be hopefully somewhat readable on git-web,
redid some of the gpio-buttons & leds DT nodes, etc.)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: add support for Sony NCP-HG100/Cellular
INAGAKI Hiroshi [Sun, 4 Sep 2022 12:27:11 +0000 (21:27 +0900)]
ipq40xx: add support for Sony NCP-HG100/Cellular

Sony NCP-HG100/Cellular is a IoT Gateway with 2.4/5 GHz band 11ac
(WiFi-5) wireless function, based on IPQ4019.

Specification:

- SoC                   : Qualcomm IPQ4019
- RAM                   : DDR3 512 MiB (H5TC4G63EFR)
- Flash                 : eMMC 4 GiB (THGBMNG5D1LBAIT)
- WLAN                  : 2.4/5 GHz 2T2R (IPQ4019)
- Ethernet              : 10/100/1000 Mbps x2
  - Transceiver         : Qualcomm QCA8072
- WWAN                  : Telit LN940A9
- Z-Wave                : Silicon Labs ZM5101
- Bluetooth             : Qualcomm CSR8811
- Audio DAC             : Realtek ALC5629
- Audio Amp.            : Realtek ALC1304
- Voice Input Processor : Conexant CX20924
- Micro Controller Unit : Nuvoton MINI54FDE
  - RGB LED, Fan, Temp. sensors
- Touch Sensor          : Cypress CY8C4014LQI
- RGB LED driver        : TI LP55231 (2x)
- LEDs/Keys             : 11x, 6x
- UART                  : through-hole on PCB
  - J1: 3.3V, TX, RX, GND from tri-angle marking
  - 115200n8
- Power                 : 12 VDC, 2.5 A

Flash instruction using initramfs image:

1. Prepare TFTP server with the IP address 192.168.132.100 and place the
   initramfs image to TFTP directory with the name "C0A88401.img"

2. Boot NCP-HG100/Cellular and interrupt after the message
   "Hit any key to stop autoboot:  2"

3. Perform the following commands and set bootcmd to allow booting from
   eMMC

   setenv bootcmd "mmc read 0x84000000 0x2e22 0x4000 && bootm 0x84000000"
   saveenv

4. Perform the following command to load/boot the OpenWrt initramfs image

   tftpboot && bootm

5. On the initramfs image, perform sysupgrade with the sysupgrade image
   (if needed, backup eMMC partitions by dd command and download to
   other place before performing sysupgrade)

6. Wait for ~120 seconds to complete flashing

Known issues:

- There are no drivers for audio-related chips/functions in Linux Kernel
  and OpenWrt, they cannot be used.

- There is no driver for MINI54FDE Micro-Controller Unit, customized for
  this device by the firmware in the MCU. This chip controls the
  following functions, but they cannot be controlled in OpenWrt.

  - RGB LED
  - Fan
    this fan is controlled automatically by MCU by default, without
    driver
  - Thermal Sensors (2x)

- Currently, there is no driver or tool for CY8C4014LQI and cannot be
  controlled. It cannot be exited from "booting mode" and moved to "normal
  op mode" after booting. And also, the 4x buttons (mic mute, vol down,
  vol up, alexa trigger) connected to the IC cannot be controlled.

  - it can be exited from "booting mode" by installing and executing
    i2cset command:

    opkg update
    opkg install i2c-tools
    i2cset -y 1 0x14 0xf 1

- There is a connection issue on the control by uqmi for the WWAN module.
  But modemmanager can be used without any issues and the use of it is
  recommended.

- With the F2FS format, too many errors are reported on erasing eMMC
  partition "rootfs_data" while booting:

  [    1.360270] sdhci: Secure Digital Host Controller Interface driver
  [    1.363636] sdhci: Copyright(c) Pierre Ossman
  [    1.369730] sdhci-pltfm: SDHCI platform and OF driver helper
  [    1.374729] sdhci_msm 7824900.sdhci: Got CD GPIO
  ...
  [    1.413552] mmc0: SDHCI controller on 7824900.sdhci [7824900.sdhci] using ADMA 64-bit
  [    1.528325] mmc0: new HS200 MMC card at address 0001
  [    1.530627] mmcblk0: mmc0:0001 004GA0 3.69 GiB
  [    1.533530] mmcblk0boot0: mmc0:0001 004GA0 partition 1 2.00 MiB
  [    1.537831] mmcblk0boot1: mmc0:0001 004GA0 partition 2 2.00 MiB
  [    1.542918] mmcblk0rpmb: mmc0:0001 004GA0 partition 3 512 KiB, chardev (247:0)
  [    1.550323] Alternate GPT is invalid, using primary GPT.
  [    1.561669]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
  ...
  [    8.841400] mount_root: loading kmods from internal overlay
  [    8.860241] kmodloader: loading kernel modules from //etc/modules-boot.d/*
  [    8.863746] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
  [    9.240465] block: attempting to load /etc/config/fstab
  [    9.246722] block: unable to load configuration (fstab: Entry not found)
  [    9.246863] block: no usable configuration
  [    9.254883] mount_root: overlay filesystem in /dev/mmcblk0p17 has not been formatted yet
  [    9.438915] urandom_read: 5 callbacks suppressed
  [    9.438924] random: mkfs.f2fs: uninitialized urandom read (16 bytes read)
  [   12.243332] mmc_erase: erase error -110, status 0x800
  [   12.246638] mmc0: cache flush error -110
  [   15.134585] mmc_erase: erase error -110, status 0x800
  [   15.135891] mmc_erase: group start error -110, status 0x0
  [   15.139850] mmc_erase: group start error -110, status 0x0
  ...(too many the same errors)...
  [   17.350811] mmc_erase: group start error -110, status 0x0
  [   17.356197] mmc_erase: group start error -110, status 0x0
  [   17.439498] sdhci_msm 7824900.sdhci: Card stuck in wrong state! card_busy_detect status: 0xe00
  [   17.446910] mmc0: tuning execution failed: -5
  [   17.447111] mmc0: cache flush error -110
  [   18.012440] F2FS-fs (mmcblk0p17): Found nat_bits in checkpoint
  [   18.062652] F2FS-fs (mmcblk0p17): Mounted with checkpoint version = 428fa16b
  [   18.198691] block: attempting to load /etc/config/fstab
  [   18.198972] block: unable to load configuration (fstab: Entry not found)
  [   18.203029] block: no usable configuration
  [   18.211371] mount_root: overlay filesystem has not been fully initialized yet
  [   18.214487] mount_root: switching to f2fs overlay

  So, this support uses ext4 format instead which has no errors.

Note:

- The primary uart is shared for debug console and Z-Wave chip. The
  function is switched by GPIO15 (Linux: 427).

  value:

    1: debug console
    0: Z-Wave

- NCP-HG100/Cellular has 2x os-image pairs in eMMC.

  - 0:HLOS, rootfs
  - 0:HLOS_1, rootfs_1

  In OpenWrt, the first image pair is used.

- "bootipq" command in U-Boot requires authentication with signed-image
  by default. To boot unsigned image of OpenWrt, use "mmc read" and
  "bootm" command instead.

- This support is for "Cellular" variant of NCP-HG100 and not tested on
  "WLAN" (non-cellular) variant.

- The board files of ipq-wifi may also be used in "WLAN" variant of
  NCP-HG100, but unconfirmed and add files as for "Cellular" variant.

- "NET" LED is used to indicate WWAN status in stock firmware.

- There is no MAC address information in the label on the case, use the
  address included in UUID in the label as "label-MAC" instead.

- The "CLOUD" LEDs are partially used for indication of system status in
  stock firmware, use they as status LEDs in OpenWrt instead of RGB LED
  connected to the MCU.

MAC addresses:

LAN    : 5C:FF:35:**:**:ED (ART, 0x6    (hex))
WAN    : 5C:FF:35:**:**:EF (ART, 0x0    (hex))
2.4 GHz: 5C:FF:35:**:**:ED (ART, 0x1006 (hex))
5 GHz  : 5C:FF:35:**:**:EE (ART, 0x5006 (hex))

partition layout in eMMC (by fdisk, GPT):

Disk /dev/mmcblk0: 7733248 sectors, 3776M
Logical sector size: 512
Disk identifier (GUID): ****
Partition table holds up to 20 entries
First usable sector is 34, last usable sector is 7634910

Number  Start (sector)    End (sector)  Size Name
     1              34            1057  512K 0:SBL1
     2            1058            2081  512K 0:BOOTCONFIG
     3            2082            3105  512K 0:QSEE
     4            3106            4129  512K 0:QSEE_1
     5            4130            4641  256K 0:CDT
     6            4642            5153  256K 0:CDT_1
     7            5154            6177  512K 0:BOOTCONFIG1
     8            6178            6689  256K 0:APPSBLENV
     9            6690            8737 1024K 0:APPSBL
    10            8738           10785 1024K 0:APPSBL_1
    11           10786           11297  256K 0:ART
    12           11298           11809  256K 0:HSEE
    13           11810           28193 8192K 0:HLOS
    14           28194           44577 8192K 0:HLOS_1
    15           44578          306721  128M rootfs
    16          306722          568865  128M rootfs_1
    17          568866         3958065 1654M rootfs_data

[initial work]
Signed-off-by: Iwao Yuki <dev.clef@gmail.com>
Co-developed-by: Iwao Yuki <dev.clef@gmail.com>
[adjustments, cleanups, commit message, sending patch]
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
(dropped clk_unused_ignore, dropped 901-* patches, renamed
key nodes, changed LEDs chan/labels to match func-en, made
:net -> (w)wan leds)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: base-files: properly close case
Tomasz Maciej Nowak [Fri, 23 Sep 2022 12:48:12 +0000 (14:48 +0200)]
ipq40xx: base-files: properly close case

Fix this occurrence during boot:
/bin/board_detect: line 10: Unsupported: not found

Fixes: 80baffd2aa91 (" ipq40xx: add support for Pakedge WR-1")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2 years agoipq40xx: luma_wrtq-329acn: differentiate ethernet mac addresses
Tomasz Maciej Nowak [Fri, 23 Sep 2022 12:47:39 +0000 (14:47 +0200)]
ipq40xx: luma_wrtq-329acn: differentiate ethernet mac addresses

On OEM firmware both addresses for In and Out ports are different. Set
them as such also in OpenWrt.

Fixes: e24635710c7e (" ipq40xx: add support for Luma Home WRTQ-329ACN")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2 years agoapm821xx: make 5.15 kernel default
Christian Lamparter [Fri, 16 Sep 2022 20:32:58 +0000 (22:32 +0200)]
apm821xx: make 5.15 kernel default

5.15 has been available for some time for testing.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoapm821xx: refresh 5.15 config
Christian Lamparter [Fri, 16 Sep 2022 22:09:27 +0000 (00:09 +0200)]
apm821xx: refresh 5.15 config

use the toolchain's default CPU (464fp) as the CPU option.
This fixes a CPU selection prompt which shows up now.

CPU selection
> 1. Generic 32 bits powerpc (POWERPC_CPU) (NEW)
  2. Rely on the toolchain's implicit default CPU (TOOLCHAIN_DEFAULT_CPU) (NEW)

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: fix RUTX10 Wi-Fi woes
Kasparas Elzbutas [Mon, 18 Jul 2022 07:05:33 +0000 (10:05 +0300)]
ipq40xx: fix RUTX10 Wi-Fi woes

This partially reverts:
commit cfc13c44595d ("ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data")

U-Boot on these devices mangles the device tree,
so nvmem-cell type calibration doesn't work.

Fixes: cfc13c44595d ("ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data")
Signed-off-by: Kasparas Elzbutas <elzkas@gmail.com>
(added reference to commit, rewrote commit message)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agofirmware: intel-microcode: update to 20220809
Christian Lamparter [Mon, 22 Aug 2022 08:35:28 +0000 (10:35 +0200)]
firmware: intel-microcode: update to 20220809

Debian's changelog by Henrique de Moraes Holschuh <hmh@debian.org>:

  * New upstream microcode datafile 20220809
    * Fixes INTEL-SA-00657, CVE-2022-21233
      Stale data from APIC leaks SGX memory (AEPIC leak)
    * Fixes unspecified errata (functional issues) on Xeon Scalable
    * Updated Microcodes:
      sig 0x00050653, pf_mask 0x97, 2022-03-14, rev 0x100015e, size 34816
      sig 0x00050654, pf_mask 0xb7, 2022-03-08, rev 0x2006e05, size 44032
      sig 0x000606a6, pf_mask 0x87, 2022-04-07, rev 0xd000375, size 293888
      sig 0x000706a1, pf_mask 0x01, 2022-03-23, rev 0x003c, size 75776
      sig 0x000706a8, pf_mask 0x01, 2022-03-23, rev 0x0020, size 75776
      sig 0x000706e5, pf_mask 0x80, 2022-03-17, rev 0x00b2, size 112640
      sig 0x000806c2, pf_mask 0xc2, 2022-03-19, rev 0x0028, size 97280
      sig 0x000806d1, pf_mask 0xc2, 2022-03-28, rev 0x0040, size 102400
      sig 0x00090672, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064
      sig 0x00090675, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064
      sig 0x000906a3, pf_mask 0x80, 2022-06-15, rev 0x0421, size 216064
      sig 0x000906a4, pf_mask 0x80, 2022-06-15, rev 0x0421, size 216064
      sig 0x000a0671, pf_mask 0x02, 2022-03-17, rev 0x0054, size 103424
      sig 0x000b06f2, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064
      sig 0x000b06f5, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agouml: add Kernel 5.15 support via testing
Christian Lamparter [Sat, 6 Aug 2022 17:44:02 +0000 (19:44 +0200)]
uml: add Kernel 5.15 support via testing

Add the latest default Kernel for testing.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agouml: fix 5.10 build
Christian Lamparter [Sat, 24 Sep 2022 21:42:42 +0000 (23:42 +0200)]
uml: fix 5.10 build

the 5.10 uml build currently breaks with:

/usr/bin/ld: arch/um/os-Linux/signal.o: in function `sigusr1_handler':
arch/um/os-Linux/signal.c:141: undefined reference to `uml_pm_wake'

But there's an upstream fix for this. Backport the fix
for now but also let upstream know so it finds its way
through the -stable releases.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agouml: headers are not exportable
Christian Lamparter [Sat, 24 Sep 2022 17:57:26 +0000 (19:57 +0200)]
uml: headers are not exportable

When building UML this showed up as of late (2022-09-01):
| Makefile:1335: *** Headers not exportable for UML.  Stop.

This message popped up because of an upstream patch that
fixed this error not showing up sooner. For more information see:
<https://lore.kernel.org/lkml/20220901011252.550830-1-masahiroy@kernel.org/T/>

Now, I don't think we can just skip the kernel headers.
Some userspace applications are going to need these. So,
The next best alternative I can think of, is to go with
the headers by the host arch the UML is compiled for.
(Technically, ARCH= should be safe for all other targets
as well... But let's not poke a hornet's nest)

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agomac80211: fix parameter reading for AC_BE tx bursting
Alberto Martinez-Alvarez [Fri, 5 Aug 2022 21:10:54 +0000 (07:10 +1000)]
mac80211: fix parameter reading for AC_BE tx bursting

The "tx_burst" option which should control the value was
expecting more of a list and hence tx_queue_data2_burst
value wasn't updated.

Yes, it would make sense to have a list for this, the
existing  code only updates tx_queue_data2_burst and
not the other tx_queue_data[0134]_burst values.

Signed-off-by: Alberto Martinez-Alvarez <amteza@gmail.com>
(formatted commit message, wrote extra information into commit,
moved tx_burst to existing json_get_vars)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokernel: Move some IOMMU options to generic
Hauke Mehrtens [Sat, 24 Sep 2022 11:33:37 +0000 (13:33 +0200)]
kernel: Move some IOMMU options to generic

This adds some missing IOMMU related options for x86/64 and moves some
of them to generic for all targets.

On x86 IOMMU_DEFAULT_DMA_LAZY is used by default, on all other platforms
IOMMU_DEFAULT_DMA_STRICT is the default. we just follow the default
kernel configuration here.

Fixes: 8fea4a102ccd ("x86/64: enable IOMMU support")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoath79: switch to 5.15 as default kernel
Nick Hainke [Fri, 16 Sep 2022 10:03:19 +0000 (12:03 +0200)]
ath79: switch to 5.15 as default kernel

The 5.15 kernel has new interesting features like MGLRU. Most of the
targets already have added support for testing kernel 5.15 since April
2022. Set 5.15 as default for all subtargets.

Testing support was added here:
ae6bfb7d67c1 ("ath79: tiny: add 5.15 support for tiny subtarget")
9a0155bc4fa3 ("ath79: add 5.15 support for generic subtarget")
5af9aafabbc0 ("ath79: mikrotik: add 5.15 support for mikrotik subtarget")
f3fa68e5153b ("ath79: nand: add 5.15 support for nand subtarget")

Tested on:
- Nanostation M5 XM (tiny)
- TP-Link EAP-225 Outdoor (generic)
- TP-Link CPE210 (generic)

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agokernel: fix mac-address-increment on driver probe defer
Will Moss [Wed, 3 Aug 2022 13:56:28 +0000 (13:56 +0000)]
kernel: fix mac-address-increment on driver probe defer

Fixes situations where MAC address gets incremented multiple times
if device initialization fails at first and then is deferred.

Fixes: d284e6ef0f06 ("treewide: convert mtd-mac-address-increment* to generic implementation")
Signed-off-by: Will Moss <willormos@gmail.com>
2 years agomac80211: remove broken CFG80211_WEXT select from the r8723bs driver
Felix Fietkau [Fri, 23 Sep 2022 16:11:04 +0000 (18:11 +0200)]
mac80211: remove broken CFG80211_WEXT select from the r8723bs driver

Fixes a build error

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomac80211: mark lib80211 as hidden
Felix Fietkau [Fri, 23 Sep 2022 10:04:12 +0000 (12:04 +0200)]
mac80211: mark lib80211 as hidden

Prevents build errors by ensuring that it is only selected when a wext based
driver that needs it is also selected

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agogeneric: 5.15: add missing PAGE_POOL_STATS config
Christian Marangi [Fri, 23 Sep 2022 00:04:36 +0000 (02:04 +0200)]
generic: 5.15: add missing PAGE_POOL_STATS config

Add new PAGE_POOL_STATS config backported for the mtk offload patches.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agokernel: pick patches for MediaTek Ethernet from linux-next
Daniel Golle [Mon, 29 Aug 2022 06:54:41 +0000 (08:54 +0200)]
kernel: pick patches for MediaTek Ethernet from linux-next

Pick patches with several fixes and improvements, preparation for
upcoming WED (TX) [1] as well as basic XDP support [2] with MediaTek's
Filogic SoCs to the mtk_eth_soc driver.

Also pick follow-up patch fixing Ethernet on MT7621 [3].

Tested on Bananapi BPi-R3 (MT7986), Bananapi BPi-R64 (MT7622),
Bananapi BPi-R2 (MT7623), MikroTik RouterBoard M11G (MT7621).

[1]: https://patchwork.kernel.org/project/netdevbpf/list/?series=662108&state=*
[2]: https://patchwork.kernel.org/project/netdevbpf/list/?series=675368&state=*
     (the first part of the series adding wed nodes to mt7986a.dtsi was
      applied to the copy of mt7986a.dtsi in our tree)
[3]: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=5e69163d3b9931098922b3fc2f8e786af8c1f37e

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoprism54-firmware: set DL_DIR to package specific subdirectory
Michael Pratt [Mon, 5 Sep 2022 20:30:00 +0000 (16:30 -0400)]
prism54-firmware: set DL_DIR to package specific subdirectory

This package downloads raw files
which have names that are not corresponding to
the name and version of the package
as it is defined in the Makefile.

Use the option DL_SUBDIR to set the DL_DIR
to be a subdirectory named with
PKG_NAME and PKG_RELEASE
to better organize the downloads.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2 years agob43legacy-firmware: set DL_DIR to package specific subdirectory
Michael Pratt [Mon, 5 Sep 2022 20:25:08 +0000 (16:25 -0400)]
b43legacy-firmware: set DL_DIR to package specific subdirectory

This package downloads raw files
which have names that are not corresponding to
the name and version of the package
as it is defined in the Makefile.

Use the option DL_SUBDIR to set the DL_DIR
to be a subdirectory named with
PKG_NAME and PKG_VERSION
to better organize the downloads.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2 years agoath10k-ct-firmware: set DL_DIR to package specific subdirectory
Michael Pratt [Mon, 5 Sep 2022 20:22:08 +0000 (16:22 -0400)]
ath10k-ct-firmware: set DL_DIR to package specific subdirectory

This package downloads raw files
which have names that are not corresponding to
the name and version of the package
as it is defined in the Makefile.

Use the option DL_SUBDIR to set the DL_DIR
to be a subdirectory named with
PKG_NAME and PKG_VERSION
to better organize the downloads.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2 years agoacx-mac80211: set DL_DIR to package specific subdirectory
Michael Pratt [Mon, 5 Sep 2022 20:00:42 +0000 (16:00 -0400)]
acx-mac80211: set DL_DIR to package specific subdirectory

This package downloads raw files
which have names that are not corresponding to
the name and version of the package
as it is defined in the Makefile.

Use the option DL_SUBDIR to set the DL_DIR
to be a subdirectory named with
PKG_NAME and PKG_SOURCE_DATE
to better organize the downloads.

Define PKG_VERSION here
using PKG_SOURCE_DATE.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2 years agoscripts/dl_cleanup: add support for subdirectories
Michael Pratt [Mon, 19 Sep 2022 20:39:34 +0000 (16:39 -0400)]
scripts/dl_cleanup: add support for subdirectories

Allow comparing subdirectories exactly like files.

Handle a corner case where the new subdirectory
has the same tarball inside of it
as the one that was downloaded
before a subdirectory for that package was established.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2 years agorules.mk: add option to download files into a subdirectory
Michael Pratt [Wed, 3 Aug 2022 17:01:51 +0000 (13:01 -0400)]
rules.mk: add option to download files into a subdirectory

Some packages download a single raw file or set of raw files
instead of an archive.

The filenames of these download files have names and version numbers
that do not directly correspond to the name and version of the package
as it is defined in its Makefile.

To better organize downloaded files, this adds the option of
creating a subdirectory in the download directory for these files
that can be named with package specific variables.

DL_DIR is now a recursively expanded variable
since the value now depends on whether DL_SUBDIR is defined.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2 years agobase-files: Actually set default name
Olliver Schinagl [Wed, 21 Sep 2022 15:57:53 +0000 (17:57 +0200)]
base-files: Actually set default name

The currently used shell expansion doesn't seem to exist [0] and also
does not work. This surely was not intended, so lets allow default
naming to actually work.

[0]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html

Fixes: be09c5a3cd65 ("base-files: add board.d support for bridge device")
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoiwinfo: update to the latest version
Felix Fietkau [Thu, 22 Sep 2022 13:23:54 +0000 (15:23 +0200)]
iwinfo: update to the latest version

46f04f3808e8 devices: add MediaTek MT7986 WiSoC
b3e08c8b5a8f ops: make support for wireless extensions optional
1f695d9c7f82 nl80211: allow phy names that don't start with 'phy'
b7f9f06e1594 nl80211: fix phy/netdev index lookup
4a43b0d40ba5 nl80211: look up the phy name instead of assuming name == phy<idx>

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agohostapd: add ubus notification on sta authorized
Felix Fietkau [Thu, 22 Sep 2022 12:01:52 +0000 (14:01 +0200)]
hostapd: add ubus notification on sta authorized

Also include the station auth_type in the ubus and log message in order
to detect, if clients used FT or FILS to associate

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomac80211: disable drivers that rely on wireless extensions
Felix Fietkau [Thu, 22 Sep 2022 11:42:40 +0000 (13:42 +0200)]
mac80211: disable drivers that rely on wireless extensions

They are unmaintained and don't work properly with current wifi scripts

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: disable wireless extensions only when needed
Felix Fietkau [Thu, 22 Sep 2022 11:34:28 +0000 (13:34 +0200)]
kernel: disable wireless extensions only when needed

They are only needed by a few very old drivers

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: bump 5.15 to 5.15.69
John Audia [Tue, 20 Sep 2022 19:34:17 +0000 (15:34 -0400)]
kernel: bump 5.15 to 5.15.69

All patches automatically rebased

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.144
John Audia [Wed, 21 Sep 2022 11:52:34 +0000 (07:52 -0400)]
kernel: bump 5.10 to 5.10.144

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: Reorder kernel configuration
Hauke Mehrtens [Wed, 21 Sep 2022 15:20:37 +0000 (17:20 +0200)]
kernel: Reorder kernel configuration

This was done by running this:
./scripts/kconfig.pl '+' target/linux/generic/config-5.15 /dev/null > target/linux/generic/config-5.15-new
mv target/linux/generic/config-5.15-new target/linux/generic/config-5.15

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agokernel: Deactivate CONFIG_DEFAULT_FQ_PIE by default
Hauke Mehrtens [Wed, 21 Sep 2022 13:18:33 +0000 (15:18 +0200)]
kernel: Deactivate CONFIG_DEFAULT_FQ_PIE by default

When building OpenWrt with CONFIG_ALL_KMODS the kernel build will ask
for CONFIG_DEFAULT_FQ_PIE option. This deactivates it by default.

Fixes: c3e4a0d99b97 ("kernel: netsupport: Add FQ-PIE as an optional sched kmod and extract PIE")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agokernel: add VFIO kernel packages
Nicola Corna [Sat, 20 Aug 2022 21:41:59 +0000 (21:41 +0000)]
kernel: add VFIO kernel packages

Add kmod-vfio and kmod-vfio-pci packages.

Signed-off-by: Nicola Corna <nicola@corna.info>
2 years agox86/64: enable IOMMU support
Nicola Corna [Fri, 19 Aug 2022 19:34:01 +0000 (19:34 +0000)]
x86/64: enable IOMMU support

Enable IOMMU support for Intel and AMD x86 platforms. With this, when the
vfio module is present, physical PCI devices can be passed to VMs, for
example with `qemu-system-x86_64 -device vfio-pci,host=05:00.0 ...`.

IOMMU support increases the kernel size by a small amount (~370KB, from
5239840 B to 5611200 B, a ~7% increase in size).

Signed-off-by: Nicola Corna <nicola@corna.info>