]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
113 min agoucode-mod-bpf: add support for passing classid for tc attached programs main master
Felix Fietkau [Thu, 31 Jul 2025 15:31:13 +0000 (17:31 +0200)] 
ucode-mod-bpf: add support for passing classid for tc attached programs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
113 min agolibbpf: add support for passing classid for tc attached programs
Felix Fietkau [Thu, 31 Jul 2025 15:30:58 +0000 (17:30 +0200)] 
libbpf: add support for passing classid for tc attached programs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
10 hours agotools/util-linux: build with meson 19598/head
Rosen Penev [Tue, 29 Jul 2025 20:46:18 +0000 (13:46 -0700)] 
tools/util-linux: build with meson

Simplifies Makefile by quite a bit.

Added an upstream backport fixing compilation with older OS.

Added a curses patch so -Dauto_features=disabled can work properly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19598
Signed-off-by: Nick Hainke <vincent@systemli.org>
19 hours agoqualcommax: ipq6018: remove unused reserved memory 19300/head
Coia Prant [Sat, 5 Jul 2025 07:53:09 +0000 (07:53 +0000)] 
qualcommax: ipq6018: remove unused reserved memory

Deleted useless content, since it is the same as the mainline kernel

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19300
Signed-off-by: Robert Marko <robimarko@gmail.com>
19 hours agobuild: use --no-print-directory for dumping subtargets 19326/head
Sven Wegener [Sun, 6 Jul 2025 17:28:36 +0000 (19:28 +0200)] 
build: use --no-print-directory for dumping subtargets

Or else we end up with "Entering directory" and "Leaving directory" from make in tmp/.targetinfo

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
Link: https://github.com/openwrt/openwrt/pull/19326
Signed-off-by: Robert Marko <robimarko@gmail.com>
19 hours agoqualcommax: cleanup device tree for GL-B3000 19400/head
Chukun Pan [Tue, 8 Jul 2025 14:20:19 +0000 (22:20 +0800)] 
qualcommax: cleanup device tree for GL-B3000

Remove extra blank lines.
Fixes typo for label and status.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/19400
Signed-off-by: Robert Marko <robimarko@gmail.com>
20 hours agorealtek: add NAND hardware description to RTL93xx 19583/head
Markus Stockhausen [Mon, 28 Jul 2025 14:16:24 +0000 (10:16 -0400)] 
realtek: add NAND hardware description to RTL93xx

Include the NAND specs into the DTS. It is unclear which devices
really need it. Keep it disabled for now. As the SoC register area
is defined too small until now, increase the size to an appropriate
value.

If enabled one can see the following log messages (e.g. Linksys
LGS328C or LGS352C).

[    1.206600] spi-nand spi1.0: Macronix SPI NAND was found.
[    1.212795] spi-nand spi1.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    1.222217] 3 fixed-partitions partitions found on MTD device spi1.0
[    1.229466] OF: Bad cell count for /soc/spi@1a400/flash@0/partitions
[    1.236617] OF: Bad cell count for /soc/spi@1a400/flash@0/partitions
[    1.244164] Creating 3 MTD partitions on "spi1.0":
[    1.249620] 0x000000000000-0x000004000000 : "ubifs"
[    1.423593] 0x000004000000-0x000005e00000 : "firmware"
[    1.738268] mtdsplit_uimage: no uImage found in "firmware"
[    1.744577] 0x000005e00000-0x000007c00000 : "runtime2"

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19583
Signed-off-by: Robert Marko <robimarko@gmail.com>
20 hours agorealtek: backport NAND driver for RTL93xx
Markus Stockhausen [Mon, 28 Jul 2025 14:13:26 +0000 (10:13 -0400)] 
realtek: backport NAND driver for RTL93xx

RTL93xx devices have a NAND controller built in. Upstream already
has a driver in place. Include it downstream. Activate it in the
RTL93xx builds and disable it for the RTL83xx builds.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19583
Signed-off-by: Robert Marko <robimarko@gmail.com>
20 hours agotools: bison: do not install or uninstall macros 19606/head
Michael Pratt [Wed, 30 Jul 2025 18:44:16 +0000 (14:44 -0400)] 
tools: bison: do not install or uninstall macros

There is a clobbering between bison and gnulib for installing
the macro file bison-i18n.m4 where gnulib has a newer version
while bison will replace it with an outdated version if built afterward.

Other builds depend on the changes made to the bison-i18n.m4 file and are
only included using aclocal unless other modifications are made in each case
in order to force imported macros from gnulib to override aclocal macros.

Gnulib is integrated within bison, however it is not with a bootstrap script
and there is already a reverse dependency between the two, where bison
is indirectly required for gnulib to start building. Therefore, do not allow
the building or cleaning of bison to install or uninstall m4 files.

Reported-by: Tianling Shen <cnsztl@immortalwrt.org>
Fixes: d19f8bc199 ("tools/gnulib: update to branch stable-202501")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/19606
Signed-off-by: Nick Hainke <vincent@systemli.org>
30 hours agorealtek: rtl931x: Support enable/disable SMI Polling for SerDes ports 19603/head
Harshal Gohel [Tue, 17 Jun 2025 13:03:47 +0000 (13:03 +0000)] 
realtek: rtl931x: Support enable/disable SMI Polling for SerDes ports

During PHY matching, the SMI polling must be disabled to avoid conflicts
during the complex detection routine. Only after this finished, SMI polling
is allowed again.

This was implemented for all realtek families besides RTL931x.

Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Signed-off-by: Sharadanand Karanjkar <sk@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/19603
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agorealtek: rtl931x: Fix SDS field modifications
Harshal Gohel [Mon, 14 Jul 2025 09:35:00 +0000 (11:35 +0200)] 
realtek: rtl931x: Fix SDS field modifications

A RTL930x function to read the value from an SDS register must not used on
an RTL931x SoC. Doing it with rtl930x_read_sds_phy() would corrupt the
written results when only parts of the bits are written.

Fixes: 7026084066fb ("realtek: Add SDS configuration routines for the RTL93XX platforms")
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Signed-off-by: Sharadanand Karanjkar <sk@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/19603
Signed-off-by: Robert Marko <robimarko@gmail.com>
32 hours agotools: util-linux: refresh patches
Robert Marko [Wed, 30 Jul 2025 08:56:57 +0000 (10:56 +0200)] 
tools: util-linux: refresh patches

util-linux needs to be refreshed, so do so.

Fixes: 4fd61171294d ("tools/util-linux: fix libuuid linking")
Signed-off-by: Robert Marko <robimarko@gmail.com>
32 hours agorealtek: convert RTL838x toolchain to 24kc 19117/head
Markus Stockhausen [Fri, 13 Jun 2025 06:42:39 +0000 (02:42 -0400)] 
realtek: convert RTL838x toolchain to 24kc

The Realtek RTL838x devices have a MIPS 4Kec core. This has a very simple pipeline.
OpenWrt uses CPU_TYPE:=4kec to honour this and adds a dedicated toolchain with
some GB of extra space. There would be no problem if that toolchain would do what
it is expected to do. Looking at the build process one can see:

during kernel builds:
  ps -ef | grep mtune
  ... -march=mips32r2 -mtune=34kc ...

during package builds
  ps -ef | grep mtune
  ... -mips32r2 -mtune=4kec ...

So the kernel is optimized for the wrong cpu type while the applications fit fine.
Explanation for this is the generic/308-mips32r2_tune.patch. This forces kernel
builds to -mtune=34kc. Nevertheless everything runs fine since years on the RTL838x
targets.

It does not make sense to provide a dedicated 4kec toolchain for this mess. So
change the setup as follows:

- switch CPU type to mips24kc for RTL838x -> This drops one toolchain and saves space
- Add a RTl838x specific mtune=4kec patch -> Builds kernel with the proper setting

Downside is packages will be built with -mtune=24kc. So a look at a simple benchmark
should give insight if this has really a big impact. See numbers attached. To sum it
up in two sentences

- All non RSA benchmarks are within expectation
- RSA benchmarks show large deviations (before and after)

The normal usecase for these switches is definetly not a CPU intensive workload
so this is ok for now.

Before: kernel 6.12 (mtune=34kc) + apps (mtune=4kec)

root@OpenWrt:/usr/bin# ./wolfssl-benchmark
------------------------------------------------------------------------------
 wolfSSL version 5.7.6
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1048576, min 1.0 sec each)
RNG                          5 MiB took 1.426 seconds,    3.507 MiB/s
AES-128-CBC-enc              5 MiB took 1.178 seconds,    4.243 MiB/s
AES-128-CBC-dec              5 MiB took 1.171 seconds,    4.270 MiB/s
AES-192-CBC-enc              5 MiB took 1.307 seconds,    3.824 MiB/s
AES-192-CBC-dec              5 MiB took 1.311 seconds,    3.815 MiB/s
AES-256-CBC-enc              5 MiB took 1.447 seconds,    3.455 MiB/s
AES-256-CBC-dec              5 MiB took 1.421 seconds,    3.519 MiB/s
AES-128-GCM-enc              5 MiB took 3.772 seconds,    1.325 MiB/s
AES-128-GCM-dec              5 MiB took 3.756 seconds,    1.331 MiB/s
AES-192-GCM-enc              5 MiB took 3.939 seconds,    1.269 MiB/s
AES-192-GCM-dec              5 MiB took 3.932 seconds,    1.272 MiB/s
AES-256-GCM-enc              5 MiB took 4.043 seconds,    1.237 MiB/s
AES-256-GCM-dec              5 MiB took 4.033 seconds,    1.240 MiB/s
GMAC Default                 2 MiB took 1.056 seconds,    1.895 MiB/s
AES-128-CTR                  5 MiB took 1.195 seconds,    4.185 MiB/s
AES-192-CTR                  5 MiB took 1.319 seconds,    3.791 MiB/s
AES-256-CTR                  5 MiB took 1.460 seconds,    3.425 MiB/s
AES-CCM-enc                  5 MiB took 2.279 seconds,    2.194 MiB/s
AES-CCM-dec                  5 MiB took 2.273 seconds,    2.200 MiB/s
ARC4                        20 MiB took 1.226 seconds,   16.315 MiB/s
CHACHA                      15 MiB took 1.001 seconds,   14.982 MiB/s
CHA-POLY                    15 MiB took 1.440 seconds,   10.416 MiB/s
3DES                         5 MiB took 4.364 seconds,    1.146 MiB/s
MD5                         25 MiB took 1.034 seconds,   24.173 MiB/s
POLY1305                    35 MiB took 1.015 seconds,   34.467 MiB/s
SHA                         25 MiB took 1.127 seconds,   22.183 MiB/s
SHA-256                     10 MiB took 1.104 seconds,    9.056 MiB/s
SHA-384                      5 MiB took 1.324 seconds,    3.775 MiB/s
SHA-512                      5 MiB took 1.325 seconds,    3.774 MiB/s
SHA-512/224                  5 MiB took 1.319 seconds,    3.791 MiB/s
SHA-512/256                  5 MiB took 1.333 seconds,    3.751 MiB/s
AES-128-CMAC                 5 MiB took 1.145 seconds,    4.366 MiB/s
AES-256-CMAC                 5 MiB took 1.413 seconds,    3.539 MiB/s
HMAC-MD5                    25 MiB took 1.034 seconds,   24.186 MiB/s
HMAC-SHA                    25 MiB took 1.122 seconds,   22.272 MiB/s
HMAC-SHA256                 10 MiB took 1.104 seconds,    9.059 MiB/s
HMAC-SHA384                  5 MiB took 1.329 seconds,    3.762 MiB/s
HMAC-SHA512                  5 MiB took 1.323 seconds,    3.778 MiB/s
PBKDF2                       1 KiB took 1.018 seconds,    1.136 KiB/s
RSA     2048  key gen         1 ops took 15.547 sec, avg 15547.322 ms, 0.064 ops/sec
RSA     3072  key gen         1 ops took 66.131 sec, avg 66131.134 ms, 0.015 ops/sec
RSA     4096  key gen         1 ops took 563.611 sec, avg 563611.230 ms, 0.002 ops/sec
RSA     2048   public       200 ops took 1.403 sec, avg 7.015 ms, 142.542 ops/sec
RSA     2048  private       100 ops took 39.099 sec, avg 390.991 ms, 2.558 ops/sec
DH      2048  key gen        14 ops took 1.009 sec, avg 72.094 ms, 13.871 ops/sec
DH      2048    agree       100 ops took 15.714 sec, avg 157.139 ms, 6.364 ops/sec
ECC   [      SECP256R1]   256  key gen       100 ops took 5.590 sec, avg 55.901 ms, 17.889 ops/sec
ECDHE [      SECP256R1]   256    agree       100 ops took 5.555 sec, avg 55.554 ms, 18.001 ops/sec
ECDSA [      SECP256R1]   256     sign       100 ops took 5.705 sec, avg 57.048 ms, 17.529 ops/sec
ECDSA [      SECP256R1]   256   verify       100 ops took 4.396 sec, avg 43.963 ms, 22.746 ops/sec
CURVE  25519  key gen       320 ops took 1.000 sec, avg 3.127 ms, 319.841 ops/sec
CURVE  25519    agree       400 ops took 1.214 sec, avg 3.034 ms, 329.546 ops/sec
Benchmark complete

After: kernel 6.12 (mtune=4kec) + apps (mtune=24kc)

root@OpenWrt:~# wolfssl-benchmark
------------------------------------------------------------------------------
 wolfSSL version 5.7.6
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1048576, min 1.0 sec each)
RNG                          5 MiB took 1.428 seconds,    3.501 MiB/s
AES-128-CBC-enc              5 MiB took 1.174 seconds,    4.258 MiB/s
AES-128-CBC-dec              5 MiB took 1.162 seconds,    4.301 MiB/s
AES-192-CBC-enc              5 MiB took 1.307 seconds,    3.826 MiB/s
AES-192-CBC-dec              5 MiB took 1.313 seconds,    3.809 MiB/s
AES-256-CBC-enc              5 MiB took 1.432 seconds,    3.491 MiB/s
AES-256-CBC-dec              5 MiB took 1.426 seconds,    3.506 MiB/s
AES-128-GCM-enc              5 MiB took 3.761 seconds,    1.329 MiB/s
AES-128-GCM-dec              5 MiB took 3.748 seconds,    1.334 MiB/s
AES-192-GCM-enc              5 MiB took 3.918 seconds,    1.276 MiB/s
AES-192-GCM-dec              5 MiB took 3.922 seconds,    1.275 MiB/s
AES-256-GCM-enc              5 MiB took 4.019 seconds,    1.244 MiB/s
AES-256-GCM-dec              5 MiB took 4.014 seconds,    1.246 MiB/s
GMAC Default                 2 MiB took 1.052 seconds,    1.900 MiB/s
AES-128-CTR                  5 MiB took 1.189 seconds,    4.205 MiB/s
AES-192-CTR                  5 MiB took 1.315 seconds,    3.804 MiB/s
AES-256-CTR                  5 MiB took 1.455 seconds,    3.436 MiB/s
AES-CCM-enc                  5 MiB took 2.257 seconds,    2.215 MiB/s
AES-CCM-dec                  5 MiB took 2.269 seconds,    2.204 MiB/s
ARC4                        15 MiB took 1.062 seconds,   14.124 MiB/s
CHACHA                      15 MiB took 1.008 seconds,   14.880 MiB/s
CHA-POLY                    15 MiB took 1.461 seconds,   10.266 MiB/s
3DES                         5 MiB took 4.347 seconds,    1.150 MiB/s
MD5                         25 MiB took 1.029 seconds,   24.291 MiB/s
POLY1305                    35 MiB took 1.024 seconds,   34.181 MiB/s
SHA                         25 MiB took 1.115 seconds,   22.418 MiB/s
SHA-256                     10 MiB took 1.154 seconds,    8.664 MiB/s
SHA-384                      5 MiB took 1.345 seconds,    3.718 MiB/s
SHA-512                      5 MiB took 1.343 seconds,    3.723 MiB/s
SHA-512/224                  5 MiB took 1.350 seconds,    3.703 MiB/s
SHA-512/256                  5 MiB took 1.345 seconds,    3.718 MiB/s
AES-128-CMAC                 5 MiB took 1.143 seconds,    4.376 MiB/s
AES-256-CMAC                 5 MiB took 1.405 seconds,    3.559 MiB/s
HMAC-MD5                    25 MiB took 1.027 seconds,   24.334 MiB/s
HMAC-SHA                    25 MiB took 1.112 seconds,   22.490 MiB/s
HMAC-SHA256                 10 MiB took 1.096 seconds,    9.125 MiB/s
HMAC-SHA384                  5 MiB took 1.344 seconds,    3.721 MiB/s
HMAC-SHA512                  5 MiB took 1.347 seconds,    3.712 MiB/s
PBKDF2                       1 KiB took 1.012 seconds,    1.142 KiB/s
RSA     2048  key gen         1 ops took 27.136 sec, avg 27136.046 ms, 0.037 ops/sec
RSA     3072  key gen         1 ops took 39.922 sec, avg 39922.464 ms, 0.025 ops/sec
RSA     4096  key gen         1 ops took 519.483 sec, avg 519482.959 ms, 0.002 ops/sec
RSA     2048   public       200 ops took 1.398 sec, avg 6.989 ms, 143.073 ops/sec
RSA     2048  private       100 ops took 40.412 sec, avg 404.121 ms, 2.475 ops/sec
DH      2048  key gen        14 ops took 1.033 sec, avg 73.764 ms, 13.557 ops/sec
DH      2048    agree       100 ops took 16.401 sec, avg 164.009 ms, 6.097 ops/sec
ECC   [      SECP256R1]   256  key gen       100 ops took 5.583 sec, avg 55.830 ms, 17.912 ops/sec
ECDHE [      SECP256R1]   256    agree       100 ops took 5.555 sec, avg 55.549 ms, 18.002 ops/sec
ECDSA [      SECP256R1]   256     sign       100 ops took 5.703 sec, avg 57.032 ms, 17.534 ops/sec
ECDSA [      SECP256R1]   256   verify       100 ops took 4.203 sec, avg 42.030 ms, 23.792 ops/sec
CURVE  25519  key gen       315 ops took 1.001 sec, avg 3.176 ms, 314.822 ops/sec
CURVE  25519    agree       400 ops took 1.244 sec, avg 3.110 ms, 321.579 ops/sec
Benchmark complete

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19117
Signed-off-by: Robert Marko <robimarko@gmail.com>
44 hours agotoolchain: glibc: Update glibc 2.41 to recent HEAD 19543/head
Konstantin Demin [Sun, 27 Jul 2025 08:36:39 +0000 (11:36 +0300)] 
toolchain: glibc: Update glibc 2.41 to recent HEAD

1e16d0096d80 posix: Fix double-free after allocation failure in regcomp (bug 33185) [CVE-2025-8058]
e7c419a29575 iconv: iconv -o should not create executable files (bug 33164)

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19543
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
45 hours agotools/util-linux: fix libuuid linking 19597/head
Rosen Penev [Tue, 29 Jul 2025 19:46:00 +0000 (12:46 -0700)] 
tools/util-linux: fix libuuid linking

The pkgconfig file that autotools uses is wrong for static libraries.
meson does the right thing but for static libraries, .private entries
need to move to non .private.

Fixes compilation with at least mtd-utils.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19597
Signed-off-by: Robert Marko <robimarko@gmail.com>
45 hours agotools/expat: fix compilation with ccache 19594/head
Rosen Penev [Sun, 27 Jul 2025 18:37:27 +0000 (11:37 -0700)] 
tools/expat: fix compilation with ccache

Even though expat is a C library, the configure script tests both C and
C++ compilers so a fix is needed for the latter.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19594
Signed-off-by: Robert Marko <robimarko@gmail.com>
45 hours agotools: automake: fix MAINTAINERCLEANFILES warnings 19593/head
Michael Pratt [Tue, 29 Jul 2025 17:56:10 +0000 (13:56 -0400)] 
tools: automake: fix MAINTAINERCLEANFILES warnings

It seems that, for whatever reason in this case,
the function "vardef ($var, $cond)" does not work
while "$var->def ($cond)" does work for conditionals.

Also, do not define it conditionally when defined unconditionally.
Even though the reordering patch would make that functionally sound,
it still throws a warning which can cause a build to fail
when warnings are treated as errors.

Instead, just add BUILT_SOURCES to every existing case
rather than only when BUILT_SOURCES is defined.

Fixes: 6d2bfe50d3 ("tools/automake: control all cleaning with clean variables")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/19593
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: add support for Vimin VM-S100-0800MS 19477/head
Colton Pawielski [Thu, 15 May 2025 01:07:15 +0000 (20:07 -0500)] 
realtek: add support for Vimin VM-S100-0800MS

Vimin VM-S100-0800MS is an 8 port Multi-Gig switch, based on RTL9303.
Ported from XikeStor SKS8300-8X with changes to support different u-boot
build.

Specification:

- SoC             : Realtek RTL9303
- RAM             : DDR3 512 MiB
- Flash           : SPI-NOR 16 MiB (Winbond W25Q128JVSQ)
- Ethernet        : 8x 1/2.5/10 Gbps (SFP+)
- LEDs/Keys (GPIO): 0x/1x
- UART            : "Console" port on the front panel
  - type          : RS-232C
  - connector     : RJ-45
  - settings      : 115200n8
- Power           : AC100-240V 50/60Hz

Flash instruction using initramfs image:

 1. Prepare TFTP server with an IP address "192.168.1.111"
 2. Connect your PC to Port1 on VM-S100-0800MS
 3. Power on VM-S100-0800MS and interrupt boot by pressing Esc
 4. Enable Port1 with the following commands

    rtk 10g 0 fiber1g (or fiber10g if 10GBase-*R, dac300cm for DAC cable)
    rtk ext-devInit 0
    rtk ext-pinSet 2 0

    Note: the last command sets tx-disable to low

 7. Download initramfs image from TFTP server

    tftpboot 0x82000000 <image name>

 8. Boot with the downloaded image

    bootm

 9. On the initramfs image, backup the stock firmware if needed
10. Upload (or download) sysupgrade image to the device
11. Erase "firmware" partition to cleanup JFFS2 of stock FW

    mtd erase firmware

12. Perform sysupgrade with the sysupgrade image
13. Wait ~120 sec to complete flashing

Reverting to stock firmware:
 1. Prepare by downloading the stock firmware. Vimin doesn't have
    the firmware on their website, tested using firmware for shared
    hardware Nicgiga S100-0800S-M.
    Filename: vmlinux-nicgiga-S100-0800S-M-241126EN.bix

 2. Prepare TFTP server with an IP address "192.168.1.111"
 3. Connect your PC to Port1 on VM-S100-0800MS
 4. Power on VM-S100-0800MS and interrupt boot by pressing Esc
 5. Enable Port1 with the following commands

    rtk 10g 0 fiber1g (or fiber10g if 10GBase-*R, dac300cm for DAC cable)
    rtk ext-devInit 0
    rtk ext-pinSet 2 0

    Note: the last command sets tx-disable to low

 6. Download initramfs image from TFTP server

    tftpboot 0x82000000 <image name>

 7. Boot with the downloaded image

    bootm

 8. Under Management -> Firmware -> Upgrade/Backup, upload bix file.
 9. Reboot device

Signed-off-by: Colton Pawielski <cepawiel@mtu.edu>
Link: https://github.com/openwrt/openwrt/pull/19477
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agouboot-mediatek: fix FORESEE Flash build warning 19506/head
Shiji Yang [Mon, 21 Jul 2025 23:52:21 +0000 (07:52 +0800)] 
uboot-mediatek: fix FORESEE Flash build warning

Remove unused variable to fix the warning:

drivers/mtd/nand/spi/foresee.c: In function 'f35sqa002g_ecc_get_status':
drivers/mtd/nand/spi/foresee.c:56:29: warning: unused variable 'nand' [-Wunused-variable]
   56 |         struct nand_device *nand = spinand_to_nand(spinand);
      |                             ^~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
3 days agouboot-mediatek: fix various environment errors on u-boot v2025.07
Shiji Yang [Mon, 21 Jul 2025 13:53:33 +0000 (21:53 +0800)] 
uboot-mediatek: fix various environment errors on u-boot v2025.07

Fix the crash and warnings for the newly introduced env on mtd
implementation. Also backport an out-of-bound access fix for the
"askenv" command.

Fixes: 41a9c9de66a7 ("uboot-mediatek: update to v2025.07")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
3 days agouboot-mediatek: convert env in mtd to upstream implementation
Shiji Yang [Sun, 20 Jul 2025 14:56:26 +0000 (22:56 +0800)] 
uboot-mediatek: convert env in mtd to upstream implementation

In the upstream implementation of env in mtd, ENV_MTD_NAME symbol
was renamed to ENV_MTD_DEV. Therefore, we have to adjust the symbol
to make it work properly. ENV_SIZE_REDUND symbol will be removed
in this patch because the upstream env in mtd implementation no
longer requires it.

Fixes: 41a9c9de66a7 ("uboot-mediatek: update to v2025.07")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
3 days agouboot-mediatek: move Asus ZenWiFi BT8 env file to defenvs directory
Shiji Yang [Sun, 20 Jul 2025 14:56:05 +0000 (22:56 +0800)] 
uboot-mediatek: move Asus ZenWiFi BT8 env file to defenvs directory

The popular Mediatek target has many u-boot modified devices. This
change can keep the u-boot source code tidy.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
3 days agoqualcommax: ipq50xx: fix tsens node status to enable thermal sensor 19564/head
Shubham Vishwakarma [Mon, 28 Jul 2025 04:12:00 +0000 (09:42 +0530)] 
qualcommax: ipq50xx: fix tsens node status to enable thermal sensor

The tsens node had an extra space in the "okay" status string, preventing
thermal sensors from being properly registered. This patch corrects it to
enable proper thermal monitoring support.

Signed-off-by: Shubham Vishwakarma <shubhamvis98@fossfrog.in>
Link: https://github.com/openwrt/openwrt/pull/19564
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agotools: pkgconf: update to 2.5.1 19557/head
Nick Hainke [Sun, 27 Jul 2025 16:22:59 +0000 (18:22 +0200)] 
tools: pkgconf: update to 2.5.1

Changelog:
https://github.com/pkgconf/pkgconf/blob/4fc570f91d9d8d843ab32d2198a5c064538d8ffd/NEWS

Link: https://github.com/openwrt/openwrt/pull/19557
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agotools: mtools: update to 4.0.49 19561/head
Nick Hainke [Sun, 27 Jul 2025 16:57:15 +0000 (18:57 +0200)] 
tools: mtools: update to 4.0.49

Changelog:
- 4.0.45: https://lists.gnu.org/archive/html/info-gnu/2024-09/msg00010.html
- 4.0.46: https://lists.gnu.org/archive/html/info-gnu/2024-11/msg00003.html
- 4.0.47: https://lists.gnu.org/archive/html/info-gnu/2025-01/msg00010.html
- 4.0.48: https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00008.html
- 4.0.49: https://lists.gnu.org/archive/html/info-gnu/2025-06/msg00004.html

Link: https://github.com/openwrt/openwrt/pull/19561
Signed-off-by: Nick Hainke <vincent@systemli.org>
4 days agorealtek: add support for Hasivo S1100W-8XGT-SE switch 17137/head
Andrew LaMarche [Sun, 1 Dec 2024 15:29:48 +0000 (15:29 +0000)] 
realtek: add support for Hasivo S1100W-8XGT-SE switch

This commit adds support for Hasivo S1100W-8XGT-SE switch.

Device specification
--------------------
SoC Type: RTL9303
RAM: Samsung K4B461646E-BYKO (512MB)
Flash: Fudan FM25Q128A (16 MB)
Ethernet: 8x 10G via 2x RTL8264 PHY
LEDs: 2 LEDs, 1 power green, 1 system green
Button: Reset
USB ports: None
Bootloader: Realtek U-Boot - U-Boot 2011.12.(3.6.6.55087) (Nov 13 2022 - 14:37:31)
Fan:            2 fans controlled by STC8G1K08 TSOP-20 microcontroller

Note: The fan appears to operate the same irrespective of the running
firmware. The STC9G1K08 is likely operating independently.

To explore the stock vendor firmware, there are 2 avenues to gain root
access. This is not necessary to install OpenWrt, but is here for
reference.

Root access via serial
----------------------
1. ctrl+t
2. password: switchrtk
3. press 's' for shell

Root access via SSH
-------------------
1. ctrl+t
2. password: switchrtk
3. sys command sh
4. log in with your username+password
5. ctrl+t
6. password: switchrtk
7. press 's' for shell

Credit to https://forum.openwrt.org/t/hasivo-switches/151758/174 for rooting instructions.

Installing OpenWrt
------------------
1. Connect to UART. UART requires soldering an RJ45 connector to the
   console footprint on the board. The header is on the top right of
   this image: https://forum.openwrt.org/uploads/default/original/3X/4/d/4d2ab97fad7e2c5b0a0bdca4de887918c6dcff97.jpeg
2. Set computer IP to 192.168.0.111.
3. Enter bootloader by pressing esc key during boot.
4. Enter password 'Hs2021cfgmg'.
5. Type 'XXXX'.
6. setenv bootcmd 'rtk network on; bootm 0xb4300000'
7. saveenv
8. rtk network on
9. tftpboot 0x84f00000 <openwrt-initramfs>
10. bootm 0x84f00000

Now you can copy over the sysupgrade image and install.

Credit to
https://forum.openwrt.org/t/hasivo-switches/151758/22?u=andrewjlamarche
for u-boot console access instructions.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17137
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: mtdsplit_h3c_vfs: return 0 for non-fatal errors 19475/head
Jan Hoffmann [Sun, 20 Jul 2025 17:07:29 +0000 (19:07 +0200)] 
kernel: mtdsplit_h3c_vfs: return 0 for non-fatal errors

Since Linux 6.7, introduced with commit 5c2f7727d437 ("mtd: mtdpart:
check for subpartitions parsing result"), errors during subpartition
parsing cause all MTD partitions to be torn down.

Since the current mtdsplit driver for devices using H3C VFS returns
-EINVAL if it does not find a file system containing an OpenWrt image,
this makes initial installation of OpenWrt impossible.

Work around this by returning 0 when the file system contains unexpected
data. Also print a message in this case to show what is going on.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/19475
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agoapm821xx: sata: refresh config 19481/head
Rosen Penev [Sun, 20 Jul 2025 23:45:48 +0000 (16:45 -0700)] 
apm821xx: sata: refresh config

ran with make kernel_oldconfig

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19481
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agoapm821xx: run through kernel_oldconfig
Rosen Penev [Sun, 20 Jul 2025 23:38:02 +0000 (16:38 -0700)] 
apm821xx: run through kernel_oldconfig

IDPF goes away and some rust symbol appears.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19481
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agoapm821xx: fix sata config
Rosen Penev [Sun, 20 Jul 2025 23:36:01 +0000 (16:36 -0700)] 
apm821xx: fix sata config

The initial + looks like a copy/paste error.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19481
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agotools: bash: update to 5.3
Nick Hainke [Sun, 27 Jul 2025 10:29:28 +0000 (12:29 +0200)] 
tools: bash: update to 5.3

Changelog:
https://www.mail-archive.com/bug-bash@gnu.org/msg34422.html

Link: https://github.com/openwrt/openwrt/pull/19546
Signed-off-by: Nick Hainke <vincent@systemli.org>
4 days agobase-files: find_mmc_part: Silence error when no MMC exists 19492/head
Andreas Gnau [Tue, 22 Jul 2025 09:12:08 +0000 (11:12 +0200)] 
base-files: find_mmc_part: Silence error when no MMC exists

When running find_mmc_part on a system without MMC or when the given
root device does not exist, an error message is printed to stderr.

    grep: /sys/block/mmcblk*/mmcblk*p*/uevent: No such file or directory

Silence this error message.

Since find_mmc_part is mostly used to get block devices of MMC
partitions and the negative result (partion not found) is checked for by
the caller, the error message can be silenced without causing any
negative impact.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/19492
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agotools: fakeroot: update to 1.37.1.2 19545/head
Nick Hainke [Sun, 27 Jul 2025 10:17:17 +0000 (12:17 +0200)] 
tools: fakeroot: update to 1.37.1.2

There are no patches that need to be refreshed.

Changelog:
https://salsa.debian.org/clint/fakeroot/-/blob/debian/1.37.1.2-1/debian/changelog?ref_type=tags

Link: https://github.com/openwrt/openwrt/pull/19545
Signed-off-by: Nick Hainke <vincent@systemli.org>
4 days agombedtls: Expose MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED config option 19489/head
Karsten Sperling [Mon, 21 Jul 2025 04:25:03 +0000 (16:25 +1200)] 
mbedtls: Expose MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED config option

This enables software that requires this cipher suite (e.g. OpenThread Border
Router) to be compiled against the shared library rather than a separate copy.

Signed-off-by: Karsten Sperling <ksperling@apple.com>
Link: https://github.com/openwrt/openwrt/pull/19489
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agomediatek: add factory image for ipTIME AX3000SM 19497/head
Donghyun Ko [Tue, 22 Jul 2025 17:20:27 +0000 (02:20 +0900)] 
mediatek: add factory image for ipTIME AX3000SM

Adds the capability to flash the factory image using the OEM recovery
software, ipTIME Firmware Wizard(11ac).

Installation
------------
1. Download the OEM recovery software from the manufacturer's website
2. Download the *squashfs-factory.bin file from the OpenWrt website
3. Press a reset button, and power up the router(keep pressing the reset button)
4. Wait more than 10 seconds until the CPU LED stop blinking
5. Connect the router(LAN port) to the PC
6. Run the OEM recovery software and follow the instructions
7. Select the *squashfs-factory.bin file during the router recovery process
8. Wait for the router to boot from *squashfs-factory.bin

Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19497
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agorealtek: implement polling for hardware counters 18415/head
Jan Hoffmann [Tue, 29 Apr 2025 22:02:00 +0000 (00:02 +0200)] 
realtek: implement polling for hardware counters

Maintain 64 bit counters by polling the hardware counters and adding up
the differences. Polling needs to happen just often enough to catch
every single overflow.

As we now have non-overflowing counters now, we can safely calculate
composite counters without getting weird results on overflow. Use this
to follow RFC 3635 more accurately by mapping the hardware counters to
the proper counters, while taking into account hardware quirks as best
as possible.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/18415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agorealtek: implement get_stats64
Jan Hoffmann [Fri, 25 Apr 2025 18:18:52 +0000 (20:18 +0200)] 
realtek: implement get_stats64

By default, the network interface stats are based on software counters,
which only consider traffic from and to the CPU. Implementing the
get_stats64 method allows to report the full hardware counters instead.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/18415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agorealtek: use more specific APIs for ethtool stats where possible
Jan Hoffmann [Fri, 25 Apr 2025 18:10:36 +0000 (20:10 +0200)] 
realtek: use more specific APIs for ethtool stats where possible

The kernel offers several alternatives to get_ethtool_stats which allow
to report some stats in a more structured way. Use them where possible.

Ideally, we should follow RFC 3635 to translate the hardware counters to
the supported frame and octet counters. However, this is not feasible,
as some of the counters are 32-bit only (so it would produce incorrect
results as soon as one of them overflows).

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/18415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agorealtek: fix ethtool stats for RTL839x and RTL930x
Jan Hoffmann [Fri, 4 Apr 2025 11:24:29 +0000 (13:24 +0200)] 
realtek: fix ethtool stats for RTL839x and RTL930x

The MIB registers contain different stats depending on the SoC, and for
RTL930x some stats are in an additional register.

Create separate MIB descs for each SoC to implement this. Also make
reading 64-bit counters more robust, by protecting against an overflow
of the lower 32 bits during the read.

RTL931x remains unsupported, because it uses a table and thus requires
a separate implementation.

While we are at it, rename structs/functions to use the rtldsa prefix.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/18415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agogemini: Remove kmod-md-multipath dependency 19532/head
Hauke Mehrtens [Sat, 26 Jul 2025 11:19:34 +0000 (13:19 +0200)] 
gemini: Remove kmod-md-multipath dependency

kmod-md-multipath was removed in kernel 6.12, remove the dependency here
too.

This fixes the build of the gemini target.

Fixes: d12a603de575 ("kernel: kmod-md-multipath: Depend on kernel 6.6")
Link: https://github.com/openwrt/openwrt/pull/19532
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: kmod-drm-imx-hdmi: Fix kmod-drm-display-helper dependency
Hauke Mehrtens [Sat, 26 Jul 2025 11:17:23 +0000 (13:17 +0200)] 
kernel: kmod-drm-imx-hdmi: Fix kmod-drm-display-helper dependency

Select the kmod-drm-display-helper package instead of depending on it.
kmod-drm-display-helper is hidden now, so the user can not manually
select it.

This fixes the build of the imx target.

Fixes: 8bcc6d1894eb ("kernel: kmod-drm-display-helper: Mark hidden")
Link: https://github.com/openwrt/openwrt/pull/19532
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: kmod-crypto-lib-aescfb: Remove package
Hauke Mehrtens [Sat, 26 Jul 2025 11:12:48 +0000 (13:12 +0200)] 
kernel: kmod-crypto-lib-aescfb: Remove package

kmod-crypto-lib-aescfb is marked hidden and not selected by any other
package, it can not be build.

The Kconfig option in the kernel has no title, so it can not be
selected, it is only selected by CONFIG_TCG_TPM2_HMAC in the kernel.

Fixes: ef2310b031a9 ("kernel: modules: update dependency for kmod-tpm")
Fixes: aa51a1c13a3a ("kernel: kmod-crypto-lib-aescfb: Mark hidden")
Link: https://github.com/openwrt/openwrt/pull/19532
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agoselinux-policy: update version to v2.8.2 19080/head
Dominick Grift [Sun, 1 Jun 2025 11:12:38 +0000 (13:12 +0200)] 
selinux-policy: update version to v2.8.2

Changes since v2.6:

a3383be configgenerate
8d04a3b adds modemnodedev and deletes cdcserialtermdev
77b52c4 README
3b8e1dc README
356211b README: add note about possible regression since selinux 3.6
171a3cc iwinfo
16ae0c1 haproxy
78bcb69 dufsysagent fix
6d88ac5 dufs fixes filecon
c9aa6cd adds dufs
5f15774 net: clean up
02c8e76 unneeded sys.moduleload calls
6334366 README: todo /usr/bin/fit_check_sign
12b659f README: add reminder on polvers
3e93844 related to bpi-r4 Linux 6.12
449cb74 sysagent: use logintermdev (no differences)
20ad31d unlabeled/invalid: these are relative to .
9c85622 iproute2sysagent: ss
c2a7863 README
6d7ad1c adds swaptools swapfile
5b69b63 rpcd related to luci mount tab
afeee67 hotplugcall: iwinfo
6ca7996 adds ttyGS0 tty login serial
f8b2fba wget: read shouldnt be needed
e2faf89 bmon adds ~/.bmonrc
5ede79b adds seccompconffile
3034b20 some comments
9b4b44e loginsysagent: loose end
fe0973c README
ea06908 loginsysagent
2405c46 loginsysagent
9413988 loginsysagent: adds skel for wrapper retry
22929cb Revert "login.cil: skel for login.sh wrapper"
fbcccf4 login.cil: skel for login.sh wrapper
1addde4 Revert "iproute2 ip protocol not supported"
f38fd20 iproute2 ip protocol not supported
5abde97 openssl for openssl s_client -connect ip:port
642ddd9 ttyd
be00125 iproute2 ip
1fbba89 iproute2 ip
342c981 no cap_userns
d241cfb iproute2 ip netns related
6778504 iproute2 ip netns related
491d3c4 iproute2 ip
d2dce16 iproute ip
8b43b1c iproute2 ip basic netns support
107e63f iproute2 ip
1b39905 README: looks like this is a no-go
b081dba acme note about expected removal of /tmp/run/acme/lock
4df51dd haproxy
ee825c8 coreutils: these dont have busybox equivalent
46f4a8b Revert "ucode: needed for custom rules in /etc/nftables.d"
048337a ucode: needed for custom rules in /etc/nftables.d
76b5a69 haproxy pid file
c90f840 openssl s_client -connect
dbbe475 haproxy local logging
7f58831 haproxy /etc/haproxy for stuff like proxy maps
050afc7 acmesysagent
031e0f3 README
2acf047 haproxy and iproute2
c5d1ce4 README
b9304a5 haproxy whitespace
b07c524 adds haproxy and iproute2 ss rules
9bc53b1 acme
6031379 openssl
8d6aaba adds sysfsutils skel
fc24d0c README
12cc1d4 openssl
79cf372 apk leaks memfd
9912075 adds socat dataexecfile
011bf9a adds wget (consolidate uclient-fetch)
0ba70c0 adds ftp reserved ports
5b35e96 README
bd02d73 README
4f6895f netifd comment fix
bd46c1f coreutils
ad13688 dnsmasq: more robust filecon
d5d6dd3 README
74f73d1 fwtool: do_stage2: online sysupgrade sdcard
8251117 README
badfb57 iw/tmux socket creation is implied in macros
5663f89 iwsysagent and readme
6815a6c README
bde5a56 README
6b89f0a hotplug and netif unconfined.exec.file underline "trusted"
862da9b unknown netifd protocols with netif.unconfined.exec.file

Signed-off-by: Dominick Grift <dominick.grift@defensec.nl>
Signed-off-by: Petr Å tetiar <ynezz@true.cz> [package hash fix]
Link: https://github.com/openwrt/openwrt/pull/19080
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agobusybox: fix login applet on selinux
Petr Å tetiar [Mon, 9 Jun 2025 15:44:44 +0000 (15:44 +0000)] 
busybox: fix login applet on selinux

Currently the system boots up, but is unusable because pressing enter
does not provide login with error:

  login: can't get SID for root

This is happenning, because login.c passes the Linux username directly
to get_default_context(), while libselinux expects an SELinux user
identity, causing the call to fail for users without a matching SELinux
name (e.g., root) and aborting login on SELinux-enabled systems.

Fixes: #19075
Upstream-Status: Submitted [https://lists.busybox.net/pipermail/busybox/2025-April/091407.html]
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/19080
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agoimage: also show GRUB options for EROFS 19501/head
Til Kaiser [Wed, 23 Jul 2025 08:08:38 +0000 (10:08 +0200)] 
image: also show GRUB options for EROFS

f7fa414d3b4d967a7e40b162977f48e1be430c1c added support for
EROFS image generation. Generating combined GRUB images for
EROFS is possible, but currently hidden if neither ext4,
jffs2, or squashfs is selected.

This commit adds EROFS as a dependency to the GRUB options.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/19501
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agotools: automake: update to 1.18.1
Robert Marko [Sat, 26 Jul 2025 15:06:16 +0000 (17:06 +0200)] 
tools: automake: update to 1.18.1

automake update to 1.18 broke buildbots as we dont have makeinfo host tool
present, after investigation this was an automake regression that was fixed
in 1.18.1[1].

So, since 1.18.1 contains small number of fixes, update to it instead of
just backporting the single commit.

[1] https://cgit.git.savannah.gnu.org/cgit/automake.git/commit/?id=9b92240af4a8f7a3050c13adec367cf48e9ce063

Fixes: d7d02059407b ("tools/automake: update to 1.18")
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: don't disable MIPS counter on secondary VPEs 19499/head
Markus Stockhausen [Wed, 23 Jul 2025 05:37:02 +0000 (01:37 -0400)] 
realtek: don't disable MIPS counter on secondary VPEs

After observation that timer interrupt 7 always fires on secondary VPEs
the counter was disabled in the startup code. This is a bad idea when
building the kernel with jitterentropy. To generate entropy it makes use
of function random_get_entropy(). On MIPS architecture this simply reads
the counter register on the current core. With a disabled counter it
always returns the same value and the entropy initialization stalls the
core if it runs on a secondary VPE. See backtrace

[   21.736246] rcu: INFO: rcu_sched self-detected stall on CPU
[   21.736246] rcu: INFO: rcu_sched self-detected stall on CPU
[   21.748594] rcu:     1-....: (2100 ticks this GP) idle=064c/1/0x40000002 softirq=7/7 fqs=1050
[   21.748594] rcu:     1-....: (2100 ticks this GP) idle=064c/1/0x40000002 softirq=7/7 fqs=1050
[   21.766871] rcu:     (t=2102 jiffies g=-1187 q=25 ncpus=2)
[   21.766871] rcu:     (t=2102 jiffies g=-1187 q=25 ncpus=2)
[   21.778429] CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.39 #482
[   21.778429] CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.39 #482
[   21.778461] Hardware name: Zyxel GS1900-48
[   21.778461] Hardware name: Zyxel GS1900-48
...
[   21.779757] [<8029b968>] jent_measure_jitter+0xc8/0x10c
[   21.779757] [<8029b968>] jent_measure_jitter+0xc8/0x10c
[   21.779779] [<8029b9e8>] jent_gen_entropy+0x3c/0xb0
[   21.779779] [<8029b9e8>] jent_gen_entropy+0x3c/0xb0
[   21.779800] [<8029bcc0>] jent_entropy_collector_alloc+0x104/0x118
[   21.779800] [<8029bcc0>] jent_entropy_collector_alloc+0x104/0x118
[   21.779822] [<8029bd6c>] jent_entropy_init+0x4c/0x2ec
[   21.779822] [<8029bd6c>] jent_entropy_init+0x4c/0x2ec
[   21.779844] [<8086f184>] jent_mod_init+0x58/0xac
[   21.779844] [<8086f184>] jent_mod_init+0x58/0xac
[   21.779865] [<80100200>] do_one_initcall+0x70/0x250
[   21.779865] [<80100200>] do_one_initcall+0x70/0x250
[   21.779883] [<8085c018>] kernel_init_freeable+0x1f0/0x280
[   21.779883] [<8085c018>] kernel_init_freeable+0x1f0/0x280
[   21.779905] [<8067cba4>] kernel_init+0x20/0xb0
[   21.779905] [<8067cba4>] kernel_init+0x20/0xb0
[   21.779926] [<80101158>] ret_from_kernel_thread+0x14/0x1c
[   21.779926] [<80101158>] ret_from_kernel_thread+0x14/0x1c

This bit of entropy is helpful on these low end devices. Reenable the
counter and simply disable the interrupt.

Fixes: b7aab1958591e6290 ("realtek: SMP handling of R4K timer interrupts")
Reported-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19499
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agorealtek: mdio: RTL838x: move functions over to bus 19484/head
Markus Stockhausen [Mon, 21 Jul 2025 12:34:54 +0000 (08:34 -0400)] 
realtek: mdio: RTL838x: move functions over to bus

The mdio bus functions are still split between ethernet and dsa driver.
Before moving everthing out to a separate mdio driver we decided to
collect everything in the ethernet driver with the rtmdio prefix.
Take over the remaining RTL838x functions.

Remark: This is more or less a copy/paste with function renaming. As
there are still some consumers in the DSA driver the definitions and
inclusions must be flipped.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19484
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agomediatek: add missing #address/size-cells for ELECOM WRC-X3000GS3 19530/head
INAGAKI Hiroshi [Sat, 26 Jul 2025 05:12:47 +0000 (14:12 +0900)] 
mediatek: add missing #address/size-cells for ELECOM WRC-X3000GS3

Add missing `#address-cells = <1>;` and `#size-cells = <0>;` properties
to `&eth` and `&wifi` nodes to resolve the following warnings.

```
../dts/mt7981b-elecom-wrc-x3000gs3.dts:114.3-13: Warning (reg_format): /soc/ethernet@15100000/mac@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-elecom-wrc-x3000gs3.dts:129.3-13: Warning (reg_format): /soc/ethernet@15100000/mac@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-elecom-wrc-x3000gs3.dts:372.3-13: Warning (reg_format): /soc/wifi@18000000/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-elecom-wrc-x3000gs3.dts:378.3-13: Warning (reg_format): /soc/wifi@18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-elecom-wrc-x3000gs3.dts:112.15-125.4: Warning (avoid_default_addr_size): /soc/ethernet@15100000/mac@0: Relying on default #address-cells value
../dts/mt7981b-elecom-wrc-x3000gs3.dts:112.15-125.4: Warning (avoid_default_addr_size): /soc/ethernet@15100000/mac@0: Relying on default #size-cells value
../dts/mt7981b-elecom-wrc-x3000gs3.dts:127.15-136.4: Warning (avoid_default_addr_size): /soc/ethernet@15100000/mac@1: Relying on default #address-cells value
../dts/mt7981b-elecom-wrc-x3000gs3.dts:127.15-136.4: Warning (avoid_default_addr_size): /soc/ethernet@15100000/mac@1: Relying on default #size-cells value
../dts/mt7981b-elecom-wrc-x3000gs3.dts:371.9-375.4: Warning (avoid_default_addr_size): /soc/wifi@18000000/band@0: Relying on default #address-cells value
../dts/mt7981b-elecom-wrc-x3000gs3.dts:371.9-375.4: Warning (avoid_default_addr_size): /soc/wifi@18000000/band@0: Relying on default #size-cells value
../dts/mt7981b-elecom-wrc-x3000gs3.dts:377.9-381.4: Warning (avoid_default_addr_size): /soc/wifi@18000000/band@1: Relying on default #address-cells value
../dts/mt7981b-elecom-wrc-x3000gs3.dts:377.9-381.4: Warning (avoid_default_addr_size): /soc/wifi@18000000/band@1: Relying on default #size-cells value
```

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19530
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agotools/automake: update to 1.18 16522/head
Michael Pratt [Sun, 1 Jun 2025 23:08:12 +0000 (19:08 -0400)] 
tools/automake: update to 1.18

Update to the latest stable release
with the new API versions for binaries.

The temporary patching of shebangs is no longer necessary
since the whitespace check has been changed to a warning.

Part of a patch was upstreamed and therefore removed.

Manually adjusted patch:
 - 000-relocatable.patch
 - 101-do-not-require-files.patch

All other patches are automatically refreshed.

Link: https://lists.gnu.org/archive/html/autotools-announce/2025-05/msg00001.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agogettext-full: update to 0.24.1
Michael Pratt [Sat, 31 May 2025 20:16:10 +0000 (16:16 -0400)] 
gettext-full: update to 0.24.1

Update to a newer bugfix release of gettext.
Include gnulib-l10n as a new dependency.

All patches are automatically refreshed.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agognulib-l10n: add package
Michael Pratt [Sat, 31 May 2025 18:08:53 +0000 (14:08 -0400)] 
gnulib-l10n: add package

This package is a supplement for part of gettext
that uses gnulib sources, and includes the localizations
for messages specifically in gnulib files.

This is being added as a separate package
instead of a build target of gnulib
because that method of acquiring the localizations
requires the use of gettext and would be a reverse dependency.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/gnulib: backport patches for gettext
Michael Pratt [Sat, 31 May 2025 06:47:11 +0000 (02:47 -0400)] 
tools/gnulib: backport patches for gettext

The latest versions of gettext rely on several changes to gnulib
including both changes to modules and new modules
and some previously gettext specific code being moved to gnulib.

Backport these changes in order to allow updating gettext
while using the local gnulib copy of sources.

Add patch:
 - 640-mem-hash-map.patch
 - 645-next-prime.patch
 - 646-hashcode-string.patch
 - 647-hashkey-string.patch
 - 650-package-version.patch
 - 651-package-version-simplify.patch
 - 652-package-version-simplify-further.patch
 - 653-package-version-warning.patch
 - 660-version-stamp.patch
 - 689-vc-mtime.patch
 - 755-clean-temp-hashkey.patch
 - 795-string-desc-rename-functions.patch
 - 796-vc-mtime-less-read.patch
 - 797-vc-mtime-add-api.patch
 - 798-vc-mtime-add-api.patch
 - 799-vc-mtime-old-git.patch
 - 900-str_startswith-module.patch
 - 901-str_endswith-module.patch

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/gnulib: update to branch stable-202501
Michael Pratt [Sat, 7 Jun 2025 04:48:20 +0000 (00:48 -0400)] 
tools/gnulib: update to branch stable-202501

Move to the June 2025 update of the first 2025 stable branch
in order to better support updating gettext to the latest versions.

More instances of blocking the defining of functions
that use reallocarray() is needed for portability with macOS
as more similar functions have been added.
And one instance is removed as the function was removed.
Refer to a previous commit to explain the need for this.

Manually adjusted patch:
 - 150-portable-tdestroy.patch
 - 160-flag-reallocarray.patch
 - 200-force-disable-after-configure.patch

Removed upstreamed patch:
 - 500-acl-function-name.patch

All other patches are automatically refreshed.

Ref: 5ade7ee60 ("tools/gnulib: add macros to skip reallocarray() functions")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agonftables: remove usage of autoreconf
Michael Pratt [Fri, 16 May 2025 22:37:01 +0000 (18:37 -0400)] 
nftables: remove usage of autoreconf

The usage of automake is left over
after the patch which required it was removed
since the new configure option
"--without-cli" was added to upstream.

Remove the usage of autotools to save build time.

Ref: 72e6e0b85 ("nftables: introduce experimental nftables")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/elfutils: enable parallel building
Michael Pratt [Wed, 25 Sep 2024 08:28:41 +0000 (04:28 -0400)] 
tools/elfutils: enable parallel building

There are multiple subdirectories for elfutils
and more than one is not dependent on another,
so enabling parallel building can save time
if multiple cores are available.

The change in build time for the package
is as much as 20% when cores are not in use by other jobs.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/elfutils: update to 0.192
Michael Pratt [Mon, 21 Oct 2024 19:31:29 +0000 (15:31 -0400)] 
tools/elfutils: update to 0.192

Update to the next release.

Removed upstream patch:
 - 000-backport-iquote-include.patch
 - 010-backport-mips-support-reloc.patch
 - 014-backport-mips-support-stack.patch
 - 015-backport-mips-support-regs.patch
 - 095-src-unused-variable.patch
 - 096-lib-config_h.patch
 - 097-libcpu-config_h.patch
 - 098-libdw-maintainer-clean.patch
 - 099-remove-unlocked-stdio.patch

Manually adjusted patch:
 - 012-backport-mips-support-readelf.patch
 - 013-backport-mips-support-elflint.patch
 - 101-shared-conditional.patch

All other patches are automatically refreshed.

Link: https://sourceware.org/pipermail/elfutils-devel/2024q4/007540.html
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/elfutils: update MIPS support patches
Michael Pratt [Mon, 21 Oct 2024 13:47:25 +0000 (09:47 -0400)] 
tools/elfutils: update MIPS support patches

The original patch series partially added by commit
f97da2c61 ("tools/elfutils: add missing MIPS reloc support")
now has a v3 which has half of it's commits accepted.

To prepare for updating to the new release,
use the new series that includes backports.

Manually adjusted patch:
 - 010-backport-mips-support-reloc.patch

Add patch:
 - 011-backport-mips-support-strip.patch
 - 012-backport-mips-support-readelf.patch
 - 013-backport-mips-support-elflint.patch
 - 014-backport-mips-support-stack.patch
 - 015-backport-mips-support-regs.patch

Tested-by: Tony Ambardar <itugrok@yahoo.com>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/elfutils: add maintainer-clean to clean target
Michael Pratt [Tue, 24 Sep 2024 22:50:15 +0000 (18:50 -0400)] 
tools/elfutils: add maintainer-clean to clean target

Use the clean recipe during build, so that files already
generated by the bootstrapping within the release are removed
before the bootstrap script is run again.

Automake with modified rules must be ran
in order to generate a Makefile that does delete itself or libtool.

In order to enable rules for building what is removed,
maintainer mode is required for configuring.

Building from tracked sources only with maintainer mode
requires a lexical analyzer, so add dependency for bison.

Override an automake variable "am__CONFIG_DISTCLEAN_FILES"
in order to prevent removing config.status and other configure files
so that configure stage does not need to be ran twice.

The function obstack_printf() is not present on macOS,
so use the available gnulib module and their dependencies.

Many more modules from gnulib are now needed,
and some replacements of some functions must be skipped
to prevent build errors at link time.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/elfutils: backport version 0.192 portability patches
Michael Pratt [Sun, 20 Oct 2024 12:33:21 +0000 (08:33 -0400)] 
tools/elfutils: backport version 0.192 portability patches

These patches will be present in version 0.192 release.

Include them before the update
to support changes before updating
and in order to have a more organized git history.

Manually refreshed patch:
 - 110-objects-manifest.patch

Add patch:
 - 095-src-unused-variable.patch
 - 096-lib-config_h.patch
 - 097-libcpu-config_h.patch
 - 098-libdw-maintainer-clean.patch
 - 099-remove-unlocked-stdio.patch

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/elfutils: replace dependency hack with upstream include path fix
Michael Pratt [Sun, 20 Oct 2024 11:49:50 +0000 (07:49 -0400)] 
tools/elfutils: replace dependency hack with upstream include path fix

In order to solve the problem of the possibility that
the "stack" binary is incorrectly included as a header
while the compiler looks for the standard C++ header "stack",
a workaround forcing a dependency between building "stack"
and the C++ program was introduced.

This upstream fix uses the compiler "-iquote" option
in order to avoid looking for standard headers
in the current working directory
and blocks the default inclusion of "-I ."
to the compiler flags.

The upstream fix happens to be incomplete,
so add an extra patch to fix an additional instance
and then remove the workaround.

Also, adjust the way DEFAULT_INCLUDES is overridden
in the build Makefile by using the "-iquote" option
in the same manner in order to remove all instances
of the default inclusion for the current directory.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/automake: do not delete libtool in clean targets
Michael Pratt [Sun, 6 Oct 2024 08:23:10 +0000 (04:23 -0400)] 
tools/automake: do not delete libtool in clean targets

For the building of some packages, it is helpful
to completely clean the packaged release copy of the source,
however this usually deletes libtool if used,
otherwise causing the need to run the bootstrap script twice.

Not deleting libtool allows compilation to continue directly
after cleaning pre-generated files in the package distribution.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools: require coreutils to build util-linux
Michael Pratt [Fri, 27 Sep 2024 04:20:38 +0000 (00:20 -0400)] 
tools: require coreutils to build util-linux

The install stage of util-linux uses the install utility
with GNU options which is provided to macOS by coreutils.

Before, Make coincidentally built them in the right order,
this makes the prerequisite explicit.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools: require coreutils to build findutils
Michael Pratt [Fri, 27 Sep 2024 05:18:03 +0000 (01:18 -0400)] 
tools: require coreutils to build findutils

The install stage of findutils uses the install utility
with GNU options which is provided to macOS by coreutils.

Before, Make coincidentally built them in the right order,
this makes the prerequisite explicit.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools: require coreutils to build elfutils
Michael Pratt [Fri, 27 Sep 2024 03:20:38 +0000 (23:20 -0400)] 
tools: require coreutils to build elfutils

The version of the rmdir utility in macOS is POSIX-only
while elfutils uses the GNU extended options while building.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools: build coreutils for development targets
Michael Pratt [Thu, 3 Oct 2024 05:06:04 +0000 (01:06 -0400)] 
tools: build coreutils for development targets

Include the coreutils utilities required for macOS
and other non-GNU friendly OSs to products like the SDK.

This also allows manually building coreutils on Linux
without having to manually edit this Makefile.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agoprereq: prefer existing built coreutils as symlink target
Michael Pratt [Thu, 3 Oct 2024 04:57:29 +0000 (00:57 -0400)] 
prereq: prefer existing built coreutils as symlink target

For the utilities provided by coreutils
but required before coreutils is built,
if coreutils is actually built already, prefer a symlink to
the built versions instead of the host machine's version.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agoprereq: add support for creating relative symlinks
Michael Pratt [Thu, 3 Oct 2024 04:49:10 +0000 (00:49 -0400)] 
prereq: add support for creating relative symlinks

For targets that install symlinks, like coreutils,
if the links happen to be deleted, let prereq stage
be capable of creating them again with a relative path.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/coreutils: provide the rmdir utility
Michael Pratt [Fri, 27 Sep 2024 03:17:41 +0000 (23:17 -0400)] 
tools/coreutils: provide the rmdir utility

Use the rmdir utility provided by GNU coreutils for macOS
in order to be able to use the option "--ignore-fail-on-non-empty".

Some other tools such as elfutils use this while building.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/coreutils: replace symlinks to build prerequisites
Michael Pratt [Mon, 30 Sep 2024 07:55:14 +0000 (03:55 -0400)] 
tools/coreutils: replace symlinks to build prerequisites

Before building, symlinks are made from existing utilities
on the host machine, because they are necessary before
coreutils can be built.

Instead of leaving these utilities as symlinks,
replace them with the copy provided by the coreutils build
in order to increase version control for these utilities
and to have a real copy for targets like the SDK.

The utilities required before building and provided by coreutils are
cp, install, realpath, seq, and stat.

Let all of the utilities be installed with the "g" prefix,
then, existing symlinks named without the "g" prefix are safely replaced
with a new symlink using the coreutils version of `ln` just built
in order to prevent an inconsistent state of the file
since these utilities must always be available.

While at it, sort the list alphabetically.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/coreutils: disable uninstall target
Michael Pratt [Mon, 30 Sep 2024 19:59:06 +0000 (15:59 -0400)] 
tools/coreutils: disable uninstall target

GNU coreutils is a unique case where we require
some of the utilities on the host machine
before anything is built.

The prerequisite is handled by symlinks to the host binaries
in the staging directory that are installed
by the build system and that are expected to remain
as long as the corresponding stampfile exists.

Because the binaries built by coreutils
will replace the symlinks, the uninstall target
will actually delete the symlinks
long before the build finishes whenever it is ran.

This can cause the utilities to be temporarily missing
from the controlled part of the shell's PATH,
so disable the removal of the coreutils utilities.
The appropriate way to clear all of the programs and links
would be `make dirclean`.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/coreutils: add maintainer-clean to clean target
Michael Pratt [Fri, 27 Sep 2024 03:30:51 +0000 (23:30 -0400)] 
tools/coreutils: add maintainer-clean to clean target

Use the clean recipe during build, so that files already
generated by the bootstrapping within the release are removed
before the bootstrap script is run again.

Automake with modified rules must be ran
in order to generate a Makefile that does not delete itself.

Override an automake variable "am__CONFIG_DISTCLEAN_FILES"
in order to prevent removing config.status and other configure files
so that configure stage does not need to be ran twice.

Redefine MAINTAINERCLEANFILES with Make functions
to avoid deleting the targets of gettext and gperf rules.

In order to prevent an inconsistent state of `install`
since this utility must always be available as a prerequisite,
do not allow it to be removed.

Instead of preventing the removal of the config.h header,
the Makefile supports regenerating it quickly.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/coreutils: use automake during bootstrap
Michael Pratt [Sun, 6 Oct 2024 08:13:16 +0000 (04:13 -0400)] 
tools/coreutils: use automake during bootstrap

This was previously not possible because
part of the source code for coreutils in the form of
extra gnulib modules was missing from the release distribution.

Now that the local modules from coreutils source
is included in coreutils releases,
the bootstrap script can be ran without skipping
automake in the autoreconf stage after importing modules
by using fake paths to each autotools program,
and instead use the real paths to our modified autotools.

Because we do not require tools for building documentation,
continue to fake the paths to autopoint and gtkdocize.

Remove the skipping of imports of some source files
which is no longer necessary.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/coreutils: update to 9.6
Michael Pratt [Tue, 6 May 2025 18:54:55 +0000 (14:54 -0400)] 
tools/coreutils: update to 9.6

Update to the next stable release.

Prevent the need for gperf to build
gperf based headers due to new gnulib versions
by skipping replacement of gperf files.

Without Automake, there are some
existing macro conflicts
due to the new version of gnulib,
causing build errors with some source files,
so skip those file replacements.

All patches are automatically refreshed.

Link: https://lists.gnu.org/archive/html/coreutils/2025-01/msg00049.html
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/coreutils: do not require gettext or gperf
Michael Pratt [Thu, 15 May 2025 18:02:02 +0000 (14:02 -0400)] 
tools/coreutils: do not require gettext or gperf

The bootstrap configuration is set to require
gettext and gperf for regenerating documentation and headers.
However, these steps are skipped in favor
of not building documentation and using existing headers.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/automake: control all cleaning with clean variables
Michael Pratt [Tue, 8 Oct 2024 10:55:47 +0000 (06:55 -0400)] 
tools/automake: control all cleaning with clean variables

Automake previously makes rules for the target maintainer-clean
to remove both the contents of MAINTAINERCLEANFILES and BUILT_SOURCES.

In order to have finer control over what is removed,
let there only be a rule for deleting MAINTAINERCLEANFILES,
and set MAINTAINERCLEANFILES to a default value of BUILT_SOURCES
if only conditional or missing, and append BUILT_SOURCES if user-defined.

In order to maintain conditional values for MAINTAINERCLEANFILES
while keeping a default value, change the behavior of automake
to output unconditional definitions before conditions.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/libtool: remove parallel building
Michael Pratt [Tue, 24 Sep 2024 22:17:09 +0000 (18:17 -0400)] 
tools/libtool: remove parallel building

There is only one subdirectory for libtool that actually compiles,
so enabling parallel building has no significant beneficial effects.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/libtool: add maintainer-clean to clean target
Michael Pratt [Mon, 23 Sep 2024 03:38:21 +0000 (23:38 -0400)] 
tools/libtool: add maintainer-clean to clean target

Use the clean recipe during build, so that files already
generated by the bootstrapping within the release are removed
before the bootstrap script is run again.

Override an automake variable "am__CONFIG_DISTCLEAN_FILES"
and related variables for their dependencies
in order to prevent removing config.status and other configure files
so that configure stage does not need to be ran twice.

Automake with modified rules must be ran
in order to generate a Makefile that does not delete itself.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/automake: do not delete Makefile in clean targets
Michael Pratt [Fri, 4 Oct 2024 05:25:13 +0000 (01:25 -0400)] 
tools/automake: do not delete Makefile in clean targets

For the building of some packages, it is sometimes helpful
to completely clean the packaged release copy of the source,
however this usually both requires and deletes the Makefile,
causing the need to run the configure stage twice.

Not deleting the Makefile allows compilation to continue directly
after cleaning pre-generated files in the package distribution.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/gnulib: use git archive as download source
Michael Pratt [Tue, 8 Jul 2025 18:57:58 +0000 (14:57 -0400)] 
tools/gnulib: use git archive as download source

Snapshot downloads, whether from GNU cgit or GNU gitweb,
are becoming more unreliable and unstable.
Use the GNU gnulib git repository server for downloads
because GNU has disabled cgit server snapshots due to performance issues.

Other possible options include GNU gitweb snapshot or a git bundle download
but these methods either may also have similar performance issues
or require additions to the build system to handle the method
beyond the previous commit.

In case snapshots are to be used again for build tools in the future,
the previous commit reduces the tarball generation attempts
for the original source of snapshots in order to reduce server impact.

A conversation regarding server performance issues and alternatives is linked.

Link: https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00124.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agodownload: add support for gitweb snapshots
Michael Pratt [Sat, 31 May 2025 18:00:45 +0000 (14:00 -0400)] 
download: add support for gitweb snapshots

When downloading a snapshot archive from gitweb,
the filename is not part of the URL,
and adding the filename to the URL causes errors.

The gitweb API exclusively uses query parameters
instead of paths in order to execute snapshot downloads.

Add a condition to the Perl download script
that removes the filename if the relevant
query parameter matches in the URL.

Also, to reduce server load of the original sources
try the Openwrt CDN servers first for these downloads.

Even though snapshot downloads are not ideal
due to the impact on the source's server health,
they are better for download performance than using git only.
Therefore, attempting it last will reduce the impact
and thus encourage maintainers to keep the option enabled.

This change is partly inspired by a conversation linked below
about snapshot downloads and server performance issues
which led to the feature being disabled for a particular server.

Link: https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00124.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/gnulib: use exact directory copy for install
Michael Pratt [Sat, 31 May 2025 18:07:05 +0000 (14:07 -0400)] 
tools/gnulib: use exact directory copy for install

The python implementation of gnulib-tool
uses a hidden file as the independent main function.

A copy with glob ('*') does not include hidden files
at the top level directory, so use whole directory copy
instead and remove the patch for a non-hidden python file.

Ensure the directory does not already exist
by attempting uninstall first to remove it
and by not using "install" to create a directory.

Rename the clean target to uninstall, as it handles
the staging directory and not the build directory.

Removed:
 - 021-python-main.patch

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/gnulib: update to branch stable-202407
Michael Pratt [Tue, 6 May 2025 17:57:24 +0000 (13:57 -0400)] 
tools/gnulib: update to branch stable-202407

Bump to the next stable branch with the May 2025 update.

Add a patch to compensate for gnulib-tool being further split up
into independent shell and python implementations
by using a non-hidden version of the main.py file.

Add a patch for the python implementation of gnulib-tool
in order to ignore the required version of autoconf in configure.ac
being lower than the required version of autoconf for gnulib
if the version that is being run exceeds the required version for both,
and adjust existing autoconf version shell script patch to new filename.

Backport a patch for a change in function naming convention
for forward compatibility with tool releases after this stable branch.

Added:
 - 020-python-version.patch
 - 021-python-main.patch
 - 500-acl-function-name.patch

Manually Adjusted:
 - 010-autoconf-version.patch
 - 160-flag-reallocarray.patch

Existing patches are automatically refreshed.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/automake: update to 1.17
Michael Pratt [Sun, 11 May 2025 07:06:41 +0000 (03:06 -0400)] 
tools/automake: update to 1.17

Update to the latest stable release.

This is the automake API that newer packages
such as libtool 2.5.4 is bootstrapped with,
and is required for bootstrapping it again.

Manually Adjusted:
 - 000-relocatable.patch

All other patches are automatically refreshed.

Link: https://lists.gnu.org/archive/html/autotools-announce/2024-07/msg00000.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/automake: hardcode portable location for Perl
Michael Pratt [Sun, 11 May 2025 16:23:17 +0000 (12:23 -0400)] 
tools/automake: hardcode portable location for Perl

The latest automake version 1.17 includes a restriction against whitespace
for the configure variable $PERL, which is set to "/usr/bin/env perl"
for portability reasons with products like the SDK.

Instead of waiting until the next version of automake is released
for this error to be converted to a warning,
set the shebang of automake and aclocal manually with a patch.

In past git history, these lines have been patched before,
but only to remove the "-w" flag in favor of setting global warnings
in the script itself so that env does not strip the option.

The other purposes of Perl during building can use
the static staging directory path without any limitations.

Also, the configure variable "am_cv_prog_PERL_ithreads"
for the detection of Perl threads support
has been removed since 2013 in favor of dynamic runtime detection.
Remove our manual setting of this variable value as it has no effect.

Ref: 1ef07eee4 ("automake: forcibly disable perl ithreads support")
Ref: 182626687 ("ithreads: use runtime (not configure time) detection of perl threads") # automake.git
Ref: f6c581cc3 ("automake: portability fixes")
Ref: 87f3365d9 ("Revert "tools/automake: bump to 1.17"")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/util-linux: include macOS system uuid header
Michael Pratt [Thu, 3 Jul 2025 19:09:25 +0000 (15:09 -0400)] 
tools/util-linux: include macOS system uuid header

The type definition of uuid_string_t and possibly other details
used by macOS SDKs like XCode is missing from util-linux.

Headers on macOS have a different inclusion guard
compared to the unique util-linux "_UL" prefix.

This uuid.h header is guaranteed to be present since macOS 10.8 and iOS 6
even without the presence of XCode or other SDKs on the system,
so adding an include_next directive is safe after checking for clang.

Link: https://developer.apple.com/documentation/foundation/uuid
Link: https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/uuid.3.html
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/bc: let getopt() prototype be defined normally
Michael Pratt [Tue, 24 Jun 2025 19:35:33 +0000 (15:35 -0400)] 
tools/bc: let getopt() prototype be defined normally

Add a patch in order to remove an obsolete workaround
that is currently causing issues on some macOS systems.

Add patch:
 - 000-getopt-prototype.patch

Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/bc: override SUBDIRS variable with Makefile
Michael Pratt [Tue, 24 Jun 2025 19:32:09 +0000 (15:32 -0400)] 
tools/bc: override SUBDIRS variable with Makefile

Instead of editing the SUBDIRS variable with a patch,
it can be overriden at the end of the command line when invoking Make.

Also, remove use of autoreconf, as this patch
was the only one that made it necessary.

Removed:
 - 001-no_doc.patch

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotools/bc: remove useless patch
Michael Pratt [Tue, 24 Jun 2025 18:23:49 +0000 (14:23 -0400)] 
tools/bc: remove useless patch

The remaining changes in this patch to the configure script
has no effect at all since autoreconf is used with bc
and the recent update to bc removed the need to patch
the original set of changes in order to fix building.

Remove the patch.

Removed:
 - 002-fix-libmath.patch

Fixes: abd424c3e ("tools/bc: update to 1.08.1")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: dsa: enhance pcs_get_state() for RTL83xx 19524/head
Markus Stockhausen [Fri, 25 Jul 2025 06:31:11 +0000 (02:31 -0400)] 
realtek: dsa: enhance pcs_get_state() for RTL83xx

Currently the SerDes driven SFP ports give strange ethtool readings
on RTL83xx devices. Especially duplex and speed are shown even if
no link is up and running. That leads to confusion because the MAC
reports arbitrary values.

Enhance the readout by refactoring the pcs_get_state() function.
Calculate speed/duplex/pause only if link is detected. Additionally
add reporting of 10G for SFP+ on RTL839x.

ethtool for empty SFP cage before/after

root@OpenWrt:~# ethtool lan9
Settings for lan9:
        Supported ports: [ MII ]
        Supported link modes:   1000baseT/Full
                                1000baseKX/Full
                                1000baseX/Full
                                1000baseT1/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseT/Full
                                1000baseKX/Full
                                1000baseX/Full
                                1000baseT1/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Link detected: no

root@OpenWrt:~# ethtool lan9
Settings for lan9:
        Supported ports: [ MII ]
        Supported link modes:   1000baseT/Full
                                1000baseKX/Full
                                1000baseX/Full
                                1000baseT1/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseT/Full
                                1000baseKX/Full
                                1000baseX/Full
                                1000baseT1/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Link detected: no

ethtool with inserted but NOT connected 1G module before/after

root@OpenWrt:~# ethtool lan9
Settings for lan9:
        Supported ports: [ FIBRE ]
        Supported link modes:   1000baseX/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseX/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Link detected: no

root@OpenWrt:~# ethtool lan9
Settings for lan9:
        Supported ports: [ FIBRE ]
        Supported link modes:   1000baseX/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseX/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Link detected: no

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19524
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agokernel: Reorder kernel configuration 19480/head
Hauke Mehrtens [Sun, 20 Jul 2025 22:27:25 +0000 (00:27 +0200)] 
kernel: Reorder kernel configuration

This was done by running:
./scripts/kconfig-reorder.sh

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agox86: Activate CONFIG_DRM_ACCEL
Hauke Mehrtens [Sun, 20 Jul 2025 22:25:43 +0000 (00:25 +0200)] 
x86: Activate CONFIG_DRM_ACCEL

This allows building the kmod-drm-ivpu which depends on
CONFIG_DRM_ACCEL. This module is x86_64 only.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agobcm27xx: Make kernel modules depend on target
Hauke Mehrtens [Sun, 20 Jul 2025 22:23:56 +0000 (00:23 +0200)] 
bcm27xx: Make kernel modules depend on target

The kmod-rpi-panel-attiny-regulator and kmod-rpi-panel-7inch-touchscreen
are included in target modules.mk file, they should also depend on the target,
otherwise they can be selected from every target.

Fix the AutoProbe for panel-raspberrypi-touchscreen too.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agoarmsr: Make kernel modules depend on target
Hauke Mehrtens [Sun, 20 Jul 2025 20:01:14 +0000 (22:01 +0200)] 
armsr: Make kernel modules depend on target

The kmod-imx2-wdt, kmod-imx7-ulp-wdt and kmod-wdt-sp805 are included in
target modules.mk file, they should also depend on the target, otherwise
they can be selected from every target.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agoapm821xx: kmod-ata-dwc: Make kernel module depend on target
Hauke Mehrtens [Sun, 20 Jul 2025 19:59:58 +0000 (21:59 +0200)] 
apm821xx: kmod-ata-dwc: Make kernel module depend on target

The kmod-ata-dwc is included in target modules.mk file, it should also
depend on the target, otherwise it can be selected from every target.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agokernel: kmod-fs-nfs-v4: Package nfs_layout*.ko files
Hauke Mehrtens [Sun, 20 Jul 2025 17:58:50 +0000 (19:58 +0200)] 
kernel: kmod-fs-nfs-v4: Package nfs_layout*.ko files

The nfs_layout_flexfiles.ko and nfs_layout_nfsv41_files.ko file are
build automatically when CONFIG_NFS_V4_1 is selected, we can not
deactivate them. Pack them into the NFS package too. I do not know if we
should also load them automatically.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agokernel: kmod-dsa-notag: Add driver
Hauke Mehrtens [Sun, 20 Jul 2025 17:53:36 +0000 (19:53 +0200)] 
kernel: kmod-dsa-notag: Add driver

The CONFIG_B53 kernel config option will select this driver. Add
the driver to the kernel config menu and make kmod-dsa-b53 depend on
it.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agokernel: kmod-phy-bcm7xxx: Add driver
Hauke Mehrtens [Sun, 20 Jul 2025 17:44:42 +0000 (19:44 +0200)] 
kernel: kmod-phy-bcm7xxx: Add driver

The CONFIG_BCMGENET kernel config option will select this driver. Add
the driver to the kernel config menu and make kmod-bcmgenet depend on
it.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agokernel: kmod-lib-parman: Mark hidden
Hauke Mehrtens [Sun, 20 Jul 2025 17:27:16 +0000 (19:27 +0200)] 
kernel: kmod-lib-parman: Mark hidden

The Kernel config option CONFIG_PARMAN has no title and can not be
directly selected. Do the same for this kmod and make it hidden.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agokernel: kmod-lib-objagg: Mark hidden
Hauke Mehrtens [Sun, 20 Jul 2025 17:26:44 +0000 (19:26 +0200)] 
kernel: kmod-lib-objagg: Mark hidden

The Kernel config option CONFIG_OBJAGG has no title and can not be
directly selected. Do the same for this kmod and make it hidden.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>