openwrt/openwrt.git
17 min agowireguard-tools: enable reload without teardown main master
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>
17 min 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>
17 min 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>
17 min 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>
17 min 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>
26 min agomac80211: ath11k: fix for unsupported 11ax EDCA
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>
2 hours 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>
2 hours agonetifd: ensure netifd_loglevel default value as fallback
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>
16 hours 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>
16 hours 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>
16 hours 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>
17 hours agoramips: add support for D-Link DIR-1360 A1
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>
17 hours agokernel: bump 6.12 to 6.12.68
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>
17 hours agokernel: mtk_eth_soc: fix memory leak in downstream patch
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>
19 hours agorealtek: replace additional "magic numbers" with macros
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>
19 hours 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>
19 hours 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>
24 hours agorealtek: pcs: avoid unneeded SerDes reconfiguration
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>
24 hours 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>
25 hours agorealtek: rtl838x_eth: Use printk MAC specifier instead of raw hex
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>
25 hours agorealtek: eth: fix features
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>
25 hours 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>
25 hours 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>
25 hours 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>
25 hours 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>
25 hours 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>
25 hours agobuild: use STAGING_DIR for special APK package versions
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>
37 hours 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>
42 hours 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>
45 hours 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>
2 days agolantiq: xrx200: add env-size for P-2812HNU-F1 u-boot-env
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>
2 days agorealtek: mdio: convert rtl838x i/o to regmap
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>
2 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>
2 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>
2 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>
2 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>
2 days agorealtek: dts: add LGS328C port 21 definition
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>
2 days agouboot-mvebu: update to version 2026.01
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>
2 days agomediatek: add support for netis NX62
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>
2 days agolinux-firmware: update to 20260110
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>
2 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>
2 days agoramips: add support for TP-Link TL-MR6400 v7
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>
2 days agokernel: revert ip6_tunnel use skb_vlan_inet_prepare() in __ip6_tnl_rcv()
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>
3 days agokernel: fix rtl8261n driver for non-realtek chips
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>
3 days agolantiq: add missing WAN MAC override
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>
3 days agoqualcommbe: add pwm support
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>
4 days agokernel: modules: Add tpm-tis-spi
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>
4 days agoqualcommax: ipq60xx: fix bootconfig script sysupgrade problem
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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 days agoiw: replace patch with upstream version
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>
4 days agoairoha: an7581: add switch ports interrups
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>
4 days agokexec-tools: add zstd to package dependencies
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>
4 days agoopenssl: update to 3.5.5
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>
4 days agoairoha: an7581: enable USB support
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>
4 days agotcpdump: update to 4.99.6
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>
4 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>
4 days agorealtek: pcs: add XSG write operations
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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
5 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>
5 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>
5 days agoath79: add calibration variant for TP-Link TL-WA1201 v2
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>
5 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>
5 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>
5 days agomvebu: cortex-a53: fix Methode eDPU migration to upstream DTS
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>
5 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>
5 days agoairoha: reduce HWRNG quality
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>
5 days agorealtek: rtl930x: Add Hasivo s1100wp-8gt-se (excl. PoE)
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>
5 days agorealtek: add support for XikeStor SKS8300-8T
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>
5 days agorealtek: phy: replace hard coded pages 30/31 with define
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>
5 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>
5 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>
5 days agowifi-scripts: fix ucode mobility_domain default value
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>
5 days agomac80211: update to version 6.18.7
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>
6 days agorealtek: pcs: rtl931x: add sequence for LC PLL
Jonas Jelonek [Sun, 25 Jan 2026 19:52:37 +0000 (19:52 +0000)]
realtek: pcs: rtl931x: add sequence for LC PLL

The RTL931X CMU code was only capable of setting up ring PLL. This is
fine so far as most modes use this PLL type. Other modes are not handled
by the code, neither here nor in the SDK. Though, the SDK has the needed
sequence to setup the LC PLL. Using LC PLL seems to be handled somewhere
else.

Include the small sequence from the SDK to have it, though not used yet.
This could be helpful for further development which goes beyond the SDK.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21707
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: pcs: rtl93xx: improve CMU terminology
Jonas Jelonek [Sun, 25 Jan 2026 19:45:37 +0000 (19:45 +0000)]
realtek: pcs: rtl93xx: improve CMU terminology

The implementations for CMU management for RTL930x and RTL931x differ in
their terminology but not that much in their technical aspect. For both
it seems to be the case that two adjacent SerDes share a CMU. This CMU
contains a ring PLL for low speeds (capable of 1G/2.5G) and an LC PLL for
high speeds (capable of 1G/2.5G/10G).

Introduce an enum for the PLL type, used for both RTL93xx variants.
Align the naming of internal variables, especially in the RTL931x
implementation. Rename cmu_type to pll_type because this is much more
accurate. Use 'force_' instead of 'frc_' to make clear what it means.
Also rename the function from 'cmu_type_set' to 'config_cmu' because it
obviously does more than just setting the CMU type but rather configures
the CMU.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21707
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: pcs: rtl931x: fix and cleanup CMU functions
Jonas Jelonek [Sun, 25 Jan 2026 19:35:44 +0000 (19:35 +0000)]
realtek: pcs: rtl931x: fix and cleanup CMU functions

Fix the wrong values bit values when setting CMU band which were the
same for both 'enable == true' and 'enable == false'.

While at it, fix some coding issues in the CMU functions:
- drop confusing debug output
- use ternary value instead of if-else
- return proper error
- make variable declaration in reverse christmas tree
- drop unneeded temporary value

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21707
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: pcs: rtl931x: use SerDes hw mode for CMU setup
Jonas Jelonek [Sun, 25 Jan 2026 18:52:45 +0000 (18:52 +0000)]
realtek: pcs: rtl931x: use SerDes hw mode for CMU setup

Switch the CMU setup functions to use the SerDes hardware mode instead
of the PHY interface mode.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21707
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: pcs: rtl930x: enhance symbol error reset
Markus Stockhausen [Mon, 26 Jan 2026 16:32:05 +0000 (17:32 +0100)]
realtek: pcs: rtl930x: enhance symbol error reset

The symbol error reset function misses the default sequence. E.g. kernel
spits the message "rtpcs_930x_sds_sym_err_reset unsupported phy mode" when
working on 2500base-x.

Align the function with the SDK by

- adding QSGMII mode
- adding the "all other modes" switch
- working with "channels" to make clearer what happens

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21718
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agomdadm: move init before fstab init runs
Joe Hohertz [Thu, 15 Jan 2026 19:36:41 +0000 (14:36 -0500)]
mdadm: move init before fstab init runs

Ensure md volumes are ready before attempting to mount volumes.

Signed-off-by: Joe Hohertz <jhohertz@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21553
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agorealtek: add Zyxel GS1900-24 B1 device definition
Joe Holden [Sat, 30 Aug 2025 20:35:28 +0000 (20:35 +0000)]
realtek: add Zyxel GS1900-24 B1 device definition

The Zyxel GS1900-24 B1 is a 24 port switch with two SFP ports, it is
identical to the A1 except for doubling the ram.

Specifications
--------------
* Device:    Zyxel GS1900-24 B1
* SoC:       Realtek RTL8382M 500 MHz MIPS 4KEc
* Flash:     16 MiB
* RAM:       128 MiB DDR2 SDRAM
* Ethernet:  24x 10/100/1000 Mbps, 2x SFP 100/1000 Mbps
* LEDs:
  * 1 PWR LED (green, not configurable)
  * 1 SYS LED (green, configurable)
  * 24 ethernet port link/activity LEDs (green, SoC controlled)
  * 2 SFP status/activity LEDs (green, SoC controlled)
* Buttons:
  * 1 "RESET" button on front panel (soft reset)
  * 1 button ('SW1') behind right hex grate (hardwired power-off)
* Power:     120-240V AC C13
* UART:      Internal populated 10-pin header ('J5') providing RS232;
             connected to SoC UART through a SIPEX 3232EC for voltage
             level shifting.

* 'J5' RS232 Pinout (dot as pin 1):
  2) SoC RXD
  3) GND
  10) SoC TXD

Serial connection parameters: 115200 8N1.

Installation
------------

OEM upgrade method:

* Log in to OEM management web interface

* Navigate to Maintenance > Firmware > Management

* If "Active Image" has the first option selected, OpenWrt will need to be
  flashed to the "Active" partition. If the second option is selected,
  OpenWrt will need to be flashed to the "Backup" partition.

* Navigate to Maintenance > Firmware > Upload

* Upload the openwrt-realtek-rtl838x-zyxel_gs1900-24-b1-initramfs-kernel.bin
  file by your preferred method to the previously determined partition.
  When prompted, select to boot from the newly flashed image, and reboot
  the switch.

* Once OpenWrt has booted, scp the sysupgrade image to /tmp and flash it:

  > sysupgrade /tmp/openwrt-realtek-rtl838x-zyxel_gs1900-24-b1-squashfs-sysupgrade.bin

U-Boot TFTP method:

* Configure your client with a static 192.168.1.x IP (e.g. 192.168.1.10).

* Set up a TFTP server on your client and make it serve the initramfs
  image.

* Connect serial, power up the switch, interrupt U-boot by hitting the
  space bar, and enable the network:

  > rtk network on

> Since the GS1900-24 B1 is a dual-partition device, you want to keep the
  OEM firmware on the backup partition for the time being. OpenWrt can
  only be installed in the first partition anyway (hardcoded in the
  DTS). To ensure we are set to boot from the first partition, issue the
  following commands:

  > setsys bootpartition 0
  > savesys

* Download the image onto the device and boot from it:

  > tftpboot 0x81f00000 192.168.1.10:openwrt-realtek-rtl838x-zyxel_gs1900-24-b1-initramfs-kernel.bin
  > bootm

* Once OpenWrt has booted, scp the sysupgrade image to /tmp and flash it:

  > sysupgrade /tmp/openwrt-realtek-rtl838x-zyxel_gs1900-24-b1-squashfs-sysupgrade.bin

Co-authored-by: Goetz Goerisch <ggoerisch@gmail.com>
Signed-off-by: Joe Holden <jwh@zorins.us>
Add memory size and adapt supported device.
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21595
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agorealtek: use common dtsi for Zyxel GS1900-24
Joe Holden [Sat, 30 Aug 2025 20:34:52 +0000 (20:34 +0000)]
realtek: use common dtsi for Zyxel GS1900-24

As there are actually 2 versions of the GS1900-24 where the only
difference is the amount of ram, use a common dtsi and make the
original A1 model dts include the dtsi and only override the memory size.

Signed-off-by: Joe Holden <jwh@zorins.us>
Move memory size to device dts.
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21595
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agotools/mkimage: update to version 2026.01
Stefan Kalscheuer [Sat, 24 Jan 2026 08:47:56 +0000 (09:47 +0100)]
tools/mkimage: update to version 2026.01

Update package to the latest stable version.

Patches manually refreshed:
* 030-allow-to-use-different-magic.patch

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/21674
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agouboot-tools: update to version 2026.01
Stefan Kalscheuer [Sat, 24 Jan 2026 08:38:13 +0000 (09:38 +0100)]
uboot-tools: update to version 2026.01

Update package to the latest stable version.

Patches manually refreshed:
* 003-tools-dumpimage-fix-tools-compile.patch

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/21674
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agorealtek: eth: simplify mac port control access
Markus Stockhausen [Sun, 25 Jan 2026 09:23:23 +0000 (10:23 +0100)]
realtek: eth: simplify mac port control access

The ethernet driver uses an indirection for access to the MAC_PORT_CTRL
register (aka. MAC_L2_PORT_CTRL on RTL93xx). It defines the base address
and adds up the cpu port offset. This is not needed as the driver does
not handle the non-cpu ports. Use direct register access instead and
avoid register confusion by always using the "_L2_" naming.

While we are here:

- Drop the functions and use defines instead
- Add CPU port defines for better readability

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21691
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agorealtek: mdio: rename driver data structure from priv to ctrl
Markus Stockhausen [Sun, 25 Jan 2026 17:00:35 +0000 (18:00 +0100)]
realtek: mdio: rename driver data structure from priv to ctrl

Align with the other Realtek switch drivers and use "ctrl" instead
of "priv" for the central data structure.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21701
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agokernel: add missing kernel config option
Hauke Mehrtens [Mon, 26 Jan 2026 00:32:23 +0000 (01:32 +0100)]
kernel: add missing kernel config option

The CONFIG_SOFTLOCKUP_DETECTOR_INTR_STORM option shows up when the
OpenWrt option CONFIG_KERNEL_SOFTLOCKUP_DETECTOR is activated.

Link: https://github.com/openwrt/openwrt/pull/21710
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agokernel: reorder configuration options
Hauke Mehrtens [Mon, 26 Jan 2026 00:32:35 +0000 (01:32 +0100)]
kernel: reorder configuration options

Reorder the kernel configuration options by running:
./scripts/kconfig-reorder.sh

Link: https://github.com/openwrt/openwrt/pull/21710
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agoqualcommax: ipq807x: fix sysupgrade for TCL LINKHUB HH500V
Milan Krstic [Mon, 26 Jan 2026 19:32:54 +0000 (19:32 +0000)]
qualcommax: ipq807x: fix sysupgrade for TCL LINKHUB HH500V

Fix missing reference to bootconfig.sh that was breaking root partition
swap.

Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21721
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
6 days agoodhcp6c: update to Git HEAD (2026-01-25)
Álvaro Fernández Rojas [Sun, 25 Jan 2026 18:44:22 +0000 (19:44 +0100)]
odhcp6c: update to Git HEAD (2026-01-25)

ee2949e3a70a dhcpv6: add config for strict RFC7550
abf6677391f0 dhcpv6: replace hash_ifname() with MD5 implementation

https://github.com/openwrt/odhcp6c/compare/8abb45065f5e...24485bb4b35a

Link: https://github.com/openwrt/openwrt/pull/21705
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
6 days agotcpdump: add PROVIDES=tcpdump to tcpdump-tiny
Felix Fietkau [Mon, 26 Jan 2026 17:46:04 +0000 (17:46 +0000)]
tcpdump: add PROVIDES=tcpdump to tcpdump-tiny

Improves handling of dependencies on tcpdump

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 days agohostapd: add raw beacon report data to ubus notification
John Crispin [Mon, 4 Aug 2025 05:37:47 +0000 (07:37 +0200)]
hostapd: add raw beacon report data to ubus notification

Add the complete base64-encoded beacon report structure to the
"beacon-report" ubus notification event.

Signed-off-by: John Crispin <john@phrozen.org>