Petr Štetiar [Fri, 1 Nov 2024 06:25:07 +0000 (06:25 +0000)]
openwrt-keyring: add OpenWrt 24.10 release build usign key
fbae29d730f8 usign: add OpenWrt 24.10 release build public key
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Daniel Golle [Fri, 1 Nov 2024 03:37:51 +0000 (03:37 +0000)]
mediatek: mt7988: fix peripheral SPI busses
The clocks for SPI busses were named wrongly which resulted in the
spi-mt65xx driver not requesting them. This has apparently been
worked around by marking the clocks required for SPI0 which is used
for SPI-NOR and SPI-NAND flash chips as critical.
Fix the device tree for all 3 generic SPI host controllers and no
longer mark clocks as critical.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Lech Perczak [Thu, 24 Oct 2024 18:51:00 +0000 (20:51 +0200)]
ath79: Really fix 5GHz on QCA9886 variant of ZTE MF286
Fix in commit
25eead21c5ab ("ath79: fix 5GHz on QCA9886 variant of ZTE MF286")
was incomplete. A user of such variant popped up, and in the boot log
after installation, we discovered that QCA9886 expects different
pre-calibration data size, than the older QCA9880 variant:
ath10k_pci 0000:00:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000
ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
ath10k_pci 0000:00:00.0: firmware ver 10.4b-ct-9888-fW-13-
5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32
59e741e7
ath10k_pci 0000:00:00.0: invalid calibration data length in nvmem-cell 'pre-calibration': 2116 != 12064
ath10k_pci 0000:00:00.0: Loading BDF type 0
ath10k_pci 0000:00:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0056,subsystem-vendor=0000,subsystem-device=0000 from ath10k/QCA9888/hw2.0/board-2.bin
ath10k_pci 0000:00:00.0: failed to fetch board-2.bin or board.bin from ath10k/QCA9888/hw2.0
ath10k_pci 0000:00:00.0: failed to fetch board file: -12
ath10k_pci 0000:00:00.0: could not probe fw (-12)
Explicitly define a pre-calibration nvmem-cell for this variant, and use
it instead of the calibration one, which is shorter.
Fixes: 25eead21c5ab ("ath79: fix 5GHz on QCA9886 variant of ZTE MF286")
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16809
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Álvaro Fernández Rojas [Thu, 31 Oct 2024 09:09:44 +0000 (10:09 +0100)]
bcm27xx: update to latest RPi patches
The patches were generated from the RPi repo with the following command:
git format-patch v6.6.58..rpi-6.6.y
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Álvaro Fernández Rojas [Wed, 30 Oct 2024 23:25:41 +0000 (00:25 +0100)]
bcm27xx-gpu-fw: update to latest version
Use release tar instead of downloading separate files.
Full changelog: https://github.com/raspberrypi/firmware/compare/1.
20240424...1.
20241008
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Rosen Penev [Fri, 25 Oct 2024 22:39:30 +0000 (15:39 -0700)]
ramips: m4r v4: fix typo
It should be debounce-interval, as with the others.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16802
Signed-off-by: Robert Marko <robimarko@gmail.com>
Álvaro Fernández Rojas [Thu, 31 Oct 2024 07:52:16 +0000 (08:52 +0100)]
CI: labeler: add bcm27xx-utils
bcm27xx-utils can only be built for bcm27xx target.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Álvaro Fernández Rojas [Wed, 30 Oct 2024 12:49:02 +0000 (13:49 +0100)]
bcm27xx-utils: update to latest version
Fixes build with GCC 14.
Full changelog: https://github.com/raspberrypi/utils/compare/
451b9881b72cb994c102724b5a7d9b93f97dc315...
6a2a6becebbc38fde34a94386457ac8210f9119b
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Rafal Boni [Thu, 24 Oct 2024 07:06:22 +0000 (03:06 -0400)]
ipq806x: Revert "ipq806x: swap lan leds for Meraki MR52"
This reverts commit
ec8f647d168fa8f3b1eedd9b5fe665f793f3a659, as with the
current kernel version, the change actually causes the same bug it once
may have fixed -- that is, the leds are now again reversed.
I suspect this was due to a switch to a newer kernel version between when
the patch was submitted and now reversing the order of the interfaces, so
that eth0 / the LAN interface is also the interface used for PoE, and eth1
/ the WAN interface is the non-PoE interface.
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16779
Signed-off-by: Robert Marko <robimarko@gmail.com>
Christian Marangi [Wed, 30 Oct 2024 13:07:22 +0000 (14:07 +0100)]
ramips: ignore errors from trx utility
Ignore errors from trx utility to handle case with image too big.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Wed, 30 Oct 2024 13:05:10 +0000 (14:05 +0100)]
image: ignore errors from more commands
Ignore errors in more image commands to handle case where the image is
too big and check-image validation fails.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Paul Spooren [Wed, 30 Oct 2024 12:41:23 +0000 (13:41 +0100)]
imagebuilder: fix copying of missing kernel/libc
Those packages were not copied due to OPKG using an underscore while APK
uses dashes. Remove that char to copy kernel/libc for either APK/OPKG.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Christian Marangi [Wed, 30 Oct 2024 10:21:58 +0000 (11:21 +0100)]
image: ignore errors from mktplinkfw command
Rework tplink-v2-header and tplink-v2-image Build define to ignore error
if mktplinkfw2 errors out.
This is to handle situation when the image is too big and can't be
generated or prev check-image calls deleted the source file as it's too
big.
This aligns to the pattern used by tplink-v1-image.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Wed, 30 Oct 2024 10:19:33 +0000 (11:19 +0100)]
build: correctly ignore Initramfs image on error
Correctly ignore Initramfs image copy on error. This follows the pattern with
sysupgrade image where an image might fail as it's too big or the
generation command fails and there is nothing to copy to the bin
directory.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Wed, 30 Oct 2024 09:25:25 +0000 (10:25 +0100)]
mxs: drop removal of firewall4 package
Drop removal of firewall4 package for I2SE Duckbill device.
With OPKG the firewall4 package was installed anyway as it's a
dependency of luci-app-firewall and was silently installed again later
in such condition. Drop it to fix support for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Wed, 30 Oct 2024 09:23:10 +0000 (10:23 +0100)]
mvebu: cortexa9: drop removal of firewall4 package
Drop removal of firewall4 package for Synology DS213j device.
With OPKG the firewall4 package was installed anyway as it's a
dependency of luci-app-firewall and was silently installed again later
in such condition. Drop it to fix support for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Paul Spooren [Wed, 30 Oct 2024 08:28:30 +0000 (09:28 +0100)]
build: Honor DEFAULT_VARIANT for APK packages
Previously APK would complain as it wasn't sure which package to
install by default when multiple packages would provide the same name.
Now, give the package a higher provider priority to make APK
automatically select the "default" package.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Paul Spooren [Tue, 29 Oct 2024 10:09:24 +0000 (11:09 +0100)]
build: don't include kernel/libc in package index
The same that is done in `ipkg-make-index.sh` should happen with APK.
If the pseudo packages, only added to add dependency constraints, are
added to the index, APK happily "upgrades" them and installs updated
kmods, too. However, the Kernel itself is never installed via a regular
package.
Fixes: https://github.com/openwrt/openwrt/issues/16808
Signed-off-by: Paul Spooren <mail@aparcar.org>
John Thomson [Wed, 16 Oct 2024 02:51:22 +0000 (12:51 +1000)]
kernel: mtdsplit_minor: accept bootimage filename
RouterBOOT v7 on NOR devices no longer accepts the YAFFS kernel ELF
method of booting. It will accept an NPK image named bootimage.
Adjust mtdsplit_minor to accept this second possible boot file name.
Use the conservative value of 127 for YAFFS max name length (used when
YAFFS compiled with unicode support) vs 255.
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Acked-by: Thibaut VARENE <hacks@slashdirt.org>
Link: https://github.com/openwrt/openwrt/pull/16780
Signed-off-by: Robert Marko <robimarko@gmail.com>
John Thomson [Tue, 15 Oct 2024 21:13:25 +0000 (07:13 +1000)]
kernel: mtdsplit_minor: return 0 if not fatal
Introduced with Linux 6.7, in commit:
5c2f7727d437 ("mtd: mtdpart: check for subpartitions parsing result"),
when a parser returns an error, this will be passed up, and
consequently, all parent mtd partitions get torn down.
Adjust the MiNOR mtdsplit driver to only return an error if there is a
critical problem in reading from the mtd device or allocating memory.
Otherwise return 0 to indicate that no partitions were found.
Also add logging to indicate what went wrong.
This mtdsplit parser makes a very limited check of the first YAFFS
header. For example, this will not match expectations when initially booting
an initramfs image with OEM on MTD.
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Acked-by: Thibaut VARENE <hacks@slashdirt.org>
Link: https://github.com/openwrt/openwrt/pull/16780
Signed-off-by: Robert Marko <robimarko@gmail.com>
Rosen Penev [Tue, 22 Oct 2024 00:14:41 +0000 (17:14 -0700)]
ramips: linkit: replace driver with gpio-hog
It does the same thing minus a few dmesg prints.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16788
Signed-off-by: Robert Marko <robimarko@gmail.com>
Andreas Böhler [Mon, 28 Oct 2024 17:52:02 +0000 (18:52 +0100)]
ramips: Fix WiFi on Sercomm NA502 and NA502s
The WiFi chips are actually on PCIe1 and PCIe2, PCIe0 is empty. Fix the
assignment so that WiFi works properly again.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
Link: https://github.com/openwrt/openwrt/pull/16807
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Álvaro Fernández Rojas [Tue, 29 Oct 2024 14:30:09 +0000 (15:30 +0100)]
bcm27xx-utils: fix PKG_MIRROR_HASH
The mirror hash has changed after
8009342.
Fixes: 8009342f43c5 ("bcm27xx-utils: fix version for APK")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Álvaro Fernández Rojas [Tue, 29 Oct 2024 08:58:57 +0000 (09:58 +0100)]
generic: backport upstream r8169 irq patch
This commit backports an additional patch from linux v6.12 release.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Paul Spooren [Mon, 28 Oct 2024 22:20:57 +0000 (23:20 +0100)]
imagebuilder: always add local packages.adb
It doesn't matter if `IB_STANDALONE` is enabled or not, local packages
must always be considered.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Paul Spooren [Mon, 28 Oct 2024 21:33:48 +0000 (22:33 +0100)]
package: fix key creation for SDK
Prior to this commit keys would only be generated if `make` is called
alone, but not for something like `make package/busybox/compile`.
The exact reasons are in the depth of make magic, so this is sheer luck!
Signed-off-by: Paul Spooren <mail@aparcar.org>
Paul Spooren [Sun, 27 Oct 2024 15:36:33 +0000 (16:36 +0100)]
include/package-pack: drop version from provides
Adding a version to the provides causes it to conflict with other
packages that provides the same package, further details are available
here: https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/master/doc/apk-package.5.scd#L199
This was intitally done, if I remember correctly, to support depending
on the specific kernel modules. Due to patches to APK, versions
containing hashes work now, too, so this is no longer required.
Only add the version to packages that define an ABI version since other
packages depend against the package name plus ABI version.
While at it, format the now rather complex call.
Fixes: https://github.com/openwrt/openwrt/issues/16795
Signed-off-by: Paul Spooren <mail@aparcar.org>
Christian Marangi [Sun, 27 Oct 2024 09:02:55 +0000 (10:02 +0100)]
armsr: don't limit kmods to armsr armv8 subtarget
Drop limitation on depending on only armv8 for armsr target as those
module should support both 32 and 64 bits systems.
Only thunderx-net actually require 64 bit systems.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Paul Spooren [Fri, 12 Apr 2024 17:01:57 +0000 (19:01 +0200)]
dsl-vrx200-firmware-xdsl: fix PKG_VERSION for APK
The version was a mix of strings, hex numbers and semantic numbers.
Switch the PKG_VERSION to something digestible by APK and introduce
PKG_SOURCE_VERSION to handle the actual filename.
While at it, drop the redundant PKG_B_NAME which was the same as
PKG_NAME anyway.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Christian Marangi [Sat, 26 Oct 2024 21:17:46 +0000 (23:17 +0200)]
layerscape: drop fmc and fmc-eth-config package
Drop fmc and fmc-eth-config package as they were never actually
submitted to openwrt mainline and they don't exist around.
They are probably part of NXP SDK and were added due to copy-paste
errors.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Sat, 26 Oct 2024 21:16:21 +0000 (23:16 +0200)]
layerscape: set firmware package to skip installation
Add the '~' prefix to package that needs to skip installation as they
are meta-package just to download and compile firmware package for the
final firmware.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Sat, 26 Oct 2024 20:57:46 +0000 (22:57 +0200)]
build: introduce support to declare skip package
It seems some target started declaring package in DEVICE_PACKAGES just
to call InstallDev and generate binary for the image firmware.
This is very much used by layerscape target where trusted-firmware-a and
dependency are called for final image generation.
This is problematic for APK since it's more sensible to non exisiting
package.
To handle this, introduce a prefix '~' for a package that will signal to
build the package but not install it in the final image.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Sat, 26 Oct 2024 10:29:32 +0000 (12:29 +0200)]
omnia-mcutool: fix version for APK
Refactor version of omnia-mcutool for APK.
Switch to git clone and use hash instead of converting 0.3-rc3 to 0.3.3.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Sat, 26 Oct 2024 09:50:21 +0000 (11:50 +0200)]
adb: fix version for APK
Refactor version of adb for APK.
Use HASH instead of rc tag.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 20:35:02 +0000 (22:35 +0200)]
apk: switch to wget url backend for HOST tool
Switch APK to wget url backend for HOST tool to handle a problem with
libressl.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 12:56:20 +0000 (14:56 +0200)]
ramips: mt7621: drop kmod-i2c-ralink from ASUS RP-AC56
Drop kmod-i2c-ralink from ASUS RP-AC56 as it was wrongly added. Such
kmod is not supported on mt7621 as i2c is handled by the mediatek driver
and not bay the ralink downstream one.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 10:27:28 +0000 (12:27 +0200)]
bcm27xx-utils: fix version for APK
Refactor version of bcm27xx-utils for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 09:56:45 +0000 (11:56 +0200)]
msx: fix wrong device package list for I2SE Duckbill
Fix wrong package device list that is trying to remove deprecated
packages. Replace with new variant where possible.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 08:25:10 +0000 (10:25 +0200)]
adb-enablemodem: fix version for APK
Refactor version of adb-enablemodem for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 23:12:35 +0000 (01:12 +0200)]
apk: add patch adding support for ARM Big-Endian arch
Add patch adding support for ARM Big-Endian arch like Intel XScale
IXP4xx SoC.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 22:47:07 +0000 (00:47 +0200)]
ipq40xx: drop ipq-wifi-teltonika_rutx from Teltonika RUTX50
Drop ipq-wifi-teltonika_rutx from Teltonika RUTX50, the board file was
merged upstream but the ipq package was never dropped from
DEVICE_PACKAGES list.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 22:12:05 +0000 (00:12 +0200)]
mac80211: reintroduce rt61/rt73 support
Reintroduce rt61/rt73 support as they looks to be pretty standard and
currently required by Gemini or Xway-legacy targets.
Notice that they are b/g card.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 21:46:44 +0000 (23:46 +0200)]
bcm53xx: drop kmod-ledtrig-default-on and kmod-ledtrig-netdev
Drop kmod-ledtrig-default-on and kmod-ledtrig-netdev as the kmod were
dropped and are now enabled by default.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 21:37:24 +0000 (23:37 +0200)]
ath79: replace ancient kmod-ledtrig-usbdev with kmod-usb-ledtrig-usbport
Replace ancient kmod-ledtrig-usbdev dropped from 2016 with
kmod-usb-ledtrig-usbport upstream.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 21:23:03 +0000 (23:23 +0200)]
bcm27xx-gpu-fw: fix version for APK
Refactor version of bcm27xx-gpu-fw for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:45:01 +0000 (20:45 +0200)]
imagebuilder: complete support for local signing keys
Complete support for local signing keys for APK.
A local key will be always generated, mkndx is always called with
--allow-untrusted as it needs to replace the sign key with the new local
one.
With CONFIG_SIGNATURE_CHECK the local index is signed with the local
key. Local public key is added with the ADD_LOCAL_KEY option.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:36:43 +0000 (20:36 +0200)]
imagebuilder: actually support IB from buildbot
ImageBuilder compiled by buildbot doesn't have any package in the
packages directory. Package needs to be downloaded instead.
This works by calling update to the package manage to download the
remove index and download the file.
Fix missing support for this with APK, by configuring the
--repositories-file option and calling the APK update.
Also move the apk add --initdb to package_index.
If CONFIG_SIGNATURE_CHECK is not enabled, the signature is not checked.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:32:42 +0000 (20:32 +0200)]
imagebuilder: correctly export PACKAGE_DIR and PACKAGE_DIR_ALL
Correctly export PACKAGE_DIR and PACKAGE_DIR_ALL so that they won't be
reset on internal call of rules.mk
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:29:52 +0000 (20:29 +0200)]
imagebuilder: copy apk keys with CONFIG_SIGNATURE_CHECK
With CONFIG_SIGNATURE_CHECK enabled, copy keys following OPKG pattern.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:25:06 +0000 (20:25 +0200)]
build: detach apk repository handling from rootfs.mk
To better support imagebuilder declaring --repositories-file on calling
apk macro, detach this and --repository from rootfs.mk macro and move it
to package Makefile and image.mk where they are used to permit a more
generic usage.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:13:07 +0000 (20:13 +0200)]
build: permit overwrite PACKAGE_DIR and PACKAGE_DIR_ALL
Permit to overwrite PACKAGE_DIR and PACKAGE_DIR_ALL variables in
rules.mk.
This is to handle a special case with the ImageBuilder where these
variable are overwrite.
The main problem is that any include calling rules.mk again (example
image.mk) will set these variables again dropping the modified value.
To keep the modified value, set the PACKAGE_DIR and PACKAGE_DIR_ALL only
if not already set. This permits the ImageBuilder to use custom
directory instead of the default one defined in rules.mk.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Paul Spooren [Fri, 23 Aug 2024 21:46:52 +0000 (23:46 +0200)]
cypress-firmware: fix version for APK
Refactor version for cypress-firmware for APK.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Mon, 28 Oct 2024 23:03:39 +0000 (00:03 +0100)]
apk: bump to latest HEAD 2024-10-28
Bump APK to latest HEAD 2024-10-28.
- Minor fixed to index inherit
- Fixup to adb_w_copy
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Mon, 28 Oct 2024 13:01:52 +0000 (14:01 +0100)]
airoha: an7581: replace TRNG patch with upstream version
Replace TRNG patch with upstream version.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Til Kaiser [Sun, 27 Oct 2024 13:02:14 +0000 (14:02 +0100)]
xdp-tools: fix compilation when bpftool is installed
Currently, xdp-tools doesn't compile on build systems where
bpftool is installed because additional tools and BPF programs
will be compiled then, which results in build errors.
This commit disables the compilation of those bpftool-dependent tools.
Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16787
Signed-off-by: Robert Marko <robimarko@gmail.com>
Zoltan HERPAI [Sun, 27 Oct 2024 17:36:12 +0000 (17:36 +0000)]
dns320l-mcu: bump to 2024-10-27
Improve support for power button handling.
d9a2878 - Use /sys/class/gpio/mcu_power for monitoring the MCU power line
02b6005 - Use "halt" instead of "shutdown"
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Zoltan HERPAI [Sun, 27 Oct 2024 17:35:11 +0000 (17:35 +0000)]
kirkwood: dns320l: export mcu_power GPIO
This GPIO is pulled down by the onboard MCU when the power button
is pressed for 5 seconds, indicating a user-initiated shutdown.
Refresh patches at the same time.
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Markus Stockhausen [Sun, 15 Sep 2024 17:01:41 +0000 (13:01 -0400)]
realtek: ethernet: Improve SMI polling configuration based on DTS
Although Zyxel XGS1210 devices are not yet officially supported there
are several patches floating around to enable them. This is a very imporant
one because it fixes a SMI misconfiguration. In the known DTS the SFP+
port settings are set as follows.
phy26: ethernet-phy@26 {
compatible = "ethernet-phy-ieee802.3-c45";
phy-is-integrated;
reg = <26>;
sds = < 8 >;
};
phy27: ethernet-phy@27 {
compatible = "ethernet-phy-ieee802.3-c45";
phy-is-integrated;
reg = <27>;
sds = < 9 >;
};
So these are PHYs linked to an internal SerDes. During initialization
rtl838x_mdio_init() generates smi_bus=0 & smi_addr=27/28 for these ports.
Although this seems like a valid configuration integrated PHYs attached
to an SerDes do not have an SMI bus. Later on the mdio reset wrongly feeds
the SMI registers and as a result the PHYs on SMI bus 0 do not work.
Without patch (loaded with rtk network on & initramfs):
...
mdio_bus mdio-bus: MDIO device at address 0 is missing.
mdio_bus mdio-bus: MDIO device at address 1 is missing.
mdio_bus mdio-bus: MDIO device at address 2 is missing.
mdio_bus mdio-bus: MDIO device at address 3 is missing.
mdio_bus mdio-bus: MDIO device at address 4 is missing.
mdio_bus mdio-bus: MDIO device at address 5 is missing.
mdio_bus mdio-bus: MDIO device at address 6 is missing.
mdio_bus mdio-bus: MDIO device at address 7 is missing.
...
rtl83xx-switch ... : no phy at 0
rtl83xx-switch ... : failed to connect to PHY: -ENODEV
rtl83xx-switch ... : error -19 setting up PHY for tree 0, switch 0, port 0
rtl83xx-switch ... : no phy at 1
rtl83xx-switch ... : failed to connect to PHY: -ENODEV
rtl83xx-switch ... : error -19 setting up PHY for tree 0, switch 0, port 1
...
With patch (loaded with rtk network on & initramfs):
...
rtl83xx-switch ... : PHY [mdio-bus:00] driver [REALTEK RTL8218D] (irq=POLL)
rtl83xx-switch ... : PHY [mdio-bus:01] driver [REALTEK RTL8218D] (irq=POLL)
...
Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Fri, 18 Oct 2024 06:20:20 +0000 (02:20 -0400)]
realtek: remove wrong SMI bus from XGS1250
The RTL930x have only 4 SMI busses (0-3) and the XGS1250 SFP port ist
directly managed. Remove the wrong configuration in the dts.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 22 Sep 2024 17:36:14 +0000 (13:36 -0400)]
realtek: phy: fix RTL8218D detection
Currently RTL8218D detection works for a range of devices. That can lead to
false positives. E.g. RTL8218B or RTL8214FC are covered by the detection mask
as well. That is wrong. Nail detection down to the real RTL8218D phy id.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Fri, 18 Oct 2024 07:00:18 +0000 (03:00 -0400)]
realtek: phy: simplify RTL8214C detection
The detection of the RTL8214C is a little complicated. Make it easier.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 22 Sep 2024 17:19:22 +0000 (13:19 -0400)]
realtek: phy: proper RTL8218B, RTL8214FC, RTL8214FB detection
Three PHYs share the same identifier. Until now we simply assume
the type depending of the bus address it is attached to. Make it
better and check the chip mode register instead.
The kernel will either detect by id/mask or by match_phy_device().
Remove the unneeded settings.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 22 Sep 2024 16:46:18 +0000 (12:46 -0400)]
realtek: phy: adapt raw page for RTL839X
The number of phy pages differ between RTL838X and RTL839X. Make that
clear and adapt the existing defines.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 22 Sep 2024 16:03:43 +0000 (12:03 -0400)]
realtek: dsa: increase RTL839x max phy page to 8191
According to the specs the RTL839x provides up to 8192 phy pages.
Especially the "raw" page 8191 is used for different initialization
tasks. Increase the limit.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Fri, 18 Oct 2024 06:14:02 +0000 (02:14 -0400)]
realtek: dsa: allow USXGMII mode
RTL930x devices need the USXGMII mode. This is a final leftover
from the 6.6 conversion.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Christian Marangi [Sun, 27 Oct 2024 14:58:16 +0000 (15:58 +0100)]
Revert "scripts/download.pl: read file natively"
This reverts commit
65560de58de7a3cde8f960849e3c7c640b9456d8.
Seems to broke CI and require more testing.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Daniel Golle [Sun, 27 Oct 2024 14:24:47 +0000 (14:24 +0000)]
mediatek: mt7988: add DT entries for WED
Add memory regions and devices used for wireless offloading to the
device tree for MT7988.
This allows using WED on devices with MT7988 SoC and MT7995E, MT7996E or
MT7992E wireless controllers.
Devices with 4 GiB of RAM (or more) will still need ajustments to avoid
running out of swiotlb entries.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Rosen Penev [Wed, 9 Oct 2024 20:44:56 +0000 (13:44 -0700)]
ramips: modernize pwm driver
Add more devm usage.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16649
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Kevin Zhang [Sun, 27 Oct 2024 05:13:47 +0000 (01:13 -0400)]
rockchip: Add LED aliases for FriendlyElec NanoPi R3S
This commit adds OpenWRT's LED aliases to the board DTS
for showing system status on the NanoPi R3S.
Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Kevin Zhang [Sun, 27 Oct 2024 05:13:05 +0000 (01:13 -0400)]
rockchip: Add support for RK3566 FriendlyElec NanoPi R3S
This commit adds support for the FriendlyElec NanoPi R3S.
CPU: Rockchip RK3566, Quad-core Cortex-A55
RAM: 2GB LPDDR4X
Ethernet: GMAC RTL8211F GbE, PCIe R8111H GbE
USB3.0 Host: Type-A x1
Storage: MicroSD Slot x 1, and optional on-board 32GB eMMC
Debug Serial Port: 3.3V TTL, 3-pin 2.54mm pitch connector,
1500000 bauds
LED: LED x 3
RTC: One low-power RTC, supports backup battery input
Both GbE controllers are working (WAN eth0, LAN eth1).
Appropriate LAN/WAN interface assignments and MAC address generation.
All three LEDs are working.
USB appears to be working and has been tested with mass storage.
Installation - microSD:
-Uncompress the OpenWRT sysupgrade.img.gz
-Write image to microSD card using dd or similar tool
Installation - eMMC:
-Boot from microSD
-Uncompress the OpenWRT sysupgrade.img.gz
-Flash to eMMC : dd if=x.img of=/dev/mmcblk0
-sync
-Remove microSD card
-Reboot
Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Kevin Zhang [Sun, 27 Oct 2024 05:12:01 +0000 (01:12 -0400)]
uboot-rockchip: add support for NanoPi R3S
This commit adds u-boot support for the NanoPi R3S.
Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Tue, 22 Oct 2024 23:21:46 +0000 (16:21 -0700)]
ramips: use platform_get_irq
No need for irq_of_parse_and_map since this is in _probe.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16771
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Matteo Croce [Sat, 28 Sep 2024 23:01:01 +0000 (01:01 +0200)]
scripts/download.pl: read file natively
Read files natively instead of execing /bin/cat.
Signed-off-by: Matteo Croce <teknoraver@meta.com>
Link: https://github.com/openwrt/openwrt/pull/16784
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Til Kaiser [Sun, 27 Oct 2024 13:05:50 +0000 (14:05 +0100)]
xdp-tools: re-add vlan_hdr struct
Drop the patch to re-add the vlan_hdr struct
because it is required now to build xdp-filter.
Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16798
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Marius Dinu [Sat, 26 Oct 2024 17:10:55 +0000 (20:10 +0300)]
kernel: add missing CONFIG_DM_AUDIT
The option shows up when kmod-dm and CONFIG_KERNEL_AUDIT are selected.
Signed-off-by: Marius Dinu <m95d+git@psihoexpert.ro>
Link: https://github.com/openwrt/openwrt/pull/16793
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Daniel Golle [Sat, 26 Oct 2024 00:35:29 +0000 (01:35 +0100)]
kernel: add MultiPath TCP diag kernel module
Add INET diag socket monitoring interface module for MultiPath TCP.
It allows using native Linux socket diagnostic tools such as 'ss' for
Multipath TCP connections.
Co-authored-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
Signed-off-by: sKy King <29267720+sKyissKy@users.noreply.github.com>
Link: https://github.com/openwrt/openwrt/pull/12884
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 25 Oct 2024 17:15:41 +0000 (18:15 +0100)]
kernel: enable Multi-Path TCP for !SMALL_FLASH targets
Expose Kernel's CONFIG_MPTCP option and enable it by default for
!SMALL_FLASH targets.
The idea behind enabling it by default is to allow users of the binary
distribution to make use of MPTCP tunneling for link aggregation.
Using MPTCP for link aggregation is an often discussed topic in the
forum and there is even a whole OpenWrt fork (MPTCPRouter) just for that.
Enabling the kernel-side of the story by default will allow using MPTCP
on vanilla OpenWrt without having to build anything from source.
See also https://openwrt.org/docs/guide-user/network/mptcp
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Sat, 26 Oct 2024 14:18:50 +0000 (15:18 +0100)]
generic: mtk_wed: fix path of MT7988 WO firmware
commit
eee3c695f3 ("linux-firmware: add offloading firmware for MT7988")
added mt7988_wo_{0,1}.bin in the 'mediatek/mt7988' directory while driver
currently expects the files in the 'mediatek' directory.
Import pending patch which changes the path in the driver header now
that the firmware has been added.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Andreas Gnau [Fri, 25 Oct 2024 16:49:48 +0000 (18:49 +0200)]
airoha: Clarify subtarget compatibility
Clarify compatibility of the two subtargets with different SoCs to
reduce confusion. The added SoC names only differ in small details such
as features enabled (PoN vs DSL for example).
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/16785
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 16:09:36 +0000 (00:09 +0800)]
ramips: rt3883: convert devices to interrupt-driven gpio-keys
This converts all RT3662 and RT3883 devices to use interrupt based
gpio-keys instead of gpio-keys-polled. The poll-interval will be
removed.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 16:09:19 +0000 (00:09 +0800)]
ramips: rt305x: convert devices to interrupt-driven gpio-keys
This converts all RT305x and RT5350 devices to use interrupt based
gpio-keys instead of gpio-keys-polled. The poll-interval will be
removed.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 16:08:25 +0000 (00:08 +0800)]
ramips: rt2880: convert devices to interrupt-driven gpio-keys
This converts all RT2880 devices to use interrupt based gpio-keys
instead of gpio-keys-polled. The poll-interval will be removed.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 16:07:53 +0000 (00:07 +0800)]
ramips: mt76x8: convert Minew G1-C to interrupt-driven gpio-keys
All other MT76x8 devices have already been migrated to gpio-keys.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 15:09:57 +0000 (23:09 +0800)]
ramips: dts: add the missing interrupt properties for GPIO nodes
The Ralink GPIO driver supports irqchip function. Hence we need to
add "interrupt-parent" and "interrupt-controller" properties to make
sure it works properly. It is worth noting that all GPIO devices
share the same interrupt line.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 13:56:23 +0000 (21:56 +0800)]
ramips: ralink-gpio: use irqchip helpers to register driver
The gpiolib has already introduced a general GPIO irqchip framework
to initialize the GPIO irqchip[1]. This patch will make use of it
to simplify the legacy Ralink GPIO driver codes. This patch also
includes some code readability improvements.
[1]
1425052097b5 ("gpio: add IRQ chip helpers in gpiolib")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Hauke Mehrtens [Wed, 23 Oct 2024 22:03:13 +0000 (00:03 +0200)]
mbedtls: update to 3.6.2
Fixes the following security problem:
* CVE-2024-49195: Fix a buffer underrun in mbedtls_pk_write_key_der()
when called on an opaque key, MBEDTLS_USE_PSA_CRYPTO is enabled, and
the output buffer is smaller than the actual output. Fix a related
buffer underrun in mbedtls_pk_write_key_pem() when called on an opaque
RSA key, MBEDTLS_USE_PSA_CRYPTO is enabled and MBEDTLS_MPI_MAX_SIZE is
smaller than needed for a 4096-bit RSA key.
Link: https://github.com/openwrt/openwrt/pull/16768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Christian Marangi [Thu, 24 Oct 2024 10:46:47 +0000 (12:46 +0200)]
include/package-pack: Set missing Maintainer and URL for APK
Set missing Maintainer and URL info for .apk creation.
Fixes: d788ab376f85 ("build: add APK package build capabilities")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 10:45:36 +0000 (12:45 +0200)]
include/package-pack: remove whitespace for Description info for APK
Remove whitespace for Description info for .apk creation
Fixes: b6bbc76c0b2a ("include/package-pack: set missing Description on .apk creation")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Rosen Penev [Thu, 17 Oct 2024 23:27:02 +0000 (16:27 -0700)]
mpc85xx: move CONFIG_MTD_SPLIT_FIRMWARE up
It's shared by all targets. Unlike the other shared symbols, it's not
removed by kernel_oldconfig.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16756
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Thu, 17 Oct 2024 23:48:20 +0000 (16:48 -0700)]
apm821xx: move CONFIG_GENERIC_PHY up
It's shared by both subtargets.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16754
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
John Audia [Tue, 22 Oct 2024 19:59:20 +0000 (15:59 -0400)]
kernel: bump 6.6 to 6.6.58
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.58
All patches automatically rebased.
Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16758
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Daniel Golle [Wed, 23 Oct 2024 12:38:55 +0000 (13:38 +0100)]
mediatek: add wireless offloading firmware to MT7988 boards
Install mt7988-wo-firmware by default on boards based on MT7988.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Wed, 23 Oct 2024 12:36:29 +0000 (13:36 +0100)]
linux-firmware: add offloading firmware for MT7988
Package wireless offloading firmware for MediaTek MT7988.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Christian Marangi [Wed, 23 Oct 2024 10:19:03 +0000 (12:19 +0200)]
airoha: rename subtarget from en7581 to an7581
The Airoha EN7581 got renamed to AN7581 due to move from Econet to
Airoha.
To save on compatibility, use both compatible for the device.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Wed, 23 Oct 2024 10:17:40 +0000 (12:17 +0200)]
airoha: en7581: refresh and fix PWM patch
Refresh and fix PWM patch with new revision proposed upstream.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Tue, 22 Oct 2024 22:10:02 +0000 (00:10 +0200)]
include/package-pack: set missing Description on .apk creation
Set missing description info on .apk creation. This was probably a TODO
that wasn't notice when the final implementation was pushed.
Fixes: d788ab376f85 ("build: add APK package build capabilities")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Hauke Mehrtens [Sun, 20 Oct 2024 13:31:23 +0000 (15:31 +0200)]
kernel: Reorder config files
Reorder the kernel configuration files.
This was done uisng:
./scripts/kconfig-reorder.sh
Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 20 Oct 2024 13:38:57 +0000 (15:38 +0200)]
mediatek: Remove double CONFIG_HARDEN_BRANCH_PREDICTOR
CONFIG_HARDEN_BRANCH_PREDICTOR option is included two times in this
configuration file. Remove one definition. On arm32 SoC it should not be
needed.
Fixes: 54f9744c820a ("treewide: disable spectre mitigation on unaffected Arm32 targets")
Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Mon, 21 Oct 2024 22:02:28 +0000 (00:02 +0200)]
scripts: Add script to reorder kernel config-* files
This script will reorder the content of all config-* files in the target
folder. It will also remove duplicates. It will not remove options
already defined in the generic configuration.
Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Felix Fietkau [Tue, 22 Oct 2024 14:56:19 +0000 (16:56 +0200)]
hostapd: fix build error with SAE disabled
Fixes: b2a2c286170d ("hostapd: add support for authenticating with multiple PSKs via ubus helper")
Signed-off-by: Felix Fietkau <nbd@nbd.name>