Commit Graph

65013 Commits

Author SHA1 Message Date
Michael Pratt
b07b8c8b43 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>
2025-07-26 14:38:07 +02:00
Michael Pratt
03b9b7e894 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>
2025-07-26 14:38:07 +02:00
Michael Pratt
793be94a3a 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>
2025-07-26 14:38:07 +02:00
Michael Pratt
89056bd7b1 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>
2025-07-26 14:38:07 +02:00
Michael Pratt
346872e720 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>
2025-07-26 14:38:07 +02:00
Michael Pratt
46506776e6 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>
2025-07-26 14:38:07 +02:00
Michael Pratt
3e95b955fc 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>
2025-07-26 14:38:07 +02:00
Markus Stockhausen
ded18a3683 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>
2025-07-26 13:23:42 +02:00
Hauke Mehrtens
88c7803197 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>
2025-07-26 01:11:21 +02:00
Hauke Mehrtens
3c246f6d03 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>
2025-07-26 01:11:21 +02:00
Hauke Mehrtens
27643ebfa9 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>
2025-07-26 01:11:21 +02:00
Hauke Mehrtens
da0736c16f 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>
2025-07-26 01:11:21 +02:00
Hauke Mehrtens
e9ae1f678c 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>
2025-07-26 01:11:21 +02:00
Hauke Mehrtens
6ff85791c5 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
75f090ef96 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
5a04f17857 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
1ba25858ff 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
2aea616d11 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
8bcc6d1894 kernel: kmod-drm-display-helper: Mark hidden
The Kernel config option CONFIG_DRM_DISPLAY_HELPER 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
666d43eafb kernel: kmod-drm-buddy: Mark hidden
The Kernel config option CONFIG_DRM_BUDDY 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
dd8c498a20 kernel: kmod-video-async: Mark hidden
The Kernel config option CONFIG_V4L2_ASYNC 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
b43ef49cf2 kernel: kmod-video-fwnode: Mark hidden
The Kernel config option CONFIG_V4L2_FWNODE 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
aa51a1c13a kernel: kmod-crypto-lib-aescfb: Mark hidden
The Kernel config option CONFIG_CRYPTO_LIB_AESCFB 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
476902afa6 kernel: kmod-crypto-engine: Mark hidden
The Kernel config option CONFIG_CRYPTO_ENGINE 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
858ce9ad1e kernel: kmod-industrialio-backend: Mark hidden
The Kernel config option CONFIG_IIO_BACKEND 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>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
9f6a7bf3ea kernel: kmod-pinctrl-mcp23s08: Depend on PINCTRL
The kernel driver configuration depends on PINCTRL.
Show this driver only on targets supporting pinctrl.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
810b86fb7d kernel: kmod-backlight-pwm/kmod-hwmon-pwmfan: Depend on PWM_SUPPORT
These drivers depend on the kernel option CONFIG_PWM, only add them to
OpenWrt for targets which have PWM support.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
7b3e9b7bab kernel: kmod-ag71xx: Depend on ath79 only
The kernel driver configuration depends on ath79 or compile test and not
on PCI. Allow this package in OpenWrt only for the ath79 target.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
aa04a5366c kernel: kmod-video-cpia2: Remove driver
This driver was removed in kernel 6.3 [0], remove it from OpenWrt too.

[0]: https://git.kernel.org/linus/9ea8a9c72a9b4d24e6045ee25f5e465dc22f9f55

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
33e8f316fd kernel: kmod-ledtrig-audio: Depend on kernel 6.6
This driver was removed in kernel 6.10 [0], make it depend on kernel 6.6
for now.

[0]: https://git.kernel.org/linus/a24de38de8046c075777bd6b8a291ae1ee56f71c

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
5ad165e490 kernel: kmod-sched-act-ipt: Depend on kernel 6.6
This driver was removed in kernel 6.8 [0], make it depend on kernel 6.6
for now.

[0]: https://git.kernel.org/linus/ba24ea129126362e7139fed4e13701ca5b71ac0b

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens
b1968034c2 kernel: kmod-hwmon-max6642: Depend on kernel 6.6
This driver was removed in kernel 6.11 [0], make it depend on kernel 6.6
for now.

[0]: https://git.kernel.org/linus/ed99ae74f2328e42286880c946953a8f9dd95a7e

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:19 +02:00
Hauke Mehrtens
d12a603de5 kernel: kmod-md-multipath: Depend on kernel 6.6
This driver was removed in kernel 6.8 [0], make it depend on kernel 6.6
for now.

[0]: https://git.kernel.org/linus/d8730f0cf4effa015bc5e8840d8f8fb3cdb01aab

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:19 +02:00
Shiji Yang
71fa099ef7 projectsmirrors: remove kernel mirror ftp.riken.jp
This mirror has not been synchronized for over a year.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19509
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:05:44 +02:00
Shiji Yang
f696a18743 projectsmirrors: update Apache mirror apache.cs.utah.edu
The original URL no longer works.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19509
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:05:43 +02:00
Shiji Yang
4b3b16be70 projectsmirrors: remove some GNOME mirrors
These removed sites no longer provide GNOME mirror services.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19509
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:05:43 +02:00
Leo Barsky
b6276e33eb kernel: bump 6.12 to 6.12.40
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.40
Removed upstreamed patches:
   generic/pending-6.12/680-net-fix-TCP-UDP-fraglist-GRO.patch
   generic/pending-6.12/802-nvmem-u-boot-env-align-endianness-of-crc32-values.patch
1- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.40&id=7c532f222361191fe228e54c5d3e0026fef8a5a0
2- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.40&id=c29a2328af96338d327cd851803338423c6f07a1
All other patches auto-refreshed.

Signed-off-by: Leo Barsky <leobrsky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19514
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:00:09 +02:00
Leo Barsky
05d344cb2c kernel: bump 6.6 to 6.6.100
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.100
Manually refreshed:
    823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch
All other patches auto-refreshed.

Signed-off-by: Leo Barsky <leobrsky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19514
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:00:09 +02:00
Jan Hoffmann
15a4d621d8 realtek: actually enable 2500Base-X
The SerDes setup function needs to be called to make 2500Base-X work.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/19517
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-25 23:52:49 +02:00
Hauke Mehrtens
b087961ccb tools: firmware-utils: update to Git HEAD (2025-07-24)
075cdc0 iptime-crc32: add support for ipTIME AX3000Q
48ababa iptime-crc32: add support for ipTIME AX3000SM
f29de74 iptime-crc32: Add device support for ipTIME AX6000M

Link: https://github.com/openwrt/openwrt/pull/19520
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-25 23:49:48 +02:00
Eric Fahlgren
ac9a97e49b build: call ipkg-remove using xargs if #args>=512
The wildcard call to clean up luci package (luci*) can pick up over
2,300 files when the full tree is built. Running make package/luci/clean
or a second run of make package/luci/compile would fail with an
'Argument list too long' error.

To avoid that, a maybe_use_xargs function was created that runs the
command straight as usual if the number of arguments is < 512, or saves
the list in a temporary file and feeds it to xargs otherwise.

This is an update to current file names and resubmission of
https://lists.openwrt.org/pipermail/openwrt-devel/2020-February/027525.html

Fixes: https://github.com/openwrt/openwrt/issues/19510
Fixes: https://github.com/openwrt/luci/issues/7869
Authored-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19516
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-07-25 08:41:27 +02:00
Markus Stockhausen
19bc6e8c7f realtek: phy: add basic RTL8218B setup
On some devices (like ZyXEL GS1920) the phys are not initialized and patched
by the bootloader. This is done through the vendor SDK when the software
starts. To make these devices usable too, provide the most basic setup
sequence for the RTL8218B.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19491
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-24 00:44:02 +02:00
Markus Stockhausen
9533e2e574 realtek: dsa: relax capability checks for 2.5G modes
The driver currently uses two checks to verify the capabilities. These
are ..._phylink_get_caps() and ..._pcs_validate(). For RTL930x these
must allow 2.5G modes. Enhance that as follows:

Add 2500BASEX to phylink_get_caps(). Sort the interfaces alphabetically
and rename the function to the new prefix. IMPORTANT REMARK! Until now
this function allowed the XGMII mode (10G only parallel interface) that
was somehow mixed with the Realtek proprietary mode XSGMII (10G SGMII).
Remove it to avoid further confusion.

Looking upstream pcs_validate() is used less and less. There are only
2 consumers left in 6.16 and the calling location reads:

	/* Validate the link parameters with the PCS */
	if (pcs->ops->pcs_validate) {
		ret = pcs->ops->pcs_validate(pcs, supported, state);
		if (ret < 0 || phylink_is_empty_linkmode(supported))
			return -EINVAL;

		/* Ensure the advertising mask is a subset of the
		 * supported mask.
		 */
		linkmode_and(state->advertising, state->advertising,
			     supported);
	}

There is no need for this additional check. Drop the functions.

Tested-by: Jan Hoffmann <jan@3e8.eu>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19429
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-24 00:35:00 +02:00
Tianling Shen
69f8f17f00 mbedtls: restore previous configuration behavior
Fallback to default mbedtls configurations in case of the package is
not configured. It is possible for some reasons it get built even if
it's unselected because of build system bugs or other build-only
dependencies. In this case current behavior will comment out all
necessary configurations and lead build errors.

Fixes: 5359639c2b ("mbedtls: Apply configuration in Configure instead of Prepare")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19495
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-24 00:30:05 +02:00
Felix Fietkau
6c22e8ef53 ucode: add padding to uc_resource_ext_t
Fixes misaligned allocations for ext resources

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-23 12:16:06 +02:00
Felix Fietkau
7b0ce213e9 udebug: update to Git HEAD (2025-07-23)
5d10084ea885 lib-ucode.c: add #define _GNU_SOURCE
a95364b41d52 udebug-cli: fix terminating uloop
c00eb9b685a8 ucode: use FILE handle for pcap output
4265167cb6e8 ucode: add error reporting to pcap_write
4a908ee731a6 udebug-cli: stop event loop on write failure
6e04f4187231 ucode: use ucv_resource_create_ex for remote rings
c297f04e1852 ucode: drop use ucv_resource_create
f207d37a1055 ucode: add support for specifying ring format
98683a94bcdd ucode: support appending array data, similar to socket.send()
a7ecd483ed38 ucode: allow calling udebug.init() multiple times
d4a4c788c416 ucode: fix allocation size of local ring meta
184706abaf50 ucode: add timestamp argument to foreach()
8442c948c193 ucode: add function for getting ring information
f4958a4c591a ucode: add const entries for enum udebug_format
14d4fec36993 udebug-cli: add logstream command
6ed8536142bb ucode: fix entries/size confusion

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-23 11:53:26 +02:00
Felix Fietkau
19a327dde5 libubox: update to Git HEAD (2025-07-23)
b7acc8e6fd5e remove compatibility code for older json-c versions
a1acd99f2eb7 udebug: remove obsolete debug message
49056d178f42 udebug: fix issue with snapshot of remote ring

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-23 11:53:25 +02:00
Felix Fietkau
c1c1112006 toolchain/gcc: prevent the use of LDRD/STRD on ARMv5TE
These instructions are for 64-bit load/store. On ARMv5TE, the CPU
requires addresses to be aligned to 64-bit. When misaligned, behavior is
undefined (effectively either loads the same word twice on LDRD, or
corrupts surrounding memory on STRD).

On ARMv6 and newer, unaligned access is safe.

Removing these instructions for ARMv5TE is necessary, because GCC
ignores alignment information in pointers and does unsafe optimizations
that have shown up as bugs in various places.

This patch was originally added more than 11 years ago in commit b050f87d13,
but got lost 6 years ago, when gcc 9.1 was added in 88c07c6552.

This primarily affects the kirkwood and ixp4xx targets

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-22 12:03:05 +02:00
Hauke Mehrtens
e53c53b7d5 mediatek: Remove modules.builtin file
This file should be generated automatically at runtime by the kernel
build system.

Link: https://github.com/openwrt/openwrt/pull/19473
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-22 00:01:38 +02:00
Marcin FM
28a88ff7e6 ramips: EAP615-Wall v1: fix bootloop by reducing LZMA dictionary
Fix bootloop on TP-Link EAP615-Wall v1 by reducing LZMA dictionary
size. Before this patch and after an upgrade to kernel 6.12 this
device couldn't boot a kernel because of an error: "lzma compressed:
uncompress error 1".

I have chosen -d22 as dictionary size as suggested by @namiltd.
The usual sizes for problematic devices are -d16, -d20, -d22. I
have confirmed with my tests that this device can boot with a value
up to -d27, but there is no size benefit from values above -d21,
therefore -d22 is good enough.

See also: https://github.com/openwrt/openwrt/issues/19403

Signed-off-by: Marcin FM <marcin@ipv8.pl>
Link: https://github.com/openwrt/openwrt/pull/19433
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-21 23:56:32 +02:00