]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
3 days agokernel: mtd: spinand: add support for SkyHigh S35ML-3 21808/head
Rongzeng Cai [Sat, 31 Jan 2026 12:46:42 +0000 (13:46 +0100)] 
kernel: mtd: spinand: add support for SkyHigh S35ML-3

This introduces support for the SkyHigh S35ML-3 series SPI NAND flash
devices by importing two key patches:
 - 430-v6.14-mtd-spinand-Introduce-a-way-to-avoid-raw-access.patch
 - 431-v6.14-mtd-spinand-Add-support-for-SkyHigh-S35ML-3-family.patch

Additionally, refresh all existing patches.

Co-authored-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: Rongzeng Cai <cairongzeng@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21808
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agokernel: Add necessary CONFIG_MTD_SPLIT config option 21855/head
Linus Walleij [Tue, 3 Feb 2026 17:20:44 +0000 (18:20 +0100)] 
kernel: Add necessary CONFIG_MTD_SPLIT config option

Buils break without this new config, mea culpa.

Link: https://github.com/openwrt/openwrt/pull/21855
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 days agogemini: sl93512r: override SL93512R partitions for firmware 21820/head
Linus Walleij [Sun, 1 Feb 2026 09:26:59 +0000 (10:26 +0100)] 
gemini: sl93512r: override SL93512R partitions for firmware

This is patch is identical in form and purpose as the IB-4220-B
patch. We switch over to a single "firmware" partition.

All reference design-based machines are now converted and we can
drop the legacy set-up code.

It turns out that the reference design also uses the flash layout
with a 3072KB kernel so augment the sysupgrade to do the right
thing also here.

Link: https://github.com/openwrt/openwrt/pull/21820
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 days agogemini: sq201: override SQ201 partitions for firmware
Linus Walleij [Sat, 31 Jan 2026 23:30:33 +0000 (00:30 +0100)] 
gemini: sq201: override SQ201 partitions for firmware

This is patch is identical in form and purpose as the IB-4220-B
patch. We switch over to a single "firmware" partition.

Link: https://github.com/openwrt/openwrt/pull/21820
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 days agogemini: override IB-4220-B partitions for firmware
Linus Walleij [Mon, 26 Jan 2026 07:21:29 +0000 (08:21 +0100)] 
gemini: override IB-4220-B partitions for firmware

To optimize the flash usage and to make firmware upgrades
simpler, catenate the three firmware partitions "Kern",
"Ramdisk" and "Application" into one, and use all of this
for the combined MTD-splitted kernel+rootfs.

This works fine as long as the kernel is placed in the
beginning of this firmware partition and we leave the
RedBoot partition as is, so the boot loader still can load
the kernel from the first two RedBoot partitions.

Using the RedBoot partitions "as is" can be considered
harmful, because when you flash to a RedBoot partition the
file size is used for downsizing of the partition and make
firmware upgrades fail if they are larger than the RedBoot
partition size after flashing, despite there is actually
flash there. So overriding with fixed partitions is just
generally a good idea.

Link: https://github.com/openwrt/openwrt/pull/21820
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 days agokernel: mtdsplit: create executable prolog splitter
Linus Walleij [Tue, 27 Jan 2026 17:09:10 +0000 (18:09 +0100)] 
kernel: mtdsplit: create executable prolog splitter

The problem is the following: we have three fixed partitions
in a RedBoot partition for kernel, initrd and rootfs. On the
surface this looks good.

But we have little flash and want to use it efficiently. We want
to use the OpenWrt "firmware" partition scheme where the kernel,
initramfs and sqashfs+jffs2 rootfs is appended, leaving maximum
space for a writeable rootfs.

To do this we will override the existing RedBoot partition table
with one that merges the three separate partitions into one
"firmware" partition.

RedBoot is still booting the system. It still needs to read the
first two parts "as if" these were the kernel and initrd. This
works fine, because the kernel still comes first.

We already have hacks in place to merge the two kernel and initrd
into one binary image and execute it. This is done by prepending
a "prolog" to the kernel that does the necessary copying in
memory and then jumps to execute the kernel.

Since this "prolog" copying routine is just 92 bytes but has 512
bytes allocated, we can trivially create a firmware format that
can be used for splitting the image into kernel and rootfs
using a tagging scheme that can be done directly by scripting
so we don't need any special binary programs.

This splitter implements that idea.

This will be used on the Gemini platform and was tested on the
Raidsonic IB-4220-B.

Link: https://github.com/openwrt/openwrt/pull/21820
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 days agowireguard-tools: fix script errors 21851/head
Paul Donald [Tue, 3 Feb 2026 05:18:01 +0000 (06:18 +0100)] 
wireguard-tools: fix script errors

follow-up to 148207730a3c9f3aea807df336ca33792e9d3c0f

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>
3 days agorealtek: eth: define hardware receive rings in config 21706/head
Markus Stockhausen [Sun, 25 Jan 2026 20:33:02 +0000 (21:33 +0100)] 
realtek: eth: define hardware receive rings in config

Do not derive the number of hardware receive rings from the SoC
family. Instead add the information to the configuration
structure. Make use of it during ethernet driver probing.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21706
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agomediatek: routerich be7200: fix usb issue 21795/head
Mikhail Zhilkin [Fri, 30 Jan 2026 17:23:09 +0000 (20:23 +0300)] 
mediatek: routerich be7200: fix usb issue

This commit fixes non-working USB port:
---
[    5.294036] xhci-mtk 11200000.usb: error -EPERM: Failed to get supply 'vbus'
[    5.301163] xhci-mtk 11200000.usb: error -EPERM: Failed to get regulators
[    5.307938] xhci-mtk 11200000.usb: probe with driver xhci-mtk failed with error -1
---

While testing the USB power on/off functionality during the previous
commit, I didn't sufficiently test the actual operation of the USB
devices.

Fixes: ff5e66a9208a ("mediatek: add support for Routerich BE7200")
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21795
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agorealtek: eth: rtl931x: reduce logging of special packet trap 21844/head
Jonas Jelonek [Mon, 2 Feb 2026 19:31:11 +0000 (19:31 +0000)] 
realtek: eth: rtl931x: reduce logging of special packet trap

For packets trapped to the CPU for a special reason (not normal
forward), the RTL931x tag decoding always print a log message with level
INFO. This is not needed and just spams the log, e.g. when LLDP packets
are running through the network, each of them causes a log message.

Make that a debug message instead of an info message. We can keep it,
just change when it's printed.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21844
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agohostapd: add status ubus method
Felix Fietkau [Mon, 2 Feb 2026 17:15:41 +0000 (17:15 +0000)] 
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>
4 days agorealtek: drop legacy I/O functions 21824/head
Markus Stockhausen [Sun, 1 Feb 2026 18:35:45 +0000 (19:35 +0100)] 
realtek: drop legacy I/O functions

Remove the unneeded sw_xxx() macros.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21824
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: convert RTL93xx reset to regmap
Markus Stockhausen [Sun, 1 Feb 2026 18:34:29 +0000 (19:34 +0100)] 
realtek: mdio: convert RTL93xx reset to regmap

Make use of regmap in the RTL93xx reset functions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21824
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: convert RTL83xx reset to regmap
Markus Stockhausen [Sun, 1 Feb 2026 18:21:29 +0000 (19:21 +0100)] 
realtek: mdio: convert RTL83xx reset to regmap

Make use of regmap in RTL83xx reset functions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21824
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: convert debug output to regmap
Markus Stockhausen [Sun, 1 Feb 2026 18:16:07 +0000 (19:16 +0100)] 
realtek: mdio: convert debug output to regmap

Some straight forward conversion ...

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21824
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: convert RTL931x I/O to regmap
Markus Stockhausen [Sun, 1 Feb 2026 18:11:05 +0000 (19:11 +0100)] 
realtek: mdio: convert RTL931x I/O to regmap

Drop legacy sw_xxx() macros for RTL931x devices. While we are here
reorganize the access and avoid masked access where possible. So the
code is easier to read.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21824
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: convert RTL930x I/O to regmap
Markus Stockhausen [Sun, 1 Feb 2026 17:42:13 +0000 (18:42 +0100)] 
realtek: mdio: convert RTL930x I/O to regmap

Drop legacy sw_xxx() macros for RTL930x devices. While we are here
reorganize the access and avoid masked access where possible. So the
code is easier to read.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21824
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: convert RTL839x I/O to regmap
Markus Stockhausen [Sun, 1 Feb 2026 17:17:35 +0000 (18:17 +0100)] 
realtek: mdio: convert RTL839x I/O to regmap

Drop legacy sw_xxx() macros for RTL839x devices. While we are here
reorganize the access and avoid masked access where possible. So the
code is easier to read.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21824
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agowireguard-tools: enable reload without teardown 21784/head
Paul Donald [Sat, 31 Jan 2026 14:52:21 +0000 (15:52 +0100)] 
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>
4 days agowireguard-tools: avoid temp file for peer generation
Paul Donald [Sat, 31 Jan 2026 15:01:44 +0000 (16:01 +0100)] 
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>
4 days agowireguard-tools: avoid temp file for key gen
Paul Donald [Sat, 31 Jan 2026 14:47:30 +0000 (15:47 +0100)] 
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>
4 days agowireguard-tools: add protocol renew handler
Paul Donald [Sat, 31 Jan 2026 14:56:28 +0000 (15:56 +0100)] 
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>
4 days agowireguard-tools: detect address changes at reload
Paul Donald [Sat, 31 Jan 2026 14:53:41 +0000 (15:53 +0100)] 
wireguard-tools: detect address changes at reload

Proto handler now also detects changes to
- addresses

Tighten also assign address portion

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>
4 days agomac80211: ath11k: fix for unsupported 11ax EDCA 21563/head
Paweł Owoc [Fri, 16 Jan 2026 10:10:35 +0000 (11:10 +0100)] 
mac80211: ath11k: fix for unsupported 11ax EDCA

Currently publicly available firmware for ath11k does not support
the 11ax EDCA parameter.
Skipping sending this parameter allows the use of STA mode.

Fixes: https://github.com/openwrt/openwrt/issues/20702
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21563
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agowifi-scripts: wireless.uc: add MLO support for procd service data
Felix Fietkau [Fri, 30 Jan 2026 18:02:35 +0000 (18:02 +0000)] 
wifi-scripts: wireless.uc: add MLO support for procd service data

This allows services to dynamically configure MLO interfaces without
using UCI.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 days agonetifd: ensure netifd_loglevel default value as fallback 21819/head
Hannu Nyman [Sun, 1 Feb 2026 16:28:57 +0000 (18:28 +0200)] 
netifd: ensure netifd_loglevel default value as fallback

Commit 168d5af added the possibility to configure netifd logging level.
The option is read from /etc/config/network and validated.
Supposedly the validation sets 2 as default.

But in case of a syntax error in /etc/config/network, the validation
result can be empty. Then the always passed option to netifd is
just '-l' instead of '-l 2'. That crashes netifd and prevents network
from launching.

Add a fallback value to the variable, so that there will always be
a proper value after the '-l' option.

Improves: 168d5af "netifd: add loglevel config option (fixes #18001)"
Fixes: #21816
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/21819
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agohostapd: fix dealing with required interface restart in AP+STA mode
Felix Fietkau [Sun, 1 Feb 2026 19:17:27 +0000 (19:17 +0000)] 
hostapd: fix dealing with required interface restart in AP+STA mode

Ensure that the BSS start_disabled option is always cleared, so that
interfaces come up properly.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 days agomac80211: fix AP+STA on DFS channels
Felix Fietkau [Sun, 1 Feb 2026 18:31:36 +0000 (18:31 +0000)] 
mac80211: fix AP+STA on DFS channels

Allow skipping CAC on AP bringup if the STA is connected already.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 days agomac80211: improve patch to allow grace period for DFS
Felix Fietkau [Sun, 1 Feb 2026 15:38:53 +0000 (15:38 +0000)] 
mac80211: improve patch to allow grace period for DFS

Fix corner cases in updates.
Improve channel puncturing handling.
Fix dealing with CSA.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 days agoramips: add support for D-Link DIR-1360 A1 21616/head
Aryaman Srivastava [Thu, 15 Jan 2026 17:43:47 +0000 (23:13 +0530)] 
ramips: add support for D-Link DIR-1360 A1

The D-Link DIR-1360 A1 is an AC1300 router based on the MT7621AT SoC.

Specifications :-

* SoC: MediaTek MT7621AT
* RAM: 256 MB DDR3
* Flash: 128 MB SPI NAND (Winbond W29N01HV)
* WiFi: MT7615D (2.4 GHz + 5 GHz DBDC)
* Ethernet: 5x 10/100/1000 Mbps (1x WAN, 4x LAN)
* USB: 1x USB 3.0
* Buttons: Reset, WPS
* LEDs: Power (White/Orange), Internet (White/Orange), USB, 2.4G/5G WLAN

MAC addresses are retrieved from the 'factory' partition via NVMEM.
LAN: 0xe000 (gmac0)
WAN: 0xe006 (gmac1)
WLAN: 0xe00c (pcie0)

Flash Instruction :-

1-Set a static IP on your PC (e.g., 192.168.0.10, Gateway 192.168.0.1).
2- Power off the router and connect your PC to a LAN port.
3- Hold the Reset button and power on the router; continue holding for 5 seconds.
4- Access the Recovery UI at http://192.168.0.1 in your browser.
5- Upload the OpenWrt factory.bin image and wait for the reboot.

With these definitions in place, the DIR-1360 A1 boots reliably, exposes all hardware features correctly, and can be flashed via both the OEM recovery interface and standard OpenWrt upgrade paths.

Signed-off-by: Aryaman Srivastava <aryamansrivastava895@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21616
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agokernel: bump 6.12 to 6.12.68 21797/head
John Audia [Fri, 30 Jan 2026 20:37:22 +0000 (15:37 -0500)] 
kernel: bump 6.12 to 6.12.68

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.68

All patches automatically rebased.

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21797
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agokernel: mtk_eth_soc: fix memory leak in downstream patch 21790/head
Daniel Golle [Fri, 30 Jan 2026 14:31:36 +0000 (14:31 +0000)] 
kernel: mtk_eth_soc: fix memory leak in downstream patch

Bc-bocun Chen of MediaTek has discovered a memory leak in the error path
in our downstream patch for mtk_eth_soc which adds support for the 10G
PCS and PHY paths of the MT7988 SoC.
Fix this by freeing the at this point already allocated netdev resources
before returning the error.

Fixes: 4cb6bd9a6d ("mediatek: switch to pending XFI 10G Ethernet drivers")
Reported-by: Bc-bocun Chen <bc-bocun.chen@mediatek.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 days agorealtek: replace additional "magic numbers" with macros 21786/head
Linus Lüssing [Wed, 7 May 2025 16:40:40 +0000 (18:40 +0200)] 
realtek: replace additional "magic numbers" with macros

Increase readability by replacing more numbers and bit operations
with macros in order to give them distinct, expressive names.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/21786
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: change function prefixes from rtl83xx_ to rtldsa_
Linus Lüssing [Thu, 15 May 2025 00:51:14 +0000 (02:51 +0200)] 
realtek: change function prefixes from rtl83xx_ to rtldsa_

So far the function prefix rtl83xx_ is used for functions which are
exclusive to RTL8390_FAMILY_ID but also for ones shared between
RTL8390_FAMILY_ID/RTL9300_FAMILY_ID/RTL9310_FAMILY_ID.

For a more fitting, precise use of rtl83xx_ rename the ones in dsa.c
which are also used by RTL9300_FAMILY_ID and RTL9310_FAMILY_ID
to rtldsa_.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/21786
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: rtl931x: fix IPv4 unknown-mc portmask debug output
Linus Lüssing [Fri, 30 Jan 2026 21:49:12 +0000 (22:49 +0100)] 
realtek: rtl931x: fix IPv4 unknown-mc portmask debug output

For the IPv4 unknown multicast flood portmask the first byte should be
for the higher port numbers and the following byte for the lower port
numbers, just like for the L2 unknown multicast flood portmask or the
IPv6 unknown multicast flood portmasks, too. Not the other way around.

Fix the debug output here by adjusting the offsets accordingly.

Fixes: 27029277f98d ("realtek: add switch driver support for the RTL93XX based switches")
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/21786
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: pcs: avoid unneeded SerDes reconfiguration 21763/head
Jonas Jelonek [Sun, 25 Jan 2026 23:28:14 +0000 (23:28 +0000)] 
realtek: pcs: avoid unneeded SerDes reconfiguration

Avoid to reconfigure a SerDes when it has been configured for a mode
before. This usually applies to switches which drive multiple ports on a
single SerDes. For those, the phylink subsystem triggers PCS
configuration everytime although it's a single SerDes. For example, on
switches with XSGMII-connected RTL8218D the particular SerDes is
configured eight times but only a single run is needed.

Add a proper check to pcs_config which checks the mode stored in the
SerDes instance against the requested mode. Other 'settings' should be
executed though, e.g. setting autoneg. While at it, drop the check if
there is a 'setup_serdes' implementation. It's just a driver-internal
interface and all variants implement this now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21763
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: pcs: move mode mapping to generic pcs_config
Jonas Jelonek [Sun, 25 Jan 2026 23:10:39 +0000 (23:10 +0000)] 
realtek: pcs: move mode mapping to generic pcs_config

All variant-specific setup_serdes functions currently make equal use of
the mapping from the interface mode to the hardware mode. To reduce
redundancy, move this mapping to the generic pcs_config, from where the
setup_serdes implementations are called.

This includes slightly changing the setup_serdes signature and some
debug messages.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21763
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: rtl838x_eth: Use printk MAC specifier instead of raw hex 21812/head
Bevan Weiss [Mon, 19 Jan 2026 08:05:31 +0000 (19:05 +1100)] 
realtek: rtl838x_eth: Use printk MAC specifier instead of raw hex

The linux kernel printk has a MAC address specifier `%pM` that can be
used to pretty-print MAC addresses.  We should use this specifier when
printing MAC addresses for humans since that ensure the appearance that
people are used to.

Fixes #21796

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21812
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: eth: fix features 21778/head
Markus Stockhausen [Fri, 30 Jan 2026 13:05:59 +0000 (14:05 +0100)] 
realtek: eth: fix features

"features" describes the currently active device options and
"hw_features" describes all possible ones. So hw_features must
be a superset of features. Fix that.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21778
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: eth: cleanup after transmit function switch
Markus Stockhausen [Fri, 30 Jan 2026 13:00:49 +0000 (14:00 +0100)] 
realtek: eth: cleanup after transmit function switch

Remove all old structures and defines that are no longer needed.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21778
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: eth: refactor transmit function
Markus Stockhausen [Fri, 30 Jan 2026 12:58:05 +0000 (13:58 +0100)] 
realtek: eth: refactor transmit function

Provide a new transmit function. It is cleaner and closer to
upstream than what we have now. The basic features are:

- Avoid memory moving and keep data in the SKBs
- Only protect really critcal parts by a lock as transmit
  queues will be only called once by the kernel

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21778
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: eth: drop pick queue functions
Markus Stockhausen [Fri, 30 Jan 2026 12:49:39 +0000 (13:49 +0100)] 
realtek: eth: drop pick queue functions

The operating system has enough features to control the transmit
queues. There is no need to provide a hard coded distribution
function. Especially differentiating between a round robin for
RTL83xx and high/low priority for RTL93xx makes no sense. All
devices have the same low/high priority queues.

Simply present two "generic" queues to the kernel.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21778
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: eth: add new transmit structures
Markus Stockhausen [Wed, 28 Jan 2026 17:51:31 +0000 (18:51 +0100)] 
realtek: eth: add new transmit structures

The ethernet driver will get a new transmit function. As a first
step add the required structures and initialize them.

To get an idea: In the future the transmit buffer will hold only
the needed packet header information. The real data is kept in the
SKBs. So only pointers will be changed and memory moving can be
avoided. The SoC will transfer packet data directly from the SKBs.

Additionally a new transmit lock will be established that is
separated from the current driver lock. This is only needed
to guard the "kick-the-engine" command. So contention of the old
global lock can be reduced.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21778
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: eth: disable tx interrupts
Markus Stockhausen [Wed, 28 Jan 2026 16:30:19 +0000 (17:30 +0100)] 
realtek: eth: disable tx interrupts

Ethernet transmit handling processes data synchronously via a
packet buffer. As soon as it kicks the SoC to send the packet
no more post processing is needed. Especially there is no need
for transmit completion interrupts. Disable them to reduce the
CPU load.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21778
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agobuild: use STAGING_DIR for special APK package versions 21803/head
Jonas Gorski [Wed, 14 Jan 2026 19:19:30 +0000 (20:19 +0100)] 
build: use STAGING_DIR for special APK package versions

Removing tmp/ after having built base-files or toolchain currently
breaks rootfs generation:

$ rm -rf tmp
$ make V=w
...
 make[2] package/install
cat: .../openwrt/tmp/base-files.version: No such file or directory
cat: .../openwrt/openwrt/tmp/libc.version: No such file or directory
ERROR: 'base-files=' is not a valid world dependency, format is name(@tag)([<>~=]version)
make[2]: *** [package/Makefile:100: package/install] Error 99

The only way to recover from here is to clean toolchain and base-files via

$ make package/{base-files,toolchain}/clean

tmp is supposed to be ephemeral, so clearing it is an expected action,
which normally just triggers a regeneration of all files there.

Fix this by moving the version files to $(STAGING_DIR).

Fixes: 63e178f067 ("build: lock versions for special APK packages")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21803
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agokernel: mtd: backport upstream physmap OF partition order
Linus Walleij [Thu, 29 Jan 2026 23:24:31 +0000 (00:24 +0100)] 
kernel: mtd: backport upstream physmap OF partition order

This patch was applied upstream and makes it possible to override
RedBoot partitions with fixed-partitions for platforms using
physmap.

Link: https://lore.kernel.org/linux-mtd/176971394786.256159.18224773453751051734.b4-ty@bootlin.com/
Link: https://github.com/openwrt/openwrt/pull/21788
Signed-off-by: Linus Walleij <linusw@kernel.org>
6 days agowifi-scripts: fix ieee80211w override for psk-sae/sae-mixed
Felix Fietkau [Sat, 31 Jan 2026 16:56:53 +0000 (16:56 +0000)] 
wifi-scripts: fix ieee80211w override for psk-sae/sae-mixed

The ucode wifi-scripts unconditionally set ieee80211w=1 for psk-sae
and eap-eap2 auth types, ignoring any user-configured value. This
caused ieee80211w=2 (MFP required) to be silently downgraded to 1
(MFP optional) when using sae-mixed encryption.

Change the logic to only set the default of 1 when ieee80211w is not
already configured by the user.

Fixes: https://github.com/openwrt/openwrt/issues/21751
Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 days agouclient: update to Git HEAD (2026-01-31)
Felix Fietkau [Sat, 31 Jan 2026 14:03:05 +0000 (14:03 +0000)] 
uclient: update to Git HEAD (2026-01-31)

b3ee1209a3d0 uclient-http: reset fd to -1 after close in disconnect
9c2ad269c42b uclient-http: fix seq field check to use correct field
80c9bd29c233 uclient-http: fix hang on HTTP to HTTPS redirect
931bbfeb2c92 ucode: fix memory leak when using ssl context

Fixes: https://github.com/openwrt/uclient/issues/11
Fixes: https://github.com/openwrt/uclient/issues/13
Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 days agolantiq: xrx200: add env-size for P-2812HNU-F1 u-boot-env 21780/head
Burak Aydos [Thu, 29 Jan 2026 19:25:04 +0000 (22:25 +0300)] 
lantiq: xrx200: add env-size for P-2812HNU-F1 u-boot-env

The u-boot-env partition on the Zyxel P-2812HNU-F1 is 128 KiB but
the actual environment data is only 8 KiB (0x2000 bytes). Without
the env-size property, the u-boot,env nvmem layout driver assumes
env-size equals the full partition size and computes an incorrect
CRC32 over the entire 128 KiB, causing all nvmem cell reads to fail
silently.

Add env-size = <0x2000> so the CRC32 is computed over the correct
8 KiB region, allowing nvmem-cells (such as ethaddr) to be read
properly by the kernel.

Signed-off-by: Burak Aydos <byhexadecimal@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21780
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: mdio: convert rtl838x i/o to regmap 21741/head
Markus Stockhausen [Tue, 27 Jan 2026 13:32:50 +0000 (14:32 +0100)] 
realtek: mdio: convert rtl838x i/o to regmap

Drop legacy sw_xxx() macros for rtl838x devices. While we are here
reorganize the access and aovid masked access where possible. So the
code is easier to read.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21741
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: mdio switch run command to regmap
Markus Stockhausen [Tue, 27 Jan 2026 12:48:04 +0000 (13:48 +0100)] 
realtek: mdio switch run command to regmap

As a first step convert the central run command over to regmap.

Additional info: The command masks where changed because
sw_xxx() dont care about the to be set or to be cleared bits
(aka mask). In regmap the mask must always be a superset of the
to be set bits.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21741
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: mdio: adapt command function signature
Markus Stockhausen [Tue, 27 Jan 2026 09:53:43 +0000 (10:53 +0100)] 
realtek: mdio: adapt command function signature

To make use of regmap in the command function adapt its signature
so it has access to the control structure via the bus.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21741
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: mdio: enhance read/write function signature
Markus Stockhausen [Tue, 27 Jan 2026 07:44:50 +0000 (08:44 +0100)] 
realtek: mdio: enhance read/write function signature

For regmap conversion the read/write functions need access to the
control structure (aka bus->priv). Add the bus to the parameters list.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21741
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: mdio: add regmap to bus structure
Markus Stockhausen [Tue, 27 Jan 2026 07:33:34 +0000 (08:33 +0100)] 
realtek: mdio: add regmap to bus structure

To convert the existing sw_xxx() commands the bus needs a regmap.
This is derived from the parent mfd node like in all other Realtek
drivers.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21741
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: dts: add LGS328C port 21 definition 21793/head
Markus Stockhausen [Fri, 30 Jan 2026 17:16:02 +0000 (18:16 +0100)] 
realtek: dts: add LGS328C port 21 definition

Port 21 definition was missed during addition of LGS328C.
Add it to the dts.

Fixes: 853d73f ("realtek: add support for Linksys LGS328C")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21793
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agouboot-mvebu: update to version 2026.01 21673/head
Stefan Kalscheuer [Fri, 23 Jan 2026 18:13:25 +0000 (19:13 +0100)] 
uboot-mvebu: update to version 2026.01

Update package to the latest stable version.
Patches unchanged.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/21673
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agomediatek: add support for netis NX62 21581/head
Alexey Lotosh [Sat, 17 Jan 2026 16:01:06 +0000 (19:01 +0300)] 
mediatek: add support for netis NX62

Same hardware as Netcore N60 Pro
Add:
DEVICE_ALT0_VENDOR := netis
DEVICE_ALT0_MODEL := NX62
DEVICE_ALT0_VARIANT := V1

Signed-off-by: Alexey Lotosh <lotosh@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21581
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agolinux-firmware: update to 20260110 21497/head
John Audia [Sun, 11 Jan 2026 12:41:21 +0000 (07:41 -0500)] 
linux-firmware: update to 20260110

% log --no-merges --pretty=oneline --abbrev-commit 20260110...20251125
ff2b45687e73 linux-firmware: update firmware for MT7925 WiFi device
1e133c2d1d75 mediatek MT7925: update bluetooth firmware to 20260106153314
2f9b243612ae mediatek MT7920: update bluetooth firmware to 20260105151350
1e92dbe4b49c mediatek MT7922: update bluetooth firmware to 20260106153735
b9a690370724 linux-firmware: update firmware for MT7922 WiFi device
0405e4a1ba66 Mellanox: Add new mlxsw_spectrum firmware xx.2016.3900
10d9e8e00e04 amdgpu: Update dcn314, dcn315 firmware to 0.1.42.0
21d69f404447 qcom: Update DSP firmware for sa8775 platform
fa860a865341 QCA: Add Bluetooth firmware for QCC2072 uart interface
3692c4d6e677 i915: Xe3p_LPD DMC v2.33
b69f261cdedf qcom: Update DSP firmware for qcs8300 platform
5e60a4ec91ed linux-firmware: update firmware for MT7920 WiFi device
3ff97fca3ccc qcom: Update aic100 firmware files
b85e1561bdfc qca: Update Bluetooth WCN6750 1.1.3-00100 firmware to 1.1.3-00105
acf533d4b3d7 firmware: Revert kernel_boot.elf due to license compliance issue
f8a6723505e9 linux-firmware: add firmware for an8811hb 2.5G ethernet phy
2a6b361888e8 i915: Xe3LPD_3002 DMC v2.28
81368cb84b87 i915: Xe3LPD DMC v2.33
c360f595d977 intel_vpu: Add firmware for 50xx NPUs and update older ones
13786e87c7e9 linux-firmware: Update AMD SEV firmware
993573ac3dc6 amdgpu: DMCUB updates for various ASICs
19b55776b5b5 qcom: venus-5.4: fix ELF segment alignment to 4 bytes
e56e0a4c8985 mediatek MT7925: update bluetooth firmware to 20251210093205
9ba3cd479466 linux-firmware: update firmware for MT7925 WiFi device
56bb432a65bc rcar_gen4_pcie: add firmware for Renesas R-Car Gen4 PCIe controller
154d3ad0864a qcom: Update CDSP firmware for qcm6490 platform
39fdaba4a719 rtl_bt: Update RTL8852BT/RTL8852BE-VT BT USB FW to 0x488C_DB55
f383a26428bf linux-firmware: Add firmware file for Intel Scorpius core
fed51005f935 rtw89: 8852b: update fw to v0.29.29.15
fe9e5c89d5e8 cirrus: cs35l41: Update firmware and tuning for various HP laptops
1466bd681b4c cirrus: cs35l41: Add support for new HP Clipper laptop
950e89fddc4c qcom: drop compatibility a640_zap.mdt symlink
8715f3da4832 qcom: add version for a530v3_gpmu.fw2
3b34b3b938be xe: Update GUC to v70.55.3 for BMG, PTL
0a041632c156 iwlwifi: add Bz/Sc FW for core101-82 release
41b492fc7464 iwlwifi: Add Sc/Gf firmware for core101-82 release
8e39678cd6fb iwlwifi: update ty/So/Ma firmwares for core101-82 release
06bee1b5023d iwlwifi: update cc/Qu/QuZ firmwares for core101-82 release
9c9bdaab22a7 amdgpu: DMCUB updates for various ASICs
d718d6300100 qcom: Add firmwares for sm8150 GPU
42e9d5a5994c qcom: Add firmwares for sm8450 GPU
30979b116b5c qcom: Add firmwares for sm8550 GPU
1304566db9cc qcom: Add firmwares for sm8650 GPU
3d89ec352d12 qcom: Add firmwares for sm8750 GPU
1d02df5c1ada Makefile: add licence header
9eca984de60d ath10k: WCN3990 hw1.0: update board-2.bin
89ef5c5da944 ath10k: QCA9888 hw2.0: update board-2.bin
e6e77dccf149 ath10k: QCA4019 hw1.0: update board-2.bin
1774b2a25c75 cirrus: cs35l41: Add support for new HP laptops
3d5c8135206c Revert "amdgpu: update GC 11.5.0 firmware"
e399bb332bda linux-firmware: Update amd-ucode copyright information
2b318c8e4159 linux-firmware: Update AMD cpu microcode
c56e10ea830f linux-firmware: Update firmware file for Intel Scorpius core
ee03c5fb3d99 linux-firmware: Update firmware file for Intel BlazarIGfP core
70a4bb64e5b3 linux-firmware: Update firmware file for Intel BlazarI core
de8211b56b76 linux-firmware: Update firmware file for Intel BlazarU-HrPGfP core
4d8ef73cb73e linux-firmware: Update firmware file for Intel BlazarU core
15f854368441 ath11k: QCA6698AQ hw2.1: update to WLAN.HSP.1.1-04866-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1
b38214c8f31c ath11k: QCA2066 hw2.1: update board-2.bin
c277a009eb05 qcom: update ADSP firmware for x1e80100 platform, change the license
6e06e5eac797 qcom: reorder ADSP, CDSP firmware entries for qcs8300 in WHENCE
9db3ba0dbc95 Reapply "amdgpu: update SMU 14.0.3 firmware"
5698af42f16e Revert "amdgpu: update SMU 14.0.3 firmware"
baf6c2f67a24 Revert "amdgpu: update GC 10.3.6 firmware"
c092c7487eb7 Revert "amdgpu: update GC 11.5.1 firmware"
5b890c92e78b linux-firmware: update firmware for MT7925 WiFi device
474cca8b3fd3 mediatek MT7925: update bluetooth firmware to 20251124093155
214b4374c0e9 intel_vpu: Update NPU firmware
c91948d8a672 WHENCE: fix version string for video firmware
095130d8e395 qcom: vpu: update video firmware binary for SM8250
323507dc0c43 xe: Update GUC to v70.54.0 for BMG, PTL

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/21497
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agogemini: use tar stream to write firmware
Linus Walleij [Thu, 29 Jan 2026 22:40:50 +0000 (23:40 +0100)] 
gemini: use tar stream to write firmware

The firmware update file can get big, so instead of extracting
the whole file into the tmp folder potentially running out of space
and make the upgrade fail, stream from tar xvf -O directly to the
mtd write command.

Refactor the checking of partitions and the actual upgrade into
two steps when we are at it.

Link: https://github.com/openwrt/openwrt/pull/21782
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agoramips: add support for TP-Link TL-MR6400 v7 21542/head
Miguel Fuertes [Sun, 18 Jan 2026 15:51:22 +0000 (16:51 +0100)] 
ramips: add support for TP-Link TL-MR6400 v7

Add DTS files for the TL-MR6400 v7 16M layout.

Update mt76x8 image definition and adjust LED/network config.

Signed-off-by: Miguel Fuertes <mjfuertesf@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21542
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agokernel: revert ip6_tunnel use skb_vlan_inet_prepare() in __ip6_tnl_rcv() 21783/head
Hirokazu MORIKAWA [Fri, 30 Jan 2026 01:14:53 +0000 (10:14 +0900)] 
kernel: revert ip6_tunnel use skb_vlan_inet_prepare() in __ip6_tnl_rcv()

Fixe Linux 6.12.67 broke ipip6 tunnel (DS-Lite) and MAP-E.

Upstream report: https://lists.openwall.net/netdev/2026/01/30/70
Fixes: https://github.com/openwrt/openwrt/issues/21737
Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21783
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agokernel: fix rtl8261n driver for non-realtek chips 21777/head
Andrew LaMarche [Thu, 29 Jan 2026 14:39:05 +0000 (14:39 +0000)] 
kernel: fix rtl8261n driver for non-realtek chips

Part of the phy patch process breaks functionality on non-Realtek
platforms. Only apply this on Realtek SoCs to fix functionality
everywhere else.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21777
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agolantiq: add missing WAN MAC override 21081/head
Rosen Penev [Mon, 8 Dec 2025 02:11:02 +0000 (18:11 -0800)] 
lantiq: add missing WAN MAC override

In the original userspace implementation, the WAN and DSL interfaces
used the same MAC. Mirror that here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21081
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agoqualcommbe: add pwm support 21727/head
Kenneth Kasilag [Tue, 27 Jan 2026 01:30:32 +0000 (01:30 +0000)] 
qualcommbe: add pwm support

This adds the pending upstream patches for platform PWM support for qualcommbe

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21727
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agokernel: modules: Add tpm-tis-spi 21726/head
Tim Harvey [Tue, 27 Jan 2026 01:17:26 +0000 (17:17 -0800)] 
kernel: modules: Add tpm-tis-spi

Add a module for tpm-tis-spi for TCG TIS 1.3 TPM security chips
connected to a regular non-tcg SPI master.

Add imx target compatibility for kmod-tpm.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/21726
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agoqualcommax: ipq60xx: fix bootconfig script sysupgrade problem 21760/head
Milan Krstic [Thu, 29 Jan 2026 07:49:20 +0000 (07:49 +0000)] 
qualcommax: ipq60xx: fix bootconfig script sysupgrade problem

Make sure seq is copied to ramfs during sysupgrade.

Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21760
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agoqualcommax: ipq807x: fix bootconfig script sysupgrade problem
Milan Krstic [Wed, 28 Jan 2026 20:23:17 +0000 (20:23 +0000)] 
qualcommax: ipq807x: fix bootconfig script sysupgrade problem

Make sure seq is copied to ramfs during sysupgrade.

Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21760
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agogemini: select the right GPIO input package
Linus Walleij [Wed, 28 Jan 2026 00:22:52 +0000 (01:22 +0100)] 
gemini: select the right GPIO input package

We don't want kmod-gpio-button-hotplug, we want the more
normal kmod-input-gpio-keys.

Link: https://github.com/openwrt/openwrt/pull/21750
Signed-off-by: Linus Walleij <linusw@kernel.org>
8 days agogemini: set disk activity on orange LED
Linus Walleij [Mon, 26 Jan 2026 09:18:57 +0000 (10:18 +0100)] 
gemini: set disk activity on orange LED

Set the disk activity LED to the intended trigger.

Link: https://github.com/openwrt/openwrt/pull/21750
Signed-off-by: Linus Walleij <linusw@kernel.org>
8 days agogemini: pad storlink reference firmware to 128kb
Linus Walleij [Sun, 25 Jan 2026 20:01:47 +0000 (21:01 +0100)] 
gemini: pad storlink reference firmware to 128kb

The redboot partition parser gets upset if a partition
doesn't end on an even erase block and marks the partition
read-only.

Fix this by always padding the three firmware items to
128kb.

It is no longer required for the filesystem to be padded
to 6144kb, so we pad this to just 128kb like the kernel
images.

Link: https://github.com/openwrt/openwrt/pull/21750
Signed-off-by: Linus Walleij <linusw@kernel.org>
8 days agogemini: Fix up sysupgrade platform.sh script
Linus Walleij [Sun, 25 Jan 2026 18:01:45 +0000 (19:01 +0100)] 
gemini: Fix up sysupgrade platform.sh script

The Storlink reference designs sometimes fail upgrade because
not the entire partition is used, so the size isn't equal to
the actual flash space available for the partition.

Fix this by calculating the actual partition sizes by measuring
across the partition offsets instead.

Link: https://github.com/openwrt/openwrt/pull/21750
Signed-off-by: Linus Walleij <linusw@kernel.org>
9 days agoiw: replace patch with upstream version 21723/head
Aleksander Jan Bajkowski [Mon, 26 Jan 2026 22:25:00 +0000 (23:25 +0100)] 
iw: replace patch with upstream version

Replace patch with upstream version.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21723
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 days agoairoha: an7581: add switch ports interrups 21016/head
Aleksander Jan Bajkowski [Mon, 1 Dec 2025 22:11:17 +0000 (23:11 +0100)] 
airoha: an7581: add switch ports interrups

The MT7531 has an incorrect interrupt number described in the DTS.
This commit also adds PHY interrupts. They work the same as on
the MT7988.

Tested on Gemtek W1700k.

Suggested-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21016
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 days agokexec-tools: add zstd to package dependencies 21743/head
Roc Lai [Wed, 28 Jan 2026 00:43:05 +0000 (08:43 +0800)] 
kexec-tools: add zstd to package dependencies

Fixed build failure caused by missing libzstd dependency.

Added CONFIG_KEXEC_ZSTD configuration option and libzstd library dependency
declaration, following the same pattern as existing zlib and lzma support.

Fixes: e75218ef4a27 ("kexec-tools: bump to 2.0.32")
Link: https://github.com/openwrt/openwrt/pull/21623#issuecomment-3805115332
Signed-off-by: Roc Lai <laipeng668@qq.com>
Link: https://github.com/openwrt/openwrt/pull/21743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 days agoopenssl: update to 3.5.5 21752/head
Ivan Pavlov [Wed, 28 Jan 2026 14:01:36 +0000 (17:01 +0300)] 
openssl: update to 3.5.5

This release incorporates the following bug fixes and mitigations:

  fixed Improper validation of PBMAC1 parameters in PKCS#12 MAC verification.
  (CVE-2025-11187)

  fixed Stack buffer overflow in CMS AuthEnvelopedData parsing.
  (CVE-2025-15467)

  fixed NULL dereference in SSL_CIPHER_find  () function on unknown cipher ID.
  (CVE-2025-15468)

  fixed openssl dgst one-shot codepath silently truncates inputs >16 MiB.
  (CVE-2025-15469)

  fixed TLS 1.3 CompressedCertificate excessive memory allocation.
  (CVE-2025-66199)

  fixed Heap out-of-bounds write in BIO_f_linebuffer on short writes.
  (CVE-2025-68160)

  fixed Unauthenticated/unencrypted trailing bytes with low-level OCB function calls.
  (CVE-2025-69418)

  fixed Out of bounds write in PKCS12_get_friendlyname  () UTF-8 conversion.
  (CVE-2025-69419)

  fixed Missing ASN1_TYPE validation in TS_RESP_verify_response  () function.
  (CVE-2025-69420)

  fixed NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex  () function.
  (CVE-2025-69421)

  fixed Missing ASN1_TYPE validation in PKCS#12 parsing.
  (CVE-2026-22795)

  fixed ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes  () function.
  (CVE-2026-22796)

Adjust patches due to formatting changes.

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21752
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 days agoairoha: an7581: enable USB support 21460/head
Ziyang Huang [Thu, 8 Jan 2026 14:38:46 +0000 (22:38 +0800)] 
airoha: an7581: enable USB support

The an7581.dtsi contains the mediatek,mtk-xhci device.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21460
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 days agotcpdump: update to 4.99.6 21744/head
Ivan Pavlov [Tue, 27 Jan 2026 14:41:05 +0000 (17:41 +0300)] 
tcpdump: update to 4.99.6

Various improvements and bug fixes.
Changelog: https://github.com/the-tcpdump-group/tcpdump/blob/tcpdump-4.99.6/CHANGES

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 days agolibpcap: update to 1.10.6
Ivan Pavlov [Tue, 27 Jan 2026 14:40:18 +0000 (17:40 +0300)] 
libpcap: update to 1.10.6

Vulnerabilities fixed: CVE-2025-11961 and CVE-2025-11964
Various improvements and bug fixes.
Changelog: https://github.com/the-tcpdump-group/libpcap/blob/libpcap-1.10.6/CHANGES

Upstreamed patches removed:
  001-Add-support-for-Realtek-Ethertype-DSA-data.patch
  002-Linux-handle-other-DSA-tags.patch

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 days agorealtek: pcs: add XSG write operations 21592/head
Jonas Jelonek [Fri, 16 Jan 2026 09:32:52 +0000 (09:32 +0000)] 
realtek: pcs: add XSG write operations

There is some special logic used for certain writes to digital pages for
RTL93xx SerDes, especially when configuring the XSGMII mode. For
RTL930x this applies to SerDes 2 and 3, for RTL93xx to more. In this case,
a dual-read/write to SDS and SDS + 1 is done. While the corresponding
mapping from front to back SDS for RTL931x is currently covered in the
SerDes MDIO driver, it isn't for RTL930x.

To cover these special cases and provide a clear interface on that,
introduce an XSG write SerDes operation. All these dual-read/write cases
can be expressed with such an XSG operation whose internal semantics are
defined for each switchcore family.

This could be done just with plain dual read/write calls however this
isn't a clean approach and may be confusing while comparing our
functionality with the SDK, especially for RTL930x.

In practice, if this isn't handled correctly, only half of the ports of an
XSGMII-connected RTL8218D do work because some required values aren't
applied for the background SerDes 3.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21592
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agorealtek: rtl930x: move SerDes mapping from MDIO to PCS
Jonas Jelonek [Sun, 18 Jan 2026 17:58:58 +0000 (17:58 +0000)] 
realtek: rtl930x: move SerDes mapping from MDIO to PCS

For RTL930x, the SerDes MDIO driver performed a slight SerDes ID mapping
on certain conditions. Instead of keeping this mapping in the MDIO and
try to extend it for further quirks, lets just be a plain MDIO here and
let the user (PCS) deal with these complex quirks.

Drop the mapping from the SerDes MDIO driver and move it to the PCS
driver by leveraging the previously introduced SerDes operations
structure. Define separate ops which incorporate this mapping and use
those instead of the generic implementations.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21592
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agorealtek: pcs: introduce dedicated SerDes ops
Jonas Jelonek [Sun, 18 Jan 2026 17:26:37 +0000 (17:26 +0000)] 
realtek: pcs: introduce dedicated SerDes ops

Add a dedicated structure for SerDes operations. This will be used for
several common operations currently called individually in various
places of the code.

Start with defining the basic read and write operations for a SerDes in
this structure. Use generic implementations of these operations for all
variants (RTL83xx, RTL93xx) for now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21592
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agoixp4xx: select the GPIO keys input package
Linus Walleij [Wed, 28 Jan 2026 00:35:20 +0000 (01:35 +0100)] 
ixp4xx: select the GPIO keys input package

Several of these devices have GPIO key input but the
kernel module isn't default installed. Select it by default
for all of ixp4xx.

Link: https://github.com/openwrt/openwrt/pull/21749
Signed-off-by: Linus Walleij <linusw@kernel.org>
9 days agoixp4xx: select CONFIG_BLK_DEV_LOOP
Linus Walleij [Wed, 28 Jan 2026 00:31:38 +0000 (01:31 +0100)] 
ixp4xx: select CONFIG_BLK_DEV_LOOP

The ixp4xx is using split squashfs/jffs2 root filesystems on
some devices, so without CONFIG_BLK_DEV_LOOP the device does
not gain a writeable root filesystem with these boot messages:

mount_root: unable to create loop device
mount_root: jffs2 not ready yet, using temporary tmpfs overlay

and then it never gets out of that. Fix this so we get writeable
rootfs again.

Link: https://github.com/openwrt/openwrt/pull/21749
Signed-off-by: Linus Walleij <linusw@kernel.org>
9 days agowifi-scripts: iwinfo.uc: fix null reference in info()
Felix Fietkau [Wed, 28 Jan 2026 17:56:30 +0000 (17:56 +0000)] 
wifi-scripts: iwinfo.uc: fix null reference in info()

Fixes: https://github.com/openwrt/openwrt/issues/21651
Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 days agohostapd: fix compile error in basic variant
Felix Fietkau [Wed, 28 Jan 2026 11:49:17 +0000 (11:49 +0000)] 
hostapd: fix compile error in basic variant

Adding base64 encoded beacon data needs the base64 functions to be available

Fixes: b44d4290fe83 ("hostapd: add raw beacon report data to ubus notification")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 days agomt76: update to Git HEAD (2026-01-28)
Felix Fietkau [Wed, 28 Jan 2026 11:26:26 +0000 (11:26 +0000)] 
mt76: update to Git HEAD (2026-01-28)

f473d66ab595 wifi: mt76: mt7996: fix crash in mt7996_tx_prepare_skb
7d17569dae17 wifi: mt76: mt7996: grab mt76 mutex in mt7996_mac_sta_event()
2650a7b63d9e wifi: mt76: mt7996: move mt7996_update_beacons under mt76 mutex
5f29f4ca68ea wifi: mt76: Move mt76_abort_scan out of mt76_reset_device()
b01325c2d9a4 wifi: mt76: mt7996: skip deflink accounting for offchannel links
3cdafc1b1320 wifi: mt76: mt7996: skip ieee80211_iter_keys() on scanning link remove
e2a5529fa153 wifi: mt76: mt7996: Add missing locking in mt7996_mac_sta_rc_work()
3c232526a0cd wifi: cfg80211/mac80211: Add support to get radio index
12c099c526a3 wifi: mt76: mt7996: extend CSA and CCA support for MLO
85c39fb2447c wifi: mt76: mt7996: fix the behavior of radar detection
3b11a2351769 wifi: mt76: mt7996: set specific BSSINFO and STAREC commands after channel switch
cbafe36e86ee wifi: mt76: mt7996: abort CCA when CSA is starting
acc24cb925d2 wifi: mt76: mt7996: offload radar threshold initialization
febe6e372be8 wifi: mt76: mt7996: add duplicated WTBL command
9fa302a6832a wifi: mt76: mt7996: fix iface combination for different chipsets
eeb6c8d05275 wifi: mt76: mt7925: fix AMPDU state handling in mt7925_tx_check_aggr
82c085f95abc wifi: mt76: mt76x02: wake queues after reconfig
7b76bbba591a wifi: mt76: mt7925: introduce CSA support in non-MLO mode
081a70280692 wifi: mt76: mt7996: Fix spelling mistake "retriving" -> "retrieving"
21cb56560766 wifi: mt76: mt7996: Set mtxq->wcid just for primary link
be3d1224cc47 wifi: mt76: mt7996: Reset mtxq->idx if primary link is removed in mt7996_vif_link_remove()
66fea566f1c8 wifi: mt76: mt7996: Switch to the secondary link if the default one is removed
c2b1d3ec94aa wifi: mt76: mt7996: Clear wcid pointer in mt7996_mac_sta_deinit_link()
11f24adb143a wifi: mt76: mt7996: Reset ampdu_state state in case of failure in mt7996_tx_check_aggr()
1b9739997207 wifi: mt76: mt7921: Reset ampdu_state state in case of failure in mt76_connac2_tx_check_aggr()
2e0a0f36ccf4 wifi: mt76: mt7925: Fix incorrect MLO mode in firmware control
85f5a3473bb8 wifi: mt76: mt792x: Fix a potential deadlock in high-load situations
d9b9807a3d6a wifi: mt76: mt7615: fix use_cts_prot support
8ae9ae4225bf wifi: mt76: mt7915: fix use_cts_prot support
51a3b8c35d04 wifi: mt76: mt7996: add support for ERP CTS & HT protection
cfbbb8e66a79 treewide, timers: Rename from_timer() to timer_container_of()
f3dd8161204f mt76: mt7615: Fix memory leak in mt7615_mcu_wtbl_sta_add()
e9d08e12bde1 treewide: Switch/rename to timer_delete[_sync]()
f8684c6fb506 wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC load
3b4870dcc531 wifi: mt76: mt7925: fix potential deadlock in mt7925_roc_abort_sync
d67da44b59e7 wifi: mt76: fix list corruption in mt76_wcid_cleanup
ffdbdcd3966a wifi: mt76: set page_pool napi pointer for mmio devices
7dd72bbd6f51 wifi: mt76: Fix memory leak destroying device
e992ff8842b3 wifi: mt76: mt7996: Fix NPU stop procedure
86a0bf3441ca wifi: mt76: npu: Add missing rx_token_size initialization
5c67ef508817 wifi: mt76: always enable RRO queues for non-MT7992 chipset
8e94d3266b45 wifi: mt76: mt7996: Fix BAND2 tx queues initialization when NPU is enabled
bc5529c1239e wifi: mt76: mt7996: Fix wdma_idx for MT7996 device if NPU is enabled
853eafe8591f wifi: mt76: mt7996: Add mt7992_npu_txrx_offload_init routine
cdb32a658b92 wifi: mt76: mt7996: Rename mt7996_npu_rxd_init() in mt7992_npu_rxd_init()
01575edfc36d wifi: mt76: mt7996: Add NPU support for MT7990 chipset
d7a79fcece87 wifi: mt76: mt7996: Integrate NPU in RRO session management
9e10bcac8160 wifi: mt76: mt7996: Integrate MT7990 init configuration for NPU
8a02211445d0 wifi: mt76: mt7996: Integrate MT7990 dma configuration for NPU
56334c1c9bfd wifi: mt76: mt7996: Add __mt7996_npu_hw_init routine
d78bce0a1515 wifi: mt76: mt7996: Move RRO dma start in a dedicated routine
9ccd49d45530 wifi: mt76: Do not reset idx for NPU tx queues during reset
2bc891cc94e0 wifi: mt76: mt7996: Do not schedule RRO and TxFree queues during reset for NPU
e826923c533a wifi: mt76: mt7996: Store DMA mapped buffer addresses in mt7996_npu_hw_init()
bd9fb7ac9790 wifi: mt76: Enable NPU support for MT7996 devices
c825e8c80a40 wifi: mt76: Remove blank line after mt792x firmware version dmesg
efbbfd5af082 wifi: mt76: mt7925: drop puncturing handling from BSS change path
f5b57ffab5f8 wifi: mt76: mt7925: Skip scan process during suspend.
7ab500f7db73 wifi: mt76: Fix memory leak after mt76_connac_mcu_alloc_sta_req()
4b0df538fb35 wifi: mt76: mt7925: fix tx power setting failure after chip reset
7595227241fc wifi: mt76: mt7921: fix ROC abort flow interruption in mt7921_roc_work
ee961ff91ec1 wifi: mt76: mt7921: fix potential deadlock in mt7921_roc_abort_sync
db0460d6630a wifi: mt76: fix deadlock in remain-on-channel
07ae843cd42d wifi: mt76: mt7996: reset device after MCU message timeout
a5930632e109 wifi: mt76: mt7996: increase txq memory limit to 32 MiB
2596285c6a10 wifi: mt76: fix multi-radio on-channel scanning
86abd922a489 wifi: mt76: support upgrading passive scans to active
093280ae5dcd wifi: mt76: fix backoff fields and max_power calculation
b2fe7f146352 wifi: mt76: mt7921: Replace deprecated PCI function

Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 days agomac80211: backport upstream patches
Felix Fietkau [Tue, 27 Jan 2026 09:51:28 +0000 (09:51 +0000)] 
mac80211: backport upstream patches

Will be used by an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 days agoath79: add calibration variant for TP-Link TL-WA1201 v2 21736/head
Christoph Krapp [Mon, 26 Jan 2026 21:13:25 +0000 (22:13 +0100)] 
ath79: add calibration variant for TP-Link TL-WA1201 v2

Now that we have a board file, add calibration variant for TP-Link
TL-WA1201 v2 and add ipq-wifi package for it.

Tested-by: Jim McDonald <122668301+jimmyd998@users.noreply.github.com>
Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21736
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agoipq-wifi: Add entry for TP-Link TL-WA1201 v2
Christoph Krapp [Mon, 26 Jan 2026 21:12:35 +0000 (22:12 +0100)] 
ipq-wifi: Add entry for TP-Link TL-WA1201 v2

Add IPQ Wifi entry for ath79 TP-Link TL-WA1201 v2.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21736
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agoipq-wifi: update to Git HEAD (2026-01-28)
Robert Marko [Wed, 28 Jan 2026 11:02:10 +0000 (12:02 +0100)] 
ipq-wifi: update to Git HEAD (2026-01-28)

88514e5aab3e qca9888: add bdf for TP-Link TL-WA1201 v2

Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agomvebu: cortex-a53: fix Methode eDPU migration to upstream DTS 21739/head
Robert Marko [Tue, 27 Jan 2026 12:53:37 +0000 (13:53 +0100)] 
mvebu: cortex-a53: fix Methode eDPU migration to upstream DTS

Migration of the eDPU DTS to upstream one broke the eDPU plus model
since the required ethernet aliases are missing and U-Boot then cannot
find the required ethernet nodes.

So, after sending the required fix upstream, lets apply it in OpenWrt
as well.

Fixes: 9852dda4105c ("mvebu: move DTS diff into a patch for Methode uDPU")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
9 days agogemini: select CONFIG_BLK_DEV_LOOP
Linus Walleij [Tue, 27 Jan 2026 19:52:37 +0000 (20:52 +0100)] 
gemini: select CONFIG_BLK_DEV_LOOP

The gemini is using split squashfs/jffs2 root filesystems on
all devices, so without CONFIG_BLK_DEV_LOOP the device does
not gain a writeable root filesystem with these boot messages:

mount_root: unable to create loop device
mount_root: jffs2 not ready yet, using temporary tmpfs overlay

and then it never gets out of that. Fix this so we get writeable
rootfs again.

Link: https://github.com/openwrt/openwrt/pull/21748
Signed-off-by: Linus Walleij <linusw@kernel.org>
10 days agoairoha: reduce HWRNG quality 21722/head
Aleksander Jan Bajkowski [Mon, 26 Jan 2026 22:49:55 +0000 (23:49 +0100)] 
airoha: reduce HWRNG quality

Backport a patch that reduces the quality of HWRNG. HWRNG has lower
entropy than expected. Thanks to this patch, it has a lower priority.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21722
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agorealtek: rtl930x: Add Hasivo s1100wp-8gt-se (excl. PoE) 21576/head
Bevan Weiss [Sun, 15 Sep 2024 08:42:19 +0000 (18:42 +1000)] 
realtek: rtl930x: Add Hasivo s1100wp-8gt-se (excl. PoE)

This commit adds support for Hasivo S1100WP-8GT-SE switch.

Device specification
--------------------
SoC Type: Realtek RTL9303
RAM: Samsung K4B2G1646F-BYMA (256MB DDR3 SDRAM)
Flash: Fudan FM25Q128A (16 MB)
Ethernet: 8x RTL8221B 10/100/1000/2500Mbps PHY
LEDs: 2 LEDs + 4 LEDs/port
1x power green (no control)
1x system green (via RLT9303 GPIO)
3x RJ45 LEDs/port (via HC595 shift registers on LED spi)
1x Green
1x Green/Orange
1x Orange LED/port for PoE status (below RJ45, on STC8)
Button: Reset
USB ports: None
Bootloader: Realtek U-Boot 2011.12.(3.6.6.55087) (Nov 13 2022 - 14:37:31)
Fan: None installed (but board provision for temp/FET/fan)
POE: 2x HS104PTI for 802.3af/at/bt PoE (Not yet working)

Installing OpenWrt
------------------
1. UART RJ45 requires soldering a connector to the empty footprint (RJ1).
   (Amphenol RJHSEE380 or similar)
2. Connect to UART 38400@8n1, using Cisco Console Rollover cable (RS232)
3. Set computer IP to 192.168.0.111, and plug in with 2.5Gbps
4. Enter bootloader by pressing esc key during boot
5. Enter password `Hs2021cfgmg`
6. Type `XXXX` to get into U-Boot
7. Type `rtk network on`
8. Use tftp if you have a 2.5G link (other speeds won't work).
   If serial, you can increase baudrate in uboot with `setenv baudrate 115200`
9.1. `tftpboot 0x84f00000 <openwrt-initramfs-filename>`
9.2. Otherwise use serial transfer (Y modem): `loady 0x84f00000`
10. `bootm 0x84f00000`

Now you should be in OpenWRT, and can use sysupgrade to install.

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21576
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agorealtek: add support for XikeStor SKS8300-8T 21511/head
FUKAYA Toshikuni [Mon, 12 Jan 2026 08:51:23 +0000 (17:51 +0900)] 
realtek: add support for XikeStor SKS8300-8T

XikeStor SKS8300-8T is a 8 ports Multi-Gig switch, based on the RTL9303.

Specifications:

- SoC                : Realtek RTL9303
- RAM                : DDR3 512 MiB
- Flash              : SPI-NOR 32 MiB (Macronix)
- CPU                : 800MHz
- Ethernet           : 8× 1G/2.5G/5G/10G Base-T RJ45 ports (RTL8261N)
- Keys (GPIO)        : 1x
- UART               : "Console" port on the front panel
  - type             : RS-232C
  - connector        : RJ-45
  - settings         : 115200 8N1
- Power              : 12 VDC, 4A
- Temperature sensor : LM75 or compatible
- Fan controller     : SensyLink CTF2302

Flash instruction using initramfs image:

 1. Prepare TFTP server & connect to serial port.
 2. Connect your computer to one of the RJ45 ports on SKS8300-8T
 3. Power on SKS8300-8T and interrupt autoboot with Shift + A.
 4. Use Shift + Q to drop from vendor CLI to U-Boot CLI.
 5. Set the boot command to enable network on boot.
       > setenv bootcmd 'mw.l 0x8401da94 0; rtk network on; boota'
 6. Set switch IP and TFTP server IP (optional, adjust to your setup).
       > setenv ipaddr <ip>
       > setenv serverip <ip>
 7. Download initramfs image from TFTP server.
       > tftpboot 0x83000000 <image name>
 8. Boot with the downloaded image.
       > bootm 0x83000000
 9. With rambooted OpenWrt, backup the stock firmware if needed.
10. Copy sysupgrade image to the device.
11. Perform sysupgrade with the sysupgrade image.
12. After reboot, you should have functional OpenWrt.

In OpenWrt, it is necessary to execute "rtk network on" to enable full
networking functionality. However, the internal U-Boot initialization
(which shares logic with "rtk network init" initializing MAC only and
configures the fan controller) sets a flag at memory address 0x8401da94.
Once this flag is set, any subsequent calls to "rtk network on" are
blocked. To bypass this, resetting 0x8401da94 to 0 by step 5, ensuring
that the network can be properly initialized later. This specific
address was confirmed in U-Boot 2011.12.(3.6.11.55242) (Jan 06 2025 -
14:39:46) by decompiling the function that references the "rtk_mac_init"
string.

Reverting to stock firmware:

1. Connect to serial port.
2. Power on SKS8300-8T and interrupt autoboot with Shift + A.
3. Use Shift + Q to drop from vendor CLI to U-Boot CLI.
4. Set the boot command to the firmware default.
       > setenv bootcmd boota
5. Enable network.
       > rtk network on
6. Boot OpenWrt.
       > boota
7. Download latest firmware from XikeStor and upload to your device.
8. Write firmware with 'sysupgrade -F'.
9. After reboot, stock firmware should boot automatically.

Co-authored-by: Samy Younsi <kame@duck.com>
Signed-off-by: FUKAYA Toshikuni <toshiq2@neenana.org>
Link: https://github.com/openwrt/openwrt/pull/21511
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agorealtek: phy: replace hard coded pages 30/31 with define 21716/head
Markus Stockhausen [Mon, 26 Jan 2026 13:34:07 +0000 (14:34 +0100)] 
realtek: phy: replace hard coded pages 30/31 with define

Some of the code forgot to use the register defines for page
selection. Replace the hard coded values with their define.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agorealtek: phy: align page select register naming with upstream
Markus Stockhausen [Mon, 26 Jan 2026 13:25:00 +0000 (14:25 +0100)] 
realtek: phy: align page select register naming with upstream

The downstream driver has different naming conventions than upstream.

Register: 31
Downstream name: RTL8XXX_PAGE_SELECT
Upstream name: RTL821x_PAGE_SELECT

Register: 30
Downstream name: RTL821XEXT_MEDIA_PAGE_SELECT
Upstream name: RTL821x_EXT_PAGE_SELECT

Align to upstream.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agorealtek: phy: cleanup RTL8214C configuration
Markus Stockhausen [Mon, 26 Jan 2026 13:11:09 +0000 (14:11 +0100)] 
realtek: phy: cleanup RTL8214C configuration

RTL8214C configuration is currently useless.

- It uses register 29 (write only companion of ext. page register 30)
- "configuration" only reads registers 2/3 and writes a message
- "configuration" is run during probing

Drop the useless coding. As this was the last consumer drop register
29 define too.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agowifi-scripts: fix ucode mobility_domain default value 21732/head
Youfu Zhang [Tue, 27 Jan 2026 07:11:15 +0000 (15:11 +0800)] 
wifi-scripts: fix ucode mobility_domain default value

The mobility_domain value generated by ucode differed from the previous
shell script implementation. The legacy shell script used `echo` on the
SSID, which appended a trailing newline.

To maintain roaming compatibility with pre-25.12 releases and OpenWrt
forks in default configuration, update the ucode logic to include this
newline character when generating the default value.

Fixes: #21731
Signed-off-by: Youfu Zhang <zhangyoufu@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21732
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agomac80211: update to version 6.18.7 21711/head
Hauke Mehrtens [Mon, 26 Jan 2026 00:17:54 +0000 (01:17 +0100)] 
mac80211: update to version 6.18.7

This is based on Linux kernel 6.18.7.

This update contains the following upstream fixes:
f75b9d2c9f5b wifi: rtl8xxxu: Add USB ID 2001:3328 for D-Link AN3U rev. A1
401b10a72f5a wifi: rtw88: Add USB ID 2001:3329 for D-Link AC13U rev. A1
c0d93d69e147 staging: rtl8723bs: fix out-of-bounds read in rtw_get_ie() parser
e841d8ea7223 staging: rtl8723bs: fix stack buffer overflow in OnAssocReq IE parsing
bf323db1d883 staging: rtl8723bs: fix out-of-bounds read in OnBeacon ESR IE parsing
b1497ea24639 wifi: ath10k: move recovery check logic into a new work
99fc0689a588 wifi: ath11k: restore register window after global reset
ab0554f51e5f wifi: ath12k: Fix MSDU buffer types handling in RX error path
d911fa97dab3 wifi: ath12k: fix VHT MCS assignment
ca2a33cee1ef wifi: ath12k: fix TX and RX MCS rate configurations in HE mode
18d4706956b7 wifi: ath11k: fix VHT MCS assignment
6b1a0da75932 wifi: ath11k: fix peer HE MCS assignment
d0a5b5d56438 wifi: ath12k: restore register window after global reset
1564c04afa92 wifi: iwlwifi: mld: add null check for kzalloc() in iwl_mld_send_proto_offload()
d0bb3db7b295 wifi: ath12k: fix potential memory leak in ath12k_wow_arp_ns_offload()
36faecac7a2c wifi: ath12k: fix reusing m3 memory
4f93750fa588 wifi: ath12k: fix error handling in creating hardware group
41b623129175 wifi: ath12k: enforce vdev limit in ath12k_mac_vdev_create()
e442e820e953 wifi: ath12k: unassign arvif on scan vdev create failure
bcf44fe565bf wifi: rtw89: usb: use common error path for skbs in rtw89_usb_rx_handler()
87cc6fe79c3e wifi: rtw89: usb: fix leak in rtw89_usb_write_port()
c7ca777c5879 wifi: ath12k: Fix timeout error during beacon stats retrieval
51b823d7723f wifi: cw1200: Fix potential memory leak in cw1200_bh_rx_helper()
c9d1c4152e6d wifi: rtl818x: Fix potential memory leaks in rtl8180_init_rx_ring()
a6fb8785b179 wifi: mac80211: fix CMAC functions not handling errors
5ebf0fe7eaef wifi: rtl818x: rtl8187: Fix potential buffer underflow in rtl8187_rx_cb()
b8f34c1c5c4f wifi: mt76: mt7996: fix null pointer deref in mt7996_conf_tx()
cbeca0b7ea20 wifi: mt76: mt7996: Remove unnecessary link_id checks in mt7996_tx
d582d0e988d6 wifi: mt76: wed: use proper wed reference in mt76 wed driver callabacks
d2d11298dfc3 wifi: mt76: mt7996: Remove useless check in mt7996_msdu_page_get_from_cache()
2cde732373a7 Revert "wifi: mt76: mt792x: improve monitor interface handling"
74bb080717a3 wifi: mt76: mt7996: fix max nss value when getting rx chainmask
95bb36f8d6b3 wifi: mt76: mt7996: fix implicit beamforming support for mt7992
ee94375d06b5 wifi: mt76: mt7996: fix several fields in mt7996_mcu_bss_basic_tlv()
d64e6f27260e wifi: mt76: mt7996: fix teardown command for an MLD peer
e5c42efeb162 wifi: mt76: mt7996: set link_valid field when initializing wcid
9a43ed9ab800 wifi: mt76: mt7996: fix MLD group index assignment
7d6cd8f51ad8 wifi: mt76: mt7996: fix MLO set key and group key issues
1a4b481a21ae wifi: mt76: mt7996: fix using wrong phy to start in mt7996_mac_restart()
b4b789d24319 wifi: mt76: mt7996: fix EMI rings for RRO
46f0648e261c wifi: mt76: mt7996: grab mt76 mutex in mt7996_mac_sta_event()
70656b45467c wifi: mt76: Move mt76_abort_scan out of mt76_reset_device()
c319967690d4 wifi: mt76: mt7996: skip deflink accounting for offchannel links
abdedd46dc58 wifi: mt76: mt7996: skip ieee80211_iter_keys() on scanning link remove
f4c57afff3b0 wifi: mt76: mt7996: Add missing locking in mt7996_mac_sta_rc_work()
4d42aba0ee49 mt76: mt7615: Fix memory leak in mt7615_mcu_wtbl_sta_add()
ad26a7ef0488 wifi: ieee80211: correct FILS status codes
40257a2ef1bc wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU
c3ab9657866f wifi: cfg80211: stop radar detection in cfg80211_leave()
0283fac52b42 wifi: cfg80211: use cfg80211_leave() in iftype change
9c6f9b2a80ed wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC load
f5323b43019d wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet
498e286941b9 wifi: mt76: Fix DTS power-limits on little endian systems
e5c129a05531 wifi: rtw88: limit indirect IO under powered off for RTL8822CS
90a15ff32464 wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()
7ea38152a289 wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()
182a2786d248 wifi: mac80211: do not use old MBSSID elements
de5eb6b65e9f wifi: iwlwifi: Fix firmware version handling
a21704df4024 wifi: mac80211: Discard Beacon frames to non-broadcast address
e3c35177103e wifi: avoid kernel-infoleak from struct iw_point
b97be67dc06e wifi: mac80211: restore non-chanctx injection behaviour
1251bbdb8f5b wifi: mac80211_hwsim: fix typo in frequency notification

The following patches were applied upstream:
build/130-backports-move-__counted_by-to-compiler_types.h-head.patch patch [1]
build/999-kernel-6.12.64.patch [2]

[1]: https://github.com/openwrt/backports/commit/b63f79524e6f30e58692bc9ee57c6e6e0dd10de4
[2]: https://github.com/openwrt/backports/commit/ed8c176dfab1ae8962435576face472aaa7294c3

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