1
1
Commit Graph

24360 Commits

Author SHA1 Message Date
Jack Sun
62ea6aad47 openssl: update to 3.5.6
This release incorporates the following bug fixes and mitigations:

Fixed incorrect failure handling in RSA KEM RSASVE encapsulation.
(CVE-2026-31790)

Fixed loss of key agreement group tuple structure when the DEFAULT keyword
is used in the server-side configuration of the key-agreement group list.
(CVE-2026-2673)

Fixed potential use-after-free in DANE client code.
(CVE-2026-28387)

Fixed NULL pointer dereference when processing a delta CRL.
(CVE-2026-28388)

Fixed possible NULL dereference when processing CMS KeyAgreeRecipientInfo.
(CVE-2026-28389)

Fixed possible NULL dereference when processing CMS
KeyTransportRecipientInfo.
(CVE-2026-28390)

Fixed heap buffer overflow in hexadecimal conversion.
(CVE-2026-31789)

No need refresh patches

Signed-off-by: Jack Sun <sunjiazheng321521@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22847
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-11 12:18:54 +02:00
Nick Hainke
ccfa908ad3 ethtool: drop rss-input-xfrm compatibility patch
The rss-input-xfrm workaround for Linux 6.6 is no longer needed with
current kernel versions. Remove the patch and the associated
--enable-rss-input-xfrm configure flag.

Link: https://github.com/openwrt/openwrt/pull/22841
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-10 23:17:09 +02:00
Shiji Yang
6b998c6737 arm-trusted-firmware-mediatek: update to v2026-01-23
The highlight of this version is that the bl2 size will be reduced
by 60+ KB. The MT7987 SPI interface selection hack was replaced by
upstream implementation with the new symbol SPIM_NAND_PREFER_SPI2.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2026-04-09 15:42:00 +01:00
Rosen Penev
66fe390b73 uboot-env: ath79: add wndap360
This is just a typical setup.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-09 10:47:52 +02:00
Mieczyslaw Nalewaj
3e42e349d4
treewide: strip trailing whitespace
Strip trailing whitespace in all code:
find . -type f | grep "\.c$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.h$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dts$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dtsi$" | xargs sed -i 's/[ \t]\+$//'

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22840
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-04-08 10:05:53 +02:00
Janusz Dziedzic
1c0aec0a85 uboot-mediatek: bpi-r4-lite fix emmc frequency
Use lower emmc frequency.
This fix issue when mmc write, from uboot, failed.

Failed case:
 - we boot from NAND
 - choose "Install bootloader, recovery and production to eMMC"

MMC erase: dev # 0, block # 0, count 1024 ... 1024 blocks erased: OK
MMC write: dev # 0, block # 0, count 1024 ... mmc write failed
0 blocks written: ERROR

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@holisticon.pl>
Link: https://github.com/openwrt/openwrt/pull/22615
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-08 00:17:56 +02:00
Tan Zien
56be1d1530 kernel: modules: add hinic3 support
Add support for Huawei 3rd gen NIC

Signed-off-by: Tan Zien <nabsdh9@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-07 02:05:51 +02:00
John Audia
ad90dbd51e e2fsprogs: update to version 1.47.4
Changelog: https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.4

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-07 01:31:04 +02:00
Stefan Kalscheuer
a9e22459e4 mwlwifi: add patch series for kernel 6.18 compatibility
Migrate timer handling (removed in 6.13) and netdev dummy initialization
(removed in 6.16) to new methods with guards to not break older kernels.

This resolves compilation errors due to missing del_timer_sync(),
from_timer() and init_dummy_netdev().

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/22775
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 16:03:37 +02:00
Hauke Mehrtens
f48ef0040b mbedtls: update to 3.6.6
This version fixes some security problems:
 * Client impersonation while resuming a TLS 1.3 session
   (CVE-2026-34873)
 * Entropy on Linux can fall back to /dev/urandom (CVE-2026-34871)
 * PSA random generator cloning (CVE-2026-25835)
 * Compiler-induced constant-time violations (CVE-2025-66442)
 * Null pointer dereference when setting a distinguished name
   (CVE-2026-34874)
 * Buffer overflow in FFDH public key export (CVE-2026-34875)
 * FFDH: lack of contributory behaviour due to improper input validation
   (CVE-2026-34872)
 * Signature Algorithm Injection (CVE-2026-25834)
 * CCM multipart finish tag-length validation bypass (CVE-2026-34876)
 * Risk of insufficient protection of serialized session or context data
   leading to potential memory safety issues (CVE-2026-34877)
 * Buffer underflow in x509_inet_pton_ipv6() (CVE-2026-25833)

Changelog: https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.6

Size increases by 470 bytes on aarch64:
343995 bin/packages/aarch64_generic/base/libmbedtls21-3.6.5-r1.apk
344465 bin/packages/aarch64_generic/base/libmbedtls21-3.6.6-r1.apk

Link: https://github.com/openwrt/openwrt/pull/22787
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 16:01:10 +02:00
Eric Fahlgren
08bf7ef6d2 util-linux: add column utility
Include the column utility to allow simple formatting of columnar
output.

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22782
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 16:00:00 +02:00
Nick Hainke
f4440c35b2 ethtool: update to 6.19
Version 6.19 - Feb 14, 2026
	* Feature: support HW timestamp configuration (--set-hwtimestamp-cfg)
	* Feature: display HW timestamp source (-T)
	* Feature: support PLCA notifications (--get/set-plca-cfg)
	* Feature: add PSE priority management support (--show/set-pse)
	* Feature: support PSE notifications (--show/set-pse)
	* Feature: support configuring RSS on IPv6 Flow Label (-n/-N)
	* Feature: support FEC bit error histograms (--show-fec)
	* Feature: register dump decoding for TI K3 CPSW and its ALE table (-d)
	* Fix: fix missing headers in text output
	* Fix: fix print_string when the value is NULL (-Werror=format-security)
	* Fix: fix JSON output of SFP diagnostics
	* Fix: fix duplicated JSON keys in module info
	* Misc: clarify that symmetric RSS may be on by default (-x/-X)
	* Misc: add AppStream metainfo file to %files section

Link: https://github.com/openwrt/openwrt/pull/22780
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-06 14:04:24 +02:00
Shiji Yang
5bbf58c4a6 kernel: modules: fix kmod-iavf dependencies
Add missing dependency kmod-ptp to fix the build error. We also
add symbol CONFIG_PTP_1588_CLOCK_OPTIONAL explicitly for kmod-ptp
because it is selected by CONFIG_PTP_1588_CLOCK. Fix:

Package kmod-iavf is missing dependencies for the following libraries:
ptp.ko

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 01:38:41 +02:00
Shiji Yang
cce5a153f7 kernel: modules: fix kmod-crypto-misc build error
cryptd has been decoupled from crypto-misc in the 6.18 kernel. Fix:

ERROR: module '/home/runner/work/Actions_/Actions_/openwrt/build_dir/target-i386_pentium4_musl/linux-x86_generic/linux-6.18.20/crypto/cryptd.ko' is missing.
make[3]: *** [modules/crypto.mk:873: /home/runner/work/Actions_/Actions_/openwrt/bin/targets/x86/generic/packages/kmod-crypto-misc-6.18.20-r1.apk] Error 1

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 01:38:41 +02:00
Shiji Yang
aae80160a6 kernel: modules: add new driver package phy-mtk-tphy
MediaTek T-PHY controller supports multiple usb2.0, usb3.0 ports,
PCIe and SATA. ARM mediatek and ramips/mt7621 targets require this
package to make the XHCI work properly.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22094
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 01:05:51 +02:00
Rosen Penev
cb5e197696 mac80211: ath9k: remove entropy patch
This was replaced upstream with a proper rng device that feeds into
/dev/random. No need for this anymore.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22766
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 01:00:17 +02:00
Felix Fietkau
53931f03dd wpa_supplicant: include ctrl-event on the DPP channel
Simplifies managing state

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-04-05 15:00:12 +00:00
Felix Fietkau
14145abcb2 wpa_supplicant: add ifname to recieved ctrl-event notifications
Simplifies subscribing to multiple objects.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-04-05 15:00:12 +00:00
Nick Hainke
acf9796d7d hostapd: update to 2026-04-02
Patches automatically refreshed.

Link: https://github.com/openwrt/openwrt/pull/22745
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-04 09:28:28 +02:00
Joshua Klinesmith
b178e05d9b wifi-scripts: fix ucode erp_domain and fils_cache_id values
The ucode path generates different erp_domain and fils_cache_id
values than the legacy shell path due to three mismatches:

1. erp_domain md5 input missing trailing newline (echo adds \n)
2. erp_domain output truncated to 4 chars instead of 8 (shell
   uses head -c 8)
3. fils_cache_id md5 input missing trailing newline
4. erp_domain missing fallback to mobility_domain

Same bug pattern as mobility_domain fixed in commit b1dc2736db.

Fixes: #21768
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joshua Klinesmith <joshuaklinesmith@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22677
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-04 00:18:31 +02:00
Clemens Hopfer
63d0b5c243 base-files: MAJOR/MINOR not sequential, use DISKSEQ instead
Export the unique, monotonic DISKSEQ sequence drive number instead of its
major/minor numbers to identify the boot disk and directly match the partition
in export_partdevice with PARTN.

The MINOR blockdevice numbers are not guaranteed sequential across disks, it
can happen that disks enumerate before their partitions are probed, resulting
in interleaved MINOR numbers breaking the partition offset calculation:

major minor  #blocks  name
 259        0  250059096 nvme0n1
 259        2       8192 nvme0n1p1
 259        3     491520 nvme0n1p2
 259        4        239 nvme0n1p128
 259        1  250059096 nvme1n1
 259        5  250057728 nvme1n1p1

Signed-off-by: Clemens Hopfer <openwrt@wireloss.net>
Link: https://github.com/openwrt/openwrt/pull/18962
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-03 20:40:49 +02:00
Mieczyslaw Nalewaj
c9479d48be mt76: pass LED define via ccflags-y
Replace the deprecated EXTRA_CFLAGS with ccflags-y so that
the -DCONFIG_MT76_LEDS define is applied correctly by the kernel
build system. EXTRA_CFLAGS is no longer honored by recent
kbuilds[1]; ccflags-y is the supported variable and works
on kernels 6.12 and 6.18.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.20&id=f77bf01425b11947eeb3b5b54685212c302741b8

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22737
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-03 19:13:17 +02:00
Philip Prindeville
5e7ba98019 wwan: add Quectel modems
Add some of the more current 4G and 5G modems.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Link: https://github.com/openwrt/openwrt/pull/13426
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-03 18:47:49 +02:00
Anand Kumar
b23e92c3ac wireguard-tools: use kconfig dependency for ip instead of runtime
The conditional runtime dependency on the ip package was originally
intended to only pull in the ip package when busybox ip is not
configured. However, in APK-based builds the BUSYBOX_CONFIG_*
variables may not be resolvable at package metadata generation
time, causing the ip dependency to be unconditionally baked into
the .apk package. This forces users to install ip-tiny or ip-full
even though busybox already provides the ip command.

Revert to the previous +@BUSYBOX_CONFIG_IP / +@BUSYBOX_CONFIG_FEATURE_IP_LINK
kconfig-level dependencies. These ensure busybox ip support is
enabled at config time without creating a runtime package dependency.
Both options default to y, and wireguard.uc only uses basic
ip link commands that busybox fully supports.

Fixes: openwrt#22637

Signed-off-by: Anand Kumar <anandvtu16158@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22652
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-01 14:49:19 +02:00
Paweł Owoc
263751111e uboot-envtools: add u-boot-env for EX5601/WX5600
Add ability to read u-boot-env partition as sys env
for Zyxel EX5601 and WX5600 with custom partitions.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22670
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-01 14:17:21 +02:00
Zoltan HERPAI
923b69ad16 wolfssl: allow enabling RISC-V assembler optimization
wolfssl implemented AES ECB/CBC/CTR/GCM/CCM in RISC-V assembler,
achieving massive speed improvements on boards with such CPUs.

Benchmarking on a Sifive Unleashed (oldest Linux-capable RISC-V board),
results are:

No optimization:
wolfCrypt Benchmark (block bytes 1048576, min 1.0 sec each)
RNG                         10 MiB took 1.772 seconds,    5.644 MiB/s
AES-128-CBC-enc              5 MiB took 16.264 seconds,    0.307 MiB/s
AES-128-CBC-dec              5 MiB took 16.314 seconds,    0.306 MiB/s
AES-192-CBC-enc              5 MiB took 19.460 seconds,    0.257 MiB/s
AES-192-CBC-dec              5 MiB took 19.480 seconds,    0.257 MiB/s
AES-256-CBC-enc              5 MiB took 22.633 seconds,    0.221 MiB/s
AES-256-CBC-dec              5 MiB took 22.715 seconds,    0.220 MiB/s
AES-128-GCM-enc              5 MiB took 16.324 seconds,    0.306 MiB/s
AES-128-GCM-dec              5 MiB took 16.450 seconds,    0.304 MiB/s
AES-192-GCM-enc              5 MiB took 19.487 seconds,    0.257 MiB/s
AES-192-GCM-dec              5 MiB took 19.621 seconds,    0.255 MiB/s
AES-256-GCM-enc              5 MiB took 22.644 seconds,    0.221 MiB/s
AES-256-GCM-dec              5 MiB took 22.805 seconds,    0.219 MiB/s
[...]

Enabled optimization:
wolfCrypt Benchmark (block bytes 1048576, min 1.0 sec each)
RNG                         10 MiB took 1.459 seconds,    6.855 MiB/s
AES-128-CBC-enc             15 MiB took 1.028 seconds,   14.592 MiB/s
AES-128-CBC-dec             15 MiB took 1.006 seconds,   14.916 MiB/s
AES-192-CBC-enc             15 MiB took 1.187 seconds,   12.634 MiB/s
AES-192-CBC-dec             15 MiB took 1.180 seconds,   12.713 MiB/s
AES-256-CBC-enc             15 MiB took 1.359 seconds,   11.037 MiB/s
AES-256-CBC-dec             15 MiB took 1.352 seconds,   11.096 MiB/s
AES-128-GCM-enc             10 MiB took 1.140 seconds,    8.769 MiB/s
AES-128-GCM-dec             10 MiB took 1.140 seconds,    8.770 MiB/s
AES-192-GCM-enc             10 MiB took 1.256 seconds,    7.963 MiB/s
AES-192-GCM-dec             10 MiB took 1.261 seconds,    7.931 MiB/s
AES-256-GCM-enc             10 MiB took 1.373 seconds,    7.285 MiB/s
AES-256-GCM-dec             10 MiB took 1.371 seconds,    7.291 MiB/s

HMAC- and SHA- functions also have significant improvements.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Link: https://github.com/openwrt/openwrt/pull/22702
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-01 14:13:11 +02:00
Rosen Penev
f259fae36c libunwind: replace local patches with upstream
libunwind solves these in different ways.

ppc-musl is still pending upstream.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21057
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-01 12:07:40 +02:00
John Audia
57ce8f50e6 rtl8812au-ct: restrict to kernels ≤ 6.18
The rtl8812au-ct driver is obsolete and replaced by rtw88. It will need
tons of work to compile against 6.18 so for now limit it to 6.12.

Co-authored-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:11 +01:00
John Audia
24802c9e94 kernel: video: 6.18: update module files
Update module files for kernel 6.18

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:11 +01:00
John Audia
d1eda73620 kernel: sound: 6.18: update module files
This kernel reorganized HDA drivers into sound/hda/ subdirectories and
split codec drivers into modular components. Core modules moved to
sound/hda/{core,common,codecs,controllers}/ with version conditionals
(@ge6.18/@lt6.18) added for backward compatibility.

Codec drivers split into multiple modules:
- Realtek: library + 10 chipset modules (ALC260-ALC882)
- HDMI: base + 6 vendor modules (Intel, ATI, NVIDIA, etc.)
- Cirrus: 3 chipset modules (CS420X, CS421X, CS8409)

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:11 +01:00
John Audia
8dc0680883 kernel: other: 6.18: update module files
Update module files for kernel 6.18

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:11 +01:00
Til Kaiser
f7cac23dc5 kernel: usb-dwc3-qcom: package legacy Qualcomm glue driver
Linux 6.18 now builds both dwc3-qcom.ko and dwc3-qcom-legacy.ko
under CONFIG_USB_DWC3_QCOM. [1]

Upstream qcom-ipq4019.dtsi still uses the legacy Qualcomm DWC3 DT
layout, so ipq40xx boards require the legacy glue driver for USB
host bring-up.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b958b03c82d2a1c470225355e43248c679a949a5

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Mieczyslaw Nalewaj
ac9ea1be34 mt76: use hrtimer_setup() in mt76x02u beacon init
Replace the two-step hrtimer initialization pattern with a single
consolidated call to hrtimer_setup().
The legacy approach of calling hrtimer_init() followed by manual
assignment to timer.function is deprecated. The new hrtimer_setup()
helper atomically initializes the timer and assigns the callback
function in one operation, eliminating the race-prone intermediate
state where the timer is initialized but lacks a handler.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Mieczyslaw Nalewaj
0584503bab mac80211: ath9k: gpio: adapt to 6.16+ gpio_chip API change
Linux 6.16 changed the return type of gpio_chip.set() from void to int.
Add a version check so the driver builds correctly on both older and
newer kernels[1].

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.16&id=fb52f3226cab41b94f9e6ac92b1108bce324e700

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Mieczyslaw Nalewaj
e0a8c4fc82 mac80211: restore pre-6.14 debugfs_fops handling
Reintroduce old-style debugfs file_operations for kernels < 6.14 and
switch the drivers to use debugfs_short_fops + debugfs_create_file_aux
on >= 6.14. This restores compatibility with older kernels while keeping
the new debugfs API working on 6.14+.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Mieczyslaw Nalewaj
364be1fd7f mac80211: fix build failure on kernel 6.18
Kernel since version 6.16 defines `SOCKWQ_ASYNC_NOSPACE` and
SOCKWQ_ASYNC_WAITDATA` in the socket_flags enum, which causes redefinition
errors when compiling the backport package[1].
Since kernel 6.12 also has them defined, the test and definition of these
constants have been completely abandoned. Thanks to this, there are
no compilation errors on either kernel 6.12 or 6.18.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.16&id=0e81cfd971dc4833c699dcd8924e54a5021bc4e8

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Mieczyslaw Nalewaj
94c7f4a25f packages: 6.18: update modules files
Update modules files for kernel 6.18.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Mieczyslaw Nalewaj
354a26b094 crypto: eip93: use in-tree driver for kernel 6.18
This patch set introduces support for using the in-tree (mainline)
EIP93 crypto driver for kernel 6.18 and later, along with additional
improvements and fixes:
 - Conditional Kconfig/Makefile handling for crypto-hw-eip93 to enable use of the mainline driver with kernel 6.18+.
 - Patch 926: Use software AES fallback for small requests in the EIP93 driver.
 - Patch 927: Add `mediatek,mtk-eip93` compatible string for upstream kernel device trees.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Mieczyslaw Nalewaj
2569a339ed packages: sctp: 6.18: add missing symbol
Add missing CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA256 for kernel 6.18

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
John Audia
460afd1045 kernel: kmod-fs-nfs-v4: add option for kernel-6.18
Add a config option for the 6.18 series of kernels

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Mieczyslaw Nalewaj
c1599ce82e package: gpio-button-hotplug: adapt to kernel 6.18
Change GPIOF_ACTIVE_LOW to gpiod_toggle_active_low

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Ignat Loskutov
e9531860e6 wolfssl: update to 5.9.0
Release Notes:
https://www.wolfssl.com/wolfssl-5-9-0-released/

Fixes CVEs:
- CVE-2026-3548
- CVE-2026-3549
- CVE-2026-3547
- CVE-2026-2646
- CVE-2026-3849
- CVE-2026-0819
- CVE-2026-1005
- CVE-2026-2645
- CVE-2026-3230
- CVE-2026-3229
- CVE-2026-3579
- CVE-2026-3580
- CVE-2026-3503
- CVE-2026-4159
- CVE-2026-4395

Signed-off-by: Ignat Loskutov <ignat.loskutov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22595
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-03-28 10:24:25 +01:00
Felix Fietkau
714f657f3f netifd: use procd_add_reload_data_trigger
Reload config if any network or wifi interfaces/devices were changed
via procd data.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-27 20:04:04 +01:00
Felix Fietkau
95e2b3e9b8 procd: add support for multiple arguments to procd_add_reload_data_trigger
This allows triggering on multiple types of procd data changes for
config reload.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-27 20:04:04 +01:00
Felix Fietkau
55a6831eee wifi-scripts: add support for passing uuid to hostapd
This is needed to maintain a shared WPS device UUID across radios.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-27 20:04:04 +01:00
Daniel Golle
27568d21d3 kernel: add DSA driver for MaxLinear MxL862xx switches
Backport upstream driver and apply pending downstream patches to
support using the MaxLinear MxL86252 and MxL86282 switches.

The driver supports a native proprietary 8-byte DSA special tag format
(mxl862xx) as well as using an 802.1Q-based DSA tag (mxl862xx-8021q).

All basic bridge, VLAN and LAG operations are supported. A single port
can be used as mirror port. Hardware counters are made available as
ethtool stats or directly serve as interface counters (bytes,
packets).

The switch runs a complex ZephyrOS-based firmware on an integrated
ARC microcontroller, the driver uses the firmware management API over
MDIO to interact with the switch hardware.

Note that the firmware needs to be rather recent (WSP 1.0.78 or later)
to work well with this driver. It can be updated at runtime using devlink.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-03-27 15:49:23 +00:00
Dmitry Mostovoy
eb6dd61a8d mediatek: add cudy wr3000h-v1 ubootmod
This allows us to use the full size of nand,
which extends ubi size from 64Mb to 122.25Mb.

1. Log in to the device and backup all the partitions,
especially unique "Factory" and "bdata" partitions
from System -> Backup / Flash Firmware -> Save mtdblock contents.
2. Install kmod-mtd-rw to unlock mtd partitions for writing
  apk update && apk add kmod-mtd-rw && insmod mtd-rw i_want_a_brick=1

3. Write new OpenWrt (U-Boot Layout) "BL2" and "FIP":
  mtd -e BL2 write openwrt-mediatek-filogic-cudy_wr3000h-v1-ubootmod-preloader.bin BL2
  mtd -e FIP write openwrt-mediatek-filogic-cudy_wr3000h-v1-ubootmod-bl31-uboot.fip FIP
4. Set static IP on your PC: "192.168.1.254", gateway "192.168.1.1"
5. Serve openwrt-mediatek-filogic-cudy_wr3000h-v1-ubootmod-initramfs-recovery.itb
using TFTP server.
6. Connect Router LAN with PC LAN.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt initramfs recovery has booted,
clean "/dev/mtd5" ubi partition to utilize maximum of free space:
  ubidetach -p /dev/mtd5; ubiformat /dev/mtd5 -y; ubiattach -p /dev/mtd5
  ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
  ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Perform sysupgrade.

Signed-off-by: Dmitry Mostovoy <stavultras@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21943
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-27 11:27:39 +01:00
Dmitry Mostovoy
cfc17e81e1 mediatek: add cudy wr3000e-v1 ubootmod
This allows us to use the full size of nand,
which extends ubi size from 64Mb to 122.25Mb.

1. Log in to the device and backup all the partitions,
especially unique "Factory" and "bdata" partitions
from System -> Backup / Flash Firmware -> Save mtdblock contents.
2. Install kmod-mtd-rw to unlock mtd partitions for writing
  apk update && apk add kmod-mtd-rw && insmod mtd-rw i_want_a_brick=1

3. Write new OpenWrt (U-Boot Layout) "BL2" and "FIP":
  mtd -e BL2 write openwrt-mediatek-filogic-cudy_wr3000e-v1-ubootmod-preloader.bin BL2
  mtd -e FIP write openwrt-mediatek-filogic-cudy_wr3000e-v1-ubootmod-bl31-uboot.fip FIP
4. Set static IP on your PC: "192.168.1.254", gateway "192.168.1.1"
5. Serve openwrt-mediatek-filogic-cudy_wr3000e-v1-ubootmod-initramfs-recovery.itb
using TFTP server.
6. Connect Router LAN with PC LAN.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt initramfs recovery has booted,
clean "/dev/mtd5" ubi partition to utilize maximum of free space:
  ubidetach -p /dev/mtd5; ubiformat /dev/mtd5 -y; ubiattach -p /dev/mtd5
  ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
  ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Perform sysupgrade.

Signed-off-by: Dmitry Mostovoy <stavultras@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21943
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-27 11:27:39 +01:00
Dmitry Mostovoy
b7b4938303 mediatek: add cudy wr3000s-v1 ubootmod
This allows us to use the full size of nand,
which extends ubi size from 64Mb to 122.25Mb.

1. Log in to the device and backup all the partitions,
especially unique "Factory" and "bdata" partitions
from System -> Backup / Flash Firmware -> Save mtdblock contents.
2. Install kmod-mtd-rw to unlock mtd partitions for writing
  apk update && apk add kmod-mtd-rw && insmod mtd-rw i_want_a_brick=1

3. Write new OpenWrt (U-Boot Layout) "BL2" and "FIP":
  mtd -e BL2 write openwrt-mediatek-filogic-cudy_wr3000s-v1-ubootmod-preloader.bin BL2
  mtd -e FIP write openwrt-mediatek-filogic-cudy_wr3000s-v1-ubootmod-bl31-uboot.fip FIP
4. Set static IP on your PC: "192.168.1.254", gateway "192.168.1.1"
5. Serve openwrt-mediatek-filogic-cudy_wr3000s-v1-ubootmod-initramfs-recovery.itb
using TFTP server.
6. Connect Router LAN with PC LAN.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt initramfs recovery has booted,
clean "/dev/mtd5" ubi partition to utilize maximum of free space:
  ubidetach -p /dev/mtd5; ubiformat /dev/mtd5 -y; ubiattach -p /dev/mtd5
  ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
  ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Perform sysupgrade.

Signed-off-by: Dmitry Mostovoy <stavultras@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21943
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-27 11:27:39 +01:00
Dmitry Mostovoy
6b3b7c7dc1 mediatek: add cudy wr3000p-v1 ubootmod
This allows us to use the full size of nand,
which extends ubi size from 64Mb to 122.25Mb.

1. Log in to the device and backup all the partitions,
especially unique "Factory" and "bdata" partitions
from System -> Backup / Flash Firmware -> Save mtdblock contents.
2. Install kmod-mtd-rw to unlock mtd partitions for writing
  apk update && apk add kmod-mtd-rw && insmod mtd-rw i_want_a_brick=1

3. Write new OpenWrt (U-Boot Layout) "BL2" and "FIP":
  mtd -e BL2 write openwrt-mediatek-filogic-cudy_wr3000p-v1-ubootmod-preloader.bin BL2
  mtd -e FIP write openwrt-mediatek-filogic-cudy_wr3000p-v1-ubootmod-bl31-uboot.fip FIP
4. Set static IP on your PC: "192.168.1.254", gateway "192.168.1.1"
5. Serve openwrt-mediatek-filogic-cudy_wr3000p-v1-ubootmod-initramfs-recovery.itb
using TFTP server.
6. Connect Router LAN with PC LAN.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt initramfs recovery has booted,
clean "/dev/mtd5" ubi partition to utilize maximum of free space:
  ubidetach -p /dev/mtd5; ubiformat /dev/mtd5 -y; ubiattach -p /dev/mtd5
  ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
  ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Perform sysupgrade.

Signed-off-by: Dmitry Mostovoy <stavultras@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21943
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-27 11:27:39 +01:00
Dmitry Mostovoy
1bf57600cf arm-trusted-firmware-mediatek: add Cudy DDR4 target
Since there are some similar devices from Cudy (only WR3000P now)
this will allow to create OpenWrt U-Boot layout for all of them
using same DDR4 target.

Signed-off-by: Dmitry Mostovoy <stavultras@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21943
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-27 11:27:39 +01:00
Zhi-Jun You
0a6683e4ab wifi-scripts: ucode: make he_twt_required depends on he_twt_responder
Doesn't make sense to have he_twt_required enabled without
he_twt_respodner.

Signed-off-by: Zhi-Jun You <hujy652@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/22577
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-25 16:02:23 +01:00
Zhi-Jun You
3b69cf0844 wifi-scripts: ucode: add support for setting he_twt_responder
In hostapd conf this option is set to 1 by default.
Then it's set to 0 if the HE MAC capability bit is not present.

Add an option in wifi-scripts to manually control it.

Signed-off-by: Zhi-Jun You <hujy652@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/22577
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-25 16:02:23 +01:00
Nick Hainke
20d6296141 hostapd: update to 2026-03-23
Remove upstreamed patch:
- 001-RSN-Fix-pmksa_cache_flush-prototype-mismatch-in-non-.patch
  -> https://git.w1.fi/cgit/hostap/commit/?id=f54565c6293d03bf7da5b7c4af496a62c51f0aaf

Tested-By: Daniel Pawlik <pawlik.dan@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22578
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-03-25 14:00:49 +01:00
Felix Fietkau
befa61b1b6 bridger: update to Git HEAD (2026-03-23)
de7e00a5a673 flow: Fix vlan forwarding check with vlan filtering disabled

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-23 10:57:16 +01:00
Felix Fietkau
6c12207ff0 mt76: update to Git HEAD (2026-03-21)
a665659dee50 wifi: mt76: fix beacon monitor for MBSSID nontransmitted BSS
1b26f5f63d42 wifi: mt76: mt7996: Decrement sta counter removing the link in mt7996_mac_reset_sta_iter()
0c1dedac48c3 wifi: mt76: mt7996: Switch deflink to seclink only if link lookup does not fail
7fa21be01b97 wifi: mt76: mt7996: Rely on msta_link link_id in mt7996_vif_link_remove()
492a407111c3 wifi: mt76: mt7996: Account active links in valid_links fields
ade83e44eda0 wifi: mt76: mt7996: Move mlink deallocation in mt7996_vif_link_remove()
efebeea5c058 wifi: mt76: mt7996: Destroy vif active links in mt7996_remove_interface()
a4c790aef40d wifi: mt76: mt7996: Add mcu APIs to enable/disable vif links.
018f60316d4d wifi: mt76: mt7996: Destroy active sta links in mt7996_mac_sta_remove()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-23 10:57:16 +01:00
Felix Fietkau
68a35447d9 ucode: nl80211: fix HE MCS parsing
Do not parse an u8 array as u16.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-23 10:57:16 +01:00
Hauke Mehrtens
9b1f73ec31 uboot-lantiq: fix C-style comments in AWK scripts
Modern gawk rejects C-style /* ... */ comments in AWK code, treating
them as regex patterns where '*' has nothing to quantify. Replace all
such comments with AWK-style '#' comments in lantiq_bdi_conf.awk and
lantiq_ram_init_uart.awk.

Also replace the pattern 'if (x) /* comment */ else action' which used
a C comment as a null statement with the equivalent 'if (!x) action'.

Fixes build error:
  awk: error: ? * + or {interval} not preceded by valid subpattern

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/22458
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-23 01:23:33 +01:00
Zoltan HERPAI
d37289d0b8 starfive: add ubootenv support
The VF2 boards store their ubootenv on /dev/mtd1 which is a SPI flash
partition. Add support for reading this partition in uboot-envtools,
and add the package into the VF2 image.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2026-03-22 12:41:54 +01:00
Fire Chen
04308ad284
uboot-envtools: ipq60xx: add support for JDCloud devices
Add uboot-envtools support for JDCloud RE-CS-02 RE-CS-07 and RE-SS-01

Signed-off-by: Fire Chen <firedevel@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/21787
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-03-21 22:22:39 +01:00
Fire Chen
0c068c6c2f
qualcommax: ipq60xx: add Link NN6000v1/v2 support
NN6000v1 Specifications:
SoC:     Qualcomm IPQ6000 1.2GHz
RAM:     K4B4G1646E-BCMA 512MiB x2 = 1 GiB
Flash:   FORESEE 256GB eMMC
ETH:     QCA8075 (2x LAN, 1x WAN)
WLAN1:   QCN5022 2.4GHz AX 2x2
WLAN2:   QCN5052 5GHz AX 2x2
Power:   DC 12V
Button:  Reset, Wps
USB:     1x 3.0

NN6000v2 Specifications:
SoC:     Qualcomm IPQ6000 1.2GHz
RAM:     MT41K512M16VRN-107 IT:P 1GiB x2 = 2 GiB
Flash:   FORESEE 256GB eMMC
ETH:     QCA8075 (4x LAN, 1x WAN)
WLAN1:   QCN5022 2.4GHz AX 2x2
WLAN2:   QCN5052 5GHz AX 2x2
Power:   DC 12V
Button:  Reset, Wps
USB:     1x 3.0

Install via UART:
  1. Download the initramfs image, rename it to
     initramfs.itb, host it with the tftp server.
  2. Interrupt U-Boot and run these commands:
     tftpboot initramfs.itb
     bootm
  3. After openwrt boots up, use scp or luci web
     to upload sysupgrade.bin to upgrade.
Install via Uboot WebUI:
   - Only work when you flash a custom uboot with webui
   - Push the reset button for 5 seconds, then use broswer to
     access http://192.168.1.1/, then upload factory.bin.

Signed-off-by: Fire Chen <firedevel@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/21787
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-03-21 22:22:39 +01:00
Nick Hainke
a47208bd96 hostapd: update to 2026-03-19
Remove upstreamed patch:
- 001-PASN-Fix-the-compilation-errors-without-CONFIG_PASN.patch

Add patch:
- 001-RSN-Fix-pmksa_cache_flush-prototype-mismatch-in-non-.patch

Link: https://github.com/openwrt/openwrt/pull/22517
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-03-21 19:29:23 +01:00
Vladimir Palevich
fde5d2e210 hostapd: fix memory leak in rrm ubus interface
Add missing wpabuf_free calls to the hostapd_rrm_nr_set and
hostapd_rrm_beacon_req functions.

Signed-off-by: Vladimir Palevich <palevichva@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22538
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-03-21 18:58:03 +01:00
Zoltan HERPAI
283c45f087 sunxi: add PineCube support
PineCube is a low-powered, open source IP camera with OV5640.

Specifications:
SoC:      Allwinner S3 Cortex-A7
DRAM:     128MB DDR3 integrated
Power:    microUSB
Storage:  microSD / 16MByte SPI flash
USB:      1x 2.0
Network:  10/100Mbit ethernet with passive PoE (4-18V)
Wireless: RTL8189ES (unsupported)
Debug:    Serial UART on 26-pin GPIO
Features: 5 mpx OV5640 camera, microphone, IR LEDs

Flashing instructions:
Standard sunxi SD card installation procedure - copy image to SD card,
insert into SD card slot on the device and boot.

Link: https://github.com/openwrt/openwrt/pull/22422
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2026-03-21 16:43:47 +01:00
Andrew Sim
fc5aed2ff2
wifi-scripts: ucode: use correct antenna count for SU beamformee
The hostapd configuration for SU-BEAMFORMEE was incorrectly using the
beamformer antenna count instead of the beamformee antenna count for the
[BF-ANTENNA-N] capability string.

Fix this by using config.beamformee_antennas instead.

Signed-off-by: Andrew Sim <andrewsimz@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22511
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-20 11:09:26 +01:00
Edward Chow
a1f5273d27 mac80211: ath9k: patch hw.c for gpio mask from dt
"qca,gpio-mask" used to be read between ath9k_hw_init() and
ath9k_init_queues(). After 12913c3c56
it is read in ath9k_of_init(), but it gets overwritten by
ath9k_gpio_cap_init() during the call of ath9k_hw_init(), and causes
https://github.com/openwrt/openwrt/issues/22340

If keeping the most of 12913c3c56,
ath9k_gpio_cap_init() could be patched to keep the existing non-zero
gpio mask (coming from device tree).

Tested on Netgear WNDR4500 v3:
[   22.558083] ath9k 0000:00:00.0: enabling device (0000 -> 0002)
[   22.569548] ath: phy1: Use overridden gpio mask 0xf6ff

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/22376
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 22:10:03 +01:00
Nick Hainke
10db6fc26e base-files: sysupgrade: avoid cat missing conffiles_static
If the user removes all /lib/apk/packages/*.conffiles* files to prevent
sysupgrade from preserving configuration, the glob no longer matches and
sysupgrade ends up calling cat on a non-existent path:

  cat: can't open '/lib/apk/packages/*.conffiles_static': No such file or directory

Fix this by using find cmd.

Signed-off-by: Nick Hainke <vincent@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/22071
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 17:50:12 +01:00
David Bauer
49715596f9 mt76: remove incompatible patch
This patch became incompatible as the depending patches have been
reverted.

Signed-off-by: David Bauer <mail@david-bauer.net>
2026-03-19 17:30:43 +01:00
Felix Fietkau
2f1537443f mt76: update to Git HEAD (2026-03-19)
b7d6e434382a wifi: mt76: add offchannel check to mt76_roc_complete
35e79a5bb199 wifi: mt76: check chanctx before restoring channel after ROC
42955db08adf wifi: mt76: abort ROC on chanctx changes
273c6f60cc8e wifi: mt76: optimize ROC for same-channel case
b451ffe2c0c1 wifi: mt76: send nullfunc PS frames on offchannel transitions
757d4404487d wifi: mt76: flush pending TX before channel switch
da6d90e4f66a wifi: mt76: route nullfunc frames to PSD/ALTX queue
447cc8c89c17 wifi: mt76: wait for firmware TX completion of mgmt frames before channel switch
fb6a584e7119 wifi: mt76: add per-link beacon monitoring for MLO
ab6abc97132b wifi: mt76: fix scan work requeue race with spinlock
d2b1e1aa8ec4 wifi: mt76: do not free skb on ieee80211_tx_prepare_skb failure
94017d560bad wifi: mt76: mt7996: Remove link pointer dependency in mt7996_mac_sta_remove_links()
754e3af4d131 wifi: mt76: mt7996: Fix deflink lookup removing links
42964c80d2d7 wifi: mt76: mt7996: Fix deflink lookup adding links
a87f63e269e4 wifi: mt76: mt7996: Remove unnecessary phy filed in mt7996_vif_link struct
ca058da77830 wifi: mt76: mt792x: describe USB WFSYS reset with a descriptor
2e2962f9e19e wifi: mt76: mt792x: fix mt7925u USB WFSYS reset handling
82c56dd7c1ec wifi: mt76: mt7996: fix RRO EMU configuration
616439131793 wifi: mt76: mt7996: support critical packet mode for MT7990 chipsets
9b6cc2ba6625 wifi: mt76: mt7996: update WFSYS reset flow for MT7990 chipsets
4edbdf38c68e wifi: mt76: mt7996: adjust timeout value for boot-up calibration commands
b4ec73b3355e wifi: mt76: mt7996: fix the temporary buffer for calibration-free data
3a16c78c9e06 wifi: mt76: mt7996: fix issues with manually triggered radar detection
bada63e285ad wifi: mt76: mt7915: set mt76 specific PS flag
99e8e3cb9804 wifi: mt76: mt7925: pass mlink to sta_amsdu_tlv()
f716cf9b6e16 wifi: mt76: mt7925: pass WCID indices to bss_basic_tlv()
aac117362eed wifi: mt76: mt7925: pass mlink and mconf to sta_mld_tlv()
dce1e6e4ceca wifi: mt76: mt7925: pass mlink to mcu_sta_update()
b7fee4e5e5b4 wifi: mt76: mt7925: resolve primary mlink via def_wcid
130184621d20 wifi: mt76: mt7925: pass mlink to mac_link_sta_remove()
ea1a80f7cf5e wifi: mt76: mt7925: pass mlink to sta_hdr_trans_tlv()
5eb53c948beb wifi: mt76: mt7925: validate mlink in sta_hdr_trans_tlv()
6e66c08ac0c6 wifi: mt76: mt7925: pass mlink to wtbl_update_hdr_trans()
826ecd386bf0 wifi: mt76: mt7925: pass mlink to set_link_key()
3b1e74d14b4e wifi: mt76: mt7925: resolve link after acquiring mt76 mutex
6c64c41fccec wifi: mt76: mt7925: pass mconf and mlink to wtbl_update_hdr_trans()
215e122415d4 wifi: mt76: mt7925: make WCID cleanup unconditional in sta_remove_links()
98cb4c0f5d7c wifi: mt76: mt7925: unwind WCID setup on link STA add failure
471d6b3404c8 wifi: mt76: mt7925: drop WCID reinit after publish
9cbcc7e59d32 wifi: mt76: mt7925: move WCID teardown into link_sta_remove()
9fbe29ba429e wifi: mt76: mt7925: switch link STA allocation to RCU lifetime
8be727730640 wifi: mt76: mt7925: publish msta->link after successful link add
2cdcad1bb688 wifi: mt76: mt7925: host-only unwind published links on add failure
24c298a04f09 Revert "wifi: mt76: mt7915: set mt76 specific PS flag"
ca81c5c18ec8 Revert "wifi: mt76: mt7915: sync station power save state"
39c960c3ada5 wifi: mt76: mt7996: fix frequency separation for station STR mode

Fixes: https://github.com/openwrt/mt76/issues/1068
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 13:35:00 +01:00
Rosen Penev
8e711f68c4 mac80211: rt2x00: remove swap binding
No longer used. If swapping is desired, ralink,mtd-eeprom can be used.
Otherwise nvmem.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22207
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 11:01:43 +01:00
Felix Fietkau
a19cdb1a95 hostapd: ubus: fix parent-tsf size in beacon report notification
parent_tsf in struct rrm_measurement_beacon_report is le32 (32-bit),
but was being added with blobmsg_add_u16, truncating the value.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:26 +01:00
Felix Fietkau
1d98101743 hostapd: ubus: add missing token to beacon report notification
The beacon measurement token was not included in the ubus beacon-report
notification, causing consumers that need the token (e.g. for constructing
Beacon Metrics Response TLVs) to receive null.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:26 +01:00
Felix Fietkau
a34c3baf56 mac80211: fix reporting MLO link ID for non-MLO STAs on MLO AP
Add missing information on station dump/get

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:26 +01:00
Felix Fietkau
5aea8e8916 hostapd: fix type mismatch in BSS transition responses
Use blobmsg_add_u32 for non-bool fields in order to avoid wrong
interpretations of the data on JSON/ucode conversion.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:26 +01:00
Felix Fietkau
c5564ba071 hostapd: ubus: fix beacon request reporting detail field size
The Reporting Detail value is a 1-byte field, but was written as le16,
producing a 2-byte write that also contradicts the length field of 1
in the subelement header.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:07 +01:00
Felix Fietkau
0208089ded hostapd: ubus: fix beacon request buffer overflow with reporting detail
The reporting detail subelement (up to 3 bytes) was not accounted for
in the wpabuf allocation, causing a crash when reporting_detail is set
to a valid value (0, 1, or 2).

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:51:28 +01:00
Shine
c949d0e6c6 wifi-scripts: fix hostapd config for 160MHz
After 02e2065203, it can happen that both,
[VHT160-80PLUS80] and [VHT160] are added to the vht_capab option in
an AP's hostapd.conf, which would cause a failure to start the AP.

Fix the logic in order to prevent such misconfiguration.

Fixes: #22481
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22482
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 10:44:24 +01:00
Christian Marangi
103e9aec15
uboot-airoha: Add support for Nokia Valyrian
Add support for Nokia Valyrian device that implement similar spec of an
Airoha AN7581 RFB board.

Link: https://github.com/openwrt/openwrt/pull/21761
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-17 14:44:44 +01:00
Paweł Owoc
74d120c22d linux-firmware: ath11k: add IPQ5018, IPQ8074, QCN9074
Use linux-firmware repository for IPQ5018, IPQ8074 and QCN9074.
All officially released firmware versions are available there.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21833
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-17 14:42:08 +01:00
Álvaro Fernández Rojas
df45ed2da0 odhcpd: update to Git HEAD (2026-03-16)
160e5fa3957c odhcpd: ensure zero padding on DNSSL
2a316dbfd798 odhcpd: ignore NULL in dhcpv4_free_lease() stub
b960d4cbe27b ubus: fix truncated field in DHCPv6 lease query
4e26e1361335 dhcpv4: fix avl_delete on leases not in avl tree
ea5af5bffa2d dhcpv4: fix segfault when disabling interface

13cec018c0...160e5fa395

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22454
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 02:30:20 +01:00
Eric Fahlgren
b37cbcf50a iptables: prefer nft variants over zz-legacy
Set the default variant on "iptables-nft" and "ip6tables-nft" to
make them the preferred package when "iptables" is installed as
a dependency.

Link: https://github.com/openwrt/packages/issues/28815
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22448
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 02:17:57 +01:00
Miika Sundström
02e2065203 wifi-scripts: fix [VHT160]/[VHT160-80PLUS80] usage
Don't set vht_capab [VHT160] or [VHT160-80PLUS80] when the AP is not
configured to operate in 160 MHz. Fixes an issue degrading station
upload speed.

Fixes: https://github.com/openwrt/openwrt/issues/22435
Signed-off-by: Miika Sundström <mitasun@utu.fi>
Link: https://github.com/openwrt/openwrt/pull/22436
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 02:14:43 +01:00
David Bauer
045deec7e9 wifi: mt76: mt7915: set mt76 specific PS flag
mt76 tracks the PSM state of a sta internally with a wcid flag. TX to
such clients is skipped based on the presence of this flag.

This flag was not added to the PS state notify handler for MT7915 chips.
Without this flag, mt76 queues pending frames to the hardware,
accounting for airtime when a PSM notification is received while in a TX
iteration.

Set the PS flag for the STA WCID to prevent this from happening. TX gets
skipped in presence of this flag.

Link: https://patchwork.kernel.org/project/linux-wireless/patch/20260313112502.2026974-1-mail@david-bauer.net/

Signed-off-by: David Bauer <mail@david-bauer.net>
2026-03-16 21:17:33 +01:00
Hannu Nyman
598c4b7fde apk: add help text for 'apk add --force-reinstall'
Add a help text for the new --force-reinstall option, so that users
will actually find the new option.

(Also refresh patches)

Improves: 91cff1a "apk: add --force-reinstall option"

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/22426
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-16 14:52:56 +01:00
Hauke Mehrtens
1477292634 jsonfilter: update to Git HEAD (2026-03-16)
b17c31f8a2fd main: exit 1 on getopt() errors
e3f6a4160ba2 main: exit 1 when showing the usage
d67578d6b7f7 main: fix stdin parsing after option deferral
b9034210bd33 main: fix multiple -e/-t expressions after option deferral

Fixes: https://github.com/openwrt/openwrt/issues/22439
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-16 00:51:04 +01:00
Shiji Yang
7824dbcab8 mac80211: broadcom: fix Makefile syntax error
Remove unmatched endif.

fixes: 2948dbebbf ("mac80211: use OpenWrt mirror for b43 fw downloads")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22430
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-15 10:56:13 +01:00
Yanase Yuki
2948dbebbf mac80211: use OpenWrt mirror for b43 fw downloads
lwfinger dot com seems drop-catched and now
redirects to potentially unsafe website.
This commit also drops no longer available 6.30 firmware.

Fixes: https://github.com/openwrt/openwrt/issues/19436

Signed-off-by: Yanase Yuki <dev@zpc.st>
Link: https://github.com/openwrt/openwrt/pull/21269
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-15 00:11:38 +01:00
John Audia
eda2630ceb wireguard-tools: bump to 20260223
% git shortlog v1.0.20250521..v1.0.20260223

Doug Freed (1):
      wg-quick@.service: add deps on wg-quick.target

Jason A. Donenfeld (8):
      wg-quick: linux: use smallest mtu, not largest
      syncconf: account for psks removed from config file
      wg-quick: linux: deal with resolvconf migration more gracefully
      wg-quick: use addconf instead of setconf
      wg-quick: linux: do not unnecessarily set sysctl
      config: preserve const correctness
      syncconf: account for persistent keepalive removed from config file
      version: bump

Robyn Kosching (1):
      wg-quick: pass on # comments to {Pre,Post}{Up,Down}

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22190
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-14 23:51:47 +01:00
John Audia
bb7f4f97c7 intel-microcode: update to 20260227
Changelog: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20260227

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc (Intel N150)

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22035
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-14 22:42:11 +01:00
John Audia
e4624d308e intel-microcode: update to 20260210
Changelog: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20260210-rev1

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc (Intel N150)

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22035
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-14 22:42:11 +01:00
Shiji Yang
9413a3d96d zlib: update to 1.3.2
Release Notes:
https://github.com/madler/zlib/blob/v1.3.2/ChangeLog

We also switch package tarball source to GitHub repository releases
to avoid package hash mismatch after the zstd upgrade.

The 005-* patch was suppressed by the upstream commit 15ba5055a935
("CMake: Adapt pkgconfig-file to the GnuInstallDirs layout.")

This patch also adjust the zlib.pc file path as it was changed in
the latest release.

The mipsel_24kc 'zlib' package size will increase by about 1 kB.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21228
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-14 22:24:13 +01:00
Robert Marko
2a7cb484e9 mac80211: ath11k: make the M3 dump memory not defined a debug message
There is no point in printing the missing M3 memory dump adress message
on each boot under the warning level, as not all boards need it at all.

So, degrate it to a debug print with QMI mask.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-14 21:51:06 +01:00
Til Kaiser
51cb7b6e64 uboot-fritz4040: update to Git HEAD (2026-03-08)
056376fc703f Replace custom bool definitions with <stdbool.h>

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22361
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-14 21:46:31 +01:00
Alexandru Gagniuc
d755c49f7a qualcommax: ipq60xx: rename TP-Link EAP623-Outdoor HD v1 compatible
Originally, the .compatible string for EAP623-Outdoor HD tried to
shorten the "-outdoor" to "od". However, this naming was inconsistent
with the existing "eap610-outdoor". As "od" is not a common shorthand,
spell out the complete word: "eap623-outdoor-hd-v1".

Fixes: 5dbf93c8c5 ("ipq60xx: add support for TP-Link EAP623-Outdoor HD v1")
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18804
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-14 21:41:44 +01:00
Paul Spooren
2c2cea8864 package: update jsonfilter to latest HEAD 2026-03-12
* e3f6a41 main: exit 1 when showing the usage
 * b17c31f main: exit 1 on getopt() errors
 * e086664 lexer: fix a minor memleak in jp_get_token()/match_token()
 * e5a07f4 main: defer processing until options are processed
 * afe72ad main: usage spell fixes

Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-03-14 19:00:52 +01:00
Paul Spooren
681eb446cf package: bump odhcpd to latest HEAD 2026-03-12
* 13cec01 dhcpv6-ia: dhcpv6_log_ia_addr(): parse return of snprintf

Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-03-14 18:58:52 +01:00
Daniel Golle
5ba55feb10 procd: update to git HEAD
58eb263 instance: don't print error in case cgroups are disabled
 9baf019 instance: use positive error numbers for strerror()

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-03-13 23:16:28 +00:00
Tim Harvey
3f6d2868ff kernel: netdevices: add KSZ9477 DSA switch support
This adds kernel packages for the Microchip KSZ9477 switch family.
The core package has a target specific dependency as the ksz9477
driver enables DCB which grows the kernel size and can negatively
impact other targets.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22257
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-13 19:59:59 +01:00
Rosen Penev
08d2c0514f trelay: use struct_size helper in allocation
Makes it clear that the allocation is dealing with a flex array member.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21960
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-13 19:58:05 +01:00
Matt Merhar
d85a332831 mac80211: ath12k: backport thermal sensor support
This is nearly identical to what landed in ath-next for v7.1, aside from
resolving a couple conflicts. A separate patch has been added to replace
CONFIG_THERMAL with CPTCFG_ATH12K_THERMAL so the setting may be enabled
via menuconfig (as is done with ath10k and ath11k).

Note that at this stage, throttling has not been implemented upstream,
hence the slight change in wording versus existing options.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1

Link: https://patch.msgid.link/20260223132622.43464-1-maharaja.kennadyrajan@oss.qualcomm.com
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/22280
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-13 19:52:59 +01:00
Robert Marko
e65d3f9052 qca-nss-dp: update to Git HEAD (2026-03-13)
22fb70661799 fix flex array not at end of struct
6a5c4716ca25 convert memcpy + ETH_GSTRING_LEN to ethtool_puts

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-13 11:40:03 +01:00
Hauke Mehrtens
1d63b427ba libubox: update to Git HEAD (2026-03-13)
815633847cd3 CMakeLists.txt: remove -Werror=format-nonliteral

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-13 00:04:05 +01:00
Jonas Gorski
8a7eb57ab8 umdns: update to Git HEAD (2026-02-06)
a52cdb354d13 dns: validate IPv4 record addresses
b798c24205b5 dns: validate IPv6 record addresses
a3dcb4adc635 dns: validate reverse dns query name lengths

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2026-03-12 20:32:25 +01:00
John Audia
48b8ff890b
linux-firmware: update to 20260309
% git log --no-merges --pretty=oneline --abbrev-commit 20260110...20260309
6d5c4e499d32 mediatek MT7922: update bluetooth firmware to 20260224103448
e426f99ddbe6 linux-firmware: update firmware for MT7922 WiFi device
21d670224ad1 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Dell laptops
bfebfc16a8b3 cirrus: cs35l63: Add firmware for Cirrus CS35L63 for various Dell laptops
cf2d1a574838 linux-firmware: Remove duplicate fw and Rename Lenovo ISH LNLM firmware files accordingly
b9e372cffcb0 amdgpu: DMCUB updates for various ASICs
397e9a13dbb4 linux-firmware: Add firmware file for Intel BlazarIGfp2 core
b251087087e8 QCA: Update Bluetooth QCA6698 firmware to 2.1.2-00069
f58642691280 qcom: Update CDSP firmware for QCM6490 platform
f4fccdeaa58a linux-firmware: add firmware for Lontium LT8713SX DP hub
822ba35b15b1 linux-firmware: qcom: sync audioreach firmwares from v1.0.2 build
6b986839e4bc qcom: update ADSP, CDSP firmware for sm8750  platform
eb48837f8acc qcom: update ADSP dtb.mbn for glymur platform
87768b59c878 qca: Update Bluetooth WCN6750 1.1.3-00105 firmware to 1.1.3-00106
64330a97f0f2  QCA: Update Bluetooth WCN6856 firmware 2.1.0-00659 to 2.1.0-00665
bcc17f274d19 amdgpu: update PSP 13.0.14 firmware
bed8b292d199 amdgpu: update GC 9.4.4 firmware
40518428a964 amdgpu: update PSP 13.0.5 firmware
6f3948e1a80f amdgpu: update GC 10.3.6 firmware
c5c71a6b42ef amdgpu: update PSP 13.0.0 kicker firmware
936b64f49831 amdgpu: update VCN 4.0.0 firmware
ca25e8cea638 amdgpu: update PSP 13.0.0 firmware
652378d0d156 amdgpu: update GC 11.0.0 firmware
ca31625e94c9 amdgpu: update SDMA 6.1.3 firmware
d1b9b7263627 amdgpu: update PSP 14.0.5 firmware
ab1f658c787b amdgpu: update GC 11.5.3 firmware
58b10704da49 amdgpu: update beige goby firmware
127e3755fe43 amdgpu: update SDMA 6.1.2 firmware
a7669eb10e78 amdgpu: update PSP 14.0.4 firmware
e2d3b43db975 amdgpu: update GC 11.5.2 firmware
c0bec6f13e3f amdgpu: update dimgrey cavefish firmware
7ab313a9f169 amdgpu: update vangogh firmware
60bd7581c608 amdgpu: update navy flounder firmware
6237f479d99e amdgpu: update PSP 13.0.11 firmware
29ffce4483d3 amdgpu: update GC 11.0.4 firmware
8746dc896220 amdgpu: update VCN 4.0.2 firmware
afe6f8da8aec amdgpu: update SDMA 6.0.1 firmware
f940f4540549 amdgpu: update PSP 13.0.4 firmware
4e47f7fa71fb amdgpu: update GC 11.0.1 firmware
f789bb032a9c amdgpu: update sienna cichlid firmware
48f3c77d8f79 amdgpu: update navi14 firmware
2d7345645d59 amdgpu: update green sardine firmware
31d1b0dd5396 amdgpu: update VCN 4.0.6 firmware
212257aad62c amdgpu: update SDMA 6.1.1 firmware
28dd17d1d31b amdgpu: update PSP 14.0.1 firmware
dea4e8a3376c amdgpu: update GC 11.5.1 firmware
8669af2dd952 amdgpu: update VCN 5.0.0 firmware
7177f2135df7 amdgpu: update SMU 14.0.3 firmware
2a0af58da356 amdgpu: update PSP 14.0.3 firmware
1dd31ea90f7f amdgpu: update GC 12.0.1 firmware
4db65e675ed0 amdgpu: update VPE 6.1.0 firmware
4b81a4817629 amdgpu: update VCN 4.0.5 firmware
d23903078c5f amdgpu: update SDMA 6.1.0 firmware
dea480a1b32b amdgpu: update PSP 14.0.0 firmware
de99d0fd70ca amdgpu: update GC 11.5.0 firmware
683aace3644f amdgpu: update navi12 firmware
eba8a69fb7b6 amdgpu: update SMU 14.0.2 firmware
b39b4a98582b amdgpu: update PSP 14.0.2 firmware
37e9adcb709d amdgpu: update GC 12.0.0 firmware
aaca282a05b6 amdgpu: update renoir firmware
18461c2329d1 amdgpu: update navi10 firmware
4773307708e9 amdgpu: update VCN 4.0.4 firmware
897d73a7b650 amdgpu: update SDMA 6.0.2 firmware
1d4fdf2cbdc4 amdgpu: update PSP 13.0.7 firmware
1d5d7a62ebff amdgpu: update GC 11.0.2 firmware
ffbc28980e23 amdgpu: update VCN 4.0.3 firmware
138597a4e0bd amdgpu: update PSP 13.0.6 firmware
19e0d4624bdb amdgpu: update GC 9.4.3 firmware
a9004d5a0ba4 amdgpu: update yellow carp firmware
b5d25d858b7e amdgpu: update PSP 13.0.10 firmware
c6feb53895f6 amdgpu: update GC 11.0.3 firmware
95c430cdd81a amdgpu: update VCN 5.0.1 firmware
ad7910db6e83 amdgpu: update PSP 13.0.12 firmware
e7f955441b97 amdgpu: update GC 9.5.0 firmware
1d609638b772 linux-firmware:Renaming the file back for HP EliteBook X Flip G1i
26668fabcfea linux-firmware:Renaming the file back for HP EliteBook X Flip G1i
49cf497556b9 linux-firmware:Renaming the file back for HP EliteBook X Flip G1i
58cf579b98c0 amdnpu: Restore old NPU firmware for compatibility
4aaa9c557e90 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Dell laptops
feba387aac8f lenovo: remove obsolete ish_lnlm_53c4ffad_2a17559f.bin firmware
df954d275a07 linux-firmware: update firmware for MT7902 BT device
edc18bd4dc29 linux-firmware: update firmware for MT7902 WiFi device
30a139cb6561 qcom: vpu: fix SC7280 VPU Gen2 firmware and add compatibility symlink
65c7ff3ec808 amdgpu: DMCUB updates for various ASICs
6a24a5a92c32 qcom: Update DSP firmware for qcs8300 platform
39f04545b26f cirrus: cs35l41: Add Firmware for ASUS Zenbook Laptop using CS35L41 HDA
664f8b6adeba qcom: Update DSP firmware for sa8775p platform
bed52d78bc0c amdgpu: DMCUB updates for various ASICs
342ce02256f3 rtw89: 8851b: add format-1 for fw v0.29.41.5 with fw elements
4a216696655b rtw89: 8852a: add format-1 for fw v0.13.36.2 with fw elements
0579ff05d882 rtw89: 8852bt: add regd and diag_mac and update txpwr to R09
af193c46b6bd rtw89: 8852b: update txpwr element to R43
81eae19b21a0 rtw89: 8852b: add format-2 with v0.29.29.15 and fw elements
1cfed3e213c5 Revert "rtw89: 8852b: update fw to v0.29.128.0 with format suffix -2"
86725d7351e8 xe: Update GUC to v70.58.0 for LNL, BMG, PTL
cbd0f9753754 ath11k: WCN6855 hw2.0: update board-2.bin
65a3c868b360 ath11k: QCA6390 hw2.0: update board-2.bin
0364daaa28a2 qcom: Add gpu firmwares for Glymur chipset
6c1e2562f626 amdgpu: DMCUB updates for various ASICs
2bb21553d510 qcom: vpu: add video firmware for Glymur
8fafd2481eed qcom: add QUPv3 firmware for x1e80100 platform
fd38db51a2a6 Bluetooth: Add symbolic links for Intel Solar JfP2/1 firmware variants
07b822cc556d Bluetooth: Add symbolic links for Intel Solar firmware variants
1b902aa966e4 Bluetooth: Add symbolic links for Intel Pulsar firmware variants
949dba8936ab Bluetooth: Add symbolic links for Intel AX201 firmware variants
81a99dba039a ath10k: WCN3990 hw1.0: update board-2.bin
b69afa29d3f6 qcom: add ADSP, CDSP firmware for glymur platform
4e83a67a5637 ASoC: tas2783: Add Firmware files for tas2783A
87972e133405 linux-firmware: Update firmware file for Intel Solar core
a693bc58e2ac mediatek MT7921: update bluetooth firmware to 20251223091725
fbf93476b789 rtl_bt: Update RTL8822C BT USB and UART firmware to 0x0673
a712a43ff2c0 ath12k: WCN7850 hw2.0: update board-2.bin
ec76089d563e ath12k: QCN9274 hw2.0: update to WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
49df41843d27 ath11k: WCN6855 hw2.0: update board-2.bin
fd8bdffeabe4 ath11k: QCA6698AQ hw2.1: update board-2.bin
af03e44a2029 WHENCE: Correct 2 trailing whitespaces
1043c0303910 linux-firmware: Add firmware for airoha-npu-7581 driver used for MT7990 offloading
f18b40ebf5e8 linux-firmware: Add Dell ISH firmware for Intel panther lake systems
9a727f07bc60 amdgpu: DMCUB updates for various ASICs
fb1cfb1989ea linux-firmware: update Aeonsemi AS21x1x firmware to 1.9.1
0fa5e69a0d9e rtl_nic: add firmware rtl8125cp-1 for RTL8125cp
dfff492a66a0 ice: update DDP LAG package to 1.3.2.0
db024df1e153 cirrus: cs35l56: Add WHENCE links for 17aa233c spkid0 firmware
a80ebbccb826 rtw89: 8922a: update REGD R73-R08, txpwr R46 and element of diag MAC
f9c84ebaefbf rtw89: 8852c: update REGD R73-R60, txpwr R82 and element of diag MAC
d8fc35003355 Update firmware for NPU PHX, STX and STX HALO
a7bd257ea496 qcom: Update ADSP and add CDSP firmware for qcs6490-radxa-dragon-q6a
1ccefae136c4 qcom: Remove ADSP SensorPD json for Radxa Dragon Q6A
afae3262fa2f amdgpu: DMCUB updates for various ASICs
ff3470eca79b intel/ish: Add Lenovo ISH firmware support for X1 and X9 systems
53ec87319d28 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Lenovo laptops
8ca12d6383d0 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Dell laptops
ecf00f092a8e cirrus: cs35l57 cs35l63: Add firmware for Cirrus Amps for some Lenovo laptops
d01a86bd2b35 cirrus: cs35l56 cs35l57: Add and update firmware for some Dell laptops
e22074558beb Intel IPU7: Update firmware binary for Panther Lake
a80dabbc28fa linux-firmware: update firmware for MT7921 WiFi device
1e2c15348485 amdgpu: DMCUB updates for various ASICs
9e79ce04180f linux-firmware: Add firmware file for Intel ScorpiusGfp2 core
f401a31ab5ba linux-firmware: Update firmware file for Intel Scorpius core
6be3bd6cc295 linux-firmware: Update firmware file for Intel BlazarIGfP core
99a2479f94e1 linux-firmware: Update firmware file for Intel BlazarI core
9bf06b2bdf74 linux-firmware: Update firmware file for Intel BlazarU-HrPGfP core
40a812ce5880 linux-firmware: Update firmware file for Intel BlazarU core
634af751cc56 rtl_bt: Update RTL8852BT/RTL8852BE-VT BT USB FW to 0x06EB_C65F
4cc877a7c241 linux-firmware: Add firmware for airoha-npu-7583 driver
9a9285ce9b44 iwlwifi: add Bz/Sc FW for core102-56 release
579ca4320f6b iwlwifi: Add Hr/Gf firmware for core102-56 release
90af9c636906 iwlwifi: update ty/So/Ma firmwares for core102-56 release
05a6a40bbba8 xe: Add GSC 105.0.2.1301 for PTL
087f9b0a8d23 mediatek: rename MT8188 SCP firmware
a438fce32e0e qcom: Update DSP firmware for QCM6490 platform
bfc1d7433ddd linux-firmware: qcom: sync audioreach firmwares from v1.0.1 build

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: Intel N150 based system

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22364
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-11 19:53:32 +01:00
Felix Fietkau
ab0872a734 procd: update to Git HEAD (2026-03-11)
129b729f757c service: fix use-after-free in per-instance set_data handler

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-11 18:30:37 +01:00
Andrew LaMarche
99307582de
airoha: add support for Gemtek W1700K
This commit adds support for Gemtek (Centurylink/Lumen/Quantum Fiber)
W1700K.

Device specification
--------------------
SoC Type:	Airoha AN7581
RAM:		ESMT M16U8G16512A (2GB)
Flash:		Winbond 25N04KVZEIR (512MB)
Ethernet:	2x gigabit via AN7581, 2x 10g via RTL8261N
Wi-Fi:		MT7996 - BE19000
LEDs:		1 LED, power/status
Button:		Reset
USB ports:	None
Bootloader:	U-Boot 2014.04-rc1 (Jun 12 2024 - 08:14:34) AXON 2.0
Fan:		1x controlled by Nuvoton NCT7511Y

This device is pretty useless with the stock firmware as it requires an
account to completely set it up. Additionally, the vendor bootloader is
signed and uses Airoha/Mediatek's BBT/BMT for bad block management on
the flash. It does not support UBI, thus kernel updates are subject to
BMT/BBT which OpenWrt does not support. In turn, if a kernel update
happens and a block is marked bad in the process, the device will fail
to boot and will need to be recovered via serial.

The workaround is to chainload U-Boot in place of the kernel, as it
should not need frequent updates and thus should not cause BBT/BMT to
misbehave and soft-brick the device. Upstream U-Boot supports loading
a FIT image from UBI, so we create a UBI partition for the new u-boot
env, FIT image and factory data. This way, bad blocks are managed by UBI
instead, which will not soft-brick the device should a block be marked
bad during a normal OpenWrt update. Users wishing to update U-Boot can
do so, but should be prepared to recover if a block goes bad.

Because the device is not useful with stock firmware, this is a one-way
ticket for most users and reverting will not be documented.

The following steps can be used to install OpenWrt on the W1700K.

Connect to serial console. There is a Torx T10 screw underneath the QR
code printed onto the label. Then, pry between the gray and white
plastic, starting by the ports on the back. There are clips arount the
entire device. Starting closest to the screw next to the UART header,
TX - GND - VCC - N/A - RX. The bootloader can be interrupted by
pressing any key.

Configuring Vendor Bootloader and Installing U-Boot Chainloader:
The bootloader's default bootcmd will only run a signed image. However,
we can still bootm our own image from flash.

NOTE: The vendor's ethernet drivers are flaky. You may have to reboot
and try the tftpboot part several times for it to work.

- setenv one flash read 0x600000 0x1000000 \$loadaddr
- setenv two "; bootm"
- setenv bootcmd "$one$two"
- setenv one
- setenv two
- saveenv
- setenv serverip 192.168.1.10; setenv ipaddr 192.168.1.1; tftpboot
0x89000000 openwrt-airoha-an7581-gemtek_w1700k-ubi-chainload-uboot.itb
- flash erase 0x600000 0x100000
- flash write 0x600000 0x100000 0x89000000
- reset

The device will now reboot into the U-Boot chainloader.

Loading the W1700K UBI Installer:
The installer can be downloaded at
https://github.com/hurrian/w1700k-ubi-installer/releases

- Boot the installer via the TFTP option in the U-Boot menu. This
  process is automatic, though you may be prompted to answer some
  questions.
- Once it is done, you may upgrade to your preferred build.
- For more information: https://github.com/hurrian/w1700k-ubi-installer

For those wishing to explore the stock firmware:

Rooting Stock FW (for making backups, recommended):
- Boot the router and watch serial console until presented with failsafe
  mode. Enter it (f + enter).
- mount_root
- Change the root password (passwd).
- Open /etc/config/axon_platform_manager and set sshServerEnable,
  localAccessEnable and remoteAccessEnable to 1.
- Search for "SSH". You'll find a long string with 3 matches such as
  Enabled%25252c1%25252cSSH%Drop. Change any instances of "Disabled"
  preceding SSH to "Enabled" and any instances of "Drop" to "Accept"
  that follow SSH. Same for "Local SSH" and "Remote SSH".
- Set /etc/config/dropbear to:

config dropbear
	option PasswordAuth 'on'
	option RootPasswordAuth 'on'
	option Port '22'

- Reboot.
- Connect 10g WAN port to existing network and SSH in with the password
  you set.
- SSH into rooted stock fw.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17869
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-11 00:42:34 +01:00
Hauke Mehrtens
1a4ffafeef rtc-rv5c386a: fix build with kernel 6.12
`no_llseek` was defined as NULL since 2 years already and was removed in
Linux 6.12, see:
https://git.kernel.org/linus/cb787f4ac0c2e439ea8d7e6387b925f74576bdf8

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-10 23:50:54 +01:00
Hauke Mehrtens
a919299993 wifi-scripts: fix handling spaces in wifi client config
Escape identity anonymous_identity password ca_cert and ca_cert2 in a wifi
client configuration. This fixes the handling of configuration options
containing spaces and other strings which need escaping.

Fixes: https://github.com/openwrt/openwrt/issues/22212
Link: https://github.com/openwrt/openwrt/pull/22237
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-10 00:48:19 +01:00
Eric Fahlgren
5d71d9a4be firewall4: prefer over firewall as dependency
When the virtual package "uci-firewall" is installed, the choice
between "firewall" and "firewall4" is arbitrary, sometimes resulting
in one, sometimes the other.

Set the default variant on "firewall4" to make it the preferred
package when installed as a dependency.

Link: https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035/1126
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22328
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-10 00:47:21 +01:00
Hauke Mehrtens
e558d763be ustream-ssl: update to Git HEAD (2026-03-01)
99f1c0db5a72 ustream-openssl: Fix use-after-free crash under high load and optimize BIO_METHOD lifecycle

Fixes: https://github.com/openwrt/openwrt/issues/19349
Fixes: https://github.com/openwrt/openwrt/issues/20134
Link: https://github.com/openwrt/openwrt/pull/22335
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-10 00:46:12 +01:00
Eric Fahlgren
c9f612bf45 apk: point help message to openwrt wiki
Instead of directing users to the useless 'man 8 apk', we direct
them to the wiki help page.

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22271
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-09 10:33:15 +01:00
Felix Fietkau
91cff1a6d3 apk: add --force-reinstall option
Allow reinstalling already-installed packages without a version change.
Only the named packages are reinstalled, not their dependencies.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-08 16:35:04 +01:00
Álvaro Fernández Rojas
56bf67d474 omcproxy: update to Git HEAD (2026-03-07)
3abb601ab77f mrib: receive_mrt: workaround for RTL8373 queries
e25491f27af3 Revert "mrib: receive_mrt: workaround for RTL8373 queries"
cd20f3a4b4f1 mrib: receive_mrt: workaround for RTL8373 queries
cad82dc5cb65 formal: fix workflow permissions
997a981ae375 github: ci: add MIPS64, PowerPC64 and RISCV64
e646f462daeb github: ci: add powerpc arch
b3d1e2e48cf4 github: ci: add cmake build and source directories
de4353546064 github: ci: disable json-c tests
2be7e63d9b68 scripts: devel-build: disable json-c tests
36adc79c7b76 github: fix CI apt dependencies
11e45f6cfe10 README: update build instructions
78eea9b83a93 omcproxy: use syslog mask for logging level
9f0a1454de10 github: add CI build
49df5f5b8704 omcproxy: add a simple build script
757c1c704c9d libubox: remove submodule
8957f6c2557b omcproxy: update cmake file
848d696419eb proxy: fix indentation warning

Link: https://github.com/openwrt/openwrt/pull/22317
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2026-03-08 08:23:20 +01:00
Marco von Rosenberg
cd1b70f6f9 ipq40xx: add support for Huawei AP4050DN
Hardware
========
SoC: Qualcomm IPQ4018
ETH: Qualcomm QCA8075 (2 x RJ-45)
WDG: OnSemi SCT706
RAM: Micron MT41K128M16JT-125 (256MB)
NOR: Infineon S25FL512S (64MB)

Installation
============

1. Create a ramboot-able image with the command

   { dd if=/dev/zero bs=32 count=1 2>/dev/null; \
     cat openwrt-ipq40xx-generic-huawei_ap4050dn-initramfs-uImage.itb; \
   } > ramboot.bin`

2. Start a TFTP server in the folder with the ramboot.bin.

3. Plug in a USB-RJ45 serial adapter to the CONSOLE port of the device
   and start a serial console session with
   9600 baud, no parity, 1 stop bit.

4. Plug in either 12V power or PoE to the device.

5. On the prompt `Press f or F  to stop Auto-Boot in 3 seconds`,
   press `f` to enter the Huawei U-Boot command line

6. Enter a new password for the u-boot command line

7. In the command line, run these commands to ramboot OpenWrt:

      setenv serverip <IPv4 address of TFTP server>
      setenv ipaddr <IPv4 address for this AP>
      setenv rambootfile ramboot.bin
      run ramboot

8. In OpenWrt, set up the network and then `scp` the files
   `u-boot-huawei_ap4050dn/uImage` and
   `openwrt-ipq40xx-generic-huawei_ap4050dn-squashfs-sysupgrade.bin`
   into `/tmp/`

9. To backup the original firmware, run the following:

      cat /dev/mtd12 /dev/mtd13 > huawei_ap4050dn_fw_backup.bin.bin

10. Run the following commands to flash u-boot and OpenWrt to the device:

      mtd erase uboot
      mtd write /tmp/uImage uboot
      sysupgrade -n /tmp/openwrt-ipq40xx-generic-huawei_ap4050dn-squashfs-sysupgrade.bin

11. The device should now boot OpenWrt! (sometimes the boot process takes a bit
    longer due to the watchdog resetting the device before the watchdog driver runs)

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
2026-03-07 18:52:31 +01:00
Marco von Rosenberg
156550abd8 uboot-fritz4040: add Huawei AP4050DN support
Add support for the Huawei AP4050DN. Due to vendor bootloader size
limitations, we require a second-stage U-Boot.

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
2026-03-07 18:48:57 +01:00
David Bauer
215f0127d1 ipq-wifi: update to latest HEAD
beaf466 ipq4019: add Huawei AP4050DN BDF

Signed-off-by: David Bauer <mail@david-bauer.net>
2026-03-07 18:45:42 +01:00
Paul Donald
1e9da9798a ppp: add memmove fortify and remove MRU patch
memcpy() with overlapping src and dest buffers is an undefined behavior
in C. In the current code, a ConfRej response is generated by copying
input data in-place, where the dest address is lower than the src.
This happens to work in practice because memcpy() forward-copies data,
matching the behavior of memmove() in this case.

However, if FORTIFY_SOURCE or Address Sanitizer is enabled, memcpy()
will detect the overlap at run time and abort the program.

Replace the memcpy() with memmove() to ensure a well-defined behavior.

Reported-by: Filippo Carletti <filippo.carletti@gmail.com>

MRU patch https://github.com/ppp-project/ppp/pull/573

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22286
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 00:04:48 +01:00
Rosen Penev
f01807e353 mac80211: ath9k: rework led allocation
Embed gpio_led struct in ath_led. Simpler Allocation.

Use a flex array for the name. Allows using a single allocation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21933
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 12:03:10 +01:00
Rosen Penev
06f5205dc8 mac80211: ath5k: remove ath79 bugfix
ath79 at this point supports no ath5k devices.

The only targets with ath5k usage are bcm47xx, ixp4xx, and lantiq.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19848
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 12:01:56 +01:00
Jonas Jelonek
3b2e52d52f generic: drop downstream gpio-cascade driver
The single user of the downstream gpio-cascade driver has been switched
to use the upstream gpio-line-mux driver. Thus, we can drop the former
now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 11:33:05 +01:00
Jonas Jelonek
d50b296727 generic: add kernel module for gpio-line-mux
Add the GPIO line mux driver as a kernel module for selected usage by
devices.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 11:33:05 +01:00
Christian Marangi
59862e9ffe
kernel: iio: Add Richtek RTQ6056 ADC support
Add support for Richtek RTQ6056 Current and Power Monitor ADC.

RTQ6056 is a high accuracy current-sense monitor with I2C and SMBus
compatible interface, and the device provides full information for
system by reading out the load current and power.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-06 10:55:27 +01:00
Felix Fietkau
6c7dd69ce4 mt76: update to Git HEAD (2026-03-05)
1958eaf46fde firmware: update mt7992 and mt7996 firmware to the latest version
da6227dc3029 firmware: add mt7990 firmware
9f95baf93a07 wifi: mt76: mt7996: Add missing CHANCTX_STA_CSA property

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-05 18:06:00 +00:00
Felix Fietkau
ba3c6ff302 mac80211: fix a crash triggered by CSA with AP VLAN enabled
Fix getting the correct operating channel for stations on VLAN

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-05 18:25:59 +01:00
Dirk Buchwalder
133e01b95e
uboot-airoha: add a label to the spi node
Add a label to the spi node to allow device trees to reference it
(i.e. to mark status = "okay").

Signed-off-by: Dirk Buchwalder <buchwalder@posteo.de>
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-05 11:17:47 +01:00
Kenneth Kasilag
442e67d31f
airoha: an7581: add uboot chainloader
Due to issues surrounding the implementation of the vendor BMT/BBT
on Airoha, upstream ATF + uboot has switched to UBI flash partitions.

However, some devices shipped on this platform are bootloader locked,
and thus it is impossible to replace ATF + uboot.

During testing for the Gemtek W1700K (#17869), sysupgrades from Linux
(which is unaware of the underlying BMT/BBT) would occasionally write
data into blocks which were remapped by the vendor uboot when it was
read on the following reboot, causing a soft brick.

An acceptable workaround [1],[2] was discussed where an intermediate
uboot would be written by the vendor uboot (which is aware of Airoha
BMT/BBT). This chainloader would then ignore the regions of flash
used by the vendor uboot, and store all relevant data inside of UBI.

UBI would then be used to handle bad block management. As the vendor
ATF + uboot do not read or interact with the UBI region, we would avoid
unwanted remaps from BMT/BBT.

This commit introduces support for building such a chainloader, by
packaging u-boot and DTS into a FIT image; to be flashed like a kernel.

Configuration for the Gemtek W1700K is provided as an example of how the
chainloader is used.

[1] https://github.com/openwrt/openwrt/pull/17869#discussion_r2836066746
[2] https://github.com/openwrt/openwrt/pull/17869#discussion_r2838395671

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
[ move FIP_COMPRESS to Build/Compile, wrap some long lines ]
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-05 11:17:46 +01:00
Kenneth Kasilag
97035a5e7f
uboot-airoha: rename FIP_COMPRESS to LZMA_COMPRESS
It is more accurate to describe the contents of the FIP as
compressed, instead of the FIP itself becoming compressed.

Update variable naming accordingly.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-05 11:17:46 +01:00
Ruslan Isaev
67cf9c0cc7 qualcommax: ipq807x: ipq6018: ath11k: fix monitor rx length
OpenWrt issue:
https://github.com/openwrt/openwrt/issues/16183

Problem summary:
On qualcommax (ipq60xx/ipq807x) with ath11k, monitor-mode captures contain
frames that are consistently longer than expected by 8 bytes.

The symptom is visible in pcap/radiotap captures, and Wireshark parsing
becomes correct after manually cutting these 8 bytes from captured frames.

This patch:
- Remove merge-stage FCS/tail manipulations in ath11k_dp_rx_mon_merg_msdus().
- add length fix in ath11k_dp_rx_mon_deliver(), trim 8 bytes right
  before radiotap update and delivery to mac80211.

This targets monitor capture length correctness only and keeps the fix scoped
to the monitor RX delivery path.

Tested-on: ipq8072 yuncore,ax880; ipq6018 yuncore,ax840; yuncore,fap650
Signed-off-by: Ruslan Isaev <legale.legale@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22244
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-05 10:50:21 +01:00
Daniel Golle
2a9dce2d9e uboot-mediatek: port RNG drivers and enable them
Port drivers for the hardware true random number generator found in
MediaTek SoCs and enable them for all boards.
This has the side-effect of U-Boot now providing '/chosen/kaslr-seed'
to Linux which is required to enabled KASLR.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-03-05 02:28:32 +00:00
Christian Marangi
57bf713ef7
firmware: Add support for Airoha EN7581/AN7583 NPU variant firmware
Add support for Airoha EN7581/AN7583 NPU variant firmware present in
linux-firmware. The Airoha EN7581 NPU variant is to support devices
equipped with the MT7996 WiFi chip.

While at it also add an extra new line to follow pattern of double new line to
separate each firmware package.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-04 13:34:43 +01:00
Oliver Sedlbauer
49a0acb12c
base-files: avoid rm error messages in failsafe_wait
The fs_wait_for_key function runs multiple background processes that all
try to delete the same temporary file ($keypress_wait) when they exit.
This creates a race condition where one process successfully deletes the
file while others fail with ENOENT.

Busybox rm only suppresses "file not found" errors during the initial lstat()
check, not during the actual unlink() call. This causes error messages in the
boot log even with rm -f:

  rm: can't remove '/tmp/tmp.hKjPDH': No such file or directory

Fixed by redirecting stderr to /dev/null for rm calls in concurrent contexts.
This change does not affect functionality and only avoids confusing log
output during boot.

Signed-off-by: Oliver Sedlbauer <os@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/22079
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-04 12:54:16 +01:00
Paul Spooren
07c29c4482 package: drop apk cheatsheet from base-files
This has been up for a while, let's drop it.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-03-04 10:15:21 +01:00
Kuan-Yi Li
ed94d3eea7
apk: bump to 3.0.5
Several OpenWrt-related fixes are included in this release.

Drop upstreamed patches and refresh the rest.

Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
Link: https://github.com/openwrt/openwrt/pull/22240
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-04 00:48:12 +01:00
Chester A. Unal
e83da3bada uqmi: introduce devpath option
Introduce the devpath option to find the control channel device from a
hardware path for a USB or a WWAN device.

This option is useful when there are multiple modems connected to the
system. The name of the control channel device of a modem can change
depending on which modem initialises first or if it was recently plugged
in. The devpath option allows specifying the hardware path of the modem
where the control channel device will be found using that.

For the USB device hardware path, it is allowed to specify the USB port
number the modem is directly connected to.

If the device and devpath options are both set, devpath takes precedence
over device.

The USB device hardware path of a control channel device can be found by:

readlink -f /sys/class/usbmisc/cdc-wdmX/device

The WWAN device hardware path of a control channel device can be found by:

readlink -f /sys/class/wwan/wwanXqmiX/device

An example uci configuration would be:

config interface 'wwan_usb1'
	option proto 'qmi'
	option auth 'none'
	option devpath '/sys/devices/platform/1e1c0000.xhci/usb1/1-1'
	option apn 'internet'
	option pdptype 'ipv4v6'

Or:

config interface 'wwan_pcie1'
	option proto 'qmi'
	option auth 'none'
	option devpath '/sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0'
	option apn 'internet'
	option pdptype 'ipv4v6'

Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
2026-03-03 14:17:48 +02:00
Chester A. Unal
764c503a2c umbim: introduce devpath option
Introduce the devpath option to find the control channel device from a
hardware path for a USB or a WWAN device.

This option is useful when there are multiple modems connected to the
system. The name of the control channel device of a modem can change
depending on which modem initialises first or if it was recently plugged
in. The devpath option allows specifying the hardware path of the modem
where the control channel device will be found using that.

For the USB device hardware path, it is allowed to specify the USB port
number the modem is directly connected to.

If the device and devpath options are both set, devpath takes precedence
over device.

The USB device hardware path of a control channel device can be found by:

readlink -f /sys/class/usbmisc/cdc-wdmX/device

The WWAN device hardware path of a control channel device can be found by:

readlink -f /sys/class/wwan/wwanXmbimX/device

An example uci configuration would be:

config interface 'wwan_usb1'
	option proto 'mbim'
	option auth 'none'
	option devpath '/sys/devices/platform/1e1c0000.xhci/usb1/1-1'
	option apn 'internet'
	option pdptype 'ipv4v6'

Or:

config interface 'wwan_pcie1'
	option proto 'mbim'
	option auth 'none'
	option devpath '/sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0'
	option apn 'internet'
	option pdptype 'ipv4v6'

Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
2026-03-03 14:17:48 +02:00
Rosen Penev
c4e285049e button-hotplug: use flex array and not pointer hack
The &pointer + 1 trick is a C89 trick to point to area allocated after
the size of the struct. We have struct_size and flex arrays now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22170
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-03 13:09:35 +01:00
Robert Marko
b897db9c44 Revert "kernel: netdevices: add KSZ9477 DSA switch packages"
This reverts commit c053b22573.

KSZ DSA driver is the only thing in the kernel selecting DCB support
instead of depending on it if required.
So, it will enable DCB support without asking and we do not want the
kernel size increase, as well as current Layerscape ARMv8 build failure.

So, revert this until its fixed upstream or worked around.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-02 18:05:55 +01:00
Nick Hainke
89f57d48f9 hostapd: update to 2026-02-27
Add patch:
- 001-PASN-Fix-the-compilation-errors-without-CONFIG_PASN.patch

Manually edit patches:
- 110-mbedtls-TLS-crypto-option-initial-port.patch
- 190-hostapd-Fix-hostapd-crash-if-setup-a-iface-with-.patch
- 191-hostapd-add-support-for-specifying-the-link-id-in-th.patch
- 220-indicate-features.patch
- 360-acs_retry.patch
  -> Remove the extra check for -EBUSY (see below) because the code we
     want to skip is now already guarded by:
     https://git.w1.fi/cgit/hostap/commit/?id=af6473761f07ae4f13ef228dec618ca62faf6ef4
      ```
      + if (ret == -EBUSY)
      +         goto fail;
      ```
- 341-mesh-ctrl-iface-channel-switch.patch
- 600-ubus_support.patch
- 601-ucode_support.patch
  -> The patch had this and similar changes:
     ```
      -		if (os_strcmp(drv->first_bss->ifname, ifname) != 0) {
      +		if (drv->first_bss->ifindex != ifi->ifi_index) {
     ```
     Those changes should be unnecessary due to the commit:
     https://git.w1.fi/cgit/hostap/commit/?id=2bf6d85963b9857b411b57cc7949e30ee2cb1216
- 780-Implement-APuP-Access-Point-Micro-Peering.patch
  -> Needs adjustement because of Enhanced Privacy Protection (EPP):
     https://git.w1.fi/cgit/hostap/commit/?id=1e13ee9c382a5d88c4bb0ffdfaf434fbb31123f3

Remove patch:
- 030-Revert-nl80211-Accept-a-global-nl80211-event-to-a-br.patch
- 060-nl80211-fix-reporting-spurious-frame-events.patch
  -> https://git.w1.fi/cgit/hostap/commit/?id=ca266cc24d8705eb1a2a0857ad326e48b1408b20
- 190-hostapd-Fix-hostapd-crash-if-setup-a-iface-with-.patch
  -> https://git.w1.fi/cgit/hostap/commit/?id=e275c3dc70e1c2947e02e43aeee6c4f9975c3dc7
- 192-nl80211-cancel-scans-whenever-the-first-bss-is-remov.patch
  -> https://git.w1.fi/cgit/hostap/commit/?id=5ce1d41803866782bbd96d575f53d43358a20a2e
- 350-nl80211_del_beacon_bss.patch
  -> https://git.w1.fi/cgit/hostap/commit/?id=b777ecb16274235974edb5c1dfcea6abab25f6c4

Tested-By: Daniel Pawlik <pawlik.dan@gmail.com>
Co-developed-by: Agustin Lorenzo <agustin.lorenzo@thinco.es>
Link: https://github.com/openwrt/openwrt/pull/20912
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-03-02 11:58:26 +01:00
Valerio 'ftp21' Mancini
09a0462ea8
mediatek: add support for Zyxel WX5600-T0
This access point is a ‘friend’ of the T56 supplied by Odido but with DDR3 RAM and with two Ethernet 2.5 (GPY211)

The flash procedure is similar to other Zyxel T56/EX5600/EX5601

If you need backup please use the T56 guide
Please refer to https://openwrt.org/inbox/toh/zyxel/wx5600-t0 for detailed flash informations

Specifications:
SOC: MT7986b
RAM: 512MB
Flash: 512 MB SPI NAND
Ports: 2 LAN 2.5Gbps (GPY211C)
WIFI: MT7976GN + MT7976AN
LED: 3 bicolor LED - 1 monocolor LED
Buttons: Reset and WPS

We can install all with U-boot and mtk_uartboot.
Load Uboot:

```
./mtk_uartboot -a -p ./mt7986-ram-ddr3-bl2.bin -s /dev/ttyUSB0 -f openwrt-mediatek-filogic-zyxel_wx5600-t0-ubootmod-bl31-uboot.fip
```
**WARNING: Please use a GBIT ethernet or force it on system**
**WARNING: Please use only LAN2 port in Uboot**
Press 0 on Bootmenu
```
mtd erase ubi
run ubi_format
bootmenu
```
Load and write BL2 and U-boot:
```
8
7
```

Load and write recovery and production
```
6
5
```

Signed-off-by: Valerio 'ftp21' Mancini <ftp21@ftp21.eu>
Co-authored-by: Hal Martin <halmartin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18364
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-02 11:43:43 +01:00
Valerio 'ftp21' Mancini
1dbb2d55ac
uboot-mediatek: add support for Zyxel WX5600-T0
This access point is a ‘friend’ of the T56 supplied by Odido but with DDR3 RAM and with two Ethernet 2.5 (GPY211)

The flash procedure is similar to other Zyxel T56/EX5600/EX5601

If you need backup please use the T56 guide

Please refer to https://openwrt.org/inbox/toh/zyxel/wx5600-t0 for detailed flash informations

We can install all with U-boot and mtk_uartboot.
Load Uboot:

```
./mtk_uartboot -a -p ./mt7986-ram-ddr3-bl2.bin -s /dev/ttyUSB0 -f openwrt-mediatek-filogic-zyxel_wx5600-t0-ubootmod-bl31-uboot.fip
```
**WARNING: Please use a GBIT ethernet or force it on system**
**WARNING: Please use only LAN2 port in Uboot**
Press 0 on Bootmenu
```
mtd erase ubi
run ubi_format
bootmenu
```
Load and write BL2 and U-boot:
```
8
7
```

Load and write recovery and production
```
6
5
```

Signed-off-by: Valerio 'ftp21' Mancini <ftp21@ftp21.eu>
Link: https://github.com/openwrt/openwrt/pull/18364
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-02 11:43:43 +01:00
Mathijs Rietbergen
c88e8a9816 kernel: add kmods for vsockets over virtio
Add menuconfig options to include modules for (virtio) vsockets. These are
used when running as Guest OS in a VM.

OpenWRT can be run in a vm (mostly commonly on the x86/64 and armsr
targets). Often it is convenient to have some sort of guest agent running,
to ease communication from host to guest.
Virtual Sockets provide this communication channel.
Virtio is a transport for this communication channel.

Virtual Sockets over virtio are for example used by Incus.
Virtual Sockets in general are used by most hypervisors, including VMware,
Hyper-V, and libvirt (qemu). These may need other transport-specific
modules not included in this commit.

Signed-off-by: Mathijs Rietbergen <mathijs.rietbergen@proton.me>
2026-03-01 19:54:12 +01:00
Felix Fietkau
ed66c2dfa3 mt76: update to Git HEAD (2026-03-01)
a47ad19275e9 wifi: mt76: mt7996: fix out-of-bounds array access during hardware restart
a34adb961be5 wifi: mt76: mt7996: add missing max_remain_on_channel_duration
751ae55c0d87 wifi: mt76: improve fix for multi-radio on-channel scanning
9337d2f25d91 wifi: mt76: avoid sending probe requests on active DFS channels
d62f5a0d1d2d wifi: mt76: update fix for backoff fields and max_power calculation
8831fa78cb23 wifi: mt76: add external EEPROM support for mt799x chipsets
f656567eff2c wifi: mt76: mt7996: add variant for MT7992 chipsets
36c59c31bfc8 wifi: mt76: mt7996: apply calibration-free data from OTP
f1c32003333e wifi: mt76: connac: use is_connac2() to replace is_mt7921() checks
95df5c591507 wifi: mt76: mt7921: use mt76_for_each_q_rx() in reset path
c3d742932a3c wifi: mt76: mt7921: handle MT7902 irq_map quirk with mutable copy
772c51c2ebc1 wifi: mt76: mt7921: add MT7902e DMA layout support
2175fa76bfff wifi: mt76: connac: mark MT7902 as hw txp devices
135ebed77517 wifi: mt76: mt792x: add PSE handling barrier for the large MCU cmd
cc343793ad65 wifi: mt76: mt792x: ensure MCU ready before ROM patch download
5ee904252aad wifi: mt76: mt7921: add MT7902 MCU support
4b104a082e72 wifi: mt76: mt792x: add MT7902 WFDMA prefetch configuration
eaa09af12bf4 wifi: mt76: mt7921: add MT7902 PCIe device support
66067d203bd0 wifi: mt76: mt7921: add MT7902 SDIO device support
f21748c6cdae wifi: mt76: mt7996: fix wrong DMAD length when using MAC TXP
88ed9f8abcf3 wifi: mt76: mt7996: fix struct mt7996_mcu_uni_event
19b5d0918ba1 wifi: mt76: avoid to set ACK for MCU command if wait_resp is not set
365f006322aa wifi: mt76: mt7996: fix queue pause after scan due to wrong channel switch reason
2eb5d1e3cfbf wifi: mt76: don't return TXQ when exceeding max non-AQL packets
3129d0a6b185 wifi: mt76: mt7915: fix use-after-free bugs in mt7915_mac_dump_work()
cb906c88ca92 wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work()
4aa63d4c5bf2 wifi: mt76: mt7996: Add eMLSR support
be3aad4c2e10 wifi: mt76: mt7915: sync station power save state
f564cc612813 wifi: mt76: mt7996: Disable Rx hdr_trans in monitor mode
a6761a9892d9 wifi: mt76: mt7921: fix 6GHz regulatory update on connection
003216cc04b7 wifi: mt76: add missing lock protection in mt76_sta_state for sta_event callback
699a4aa3b88a wifi: mt76: mt7925: fix incorrect TLV length in CLC command
aee736a27ea2 wifi: mt76: mt7996: Fix possible oob access in mt7996_mac_write_txwi_80211()
f29ff603012e wifi: mt76: mt7925: Fix possible oob access in mt7925_mac_write_txwi_80211()
ee84094d71ba wifi: mt76: Fix possible oob access in mt76_connac2_mac_write_txwi_80211()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-01 18:41:24 +00:00
Felix Fietkau
d9ac485146 ucode: nl80211: add missing survey info attributes and fix DFS CAC time
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-01 18:41:24 +00:00
Felix Fietkau
94a7c4a443 ucode: update to Git HEAD (2026-02-27)
d768823fea50 vm: rework I_DYNLOAD instruction to read module name from stack
9e265b9a1e15 program: support encoding export symbols in precompiled bytecode
926f20b55e13 compiler: add support for runtime module imports
e3d7d77f0e5d lib: avoid stack operations if required code invoked exit()
7f3a0512f49d compiler: turn static imports of precompiled modules into dynamic loads
ccc25285471b nl80211.h: update to version 6.18
bb145163147a nl80211: add WiFi 7 EHT and MLD attributes
65d268546453 nl80211: add scan, BSS status and BSS use-for constants

Fixes: https://github.com/jow-/ucode/issues/336#issuecomment-3415635374
Fixes: https://github.com/jow-/ucode/pull/338#issuecomment-3442569831
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-01 18:41:24 +00:00
Ivan Pavlov
fce39a8d7f libunistring: update to 1.4.2
sync with gnulib, fixes compilation with gcc15

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22225
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-01 17:07:58 +01:00
John Audia
b0e0d51aec
linux-firmware: update to 20260221
% git log --no-merges --pretty=oneline --abbrev-commit 20260221...20260110
30a139cb6561 qcom: vpu: fix SC7280 VPU Gen2 firmware and add compatibility symlink
65c7ff3ec808 amdgpu: DMCUB updates for various ASICs
6a24a5a92c32 qcom: Update DSP firmware for qcs8300 platform
39f04545b26f cirrus: cs35l41: Add Firmware for ASUS Zenbook Laptop using CS35L41 HDA
664f8b6adeba qcom: Update DSP firmware for sa8775p platform
bed52d78bc0c amdgpu: DMCUB updates for various ASICs
342ce02256f3 rtw89: 8851b: add format-1 for fw v0.29.41.5 with fw elements
4a216696655b rtw89: 8852a: add format-1 for fw v0.13.36.2 with fw elements
0579ff05d882 rtw89: 8852bt: add regd and diag_mac and update txpwr to R09
af193c46b6bd rtw89: 8852b: update txpwr element to R43
81eae19b21a0 rtw89: 8852b: add format-2 with v0.29.29.15 and fw elements
1cfed3e213c5 Revert "rtw89: 8852b: update fw to v0.29.128.0 with format suffix -2"
86725d7351e8 xe: Update GUC to v70.58.0 for LNL, BMG, PTL
cbd0f9753754 ath11k: WCN6855 hw2.0: update board-2.bin
65a3c868b360 ath11k: QCA6390 hw2.0: update board-2.bin
0364daaa28a2 qcom: Add gpu firmwares for Glymur chipset
6c1e2562f626 amdgpu: DMCUB updates for various ASICs
2bb21553d510 qcom: vpu: add video firmware for Glymur
8fafd2481eed qcom: add QUPv3 firmware for x1e80100 platform
fd38db51a2a6 Bluetooth: Add symbolic links for Intel Solar JfP2/1 firmware variants
07b822cc556d Bluetooth: Add symbolic links for Intel Solar firmware variants
1b902aa966e4 Bluetooth: Add symbolic links for Intel Pulsar firmware variants
949dba8936ab Bluetooth: Add symbolic links for Intel AX201 firmware variants
81a99dba039a ath10k: WCN3990 hw1.0: update board-2.bin
b69afa29d3f6 qcom: add ADSP, CDSP firmware for glymur platform
4e83a67a5637 ASoC: tas2783: Add Firmware files for tas2783A
87972e133405 linux-firmware: Update firmware file for Intel Solar core
a693bc58e2ac mediatek MT7921: update bluetooth firmware to 20251223091725
fbf93476b789 rtl_bt: Update RTL8822C BT USB and UART firmware to 0x0673
a712a43ff2c0 ath12k: WCN7850 hw2.0: update board-2.bin
ec76089d563e ath12k: QCN9274 hw2.0: update to WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
49df41843d27 ath11k: WCN6855 hw2.0: update board-2.bin
fd8bdffeabe4 ath11k: QCA6698AQ hw2.1: update board-2.bin
af03e44a2029 WHENCE: Correct 2 trailing whitespaces
1043c0303910 linux-firmware: Add firmware for airoha-npu-7581 driver used for MT7990 offloading
f18b40ebf5e8 linux-firmware: Add Dell ISH firmware for Intel panther lake systems
9a727f07bc60 amdgpu: DMCUB updates for various ASICs
fb1cfb1989ea linux-firmware: update Aeonsemi AS21x1x firmware to 1.9.1
0fa5e69a0d9e rtl_nic: add firmware rtl8125cp-1 for RTL8125cp
dfff492a66a0 ice: update DDP LAG package to 1.3.2.0
db024df1e153 cirrus: cs35l56: Add WHENCE links for 17aa233c spkid0 firmware
a80ebbccb826 rtw89: 8922a: update REGD R73-R08, txpwr R46 and element of diag MAC
f9c84ebaefbf rtw89: 8852c: update REGD R73-R60, txpwr R82 and element of diag MAC
d8fc35003355 Update firmware for NPU PHX, STX and STX HALO
a7bd257ea496 qcom: Update ADSP and add CDSP firmware for qcs6490-radxa-dragon-q6a
1ccefae136c4 qcom: Remove ADSP SensorPD json for Radxa Dragon Q6A
afae3262fa2f amdgpu: DMCUB updates for various ASICs
ff3470eca79b intel/ish: Add Lenovo ISH firmware support for X1 and X9 systems
53ec87319d28 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Lenovo laptops
8ca12d6383d0 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Dell laptops
ecf00f092a8e cirrus: cs35l57 cs35l63: Add firmware for Cirrus Amps for some Lenovo laptops
d01a86bd2b35 cirrus: cs35l56 cs35l57: Add and update firmware for some Dell laptops
e22074558beb Intel IPU7: Update firmware binary for Panther Lake
a80dabbc28fa linux-firmware: update firmware for MT7921 WiFi device
1e2c15348485 amdgpu: DMCUB updates for various ASICs
9e79ce04180f linux-firmware: Add firmware file for Intel ScorpiusGfp2 core
f401a31ab5ba linux-firmware: Update firmware file for Intel Scorpius core
6be3bd6cc295 linux-firmware: Update firmware file for Intel BlazarIGfP core
99a2479f94e1 linux-firmware: Update firmware file for Intel BlazarI core
9bf06b2bdf74 linux-firmware: Update firmware file for Intel BlazarU-HrPGfP core
40a812ce5880 linux-firmware: Update firmware file for Intel BlazarU core
634af751cc56 rtl_bt: Update RTL8852BT/RTL8852BE-VT BT USB FW to 0x06EB_C65F
4cc877a7c241 linux-firmware: Add firmware for airoha-npu-7583 driver
9a9285ce9b44 iwlwifi: add Bz/Sc FW for core102-56 release
579ca4320f6b iwlwifi: Add Hr/Gf firmware for core102-56 release
90af9c636906 iwlwifi: update ty/So/Ma firmwares for core102-56 release
05a6a40bbba8 xe: Add GSC 105.0.2.1301 for PTL
087f9b0a8d23 mediatek: rename MT8188 SCP firmware
a438fce32e0e qcom: Update DSP firmware for QCM6490 platform
bfc1d7433ddd linux-firmware: qcom: sync audioreach firmwares from v1.0.1 build

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: Intel N150 based system

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22139
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-01 13:29:46 +01:00
Nora Schiffer
67fe34932e
procd: update to git HEAD
2881a59f3043 rcS: allow overriding init.d/rc.d paths
4e4a34b1a833 rcS, ubus: constify char * arguments and variables where appropriate

Link: https://github.com/openwrt/openwrt/pull/22204
Signed-off-by: Nora Schiffer <neocturne@universe-factory.net>
2026-03-01 11:52:02 +01:00
Bevan Weiss
145408a592 packages: add PSE (PoE) packages
There are a number of pse chips already present in upstream Linux.
OpenWrt is starting to support a number of devices can contain various pse
chips.  But having all the pse chip combinations defined at the target
level will result in bloat on images.
Present the current upstream Linux pse drivers as packages so that they
can be selectively included per board (rather than per target).

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
[Make it depend on REGULATOR_SUPPORT, and !SMALL_FLASH]
Link: https://github.com/openwrt/openwrt/pull/22172
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-01 10:59:19 +01:00
Thomas Richard
6678487f16 arm-trusted-firmware-stm32: bump to v2.14
Bump arm-trusted-firmware-stm32 to upstream release v2.14.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-26 23:34:10 +01:00
Thomas Richard
0903b398a3 uboot-stm32: bump to 2026.01
Bump uboot-stm32 to upstream release 2026.01.

Two upstream patches were backported to resolve silent crash on
STM32MP135F-DK board.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-26 23:34:10 +01:00
Thomas Richard
02d64076aa optee-os-stm32: bump to 4.9.0
Bump optee-os-stm32 to upstream release 4.9.0.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-26 23:34:10 +01:00
Hauke Mehrtens
efcd70cb19 mac80211: activate BRCMFMAC_SDIO on x86
Activate the option BRCMFMAC_SDIO by default on x86 too. x86 already
compiles MMC support into the kernel. This will just compile brcmfmac
with MMC support.

Fixes: https://github.com/openwrt/openwrt/issues/22155
Link: https://github.com/openwrt/openwrt/pull/22171
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-26 20:19:01 +01:00
Hauke Mehrtens
69daeebc9a wifi-scripts: fix handling of 64 character WPA key
The key variable is not defined in the scope when setting wpa_psk. Use
config.key instead.
This fixes configuration the 64 characters wpa_psk directly.

Reported-by: donjoe in OpenWrt Forum
Link: https://github.com/openwrt/openwrt/pull/22182
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-26 20:17:31 +01:00
Felix Fietkau
c4d875cae2 netifd: update to Git HEAD (2026-02-26)
69a5afc9713a bridge: skip present toggle in bridge_free_member() when device is active

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-26 12:05:35 +00:00
Hauke Mehrtens
7c5e329b54 wireless-regdb: update to version 2026.02.04
75bedc5 wireless-regdb: Update regulatory info for Australia (AU) for 2025
a6e5195 wireless-regdb: Update broken link in regulatory.bin(5) manpage
9e8c67f wireless-regdb: Update regulatory info for Malaysia (MY) for 2024
61a4637 wireless-regdb: Update regulatory info for Malaysia (MY) for 2025
5cefe55 wireless-regdb: Update regulatory info for Tunisia (TN) on 6GHz for 2025
1a729ae wireless-regdb: Update regulatory info for Canada (CA) for 2025
ea20dfa wireless-regdb: update regulatory database based on preceding changes

Link: https://github.com/openwrt/openwrt/pull/22150
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-24 20:24:25 +01:00
Jonas Lochmann
5f063d18bd iproute2: include upstream patch for musl libc
Due to a missing include, the constant UINT_MAX is undefined. This
fixes issues when building v25.12.0-rc5. Including a newer version of
iproute2 would include the patch, but causes other building issues.

Signed-off-by: Jonas Lochmann <openwrt@jonaslochmann.de>
Link: https://github.com/openwrt/openwrt/pull/22128
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-24 20:21:50 +01:00
Felix Fietkau
55c01365de mac80211: backport eMLSR/eMLMR parsing support
Needed for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-24 19:40:55 +01:00
Tim Harvey
c053b22573 kernel: netdevices: add KSZ9477 DSA switch packages
This adds kernel packages for the Microchip KSZ9477 switch family.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22120
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-24 10:48:00 +01:00
Rosen Penev
2eb1f7df26 mac80211: ath9k: fix memory leak
sc->gpiochip is assigned to gc when it should be the other way around.
This allows gpiod_free to work properly.

Fixes: e78dc2eae4 ("mac80211: ath9k: clean up gpiochi")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22158
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-24 09:58:42 +01:00
Robert Marko
f0c9cbd35b netifd: update to Git HEAD (2026-02-23)
299a51f0c301 global: add support for PSE-PD control

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-23 21:46:49 +01:00
Shiji Yang
b18518c2f0 uboot-mediatek: backport various pinctrl fixes
Backport patches from upstream u-boot and mtk-openwrt-feeds to fix
MT7981 register offset issue and correct MT798x IES register config.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21423
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-22 23:07:18 +01:00
Daniel Golle
c69beade60 Revert "package: kernel: dtc: Add DTO support"
It looks like commit 6d2f3b1b19 ("package: kernel: dtc: Add DTO support")
added this patch file 9 years ago without it ever being applied anywhere.
Back then there wasn't even a 'dtc' package, but we just used 'dtc' from
the Linux kernel sources.
Nowadays there is package/utils/dtc which is used to build dtc to be used
on the target (*not* a host-build!), and it of course already contains
support for device tree overlays since v1.4.3 from 2017...

This reverts commit 6d2f3b1b19.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://github.com/openwrt/openwrt/pull/22118
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-20 22:51:59 +01:00
Felix Fietkau
2256cfac68 wireguard-tools: fix string indexing in endpoint host check
Use substr() instead of array index syntax to access the first
character of the endpoint host string, as ucode does not support
array-style indexing on strings.

Fixes: https://github.com/openwrt/openwrt/issues/22116
Fixes: 8f977b4a40 ("wireguard-tools: fix handling of multi-value config options")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-20 19:10:13 +01:00
Daniel Golle
e95cfd2ad7 procd: update to git HEAD
180ffcc instance: use mkdir_p helper
 9493a3d signal: handle SIGUSR1 as halt
 4dd22d0 cgroups: fix syntax error

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-02-20 14:06:58 +00:00
Felix Fietkau
75975b8c5c uclient: update to Git HEAD (2026-02-20)
7a0aa2e4afb4 uclient-http: fix data_eof for body-less responses

Fixes: https://github.com/openwrt/openwrt/issues/22103
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-20 09:07:59 +00:00
Felix Fietkau
8f977b4a40 wireguard-tools: fix handling of multi-value config options
Config options like addresses and ip6prefix can be passed as either a
space-separated string or an array. Add a to_array() helper and use it
consistently for all multi-value options (addresses, ip6prefix,
allowed_ips).

Fixes: https://github.com/openwrt/openwrt/issues/22102
Fixes: 41bc454602 ("wireguard-tools: rewrite proto handler in ucode")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-20 08:54:41 +00:00
Yaroslav Isakov
9d78b2f53c hostapd: fix EAP-PWD in experimental hostapd-radius server
Without initializing pwd_group, it's set to 0, which is reserved value.
When EAP-PWD is used in wpa_supplicant/eapol_test, next error is seen:
EAP-PWD: Server EAP-pwd-ID proposal: group=0 random=1 prf=1 prep=0
EAP-pwd: Unsupported or disabled proposal

Signed-off-by: Yaroslav Isakov <yaroslav.isakov@gmail.com>
2026-02-19 16:13:02 +01:00
Chad Monroe
50d3d287e4 hostapd: initialize first BSS radio_mask during driver init
Secondary BSSes inherit the alloc value which bypasses
NL80211_ATTR_VIF_RADIO_MASK in nl80211_create_iface() and causes the
kernel to default new interfaces to all radios.

The ucode bss_create fallback fails to correct this because
the interface is already UP.. the kernel rejects SET_INTERFACE with
-EBUSY.

Signed-off-by: Chad Monroe <chad@monroe.io>
2026-02-19 15:08:12 +00:00
Felix Fietkau
41bc454602 wireguard-tools: rewrite proto handler in ucode
This fixes automatic config reload on peer changes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-19 12:10:38 +00:00
Felix Fietkau
c504cbd47c netifd: update to Git HEAD (2026-02-15)
Adds ucode proto handler support

51fa9ed6d4d6 interface-ip: fix fortify build error
ca33316f8552 proto-ext: extract shared protocol handler code from proto-shell.c
2098f29810e8 proto: add config_load callback to proto_handler
aaf5b194b15d proto-ucode: add ucode protocol handler infrastructure
3fc8b83c8b62 proto-ucode: add ucode proto handler scripts
c6122254eb70 examples: sync wireless scripts with openwrt

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-19 12:10:38 +00:00
Hauke Mehrtens
c3f2a09a25 ucode-mod-bpf: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:31 +01:00
Hauke Mehrtens
77d896725f ebtables: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the CFLAGS. ebtables does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:26 +01:00
Hauke Mehrtens
33b2c6f955 arptables: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the CFLAGS. arptables does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:22 +01:00
Hauke Mehrtens
379d5b8bc4 iwinfo: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the FLAGS. iwinfo does not support CPPFLAGS.
This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:09 +01:00
Hauke Mehrtens
b8ea5004f4 zyxel-bootconfig: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the CFLAGS. zyxel-bootconfig does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:09 +01:00
Hauke Mehrtens
ddb1c1ab33 ravpower-mcu: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:09 +01:00
Hauke Mehrtens
d69b283068 wireless-tools: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the CFLAGS. wireless-tools does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:09 +01:00
Hauke Mehrtens
0f1c1c581f resolveip: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:09 +01:00
Hauke Mehrtens
bfd57eab3d iwcap: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:09 +01:00
Hauke Mehrtens
53e6935960 libcap: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Allow to extend the CPPFLAGS and not only overwrite.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:09 +01:00
Hauke Mehrtens
cd1fda5c8b bzip2: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the CFLAGS. bzip2 does not support CPPFLAGS.
This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:25:05 +01:00
Hauke Mehrtens
b497c3f68f 6rd: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:16:58 +01:00
Hauke Mehrtens
2ca7c2b846 464xlat: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:16:58 +01:00
Hauke Mehrtens
39e5f11631 gdb: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:16:58 +01:00
Hauke Mehrtens
35939e4db9 binutils: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 22:16:58 +01:00
Mikhail Kshevetskiy
2639c9ce47 uboot-airoha: an7583: fix wrong bits for SPI and SLIC clock
The change was taken from commit
907386ca6c

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/21984
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-17 20:46:36 +01:00
Mikhail Kshevetskiy
052318bc62 uboot-airoha: update to U-Boot v2026.01
Changes:
 * update to v2026.01 (this brings up EN7523 SoC support)
 * drop upstream patches
 * refresh and adapt an7583 support patches (changes based on
   https://github.com/Ansuel/openwrt/commits/main-airoha-6.12/)
 * add ethernet switch mdio support from upstream U-Boot

Notable changes:
 * make an7583 memory initialization similar to an7581 one
 * add an7583 scu/chip_scu helpers to access scu/chip_scu regmaps.
 * fix misprint in an7583 'system-controller@1fb00000' node name
 * always use board dts for nand partitioning

Notes about en7523 support
--------------------------
This set of patches brings up more or less complete support of EN7523 SoC.
Unfortunately, building of en7523 bootloader will require en7523-bl2.bin
and en7523-bl31.bin blobs which is not available at the moment.

This is the only known blocker for adding en7523 bootloader support.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/21984
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-17 20:46:36 +01:00
Mikhail Zhilkin
3a39f682df qualcommax: ipq50xx: add support for CMCC MR3000D-CI
CMCC MR3000D-CI is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on
IPQ5000.

Device specification
--------------------
- SoC			: Qualcomm IPQ5018
- RAM			: 512 MiB DDR3L
- Flash			: 128 MiB SPI-NAND (GigaDevice GD5F1GQ5REYIG)
- WLAN			: 2.4/5 GHz 2T2R
- 	2.4 GHz		: Qualcomm IPQ5018 (SoC)
- 	5 GHz		: Qualcomm Atheros QCN6102
- Ethernet		: 4x 10/100/1000 Mbps
- 	Switch		: Qualcomm Atheros QCA8337
- LEDs/Keys (GPIO)	: 2x LEDs, 2x Buttons
- UART			: Through-hole on PCB
- 	Voltage		: 3.3 V
- 	Assignment	: Silkscreened on PCB
- 	Settings	: 115200n8
- Power			: 12 VDC, 1.5 A

Installation
-----------------
1. Telnet method
    a. Enable telnet
    Log in to http://192.168.10.1/ with the password on the sticker
    Modify URL according to example (keep your unique hash after ";stok=")
    and press Enter:
    http://192.168.10.1/cgi-bin/luci/;stok=78becad1b1490e45be2776025cde2b7d/api/NPCnetwork/ping?url=$(telnetd)
    You should get the following in the browser:
    {"link":0}

    b. Run tftp server on IP 192.168.10.254 and put factory image
    'openwrt-qualcommax-ipq50xx-cmcc_mr3000d-ci-squashfs-factory.ubi'
    in the tftp root dir.

    c. Login to 192.168.10.1 with telnet (user: root, pass: from the
    sticker).

    d. Download factory image from the tftp:
    tftp -l factory.ubi -r openwrt-qualcommax-ipq50xx-cmcc_mr3000d-ci-squashfs-factory.ubi -g 192.168.10.254

    e. Flash factory image:
    export rootfs=$(cat /proc/mtd | grep rootfs | grep -v _ | cut -d: -f1)
    ubidetach -f -p /dev/${rootfs}
    ubiformat /dev/${rootfs} -y -f /tmp/factory.ubi

    f. Reboot:
    reboot

2. U-Boot Method using UBI Image (using UART)
    a. Place the factory.ubi file on your TFTP server, enter U-Boot CLI
    and exec these commands:
    tftpboot <your_tftp_server_ip>:factory.ubi
    flash rootfs
    reset

3. U-Boot Method using initramfs Image (using UART)
    a. Place the openwrt-*-initramfs-fit-uImage.itb file on your TFTP
    server and rename it to initramfs.bin

    b. Enable serial console, enter to U-Boot CLI and exec these commands:
    tftpboot <your_tftp_server_ip>:initramfs.bin
    bootm

    c. Once boot completed, upload the sysupgrade.bin file to router's
    /tmp directory (using scp or wget) and execute the following command
    in openwrt shell:
    sysupgrade -n /tmp/sysupgrade.bin

MAC Addresses
-------------
+--------------+-------------------+-------------+
| Interface    | MAC example       | Location    |
+--------------+-------------------+-------------+
| LAN          | 84:7a:xx:xx:xx:dd | 0:ART, 0x6  |
| WAN (label)  | 84:7a:xx:xx:xx:dc | 0:ART, 0x0  |
| WLAN 2.4 GHz | 84:7a:xx:xx:xx:de | 0:ART, 0xc  |
| WLAN 5       | 84:7a:xx:xx:xx:df | 0:ART, 0x12 |
+--------------+-------------------+-------------+

Notes
-----
1. U-Boot is protected by a password (pass: netpower).

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21952
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-17 20:45:18 +01:00
Robert Marko
f5a63c9eda ipq-wifi: update to Git HEAD (2026-02-17)
97af8a2a2dcb ipq6018: add Link NN6000 BDF Link: https://github.com/openwrt/firmware_qca-wireless/pull/124
4b7ccdeadfc0 ipq5018: add BDFs for CMCC MR3000D-CI

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-17 20:44:48 +01:00
Hauke Mehrtens
0f4e4a41b2 fstools: update to Git HEAD (2026-02-15)
8d377aa627be libfstools: Rename PATH_MAX to MTD_PATH_MAX

Link: https://github.com/openwrt/openwrt/pull/22042
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 01:28:59 +01:00
Felix Fietkau
8b994ed397 wifi-scripts: netifd: fix null dereference in config_init for missing devices
Add optional chaining when accessing device config in the wifi-iface
loop to handle cases where a referenced device doesn't exist.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit ebd2fefea5152d032cded1ccc7cf6e731b5bbcc2)
2026-02-16 09:19:37 +01:00
Rany Hany
f012e8d50a wifi-scripts: ucode: fix ieee80211w default
This should not be defaulted to anything in the schema.

What seemed like a minor cleanup actually broke this
as the schema defines a default value already. I did
not notice as I had this explictly set in my config.

Fixes: 70ba7512 ("wifi-scripts: ucode: allow sae_pwe to be modified for AP mode")
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/22043
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-16 01:50:53 +01:00
Felix Fietkau
a570b9cbed unetd: update to Git HEAD (2026-02-15)
35c182b74fa4 host: fix for_each_routed_host macro using wrong variable name
52e504192ea7 host: fix gateway peers getting allowed IPs of unrelated hosts

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-15 14:42:03 +01:00
Rany Hany
70ba7512e7 wifi-scripts: ucode: allow sae_pwe to be modified for AP mode
Some Android devices have issues with H2E causing downgrades to PSK
when using WPA2/3. With WPA3 it doesn't work reliably whatsoever.

My Samsung A55/6 for example has the following behavior:

daemon.info hostapd: lan5g: STA <redacted> IEEE 802.11: authenticated
daemon.notice hostapd: SAE: <redacted> indicates support for SAE H2E, but did not use it
daemon.info hostapd: lan2g: STA <redacted> IEEE 802.11: authenticated
daemon.info hostapd: lan2g: STA <redacted> IEEE 802.11: associated (aid 1)
daemon.notice hostapd: lan5g: Prune association for <redacted>
daemon.notice hostapd: lan2g: AP-STA-CONNECTED <redacted> auth_alg=open
daemon.info hostapd: lan2g: STA <redacted> RADIUS: starting accounting session 8234C696AAC1AE7D
daemon.info hostapd: lan2g: STA <redacted> WPA: pairwise key handshake completed (RSN)
daemon.notice hostapd: lan2g: EAPOL-4WAY-HS-COMPLETED <redacted>

This is also brought up in the issue: https://github.com/openwrt/openwrt/issues/9963

Ultimately this allows users to have the option to at the very least
disable H2E.

Unrelated: a minor cleanup was done so that ieee80211w uses set_default instead.
There is no functional change on that front.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/22021
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-15 01:18:18 +01:00
Ahmed Naseef
32df0bdf59 econet: en7528: add basic ethernet support
EN7528 shares the same clock/reset controller as EN7523. Enable
COMMON_CLK_EN7523 and RESET_CONTROLLER for ethernet hardware resets.
Update econet-eth driver and add it as default package.

Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21326
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-15 01:12:52 +01:00
Rany Hany
862b46dd8f 6in4: improve HE tunnel update procedure
- uclient-fetch timeout bumped from 5s to 15s. If we do not do this
  we get flagged by HE as the update request is expensive and takes
  more than 5s to execute. Currently 5s timeout causes uclient-fetch
  to be killed prematurely as can be seen by the following log:

  10:34:57 user.notice 6in4-henet: update 1/3: timeout
  10:35:07 user.notice 6in4-henet: update 2/3: timeout
  10:35:17 user.notice 6in4-henet: update 3/3: timeout
  10:35:22 user.notice 6in4-henet: update failed

  The above is the worst case, what usually happens is:

  10:53:59 user.notice 6in4-henet: update 1/3: timeout
  10:54:06 user.notice 6in4-henet: update 2/3: abuse
  10:54:06 user.notice 6in4-henet: updated

- We now use an exponential backoff starting from 5 seconds.

- Detect ca-bundle so we don't use --no-check-certificates
  unnecessarily.

- The while loop was changed so we don't retry unnecessarily
  after the final failure.

- Worst-case total time the update operation might take before
  bailing out is:

     (sum(15 + (5 × (2^(x − 1))), 1, 2) + 15) seconds = 1 min

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/22016
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-15 00:01:57 +01:00
Robert Marko
b325e6e5ee ipq-wifi: fix botched rebase
I botched the rebase of ipq-wifi, so fix it.

Fixes: 67e6baf05e ("qualcommax: ipq60xx: add Netgear RBx350 support")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-13 23:36:30 +01:00
Michael Lotz
785492e4c1 qualcommax: ipq807x: add Zyxel NWA110AX support
The Zyxel NWA110AX is a dual band 2x2:2 802.11ax wireless access point
with PoE.

The device is very similar to the NWA210AX except for being 2x2 instead
of 4x4 in the 5GHz band and not having the 2.5GbE ethernet port. This
commit factors out a common DTS and device definition and reuses it for
both devices.

Hardware:
* SoC: Qualcomm IPQ8070A
* RAM: 1GiB 1x Samsung K4A8G165WC-BCTD
* Flash: 8MiB Winbond W25Q64DW SPI-NOR, 256MiB Winbond W29N02GZ SPI-NAND
* WLAN 2.4GHz: QCN5024 2x2:2 802.11b/g/n/ax
* WLAN 5GHz: QCN5054 2x2:2 802.11n/ac/ax
* Ethernet: 1x 1GbE with AR8033 PHY
* Serial Config: 3.3V TTL 115200-8-N-1, externally accessible
* Serial Layout: GND TX RX 3.3V (don't connect, marked with triangle)
* LEDs: 1x red, 1x green, 1x blue, 1x white
* Buttons: 1x reset

MAC addresses:
* Uplink: base address on label
* 2.4GHz WLAN: base + 1
* 5GHZ WLAN: base + 2

Flashing Notes:
The device uses a dual-image setup and OpenWrt can only be installed as
image 0. When the currently running stock firmware is image 0, OpenWrt
will be installed as image 1, fail to boot and the device returns to stock
firmware. If this happens, install any version of stock firmware so that
it runs as image 1, before installing OpenWrt. Alternatively, if there
already is a valid stock firmware in image 1, the "debug dual-image show"
and "debug dual-image set boot-image image1" commands can be used in the
stock CLI via serial/SSH/telnet to switch to image 1.

Flashing with Stock Web Interface:
* Get the OpenWrt factory image and rename it to a shorter name, for
  example "openwrt.bin" (the stock firmware has a character limit)
* In the web interface, go to "Maintenance" -> "File Manager" ->
  "Firmware Package" (or click the link next to "Firmware Version" under
  "Device Information" on the dashboard)
* Under "Upload File" browse to the renamed OpenWrt factory image and
  click on "Upload"

Switch Boot Image:
* OpenWrt to stock: "zyxel-bootconfig-ipq807x set image1"
* Stock to OpenWrt: "debug dual-image set boot-image image0"

Unbrick / Revert to Stock with the Boot Module:
* Disconnect the device from power
* Configure your machine to 192.168.1.103/24 and start a TFTP server
* Put the stock firmware image into the TFTP server root and rename it to
  "ZLD-current"
* Establish a serial connection to the device through the console port
* Connect the device to power
* When prompted, press a key to abort automatic boot and enter debug mode
* Use the "atnz" command to flash the firmware image
* Use the "atgo" command to boot from the newly flashed image

Signed-off-by: Michael Lotz <mmlr@mlotz.ch>
Link: https://github.com/openwrt/openwrt/pull/21849
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-13 21:35:49 +01:00
Michael Lotz
67e6baf05e qualcommax: ipq60xx: add Netgear RBx350 support
Netgear RBx350 are dual band 4 stream 802.11ax mesh devices from the Orbi
series. The RBR350 is a router with a WAN and 3 LAN ports. The RBS350 is a
satellite without WAN port, only 2 LAN ports and half the flash. The
hardware is otherwise identical. They were sold in kits as RBK352, RBK353,
RBK354 or RBK355, with one router and 1-4 satellites.

Hardware:
* SoC: Qualcomm IPQ6018
* RAM: 512MiB 1x Nanya NT5CC256M16ER-EK
* Flash: 512MiB Winbond W29N04GZ or 256MiB Winbond W29N02GZ
* WLAN 2.4GHz: QCN5022 2x2:2 b/g/n/ax
* WLAN 5GHz: QCN5052 2x2:2 a/n/ac/ax
* Ethernet: QCA8075 switch with 1 WAN and 3 LAN ports or 2 LAN ports
* Serial Config: 3.3V TTL 115200-8-N-1, internal populated header
* Serial Layout: 3.3V (don't connect, marked with dot) RX TX GND
* LEDs: green/red power, white/red/green/blue status
* Buttons: 1x Reset, 1x WPS

MAC addresses:
* LAN1: base address on label, stored in boarddata partition at 0x8
* LAN2: base + 1
* LAN3: base + 2
* WAN: base + 3
* 2.4GHz WLAN: base + 1
* 5GHz WLAN: base + 2

Flashing Notes:
The stock firmware images are signed. Both the bootloader and the stock
web interface check the signature and will fail to boot/flash.
The bootloader automatically does NMRP when a gigabit LAN connection is
present. The stock and factory images contain a U-Boot script that is
executed when flashing using NMRP. This is used to alter and persist the
U-Boot env with a boot command that works with unsigned firmware.

Install OpenWrt:
* Get the nmrpflash utility [0] and OpenWrt factory image
* Find network interface to use: nmrpflash -L
* Start nmrpflash: nmrpflash -i interface -f openwrt-...-factory.img
* Connect the device LAN port closest to the power jack to the same
  network using gigabit
* Plug the device in and wait for the bootloader to flash
* Unplug and replug the device once the power LED blinks amber

Revert to Stock:
The boot command needs to be reverted before flashing the stock firmware,
otherwise it will fail to boot and get stuck in recovery mode (red power
LED flashing).

* Run: fw_setenv bootcmd bootipq
* Restart the device
* Flash the stock firmware RBx350-Va.b.c.d.img using nmrpflash

[0]: https://github.com/jclehner/nmrpflash

Signed-off-by: Michael Lotz <mmlr@mlotz.ch>
Link: https://github.com/openwrt/openwrt/pull/21656
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-13 21:32:15 +01:00
Michael Lotz
d0bd7ad1a2 qualcommax: ipq807x: add Netgear RBx750 support
Netgear RBx750 are tri band, 2.4GHz and 2x 5GHz, 8 stream 802.11ax mesh
devices from the Orbi series. The RBR750 is a router with a WAN and 3 LAN
ports. The RBS750 is a satellite without WAN port, only 2 LAN ports and
half the flash. The hardware is otherwise identical. They were sold in
kits as RBK752-RBK757, with one router and 1-6 satellites.

Hardware:
* SoC: Qualcomm IPQ8074
* RAM: 1GiB 1x Samsung
* Flash: 512MiB Winbond W29N04GZ or 256MiB Winbond W29N02GZ
* WLAN 2.4GHz: QCN5024 2x2:2 b/g/n/ax
* WLAN 5GHz Low Band: QCN5054 2x2:2 a/n/ac/ax 5180-5320MHz
* WLAN 5GHz High Band: QCN5054 4x4:4 a/n/ac/ax 5500-5700MHz
* Ethernet: QCA8075 switch with 1 WAN and 3 LAN ports or 2 LAN ports
* Serial Config: 3.3V TTL 115200-8-N-1, internal populated header
* Serial Layout: Bottom <- RX, TX, GND, 3.3V (don't connect) -> Top
* LEDs: green/red power, white/red/green/blue status
* Buttons: 1x Reset, 1x WPS

MAC addresses:
LAN1: base address on label
LAN2: base + 1
LAN3: base + 2
WAN: base + 1
2.4GHz: base + 2
5GHz-Low: base + 3
5GHz-High: base + 4

Flashing Notes:
The stock firmware images are signed. Both the bootloader and the stock
web interface check the signature and will fail to boot/flash.
The bootloader automatically does NMRP when a gigabit LAN connection is
present. The stock and factory images contain a U-Boot script that is
executed when flashing using NMRP. This is used to alter and persist the
U-Boot env with a boot command that works with unsigned firmware.

Install OpenWrt:
* Get the nmrpflash utility [0] and OpenWrt factory image
* Find network interface to use: nmrpflash -L
* Start nmrpflash: nmrpflash -i interface -f openwrt-...-factory.img
* Connect the device LAN port closest to the power jack to the same
  network using gigabit
* Plug the device in and wait for the bootloader to flash
* Unplug and replug the device once the power LED blinks amber

Revert to Stock:
The boot command needs to be reverted before flashing the stock firmware,
otherwise it will fail to boot and get stuck in recovery mode (red power
LED flashing).

* Run: fw_setenv bootcmd bootipq
* Restart the device
* Flash the stock firmware RBx750-Va.b.c.d.img using nmrpflash

[0]: https://github.com/jclehner/nmrpflash

Signed-off-by: Michael Lotz <mmlr@mlotz.ch>
Link: https://github.com/openwrt/openwrt/pull/21938
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-13 21:27:16 +01:00
Robert Marko
c6eb8b84d2 ipq-wifi: update to Git HEAD (2026-02-13)
114c5199dce8 ipq6018: add Netgear RBK350 BDF
296f8fda7c42 ipq8074: add Netgear RBK750 BDF
30241cba74cf ipq8074: add Zyxel NWA110AX BDF

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-13 21:26:42 +01:00
Matt Merhar
fcb07b00ec build: propagate errors when generating apk indexes
The build would continue even if the some of the intermediate commands
failed, as long as the last command in the final iteration of the loop
was successful.

Add 'set -e' to the subshell so that we immediately exit. Previously,
only the exit status of the final make-index-json.py mattered.

Fixes: https://github.com/openwrt/openwrt/issues/21981
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21993
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-13 21:17:21 +01:00
Wei-Ting Yang
cd39bc2c5b elfutils: fix license
Remove OR between GPL-2.0-or-later and LGPL-3.0-or-later to avoid
incorrect parsing of OR as a separate license in the SBOM.

Fixes: 9a157b5d83

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22003
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-13 12:07:07 +01:00
Felix Fietkau
88f3c0eeb0 uclient: update to Git HEAD (2026-02-13)
63413daa8760 uclient-http: fix HTTP authentication after deferred header processing
4fa6fae02f74 uclient-fetch: Extract opt_post variable
8df3120639a4 uclient-fetch: Use HEAD for --spider
0392dfc8e8c4 uclient-fetch: Support of --method, --body-data and --body-file
115c92824b6d uclient-fetch: add OPTIONS request type
a1531e89f6c2 uclient-fetch: support for WebDAV methods

Fixes: https://github.com/openwrt/uclient/issues/14
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-13 10:10:14 +01:00
Felix Fietkau
7bc8aa492f libubox: update to Git HEAD (2026-02-13)
d324c0503040 libubox: send warnings to stderr
5a65cb5a79b7 libubox: document positional arguments
8c7b489daa02 libubox: add anonymous strings, ints, et al in arrays
5ec7ff2effb3 uloop: use volatile sig_atomic_t for do_sigchld flag
0efa2cd3b74c usock: check SO_ERROR after poll in usock_inet_timeout()
1a73ded9f738 usock: fix timeout handling in usock_inet_timeout()
1aa36ee774c8 usock: implement RFC 8305 Happy Eyeballs for usock_inet_timeout()

Fixes: https://github.com/openwrt/uclient/issues/8
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-13 10:10:14 +01:00
Fil Dunsky
0f713d5d11 mediatek: add support for netis NX32U
This PR adds support for netis NX32U router.

Specification
-------------
- SoC       : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3 GHz
- RAM       : 256 MiB DDR3
- Flash     : SPI-NAND 128 MiB (ESMT)
- WLAN      : MediaTek MT7976CN dual-band WiFi 6
  - 2.4 GHz : b/g/n/ax, MIMO 2x2
  - 5 GHz   : a/n/ac/ax, MIMO 2x2
- Ethernet  : 10/100/1000 Mbps x3 (LAN, MediaTek MT7531AE)
              10/100/1000 Mbps x1 (WAN, SoC internal phy)
- USB       : 3.0
- Buttons   : Mesh, Reset
- LEDs      : 1x Power (green), unmanaged
              1x Internet (green), gpio-controlled
              1x WPS (green), gpio-controlled
              1x WiFi 2.4 GHz (green), gpio-controlled
              1x WiFi 5 GHz (green), gpio-controlled
              1x LAN activity (green), switch-controlled
              1x WAN activity (green), switch-controlled
              1x USB (green), gpio-controlled
- Power     : 12 VDC, 1 A

Installation
------------
1. Connect to the router using ssh (user: admin, pass: web interface
   password)
2. Backup:
```
cat /dev/mtd0 | gzip -1 -c > /tmp/mtd0_spi0.0.bin.gz
cat /dev/mtd1 | gzip -1 -c > /tmp/mtd1_BL2.bin.gz
cat /dev/mtd2 | gzip -1 -c > /tmp/mtd2_u-boot-env.bin.gz
cat /dev/mtd3 | gzip -1 -c > /tmp/mtd3_Factory.bin.gz
cat /dev/mtd4 | gzip -1 -c > /tmp/mtd4_FIP.bin.gz
cat /dev/mtd5 | gzip -1 -c > /tmp/mtd5_ubi.bin.gz
```
3. Download mtd backup from the /tmp dir of the router to your PC using
   scp protocol
4. Upload OpenWrt 'bl31-uboot.fip', 'preloader.bin' images to the /tmp
   dir of the router using scp protocol
5. Write FIP and BL2 (replace bootloader):
```
mtd write /tmp/openwrt-mediatek-filogic-netis_nx32u-bl31-uboot.fip FIP
mtd write /tmp/openwrt-mediatek-filogic-netis_nx32u-preloader.bin BL2
```
6. Place OpenWrt
   'openwrt-mediatek-filogic-netis_nx32u-initramfs-recovery.itb' image on
   the tftp server (IP: 192.168.1.254)
7. Erase 'ubi' partition and reboot the router:
   mtd erase ubi
   reboot
8. U-Boot automatically boot OpenWrt recovery image from tftp server to
   the RAM
9. Upload OpenWrt 'sysupgrade.itb' image to the /tmp dir of the router
   (IP: 192.168.1.1) using scp protocol
10. Connect to the router using ssh and run:
```
ubidetach -p /dev/mtd4; ubiformat /dev/mtd4 -y; ubiattach -p /dev/mtd4
ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
sysupgrade -n openwrt-mediatek-filogic-netis_nx32u-squashfs-sysupgrade.itb
```

Recovery
--------
1. Place OpenWrt
   'openwrt-mediatek-filogic-netis_nx32u-initramfs-recovery.itb' image on
   the tftp server (IP: 192.168.1.254)
2. Press “Reset” button and power on the router. After ~10 sec release
   the button.
3. Use OpenWrt initramfs system for recovery

+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| LAN     | dc:xx:xx:d1:xx:18 | label     |
| WAN     | dc:xx:xx:d1:xx:1a | label+2   |
| WLAN 2g | de:xx:xx:11:xx:19 |           |
| WLAN 5g | de:xx:xx:71:xx:19 |           |
+---------+-------------------+-----------+
The LAN MAC was found in 'Factory', 0x1fef20
The WAN MAC was found in 'Factory', 0x1fef26
The WLAN 2g/5g MAC prototype was found in 'Factory', 0x4

Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21368
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-12 23:02:05 +01:00
Tomáš Macholda
0271f2ee36 mvebu: add support for RIPE Atlas Probe v5
RIPE Atlas Probe v5 is a network measurement device based on Turris MOX.

u-boot bootscript supports booting both from the original Turris BTRFS
layout and default OpenWrt ext4 boot + root partition layout.

Specifications:
* SoC: Marvell ARMADA 3720
* RAM: 512 MiB, DDR3
* eMMC: 4G
* Ethernet: 1x 1GbE

MAC:
LAN MAC: label on board

Flash instructions:
* For using the default ext4 layout, boot into a live system using
tftpboot in u-boot and flash an OpenWrt SD image onto /dev/mmcblk0.
* For the Turris layout, put the new rootfs into subvolume '@', not
forgetting to add Image, device tree, and boot.scr to /boot.

Misc:
* USB connection is only for power. For UART access use the pin header:
  1: GND
  2: +1.8V
  5: TX
  6: RX
* Flashing the image onto Turris Shield won't work. Use Turris MOX image
  instead.

Signed-off-by: Tomáš Macholda <tomas.macholda@nic.cz>
Link: https://github.com/openwrt/openwrt/pull/20031
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-12 22:21:51 +01:00
Matt Merhar
8c6ed4e927 apk: handle edge case when parsing .apk files
This was a regression introduced in the recent alignment changes and led
to failures when reading (i.e. 'mkndx') certain packages like follows:

ERROR: python3-botocore-1.31.7-r1.apk: unexpected end of file

It affected packages with a header size greater than the read buffer
size of 128KB but less than 160KB (128KB + (128KB / 4)).

In those cases, we'd attempt a 0 byte read, leading to APKE_EOF.

Based on some tests of files across multiple archs and feeds, it seems
the only packages meeting those criteria were python3-botocore and
golang-github-jedisct1-dnscrypt-proxy2-dev.

Fixes: 64ec08eee1 ("apk: backport upstream fixes for unaligned access")
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21992
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-12 10:23:56 +01:00
Zihao Diao
2e5b44a989 usbmode: add modeswitch rule for ZTE MF833U1
ZTE MF833U1 is a LTE dongle that expose a cdc_ether interface for data link
and WebUI for management. It handles all the "modem" functionalities
internally and does not expose any serial interface. Instead it acts like a
"router in a stick".

It initially enumerates as a USB mass-storage device and does not bind any
network driver, so no netdev is created until a modeswitch is performed.

The test is done on Cudy TR3000 256MB v1.0 running OpenWrt 24.10.5 with an
unit targeting Chinese market:

 - Hardware Version: MF883U1_V1.0.0
 - Software Version: BD_MF883U1V1.0.0B06
 - CMIT ID: 2019CP2106

There are report online that the device have different variants that have
different behavior across different firmware, HW revisions or SKUs.

Before the switch:

```
root@OpenWrt:~# lsusb -t
  /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-mtk/1p, 480M
      |__ Port 001: Dev 003, If 0, Class=[unknown], Driver=[none], 480M

root@OpenWrt:~# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.119
xhci-hcd xHCI Host Controller Bus 001 Device 004: ID 19d2:1705
DEMO,Incorporated DEMO Mobile Boardband Bus 002 Device 001: ID 1d6b:0003
Linux 6.6.119 xhci-hcd xHCI Host Controller ```

After the switch:

```
root@OpenWrt:~# lsusb -t
  /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-mtk/1p, 480M
      |__ Port 001: Dev 003, If 0, Class=[unknown], Driver=cdc_ether, 480M
      |__ Port 001: Dev 003, If 1, Class=[unknown], Driver=cdc_ether, 480M
      |__ Port 001: Dev 003, If 2, Class=[unknown], Driver=[none], 480M
  /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-mtk/1p, 20000M/x2

root@OpenWrt:~# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.119
xhci-hcd xHCI Host Controller Bus 001 Device 003: ID 19d2:1706
DEMO,Incorporated DEMO Mobile Boardband Bus 002 Device 001: ID 1d6b:0003
Linux 6.6.119 xhci-hcd xHCI Host Controller ```

The following kernel debug log is presented:

``` cdc_ether 1-1:1.0 eth2: register 'cdc_ether' at usb-11200000.usb-1, ZTE
CDC Ethernet Device, 34:4b:50:00:00:00 ```

Signed-off-by: Zihao Diao <hi@ericdiao.com>
Link: https://github.com/openwrt/openwrt/pull/21867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-11 23:21:42 +01:00
Nick Hainke
626494fb25 xdp-tools: bump PKG_RELEASE
Increase PKG_RELEASE so buildbots pick up and rebuild the updated
package files.

Fixes: c752525511 ("xdp-tools: add patch to fix stddef.h build issue")
Link: https://github.com/openwrt/openwrt/pull/21988
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-02-11 22:05:25 +01:00
Nick Hainke
c752525511 xdp-tools: add patch to fix stddef.h build issue
Add a patch that avoids including <stddef.h> in BPF headers, fixing
build failures on OpenWrt toolchains where the header is unavailable:

  In file included from xdpfilt_dny_udp.c:10:
  In file included from ./xdpfilt_prog.h:24:
  ../lib/../headers/xdp/parsing_helpers.h:18:10: fatal error: 'stddef.h' file not found
    18 | #include <stddef.h>
        |          ^~~~~~~~~~
  1 error generated.
  make[5]: *** [../lib/common.mk:111: xdpfilt_dny_udp.o] Error 1
  make[4]: *** [Makefile:40: xdp-filter] Error 2

Link: https://github.com/openwrt/openwrt/pull/21972
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-02-11 08:22:32 +01:00
Rui Salvaterra
f9320e8d2d
iproute2: add cake_mq support
Add two patches backported from iproute2-next.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21964
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-02-11 02:07:50 +01:00
Mario Andrés Pérez
7aa1f7e814 mediatek: filogic: gl-mt2500 fix compatibles PHY variants
These devices share the same "compatible" in device tree causing some
incompatibilities (sysupgrades, ASU profile identification), assign a
unique "compatible" and "model" to each variant.

Context:
Commit [1] added each variant's dts compatible to the SUPPORTED_DEVICES
field of the other variant to make easy sysupgrades between these
physically indistinguishable devices variants possible.

But there were found three issues which does not allow this:
- the sysupgrade's stricter check still used in some sysupgrade
paths(this check is being replaced(and redundant) with the newer fwtool's
SUPPORTED_DEVICES check using the info in images METADATA), this check
will fail when sysupgrading from a different board_name(compatible dts)
that the image was created for (image profile name).[2]
- ASU needs unique "dts compatible" to identify the devices profile.
- and an ASU's profile identification limitation when several devices from
a common target share SUPPORTED_DEVICES entries.[3]

There is a proposal for these issues but not yet implemented [4][3].

Until these issues are fixed we won't allow "easy" sysupgrades between
these two device variants.

Commit [5] avoided the ASU profile identification limitation but
missed the required two unique dts compatibles in order to make the two
variants fully work, although not allowing easy sysupgrade between them.

[1]: 8d30e07180
[2]: sysupgrade stricter check https://github.com/openwrt/openwrt/issues/20566#issuecomment-3583555482
[3]: ASU proposal https://github.com/openwrt/asu/pull/1533
[4]: allow easy sysupgrade proposal https://github.com/openwrt/openwrt/pull/20947
[5]: b71f4665cd
Fixes: b71f466 ("mediatek: filogic: fix supported_devices list for gl-mt2500")
Fixes: 8d30e07 ("mediatek: filogic: fix for new GL.iNet GL-MT2500/GL-MT2500A hardware revision")
Fixes: https://github.com/openwrt/openwrt/issues/20566
Fixes: https://github.com/openwrt/asu/issues/1525

Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21842
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-11 00:03:05 +01:00
Matt Merhar
64ec08eee1
apk: backport upstream fixes for unaligned access
On the kirkwood target, packages would frequently fail to install with
APKE_ADB_SCHEMA, APKE_ADB_BLOCK, and/or segfaults. The culprit was
unaligned access leading to bogus values being read out of memory on
these particular ARMv5 CPUs.

Pull in the relevant upstream fixes to address this.

Fixes: https://github.com/openwrt/openwrt/issues/21307
Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/391
Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/392
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21958
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-02-10 15:06:52 +01:00
Daniel Golle
361885b133 procd: update to git HEAD
7e5b324 instance: check length of names when creating cgroups
 014f94c procd: jail/cgroups: fix OOB write in cgroups_apply()
 e08cdc8 hotplug-dispatch: fix filter disallowing setting PATH
 afa4391 service instance: Improve handling of watchdog config changes
 52c64d2 service instance: Fix overwriting of watchdog linked list members
 96c827f coldplug: fix missing header include
 6b10c71 hotplug-dispatch: fix missing header include
 58d7aaa initd/coldplug: create /dev/null before running udevtrigger
 64f97ff hotplug-dispatch: redirect output to /dev/null
 c4e9859 hotplug-dispatch: use stat if d_type is DT_UNKNOWN
 bafdfff system: fix arguments validation in ubus handler

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-02-09 16:41:57 +00:00
Felix Fietkau
3553eda283 wifi-scripts: fix spurious teardown on config_change during setup
When config_change is set during an active setup (e.g. by a concurrent
reconf call), wdev_mark_up() attempted to call setup() while still in
"setup" state. Since setup() requires state "up" or "down", it silently
returned, leaving the state as "setup". The subsequent wdev_setup_cb()
then treated this as a setup failure, triggering an unnecessary
teardown+restart cycle.

Fix this by removing the config_change handling from wdev_mark_up() and
moving it to wdev_setup_cb() instead. wdev_mark_up() now always
transitions to "up" state. When wdev_setup_cb() runs afterwards and
finds the device already "up" with config_change set, it initiates a
clean re-setup from the "up" state where setup() can run.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-08 19:46:45 +01:00
Shine
4ab5fcc04f wifi-scripts: fix encryption setting of default OpenWrt SSID
Commit 01a87f4bd0 changed the encryption
setting of the default SSID "OpenWrt" from "none" to "open". The correct
setting as per the documentation [1] is "none", though.
While this invalid setting won't cause a wrong hostapd setup, it will
at least cause malfunction in LuCI.

Change the default encryption setting back to "none".

[1] https://openwrt.org/docs/guide-user/network/wifi/basic#encryption_modes

Fixes: 01a87f4bd0
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21925
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-08 19:04:24 +01:00
Rosen Penev
387e5d57cc uboot-envtools: fix meraki mr24 definition
These two are redundant definitions according to dts. A value of 4 (CRC
no redundancy) makes no sense.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-08 18:37:43 +01:00
Rosen Penev
6e3c8d95f4 uboot-envtools: fix meraki mx60 definition
There are two redundant sections. One at 0x0 and the other at 0x80000.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-08 18:37:43 +01:00
Nick Hainke
7585450d37 hostapd: fix 601-ucode_support.patch not applying
Code was moved from 601-ucode_support.patch into ucode.{c,h},
but the patch still contained the old hunks. As a result, the patch
no longer applies.

Fix this by dropping the moved code from 601-ucode_support.patch.

Fixes: a7756346c7 ("hostapd: extend DPP ucode API with WPS M7/M8 encrypted settings handling")
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-02-08 17:00:12 +01:00
Felix Fietkau
a7756346c7 hostapd: extend DPP ucode API with WPS M7/M8 encrypted settings handling
Add callbacks to intercept WPS M7 reception (registrar side) and M8
reception (enrollee side), allowing external code to inject extra
encrypted attributes and optionally skip credential building.

On the registrar side, the m7_rx callback receives the decrypted M7
content and can return extra data to include in M8's encrypted settings
as well as a flag to skip credential generation.

On the enrollee side, add a wps_set_m7 method to set extra encrypted
data for M7, and a m8_rx callback to handle the decrypted M8 content
externally.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-08 12:25:20 +01:00
Zoltan HERPAI
e40d416c54 uboot-sunxi: bump to 2025.10
Compile-tested: all targets
Runtime-tested:
 - Linksprite pcDuino v2 (A10)
 - Banana Pro (A20)
 - Banana Pi M2 Berry (V40)
 - Banana Pi P2 Zero (H2+)
 - Pine64+ (A64)

Patches refreshed as required.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2026-02-08 00:56:16 +01:00
Zoltan HERPAI
9f5558fa71 arm-trusted-firmware-sunxi: bump to 2.14
As prep work to support the A52x/T52x-series, bump the TFA to use
the 2.14 release.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2026-02-08 00:56:16 +01:00
Fil Dunsky
658e4adca4 mediatek: filogic: add support for Bazis AX3000WM
- SoC: MediaTek MT7981B
 - CPU: 2x 1.3 GHz Cortex-A53
 - Flash: 128 MiB SPI NAND (Winbond W25N01GV)
 - RAM: 256 MiB (Nanya NT5CC128M16JR-EK)
 - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN, 802.11ax)
 - Ethernet: 1x 10/100/1000/2500 Mbps MaxLinear GPY211C WAN, 1x10/100/1000 Mbps MT7981 LAN
 - USB 3.0 port
 - 2x buttons: Reset, Mesh
 - 3x LEDs on top panel (red, green, blue)
 - 3x PHY port LEDs (1 amber, 2 green)
 - Board version: WD830M V2.0
 - Power: 5 VDC, 3 A

UART: internal test points, 3V3 115200 8N1 (RX, TX, GND)

Interface	MAC			Algorithm
LAN (label)	1c:bf:ce:xx:xx:x1	0x4
WAN		1c:bf:ce:xx:xx:x2	0xa
WLAN 2.4G	1c:bf:ce:xx:xx:x3	0x2a
WLAN 5G		1c:bf:ce:xx:xx:x4	0x24

At the moment installation is possible via UART only since SSH root
is password protected.

Set a static ip on the ethernet interface of your PC:
(ip address: 192.168.1.2, subnet mask:255.255.255.0).
Boot into initramfs via TFTP:
```
setenv serverip 192.168.1.2
tftpboot 0x46000000 openwrt-mediatek-filogic-bazis_ax3000wm-initramfs-recovery.itb
bootm 0x46000000
```

Install kmod-mtd-rw and activate it:
```
apk update && apk add kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
```
Upload to the router and write OpenWrt BL2 and FIP bootloader:
```
mtd write openwrt-mediatek-filogic-bazis_ax3000wm-preloader.bin BL2
mtd write openwrt-mediatek-filogic-bazis_ax3000wm-bl31-uboot.fip FIP
```
Prepare ubi partition:
```
ubidetach -p /dev/mtd4
ubiformat /dev/mtd4 -y
ubiattach -p /dev/mtd4
```

Upgrade via luci web interface with sysupgrade file or by issuing a command:
```
sysupgrade -n openwrt-mediatek-filogic-bazis_ax3000wm-squashfs-sysupgrade.itb
```
Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21813
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 22:25:47 +01:00
Felix Fietkau
09de759506 hostapd: add DPP ucode API for external frame handling
Add a ucode API to hostapd and wpa_supplicant for external DPP frame
handling. This allows an external controller to intercept DPP frames
and handle the DPP protocol externally.

The API provides:
- RX callbacks (dpp_rx_action, dpp_rx_gas) called when DPP frames are
  received, allowing external handling before internal processing
- TX methods (dpp_send_action, dpp_send_gas_resp/dpp_send_gas_req) for
  transmitting DPP frames
- A ubus channel-based API (dpp_channel) for bidirectional communication
  with exclusive hook registration per interface
- CCE control for hostapd (set_cce method)

The wpa_supplicant API mirrors hostapd but adapted for STA role:
- Uses tx_gas_req instead of tx_gas_resp
- GAS RX provides full frame instead of parsed query
- No CCE control (AP-only feature)

Both implementations include:
- Timeout handling with automatic channel disconnect after 3 failures
- Hook cleanup on interface removal
- Last-caller-wins semantics for hook registration

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 09:27:57 +00:00
Felix Fietkau
68c2ab8f5f wifi-scripts: fix nested config accumulation in wdev_set_data
When storing device-level data, wdev_set_data() spread the entire wdev
object into handler_data. Since handler_config.data is set from the
previous handler_data[wdev.name] before each setup, this created
exponentially growing nesting with each reload, eventually causing
"nesting too deep" JSON parse errors.

Fix by initializing cur to a simple object containing only the device
name instead of the entire wdev object.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 09:23:22 +00:00
Felix Fietkau
6e25c8bd78 wifi-scripts: add DPP encryption support
Add support for DPP (Device Provisioning Protocol) as both a primary
encryption type and as an optional addition to existing authentication.

Primary DPP mode (encryption=dpp):
- Sets WPA2 with key_mgmt=DPP
- Requires Management Frame Protection (ieee80211w=2)
- Supports dpp_connector, dpp_csign, dpp_netaccesskey options

Optional DPP mode (dpp=1 boolean on AP):
- Adds DPP to existing key management methods
- Allows AP to accept both DPP and other auth types
- Supports the same connector options

Both ucode and legacy shell implementations are updated for AP and STA
modes.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 09:23:22 +00:00
John Crispin
706c416a30 cli: add cidr6 data type
Signed-off-by: John Crispin <john@phrozen.org>
2026-02-07 10:04:18 +01:00
John Crispin
b8407e6021 cli: object-editor: merge named_args into create parameters
Allow callers of edit_create_destroy to pass additional named arguments
via info.named_args that get merged into the create command parameters.

Signed-off-by: John Crispin <john@phrozen.org>
2026-02-07 10:04:18 +01:00
John Crispin
7fd71f2c74 unetmsg: notify subscribers when remote peer connection drops
When a remote peer's connection drops (device powered off, unetmsgd
crash, network failure), network_rx_cleanup_state silently removed
the remote publish/subscribe handles without notifying local
subscribers. This meant local clients had no way to detect that a
remote peer had disappeared.

Call handle_publish for each channel where a remote publish handle
is removed during connection cleanup, so local subscribers receive
the publisher change notification and can react accordingly.

Signed-off-by: John Crispin <john@phrozen.org>
2026-02-07 10:04:18 +01:00
Felix Fietkau
e0722d0ac4 unetmsg: only send publish notifications for remote publisher changes
handle_publish() notifies local subscribers about publisher state
changes. The publish/subscribe handler in network_socket_handle_request()
was calling it for both remote publish and subscribe changes, but
subscriber changes are not relevant to local subscribers.

Guard the handle_publish() calls with a msgtype == "publish" check,
matching the local client paths in unetmsgd-client.uc which already
have this guard.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 10:04:18 +01:00
Felix Fietkau
212040b5ca unetmsg: fix reconnect loop when RX authenticates before TX
When both peers connect simultaneously, the RX side can authenticate
before the TX handshake completes. network_check_auth() was sending a
ping on the unauthenticated TX channel, which gets rejected by the
remote's pre-auth handler as "Auth failed", killing the connection and
triggering an endless reconnect cycle.

Check chan.auth before interacting with the TX channel. If TX auth
hasn't completed yet, just schedule a reconnect timer - auth_data_cb
already handles state sync when TX auth completes.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 10:04:18 +01:00
Felix Fietkau
389a79d972 unetmsg: close all channels on network removal
network_close() only closed the listening socket without shutting down
established RX/TX connections. This left remote state in
core.remote_publish/core.remote_subscribe for hosts on the removed
network, causing stale entries in channel listings and failed routing
attempts.

Close all RX and TX channels before removing the network, which also
triggers remote state cleanup via network_rx_socket_close().

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 10:04:17 +01:00
Felix Fietkau
f09596f84f unetmsg: fix inverted condition in network_rx_socket_close()
The cleanup condition checked != instead of ==, inverting the logic.
This caused two problems:

When an authenticated RX connection disconnected, remote state for that
host was never cleaned up since the stored entry matched the one being
closed.

When a stale unauthenticated connection from a peer closed, any existing
authenticated connection from the same peer was incorrectly deleted and
its remote state wiped.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 10:04:17 +01:00
Felix Fietkau
3efcf444a1 unetmsg: fix publish notification timing around remote auth
When a remote peer's publish registrations arrive via RX before the
local TX connection is authenticated, handle_publish fires but the
subscriber can't reach the remote publisher yet since the TX channel
isn't ready.

Suppress publish notifications on the RX side when no authenticated TX
channel exists for the remote host. After TX authentication completes,
re-trigger handle_publish only for topics that the specific peer
publishes and that have local subscribers.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 10:04:17 +01:00
Felix Fietkau
a2368e0f69 unetmsg: fix stale network cleanup in unetd_network_update()
The condition checked !data.networks instead of !data.networks[name],
making it always false since data.networks was already validated earlier
in the function. Networks removed from unetd were never closed.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 10:04:17 +01:00
John Crispin
aaa2d9f1e5 procd: reload_config: support UCI overlay directory
Check /var/run/uci/ before /etc/config/ so that overlay configs
also trigger service reload events.

The overlay directory takes precedence, and uci show already handles
merging overlay + base configuration correctly.

Signed-off-by: John Crispin <john@phrozen.org>
2026-02-07 10:04:17 +01:00
Felix Fietkau
e9d6025725 ucode: add ubus fixes
- avoid double close of externally owned channel fds
- fix refcounting bug

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-07 10:04:17 +01:00
Nick Hainke
42d0104254 jansson: update to 2.15.0
Changelog:
https://github.com/akheron/jansson/blob/v2.15.0/CHANGES

Remove upstreamed patch:
001-cmake-ver.patch

Link: https://github.com/openwrt/openwrt/pull/21908
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-02-07 09:04:19 +01:00
Nick Hainke
dbcb5fb52e libtraceevent: update to 1.9.0
Changelog:
13701b5 libtraceevent: 1.9
6a3a815 libtraceevent: Add tep_load_modules() API
31fc91b libtraceevent: Add tep_parse_last_boot_info()
5e4ef1f libtraceevent: Add tep_btf_list_args()
aa49dce libtraceevent: Split out btf func init code from tep_btf_print_args()
239b063 libtraceevent: Do not change names of functions not of this library
c284dec libtraceevent: Handle __get_stacktrace()
1ba1262 libtraceevent: Move back to 1.8.99
263459e libtraceevent: Use BTF_INT_BITS/OFFSET() when parsing int parameters
0294b73 libtraceevent utest: Add simple test to test BTF parsing
38e03ac libtraceevent: Have BTF find functions with extra characters
b441fff libtraceevent: Add man page for the new BTF functions
87f30d9 libtraceevent: Add loading of BTF to the tep handle
3488dc9 libtraceevent: Move to 1.9 devel

Link: https://github.com/openwrt/openwrt/pull/21886
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-02-06 20:37:34 +01:00
Nick Hainke
eba0e822f6 libtracefs: update to 1.8.3
Changelog:
6fad6a1 libtracefs: version 1.8.3
5505e14 libtracefs: Do not have utest fail debugfs/tracing not found
362574c libtracefs: Fix whitespace in enable_disable_all()
06c07be libtracefs: Make comm field a string
0a2a28f libtracefs/Documentation: Fix markup in the man page
57fcdc1 libtracefs: utest: Return non-zero exit code when something fails
ae03455 libtracefs: Fix tracefs_event_is_enabled() for all events
01a3fd3 libtracefs: Fix enum type in read_event_state
ef1656b libtracefs: Fix the /dev/null redirection compatibility in Makefile

Link: https://github.com/openwrt/openwrt/pull/21886
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-02-06 20:37:34 +01:00
Nick Hainke
8f5f66c092 xdp-tools: update to 1.5.8
Release Notes:
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.8
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.7
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.6
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.5
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.4
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.3
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.2
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.1
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.0
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.4.3

Remove upstreamed:
- 010-configure-respect-LDFLAGS.patch
- 020-libxdp-Use-__noinline__-reserved-attribute-for-XDP-d.patch
- 024-lib-allow-overwriting-W-flags-via-BPF_CFLAGS.patch
- 025-Add-BPF_LDFLAGS-to-allow-overwriting-llc-s-march-arg.patch

Remove unnecessary patch:
- 022-xdp-dump-add-missing-perf_event-include-for-bpf-and-.patch
  (The included headers were incorrect. Some musl toolchain headers
   appeared in the BPF bytecode generation path, which should not
   happen. This issue is resolved by overriding CFLAGS and LDFLAGS.)

Remove `PKG_FLAGS:=nonshared`. With this flag enabled, the package is
compiled separately for every target. Removing it limits compilation
to each CPU architecture instead, significantly reducing unnecessary
build overhead.

Add new tools:
- xdp-bench:
  XDP-bench is a benchmarking utility for exercising the different operation modes
  of XDP. It is intended to be a simple program demonstrating the various operating
  modes; these include dropping packets, hairpin forwarding (using the XDP_TX return
  code), and redirection using the various in-kernel packet redirection facilities.
- xdp-forward:
  xdp-forward is an XDP forwarding plane, which will accelerate
  packet forwarding using XDP. To use it, simply load it on
  the set of interfaces to accelerate forwarding between.
- xdp-monitor:
  XDP-monitor is a tool that monitors various XDP related statistics and
  events using BPF tracepoints infrastructure, trying to be as low overhead
  as possible.
- xdp-trafficgen:
  XDP-trafficgen is a packet generator utilising the XDP kernel subsystem
  to generate packets transmit them through a network interface.
  Packets are dynamically generated and transmitted in the kernel,
  allowing for high performance (millions of packets per second per core).

Co-Developed-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/20903
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-02-06 17:38:51 +01:00
Matt Merhar
f750e3096f apk: backport upstream fix for invalid fetch timestamps
Uninitialized memory led to bogus, huge timestamps being set on files
downloaded with the wget backend. This caused odd issues like 'ls -l'
crashing busybox when attempting to list the .apk file afterwards.

Link: 42f159e67b
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21874
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-05 17:11:42 +01:00
Rosen Penev
7bfa371c64 lantiq: ltq-adsl: remove of_platform header
It's not the proper one. No of_platform_ APIs are being used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21164
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-04 00:38:31 +01:00
Paul Donald
3f0de6a28d wireguard-tools: fix script errors
follow-up to 148207730a

Schoolboy error on the peer_psk value.

Also fix an issue when joining peer IPv4 and IPv6 AllowedIPs
(${peer_a_ips/ /, } replaces only the first space, while
${peer_a_ips// /, } replaces all the spaces).

Closes: https://github.com/openwrt/openwrt/issues/21847
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21851
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-03 10:02:31 +01:00
Felix Fietkau
017b26f2e7 hostapd: add status ubus method
Add a status method to both hostapd and wpa_supplicant ubus objects
that lists all configured interfaces with their wiphy, MAC address,
and running/pending state. For MLO interfaces, links are grouped
under a single entry with per-link status.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-02 19:49:02 +01:00
Paul Donald
0a576dec74 wireguard-tools: enable reload without teardown
- preserve (active) interface (at reload)

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21784
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-02 12:25:52 +01:00
Paul Donald
148207730a wireguard-tools: avoid temp file for peer generation
- no longer write any temporary file for peer gen
- use wg syncconf to update active interfaces (not setconf)

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21784
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-02 12:25:52 +01:00
Paul Donald
97789875d5 wireguard-tools: avoid temp file for key gen
- no longer write any temporary file for key gen

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21784
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-02 12:25:52 +01:00
Paul Donald
400742a855 wireguard-tools: add protocol renew handler
- add a renew handler
- add a peer detect handler

( benefits from https://github.com/openwrt/netifd/pull/66 )

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21784
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-02 12:25:52 +01:00