]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
3 weeks agomac80211: use OpenWrt mirror for b43 fw downloads 21269/head
Yanase Yuki [Wed, 24 Dec 2025 08:05:38 +0000 (17:05 +0900)] 
mac80211: use OpenWrt mirror for b43 fw downloads

lwfinger dot com seems drop-catched and now
redirects to potentially unsafe website.
This commit also drops no longer available 6.30 firmware.

Fixes: https://github.com/openwrt/openwrt/issues/19436
Signed-off-by: Yanase Yuki <dev@zpc.st>
Link: https://github.com/openwrt/openwrt/pull/21269
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: enable MDI swapping for RTL8226 where needed 21261/head
Jan Hoffmann [Tue, 23 Dec 2025 19:40:52 +0000 (20:40 +0100)] 
realtek: enable MDI swapping for RTL8226 where needed

The RTL8226 PHYs in Zyxel XGS1010-10 and XGS1210-10 rev A1 have swapped
MDI lanes. Specify this in the device tree, so the driver can configure
it. With this change, the PHYs no longer require initialization by the
bootloader.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/21261
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: support MDI swapping for RTL8226 PHY
Jan Hoffmann [Tue, 23 Dec 2025 19:38:31 +0000 (20:38 +0100)] 
realtek: support MDI swapping for RTL8226 PHY

The PHY supports swapping the MDI pairs (ABCD->DCBA) to simplify board
layout. On devices making use of this, it needs to be configured in the
driver, otherwise the PHY won't work properly.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/21261
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agowireguard-tools: bump to 20260223 22190/head
John Audia [Thu, 26 Feb 2026 22:24:56 +0000 (17:24 -0500)] 
wireguard-tools: bump to 20260223

% git shortlog v1.0.20250521..v1.0.20260223

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

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

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

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22190
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: dsa: consolidate switch_irq() 22273/head
Markus Stockhausen [Wed, 4 Mar 2026 18:16:23 +0000 (19:16 +0100)] 
realtek: dsa: consolidate switch_irq()

The dsa irq handler works always in the same way for all SoCs.

- Read register ISR_PORT_LINK_STS_CHG to determine the ports that
  triggered the irq.
- Write the read value back to the register to confirm the irq
- Read link status via MAC_LINK_STS
- Trigger dsa_port_phylink_mac_change() for each changed port

Currently each SoC has its own implementation. Drop that in
favour of a generic implementation that makes use of the existing
bit register read/write helpers.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22273
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: dsa: add MAC_LINK_STS to config structure
Markus Stockhausen [Wed, 4 Mar 2026 07:13:25 +0000 (08:13 +0100)] 
realtek: dsa: add MAC_LINK_STS to config structure

This register will be needed to provide a generic irq handler. Add
it to the configuration structure of the driver.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22273
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agointel-microcode: update to 20260227 22035/head
John Audia [Sun, 8 Mar 2026 11:58:25 +0000 (07:58 -0400)] 
intel-microcode: update to 20260227

Changelog: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20260227

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22035
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agointel-microcode: update to 20260210
John Audia [Sun, 15 Feb 2026 10:25:59 +0000 (05:25 -0500)] 
intel-microcode: update to 20260210

Changelog: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20260210-rev1

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22035
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: use 50kHz I2C for SFPs on Xikestor SKS8300-8X 22210/head
Jan Kantert [Sat, 28 Feb 2026 23:09:19 +0000 (00:09 +0100)] 
realtek: use 50kHz I2C for SFPs on Xikestor SKS8300-8X

Some 10G optics showed random "module transmit fault indicated" due to I2C
read errors on ONTi ONT-S508CL-8S/XikeStor SKS8300-8X switches. The same
modules work with the original firmware and on other Linux based devices.

There seems to be some differences in how we talk to those modules using
I2C in OpenWRT. To fix this this patch adds support for 50kHz I2C speed on
SFPs and enables that for XikeStor/Onti devices. Since SFPs only transmit
very few bytes this should not have any real downsides.

This patch configures I2C to use 50kHz clock in the DTS for the affected
devices. For it to work it requires a change in the RTL9300 I2C driver.
This can be safely merged without the kernel change (but will not work
in that case as it will fall back to 100kHz).

Signed-off-by: Jan Kantert <jan-openwrt@kantert.net>
Link: https://github.com/openwrt/openwrt/pull/22210
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agozlib: update to 1.3.2 21228/head
Shiji Yang [Fri, 19 Dec 2025 15:59:05 +0000 (23:59 +0800)] 
zlib: update to 1.3.2

Release Notes:
https://github.com/madler/zlib/blob/v1.3.2/ChangeLog

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

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

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

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

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21228
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agotools/zlib: update to 1.3.2
Shiji Yang [Fri, 19 Dec 2025 15:20:48 +0000 (23:20 +0800)] 
tools/zlib: update to 1.3.2

Release Notes:
https://github.com/madler/zlib/blob/v1.3.2/ChangeLog

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

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

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21228
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agomac80211: ath11k: make the M3 dump memory not defined a debug message
Robert Marko [Sat, 14 Mar 2026 20:48:58 +0000 (21:48 +0100)] 
mac80211: ath11k: make the M3 dump memory not defined a debug message

There is no point in printing the missing M3 memory dump adress message
on each boot under the warning level, as not all boards need it at all.

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

Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agouboot-fritz4040: update to Git HEAD (2026-03-08) 22361/head
Til Kaiser [Tue, 10 Mar 2026 19:35:36 +0000 (20:35 +0100)] 
uboot-fritz4040: update to Git HEAD (2026-03-08)

056376fc703f Replace custom bool definitions with <stdbool.h>

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22361
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agomediatek: replace patches with upstream version 22350/head
Aleksander Jan Bajkowski [Mon, 9 Mar 2026 21:56:12 +0000 (22:56 +0100)] 
mediatek: replace patches with upstream version

No functional changes intended.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/22350
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoqualcommax: ipq60xx: unify common make rules for eap6xx 18804/head
Alexandru Gagniuc [Wed, 14 May 2025 18:12:53 +0000 (13:12 -0500)] 
qualcommax: ipq60xx: unify common make rules for eap6xx

The main difference between EAP610, 623, and 625 is the device name,
support string, and the BDF package. Move the others to a common
Device/tplink_eap6xx-common in order to highlight the common aspects.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18804
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoqualcommax: ipq60xx: unify eap6xx device trees
Alexandru Gagniuc [Wed, 14 May 2025 17:49:26 +0000 (12:49 -0500)] 
qualcommax: ipq60xx: unify eap6xx device trees

The EAP625 and EAP623 are extremely similar. The only difference in
the vendor's device tree is that EAP625 also enables USB and UART2.
Use the eap6xx dtsi instead of writing out a full devicetree.

The EAP623 uses the same RTL8211F as the 625 and 610. Since this is
a gigabit PHY, it is okay to change the ess mac mode from SGMII_PLUS
to SGMII. This is now consistent across all three devices.

Move the 'realtek,clkout-disable' and 'realtek,aldps-enable' PHY
properties to the common dtsi, as they work well on all three devices.

Reflect the remaining differences in the eap625 dts.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18804
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoqualcommax: ipq60xx: eap6xx-outdoor: use yellow for LED color
Alexandru Gagniuc [Thu, 15 May 2025 13:48:30 +0000 (08:48 -0500)] 
qualcommax: ipq60xx: eap6xx-outdoor: use yellow for LED color

As I was looking at the differences between EAP610, 623, and 625
Outdoor, I realized that the quick-start guide of all of the devices
mentions a yellow and green LED. Thus rename the "amber" led to
"yellow", and adjust its color ID accordingly.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18804
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoqualcommax: ipq60xx: rename TP-Link EAP623-Outdoor HD v1 compatible
Alexandru Gagniuc [Wed, 14 May 2025 16:47:23 +0000 (11:47 -0500)] 
qualcommax: ipq60xx: rename TP-Link EAP623-Outdoor HD v1 compatible

Originally, the .compatible string for EAP623-Outdoor HD tried to
shorten the "-outdoor" to "od". However, this naming was inconsistent
with the existing "eap610-outdoor". As "od" is not a common shorthand,
spell out the complete word: "eap623-outdoor-hd-v1".

Fixes: 5dbf93c8c5 ("ipq60xx: add support for TP-Link EAP623-Outdoor HD v1")
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18804
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoairoha: automatically refresh patches 22399/head
Kenneth Kasilag [Fri, 13 Mar 2026 10:32:19 +0000 (10:32 +0000)] 
airoha: automatically refresh patches

CI is currently failing due to these four patches.

Automatically refreshed with `make target/linux/refresh`.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22399
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: elecom,wrc-2533ghbk: use nvmem for mac addresses 14182/head
Rosen Penev [Wed, 11 Mar 2026 05:14:32 +0000 (22:14 -0700)] 
ramips: elecom,wrc-2533ghbk: use nvmem for mac addresses

Userspace handling is deprecated.

Since the u-boot ethaddr variable is quoted, we cannot use it.

Use mac-base instead to specify in dts.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14182
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: edimax,rx21s: use nvmem for ethaddr
Rosen Penev [Sun, 16 Jun 2024 23:25:24 +0000 (16:25 -0700)] 
ramips: edimax,rx21s: use nvmem for ethaddr

Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14182
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: iptime,t5004: use nvmem for ubootenv
Rosen Penev [Wed, 12 Jun 2024 21:03:49 +0000 (14:03 -0700)] 
ramips: iptime,t5004: use nvmem for ubootenv

Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14182
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: h3x,tx180x: use nvmem for uboot-env
Rosen Penev [Wed, 12 Jun 2024 20:57:58 +0000 (13:57 -0700)] 
ramips: h3x,tx180x: use nvmem for uboot-env

Removes deprecated userspace handling.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14182
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agomediatek: filogic: tplink-be450: fix RTL8261N reset timing, add missing WLAN button... 22386/head
Semih Baskan [Wed, 11 Mar 2026 15:05:57 +0000 (18:05 +0300)] 
mediatek: filogic: tplink-be450: fix RTL8261N reset timing, add missing WLAN button, fix memory size

- Fix RTL8261N 10GbE PHY `reset-deassert-us` from 100ms to 221ms to meet datasheet minimum SMI-ready timing (t7 >= 150ms), fixing intermittent boot stalls caused by MDIO bus instability
- Add missing WLAN toggle button (GPIO 34) present in stock firmware but absent from OpenWrt DTS
- Fix memory size from 1 GB to the actual 512 MB

Fix 1: The RTL8261N 10GbE PHY's `reset-deassert-us` was set to 100ms (100000us), but the **RTL8261N datasheet (Table 108, parameter t7)** specifies a minimum **SMI-ready time of 150ms** after nRESET release before the MDIO (SMI) bus can be used.

With only 100ms, the kernel attempts MDIO bus access before the RTL8261N's SMI interface is stable. Since the RTL8261N (mdio-bus:00) and the internal MT7988 2.5GbE PHY (mdio-bus:0f) share the same MDIO bus, a not-yet-ready RTL8261N disrupts all MDIO traffic, causing the 2.5GbE PHY firmware loading (`mt798x_2p5ge_phy_config_init`) to stall.

Observed symptoms on warm reboot:
- Sometimes `mt798x_2p5ge_phy_config_init` hangs for 5+ minutes or indefinitely
- RCU CPU stalls (`rcu: INFO: rcu_sched detected stalls on CPUs`)
- mt7996e WiFi chip message timeouts cascading to `chip full reset failed`
- System appears hung with only power LED blinking slowly

UART serial log evidence (warm reboot with 100ms):
```
[   73.041756] rcu: INFO: rcu_sched self-detected stall on CPU
[   73.048341] rcu:  2-....: (8 ticks this GP)
[   73.061641] pc : mt798x_2p5ge_phy_config_init+0x258/0xbb0
[   73.061653] lr : mt798x_2p5ge_phy_config_init+0x238/0xbb0
...
[  334.771280] MediaTek MT7988 2.5GbE PHY mdio-bus:0f: Firmware date code: 2024/10/30
```

The 2.5GbE PHY firmware loading, which normally takes ~3 seconds, took **325 seconds** due to MDIO bus instability. In the worst case, the system never recovers.

GPL DTS uses 221ms (`reset-deassert-us = <221000>`), providing 71ms of margin above the 150ms datasheet minimum. All MediaTek MT7988 reference board DTS files in the GPL use this same 221ms value.

Fix 2: Missing WLAN button (GPIO 34)

The BE450 has a physical WLAN toggle button on GPIO 34, defined in the stock TP-Link GPL DTS but missing from the OpenWrt DTS. Without this definition, the button is non-functional under OpenWrt.

The pin name for GPIO 34 in the MT7988 pinctrl is `SPI2_MISO`, confirmed by the kernel pinctrl driver (`pinctrl-mt7988.c`: `MT7988_PIN(34, "SPI2_MISO")`) and the official devicetree binding (`mediatek,mt7988-pinctrl.yaml`).

Note: GPIO 34 is also used by the BE450's First U-Boot as a recovery button (web recovery 192.168.1.1). Registering it in the DTS ensures the kernel claims the pin.

Fix 3: Incorrect memory size in DTS

The OpenWrt DTS declares 1 GB (`0x40000000`) of RAM, but the BE450 has 512 MB (`0x20000000`).

Run tested.

Signed-off-by: Semih Baskan <strst.gs@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22386
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agotools/expat: fix PKG_CPE_ID 22406/head
Fabrice Fontaine [Fri, 13 Mar 2026 19:57:11 +0000 (20:57 +0100)] 
tools/expat: fix PKG_CPE_ID

cpe:/a:libexpat_project:libexpat is the correct CPE ID for expat:
https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3:a:libexpat_project:libexpat

Fixes: ff59f3f4bdb56c779579aaa11b815f4c83abbac5 (tools/expat: fix PKG_CPE_ID)
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22406
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: rtl931x: use generic CMU configuration 22198/head
Jonas Jelonek [Fri, 27 Feb 2026 08:59:00 +0000 (08:59 +0000)] 
realtek: pcs: rtl931x: use generic CMU configuration

The current CMU setup was just copied and slightly adjusted from the
SDK, lacks functionality and logic and doesn't cover all cases we need
(same in the SDK due to multiple reasons). The existing implementation
for RTL930x covers all that and can be reused for RTL931x. Previous
patches made this generic and now we can add the remaining missing
pieces to actually use it for RTL931x. This only includes
implementations for the few variant-specific actions within the
implementation, linking them properly and calling the CMU configuration.

Drop the old CMU code for RTL931x then since it's not needed anymore.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: rtl931x: improve CMU page mapping
Jonas Jelonek [Tue, 24 Feb 2026 22:00:43 +0000 (22:00 +0000)] 
realtek: pcs: rtl931x: improve CMU page mapping

Improve the RTL931x mapper to infer the CMU page from the hardware mode
by replace unneeded with useful comments, returning a better error code
and dropping irrelevant parts.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: rtl93xx: slightly improve CMU config
Jonas Jelonek [Tue, 24 Feb 2026 21:32:24 +0000 (21:32 +0000)] 
realtek: pcs: rtl93xx: slightly improve CMU config

Do some slight improvements to the generic CMU configuration for
RTL93xx. This covers several points:

- update comments to the current reality
- add fast path to avoid issues and unneeded calls
- use cached mode value instead of register read

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: make rtl930x CMU config generic
Jonas Jelonek [Tue, 24 Feb 2026 21:22:05 +0000 (21:22 +0000)] 
realtek: pcs: make rtl930x CMU config generic

Generalize the RTL930x CMU configuration to support RTL931x as well.
Both implementations differ only in minor details, allowing them to
share common code and avoid duplication.

Affected functions are moved up in the code to the 93xx common area and
slightly renamed. Existing variant-specific functions are adjusted too
and assigned to the previously added SerDes operation hooks.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: add CMU management SerDes ops
Jonas Jelonek [Tue, 24 Feb 2026 18:22:45 +0000 (18:22 +0000)] 
realtek: pcs: add CMU management SerDes ops

Add new SerDes ops for CMU management to be able to share common
behavior of CMU configuration for RTL930x and RTL931x while still
covering variant specifics.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: rtl930x: fix naming and error handling
Jonas Jelonek [Tue, 24 Feb 2026 17:05:28 +0000 (17:05 +0000)] 
realtek: pcs: rtl930x: fix naming and error handling

Fix naming of several functions to better reflect what they are doing.
While at it, also improve the error handling a lot, changing the return
type from void to int and actually returning errors.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: rtl930x: move CMU reset into PLL config
Jonas Jelonek [Tue, 24 Feb 2026 12:11:18 +0000 (12:11 +0000)] 
realtek: pcs: rtl930x: move CMU reset into PLL config

Move resetting the CMU into the PLL configuration itself where the speed
is set. Since this operation is not dependent of the target SerDes and
only needs to be called if the speed changed, it fits better there.
Though the call was guarded with a 'speed_changed' before, this also
applies to actually changing the speed. This was done before anyway,
even if the speed value hasn't really changed.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: add generic mode-to-pll-speed mapper
Jonas Jelonek [Tue, 24 Feb 2026 11:58:14 +0000 (11:58 +0000)] 
realtek: pcs: add generic mode-to-pll-speed mapper

Add a mapper function to infer the to-be-selected PLL speed from the
desired SerDes hardware mode. This avoids having similar logic in each
CMU implementation.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: rtl930x: split pll config
Jonas Jelonek [Tue, 24 Feb 2026 00:14:12 +0000 (00:14 +0000)] 
realtek: pcs: rtl930x: split pll config

Split up PLL configuration of RTL930x in the two distinct actions of
configuring the PLL itself (aka setting its speed, etc.) and selecting
which PLL is used by a SerDes.

It was found that for both RTL930x and RTL931x, PLL configuration can be
combined while selecting the PLL a SerDes uses differs and needs to be
implemented variant-specific.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: rtl930x: use generic PLL type definition
Jonas Jelonek [Mon, 23 Feb 2026 22:10:45 +0000 (22:10 +0000)] 
realtek: pcs: rtl930x: use generic PLL type definition

Make use of the generic PLL type definition in the current CMU/PLL
configuration code for RTL930x. Assign explicit values to the fields of
the PLL type enum to tie these fields to the values that are used in
the register fields. This allows to simplify the code a bit.

Selecting the PLL to use for a SerDes shares some similarities between
RTL930x and RTL931x. While the location of the selector in the registers
is placed different, similar underlying bit semantics are used. This
allows to reuse the same plain values for both. RTL930x uses a force bit
and a selector bit, RTL931x at least uses the selector bit with the same
values for ring and LC PLL.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: rtl930x: use generic PLL speed definition
Jonas Jelonek [Mon, 23 Feb 2026 21:44:37 +0000 (21:44 +0000)] 
realtek: pcs: rtl930x: use generic PLL speed definition

Make use of the generic PLL speed definition in the current CMU/PLL
configuration code for RTL930x. Assign explicit values to the field of
the PLL speed enum to tie these fields to the values that are used in
the register fields. This allows to simplify the code a bit.

Setting the actual speed selector for RTL930x was found to be similar to
RTL931x despite of different values being used since the LSB is always 1.
According to the SDK this seems to be a force bit while the other bits
are the actual value/selector that is being forced. For RTL930x,
separate the speed selection to be able to use that as common behavior
for both variants later.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: pcs: bring PLL definitions into shape
Jonas Jelonek [Mon, 23 Feb 2026 21:17:51 +0000 (21:17 +0000)] 
realtek: pcs: bring PLL definitions into shape

Bring the PLL definitions into a proper shape. While there was already a
definition for the PLL type, a generic PLL speed definition was missing.
Introduce such a definition and adjust the naming of the existing PLL
type definition to have a better distinction and avoid conflicts. The
definitions can and should be used to make the CMU/PLL configuration
more generic and reduce the need for variant-specific definitions.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22198
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agopackage: update jsonfilter to latest HEAD 2026-03-12
Paul Spooren [Sat, 14 Mar 2026 18:00:52 +0000 (19:00 +0100)] 
package: update jsonfilter to latest HEAD 2026-03-12

 * e3f6a41 main: exit 1 when showing the usage
 * b17c31f main: exit 1 on getopt() errors
 * e086664 lexer: fix a minor memleak in jp_get_token()/match_token()
 * e5a07f4 main: defer processing until options are processed
 * afe72ad main: usage spell fixes

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 weeks agopackage: bump odhcpd to latest HEAD 2026-03-12
Paul Spooren [Sat, 14 Mar 2026 17:58:52 +0000 (18:58 +0100)] 
package: bump odhcpd to latest HEAD 2026-03-12

13cec01 dhcpv6-ia: dhcpv6_log_ia_addr(): parse return of snprintf

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 weeks agorealtek: eth: drop pcs handling 20324/head 22347/head 22411/head
Markus Stockhausen [Mon, 9 Mar 2026 18:21:54 +0000 (19:21 +0100)] 
realtek: eth: drop pcs handling

The ethernet driver configures the SoC internal network card
on its own. There are no special serdes or other layers in
between. So there is no need for pcs handling in the driver.
Drop that.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22347
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agorealtek: dts: convert LGS3xxC to NVMEM 22302/head
Markus Stockhausen [Fri, 6 Mar 2026 12:30:39 +0000 (13:30 +0100)] 
realtek: dts: convert LGS3xxC to NVMEM

These devices contain a single MAC address in the U-Boot environment.
Set it as eth0 and label MAC in device tree. To maintain the current
state, the 02_network script still sets individual port MAC addresses
and the bridge MAC address.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22302
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agorealtek: enable U-Boot env NVMEM layout for missing targets
Markus Stockhausen [Fri, 6 Mar 2026 12:59:06 +0000 (13:59 +0100)] 
realtek: enable U-Boot env NVMEM layout for missing targets

Allow to convert MAC adddresses for all devices to NVMEM in
the future.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22302
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agomediatek: filogic: rename Cudy M3000 v1 to v1/v2 22259/head
Jakub Vaněk [Tue, 3 Mar 2026 21:41:28 +0000 (22:41 +0100)] 
mediatek: filogic: rename Cudy M3000 v1 to v1/v2

The Cudy M3000 v1/v2 seem to have mostly identical hardware.
The M3000 v1 OpenWrt images work on the M3000 v2 (excluding
the v2 parts with a different PHY). Cudy also distributes one
firmware image that supports both routers.

Rename the human-readable device variant to "v1/v2" to match this.
Don't change the compatible property as that hooks into the
attended sysupgrade process.

The recent flash and PHY changes don't seem to be related to the v1/v2
split. There exist M3000 v2 with the Realtek PHY, see e.g.
https://github.com/openwrt/openwrt/pull/21584#issuecomment-3864992555

Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22259
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agomediatek: filogic: add support for Cudy M3000 w/ YT8821 PHY
Jakub Vaněk [Mon, 2 Mar 2026 20:14:28 +0000 (21:14 +0100)] 
mediatek: filogic: add support for Cudy M3000 w/ YT8821 PHY

The hardware is very close the the Cudy M3000 v1 (see commit
20e4a18feb3f). However, the Motorcomm YT8821 PHY is tricky
to support because of a MDIO address collision within the router.

Specification:
 - MT7981BA CPU: dual-core ARM Cortex-A53 @ 1.3 GHz
 - 256 MiB RAM
 - 128 MiB SPI NAND
 - Ethernet:
   - 1x 1GbE LAN port driven by the internal MT7981 PHY
   - 1x 2.5GbE WAN port driven by the Motorcomm YT8821
 - WiFi:
   - MT7981BA 2.4 GHz WiFi with 2x2:2 MIMO
   - MT7981BA 5 GHz WiFi with 2x3:2 MIMO
 - Buttons: Reset, WPS
 - LED: 1x combined red/white

How to know if you have the a router with the YT8821 PHY:
 - Boot the router into the vendor's firmware. Go to Diagnostic Tools
   -> System Log. Try searching for "rtl8221b".
 - If there are some matches, you have the Cudy M3000 router with
   the Realtek PHY and you should NOT use the device defined in this
   commit. Instead, you should use the device defined in
   mt7981b-cudy-m3000-v1.dts.
 - If there are no matches, try searching for "yt8821". If that
   matches something, you have the Cudy M3000 with the Motorcomm PHY
   and you should use this device tree
   (mt7981b-cudy-m3000-v2-yt8821.dts).
 - If even the yt8821 string did not match anything, then something
   is wrong. Rebooting the router might help (the system log would
   be refreshed).

Installation via the Cudy web UI:
 - Download the signed intermediary firmware from
   https://drive.google.com/drive/folders/1BKVarlwlNxf7uJUtRhuMGUqeCa5KpMnj
 - Flash the intermediary firmware using the Cudy web UI
 - Connect a PC/laptop to the "1Gbps LAN" port
 - Open http://192.168.1.1 in your browser, log in
   (the password should be empty)
 - Flash your desired OpenWrt firmware via LuCI
 - The router should reboot into the desired firmware

How to access UART (citing from 20e4a18feb3f):
 - remove rubber ring on the bottom
 - remove screws
 - pull up the cylinder, maybe help by push on an ethernet socket
   with a screwdriver
 - remove the (3) screws holding the board in the frame
 - remove the board from the frame to get to the screws for the
   silver, flat heat shield
 - remove the (3) screws holding the heat shield
 - solder UART pins to the back of the board
   - make sure to have the pins point out on side with the black,
     finned heat spread
   - the markings for the pins are going to be below the silver heat
     shield
   - Vcc is not needed
 - the UART parameters are 115200 baud, 8n1

Installation via UART (citing from 20e4a18feb3f):
 - attach an Ethernet cable to the "1Gbps LAN" port on the router
 - hold the reset button while powering the router
 - press CTRL-C or wait for the timeout to get to the U-Boot prompt
 - prepare a TFTP server on the network to supply ..-initramfs-kernel.bin
 - use 'tftpboot 0x46000000 ..-initramfs-kernel.bin' in the U-Boot
   shell to pull the image (change the file name accordingly)
 - boot the image using 'bootm 0x46000000'
 - push the ..-sysupgrade to the router using your preferred method
 - perform the upgrade with 'sysupgrade -n'

Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22259
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agokernel: add patch for YT8821 address collision
Jakub Vaněk [Mon, 2 Mar 2026 19:36:29 +0000 (20:36 +0100)] 
kernel: add patch for YT8821 address collision

This minimalistic patch should ensure that the Cudy M3000 with the
Motorcomm PHY works reliably. The patch is not upstreamable into the
mainline kernel. However, it could be sufficient as a simple stop-gap
measure until some other solution is found.

Link: https://forum.openwrt.org/t/cudy-m3000-with-motorcomm-phy-how-to-fix-it/247083?u=linuxtardis
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22259
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agoprocd: update to git HEAD
Daniel Golle [Fri, 13 Mar 2026 23:15:18 +0000 (23:15 +0000)] 
procd: update to git HEAD

 58eb263 instance: don't print error in case cgroups are disabled
 9baf019 instance: use positive error numbers for strerror()

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 weeks agoimx: cortexa53: remove KSZ9477 static driver 22257/head
Tim Harvey [Fri, 20 Feb 2026 01:01:48 +0000 (17:01 -0800)] 
imx: cortexa53: remove KSZ9477 static driver

The KSZ9477 driver was added to the cortexa53 kernel to support the
Gateworks Venice product family which has a board with this switch. Now
that the kmod-dsa-ksz9477 driver is available as a package remove the
static configuration ad add the package.

This resolves an issue caused by having the switch driver static and the
PHY driver as a module such that the PHY driver was not registered early
enough to be used causing some errata to not be worked around.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22120
Link: https://github.com/openwrt/openwrt/pull/22257
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agokernel: netdevices: add KSZ9477 DSA switch support
Tim Harvey [Fri, 20 Feb 2026 00:57:29 +0000 (16:57 -0800)] 
kernel: netdevices: add KSZ9477 DSA switch support

This adds kernel packages for the Microchip KSZ9477 switch family.
The core package has a target specific dependency as the ksz9477
driver enables DCB which grows the kernel size and can negatively
impact other targets.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22257
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agotrelay: use struct_size helper in allocation 21960/head
Rosen Penev [Sun, 8 Feb 2026 22:12:02 +0000 (14:12 -0800)] 
trelay: use struct_size helper in allocation

Makes it clear that the allocation is dealing with a flex array member.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21960
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agotreewide: constify mdio_bus 21167/head
Rosen Penev [Sun, 14 Dec 2025 23:44:01 +0000 (15:44 -0800)] 
treewide: constify mdio_bus

In generic, there's a backport from 6.14 that makes this change. Do so
in downstream locations as well.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21167
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agomac80211: ath12k: backport thermal sensor support 22280/head
Matt Merhar [Fri, 6 Mar 2026 03:05:40 +0000 (22:05 -0500)] 
mac80211: ath12k: backport thermal sensor support

This is nearly identical to what landed in ath-next for v7.1, aside from
resolving a couple conflicts. A separate patch has been added to replace
CONFIG_THERMAL with CPTCFG_ATH12K_THERMAL so the setting may be enabled
via menuconfig (as is done with ath10k and ath11k).

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

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

Link: https://patch.msgid.link/20260223132622.43464-1-maharaja.kennadyrajan@oss.qualcomm.com
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/22280
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agoipq40xx: wrtq-329acn: remove ethernet alias
Tomasz Maciej Nowak [Thu, 12 Mar 2026 19:44:50 +0000 (20:44 +0100)] 
ipq40xx: wrtq-329acn: remove ethernet alias

The mac addresses are sourced from ART partition.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
4 weeks agoipq40xx: wr-1: wire up switch LEDs
Tomasz Maciej Nowak [Thu, 12 Mar 2026 19:46:00 +0000 (20:46 +0100)] 
ipq40xx: wr-1: wire up switch LEDs

This will allow controlling them from sysfs.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
4 weeks agoipq40xx: wr-1: remove TODO
Tomasz Maciej Nowak [Thu, 12 Mar 2026 19:45:59 +0000 (20:45 +0100)] 
ipq40xx: wr-1: remove TODO

The MAC address is sourced from U-Boot environment.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
4 weeks agoipq40xx: wr-1: fix WLAN LEDs labels
Tomasz Maciej Nowak [Thu, 12 Mar 2026 19:45:58 +0000 (20:45 +0100)] 
ipq40xx: wr-1: fix WLAN LEDs labels

Restore the lost band label.

Fixes: 502ac21e8fde ("ipq40xx: drop redundant label with new LED color/function format")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
4 weeks agoqca-nss-dp: update to Git HEAD (2026-03-13)
Robert Marko [Fri, 13 Mar 2026 09:10:45 +0000 (10:10 +0100)] 
qca-nss-dp: update to Git HEAD (2026-03-13)

22fb70661799 fix flex array not at end of struct
6a5c4716ca25 convert memcpy + ETH_GSTRING_LEN to ethtool_puts

Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agolibubox: update to Git HEAD (2026-03-13)
Hauke Mehrtens [Thu, 12 Mar 2026 23:04:05 +0000 (00:04 +0100)] 
libubox: update to Git HEAD (2026-03-13)

815633847cd3 CMakeLists.txt: remove -Werror=format-nonliteral

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agoumdns: update to Git HEAD (2026-02-06)
Jonas Gorski [Thu, 12 Mar 2026 19:27:17 +0000 (20:27 +0100)] 
umdns: update to Git HEAD (2026-02-06)

a52cdb354d13 dns: validate IPv4 record addresses
b798c24205b5 dns: validate IPv6 record addresses
a3dcb4adc635 dns: validate reverse dns query name lengths

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
4 weeks agomicrochipsw: lan969x: tactical-1000: fix SFP I2C buses 22389/head
Robert Marko [Thu, 12 Mar 2026 10:05:40 +0000 (11:05 +0100)] 
microchipsw: lan969x: tactical-1000: fix SFP I2C buses

SFP I2C buses for ports 1 and 3 were swapped as order changed on production
boards.

So, swap them around to fix SFP 1 and 3 failed to read EEPROM errors.

Fixes: 29b3d929a610 ("microchipsw: lan969x: add Novarq Tactical 1000")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 weeks agomicrochipsw: backport fix for ets qdisc offload 22388/head
Robert Marko [Thu, 26 Feb 2026 14:04:21 +0000 (15:04 +0100)] 
microchipsw: backport fix for ets qdisc offload

Backport upstream fix for ets qdisc offloading.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 weeks agomicrochipsw: tactical-1000: rename ports
Robert Marko [Wed, 12 Nov 2025 12:10:50 +0000 (13:10 +0100)] 
microchipsw: tactical-1000: rename ports

Rename the network ports so they match the information printed on the
case.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 weeks agobuild: reject non-matching artifacts 22385/head
Eric Fahlgren [Wed, 11 Mar 2026 20:16:34 +0000 (13:16 -0700)] 
build: reject non-matching artifacts

Check for malformed artifact names before dereferencing them.

Fixes: https://github.com/openwrt/openwrt/commit/5816d883ff3884ae96c3293b316f6d56c099eee0
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22385
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agolinux-firmware: update to 20260309 22364/head
John Audia [Tue, 10 Mar 2026 20:22:39 +0000 (16:22 -0400)] 
linux-firmware: update to 20260309

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

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22364
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoprocd: update to Git HEAD (2026-03-11)
Felix Fietkau [Wed, 11 Mar 2026 17:29:51 +0000 (17:29 +0000)] 
procd: update to Git HEAD (2026-03-11)

129b729f757c service: fix use-after-free in per-instance set_data handler

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 weeks agobcm53xx: mr26: fix nvmem MAC override 22369/head
Rosen Penev [Wed, 11 Mar 2026 00:05:16 +0000 (17:05 -0700)] 
bcm53xx: mr26: fix nvmem MAC override

I wrongly added the wifi devices to the pcie nodes and not the bridge
nodes as they were not present at the time.

Fixes: 58056df ("bcm53xx: backport nvmem mac for meraki mr26")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22369
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agoairoha: an7581: remove source-only 17869/head
Andrew LaMarche [Sun, 8 Mar 2026 20:48:25 +0000 (20:48 +0000)] 
airoha: an7581: remove source-only

Remove source-only from an7581.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17869
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoairoha: add leds-gpio and gpio-button-hotplug to default packages
Andrew LaMarche [Fri, 20 Feb 2026 15:04:32 +0000 (15:04 +0000)] 
airoha: add leds-gpio and gpio-button-hotplug to default packages

Most, if not all Airoha devices will have LEDs and buttons. Add them to
default packages.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17869
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoairoha: an7581: add uboot-envtools to default packages
Andrew LaMarche [Fri, 20 Feb 2026 15:03:12 +0000 (15:03 +0000)] 
airoha: an7581: add uboot-envtools to default packages

Add uboot-envtools to default packages to facilitate modifying the
u-boot environment.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17869
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoairoha: add support for Gemtek W1700K
Andrew LaMarche [Tue, 28 Jan 2025 02:52:16 +0000 (02:52 +0000)] 
airoha: add support for Gemtek W1700K

This commit adds support for Gemtek (Centurylink/Lumen/Quantum Fiber)
W1700K.

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

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

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

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

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

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

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

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

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

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

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

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

For those wishing to explore the stock firmware:

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

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

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

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17869
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agortc-rv5c386a: fix build with kernel 6.12
Hauke Mehrtens [Tue, 10 Mar 2026 22:48:07 +0000 (23:48 +0100)] 
rtc-rv5c386a: fix build with kernel 6.12

`no_llseek` was defined as NULL since 2 years already and was removed in
Linux 6.12, see:
https://git.kernel.org/linus/cb787f4ac0c2e439ea8d7e6387b925f74576bdf8

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agoairoha: add pending patch for additional GPIO pins for PHY LED0
Christian Marangi [Tue, 10 Mar 2026 15:23:33 +0000 (16:23 +0100)] 
airoha: add pending patch for additional GPIO pins for PHY LED0

Add a pending patch that permits additional GPIO pins (43-46) for PHY LED0.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoipq806x: ap3935: fix uboot nvmem 22263/head
Rosen Penev [Mon, 9 Mar 2026 22:05:55 +0000 (15:05 -0700)] 
ipq806x: ap3935: fix uboot nvmem

In the transition to nvmem-layout and subsequent disabling of non layout
u-boot-env, this device was left out.

Transition to nvmem-layout to fix the mac address.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22263
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoipq806x: use nvmem for calibration
Rosen Penev [Thu, 26 Feb 2026 03:42:17 +0000 (19:42 -0800)] 
ipq806x: use nvmem for calibration

Userspace handling is deprecated.

These are identical to NBG6617, which was tested as working.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22263
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoipq806x: mr42/mr52: use nvmem for caldata
Rosen Penev [Thu, 26 Feb 2026 03:35:44 +0000 (19:35 -0800)] 
ipq806x: mr42/mr52: use nvmem for caldata

Userspace handling is deprecated.

UBI nvmwem has been supported for quite a while now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22263
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoipq806x: e8350: use nvmem for MAC address
Rosen Penev [Sun, 8 Mar 2026 22:32:37 +0000 (15:32 -0700)] 
ipq806x: e8350: use nvmem for MAC address

Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22263
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agokernel: ssb: fallback-sprom: check deferred probe 22305/head
Rosen Penev [Sat, 28 Feb 2026 19:59:33 +0000 (11:59 -0800)] 
kernel: ssb: fallback-sprom: check deferred probe

When NVMEM is not ready, of_get_mac_address fails. Handle this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22305
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agokernel: bcma: fallback-sprom: check defered probe
Rosen Penev [Sat, 28 Feb 2026 19:51:58 +0000 (11:51 -0800)] 
kernel: bcma: fallback-sprom: check defered probe

When NVMEM is not ready, of_get_mac_address fails. Handle this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22305
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agosdk: use TOOLCHAIN_DIR_NAME for STAGING_SUBDIR_TOOLCHAIN 22315/head
Nikita Ostrenkov [Sat, 7 Mar 2026 13:10:34 +0000 (16:10 +0300)] 
sdk: use TOOLCHAIN_DIR_NAME for STAGING_SUBDIR_TOOLCHAIN

Like a STAGING_SUBDIR_TARGET which uses TARGET_DIR_NAME, we can use TOOLCHAIN_DIR_NAME for STAGING_SUBDIR_TOOLCHAIN to avoid code duplication.

Signed-off-by: Nikita Ostrenkov <ownik.dev@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22315
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agobcm53xx: backport pcie patches 22307/head
Rosen Penev [Mon, 2 Mar 2026 00:14:38 +0000 (16:14 -0800)] 
bcm53xx: backport pcie patches

Needed for various fixes.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22307
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agorealtek: rtl838x: fix non-functional reboot 22334/head
Markus Stockhausen [Sun, 8 Mar 2026 21:28:42 +0000 (22:28 +0100)] 
realtek: rtl838x: fix non-functional reboot

RTL838x devices cannot reboot if the flash controller is driven in
4 byte mode. Unitl fdc3776 ("realtek: pcs: fix PLL_CML_CTRL for
serdes 0/1") this bit was luckily cleared by a coding error. Since
then the device cannot be rebooted anymore.

Looking at the SDK one can see that this bit is reset short before
the reboot happens. But we might need that in critical situations
where there is no chance to do it right in time. As the RTL838x
always ran with the bit disabled restore the old behaviour. This
time implement it as a documented quirk so it does not get lost.

Fixes: fdc3776 ("realtek: pcs: fix PLL_CML_CTRL for serdes 0/1")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22334
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agobuild: segregate build artifacts by host architecture 22331/head
Eric Fahlgren [Sun, 8 Mar 2026 20:45:42 +0000 (13:45 -0700)] 
build: segregate build artifacts by host architecture

Add structured data to each of the build artifacts listed in
profiles.json, in order to accomodate future inclusion of different
build host architectures.

Link: https://github.com/openwrt/openwrt/pull/22264#issuecomment-4014914414
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22331
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agowifi-scripts: fix handling spaces in wifi client config 22237/head
Hauke Mehrtens [Sun, 1 Mar 2026 18:41:50 +0000 (19:41 +0100)] 
wifi-scripts: fix handling spaces in wifi client config

Escape identity anonymous_identity password ca_cert and ca_cert2 in a wifi
client configuration. This fixes the handling of configuration options
containing spaces and other strings which need escaping.

Fixes: https://github.com/openwrt/openwrt/issues/22212
Link: https://github.com/openwrt/openwrt/pull/22237
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agofirewall4: prefer over firewall as dependency 22328/head
Eric Fahlgren [Sun, 8 Mar 2026 16:57:57 +0000 (09:57 -0700)] 
firewall4: prefer over firewall as dependency

When the virtual package "uci-firewall" is installed, the choice
between "firewall" and "firewall4" is arbitrary, sometimes resulting
in one, sometimes the other.

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

Link: https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035/1126
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22328
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agoustream-ssl: update to Git HEAD (2026-03-01) 22335/head
Hauke Mehrtens [Mon, 9 Mar 2026 00:11:40 +0000 (01:11 +0100)] 
ustream-ssl: update to Git HEAD (2026-03-01)

99f1c0db5a72 ustream-openssl: Fix use-after-free crash under high load and optimize BIO_METHOD lifecycle

Fixes: https://github.com/openwrt/openwrt/issues/19349
Fixes: https://github.com/openwrt/openwrt/issues/20134
Link: https://github.com/openwrt/openwrt/pull/22335
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agoairoha: Enable npu for an7581-evb board 22343/head
Lorenzo Bianconi [Mon, 9 Mar 2026 13:17:19 +0000 (14:17 +0100)] 
airoha: Enable npu for an7581-evb board

Enable NPU module for AN7581 evaluation board.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22343
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoairoha: an7583: Disable flow-stats 22341/head
Lorenzo Bianconi [Mon, 9 Mar 2026 10:13:45 +0000 (11:13 +0100)] 
airoha: an7583: Disable flow-stats

Disable airoha-flow-stats for an7583 since it is not currently supported
by the firmware image.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22341
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 weeks agoapk: point help message to openwrt wiki 22271/head
Eric Fahlgren [Wed, 4 Mar 2026 15:59:46 +0000 (07:59 -0800)] 
apk: point help message to openwrt wiki

Instead of directing users to the useless 'man 8 apk', we direct
them to the wiki help page.

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22271
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 weeks agorealtek: dsa: relax rtldsa_ethernet_loaded() 22235/head
Markus Stockhausen [Sun, 1 Mar 2026 16:16:31 +0000 (17:16 +0100)] 
realtek: dsa: relax rtldsa_ethernet_loaded()

The Realtek DSA driver accesses the DTS at two locations.

- rtldsa_ethernet_loaded(): to check if ethernet driver is active
- rtl83xx_mdio_probe(): to create ports and link to pcs/phy

The first function does not directly search for the ethernet driver
but looks it up through the switch port nodes. Avoid future issues
and simply search all nodes that have a "ethernet" link to the
network driver.

While we are here add a missing put_device() to keep reference
counters clean.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22235
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: eth: provide shared tx_header() for RTL93xx 22228/head
Markus Stockhausen [Sun, 1 Mar 2026 08:31:03 +0000 (09:31 +0100)] 
realtek: eth: provide shared tx_header() for RTL93xx

rteth_930x_create_tx_header() and rteth_931x_create_tx_header() do
basically the same. Only exception is, that one function can handle
ports beyond 32 and the other not. Merge them into one.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22228
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: eth: refactor rteth_set_mac_hw() 22217/head
Markus Stockhausen [Sat, 28 Feb 2026 18:36:53 +0000 (19:36 +0100)] 
realtek: eth: refactor rteth_set_mac_hw()

MAC setting uses hard to read duplicated code. Additionally it
evaluates the unwanted family_id attribute. Provide the list
of MAC address registers in the configuration structure and use
a loop to fill those.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22217
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: eth: cleanup hardware transmit handling
Markus Stockhausen [Sat, 28 Feb 2026 17:46:28 +0000 (18:46 +0100)] 
realtek: eth: cleanup hardware transmit handling

There is a workaround in the transmit path for the RTL838x SoCs. This
is basically an open coded read_poll_timeout() and makes the code hard
to read. Additionally the magic trigger calculation is not easy to
understand.

Simplify things by using kernel standards and a better macro.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22217
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agokernel: add cake_mq fixes 22303/head
Jonas Köppeler [Fri, 6 Mar 2026 16:32:41 +0000 (16:32 +0000)] 
kernel: add cake_mq fixes

This adds upstreamed cake_mq fixes:
- avoiding synchronization overhead when running unlimited
- fixing diffServ rates scaling

Signed-off-by: Jonas Köppeler <j.koeppeler@tu-berlin.de>
Link: https://github.com/openwrt/openwrt/pull/22303
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agoapk: add --force-reinstall option
Felix Fietkau [Sun, 8 Mar 2026 15:32:00 +0000 (15:32 +0000)] 
apk: add --force-reinstall option

Allow reinstalling already-installed packages without a version change.
Only the named packages are reinstalled, not their dependencies.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 weeks agoomcproxy: update to Git HEAD (2026-03-07) 22317/head
Álvaro Fernández Rojas [Sat, 7 Mar 2026 14:54:29 +0000 (15:54 +0100)] 
omcproxy: update to Git HEAD (2026-03-07)

3abb601ab77f mrib: receive_mrt: workaround for RTL8373 queries
e25491f27af3 Revert "mrib: receive_mrt: workaround for RTL8373 queries"
cd20f3a4b4f1 mrib: receive_mrt: workaround for RTL8373 queries
cad82dc5cb65 formal: fix workflow permissions
997a981ae375 github: ci: add MIPS64, PowerPC64 and RISCV64
e646f462daeb github: ci: add powerpc arch
b3d1e2e48cf4 github: ci: add cmake build and source directories
de4353546064 github: ci: disable json-c tests
2be7e63d9b68 scripts: devel-build: disable json-c tests
36adc79c7b76 github: fix CI apt dependencies
11e45f6cfe10 README: update build instructions
78eea9b83a93 omcproxy: use syslog mask for logging level
9f0a1454de10 github: add CI build
49df5f5b8704 omcproxy: add a simple build script
757c1c704c9d libubox: remove submodule
8957f6c2557b omcproxy: update cmake file
848d696419eb proxy: fix indentation warning

Link: https://github.com/openwrt/openwrt/pull/22317
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 weeks agorealtek: pending upstream rtl9300 i2c speed patch 22209/head
Jan Kantert [Sat, 28 Feb 2026 23:14:10 +0000 (00:14 +0100)] 
realtek: pending upstream rtl9300 i2c speed patch

Some 10G optics showed random "module transmit fault indicated" due to I2C
read errors on ONTi ONT-S508CL-8S/XikeStor SKS8300-8X switches. The same
modules work with the original firmware and on other Linux based devices.

There seems to be some differences in how we talk to those modules using
I2C in OpenWRT. To fix this this patch adds support for 50kHz I2C speed on
SFPs and enables that for XikeStor/Onti devices. Since SFPs only transmit
very few bytes this should not have any real downsides.

This patch adds support in the i2c driver for 50kHz and 2.5MHz. In a
second PR I will configure 50kHz in the DTS for the affected devices.

Signed-off-by: Jan Kantert <jan-openwrt@kantert.net>
Link: https://github.com/openwrt/openwrt/pull/22209
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agortl93xx: dsa: Handle lag_change properly 21740/head
Harshal Gohel [Tue, 27 Jan 2026 11:35:16 +0000 (11:35 +0000)] 
rtl93xx: dsa: Handle lag_change properly

LACP frequently changes active/backup links. driver must also handle
dp->lag_tx_enabled.

This should only affect egress LAG table, ingress should not be touched.
To test, connect a known working 802.3ad compatible switch (Mikrotik).
Configure bond with 802.3ad on openwrt as well as mikrotik.
Observer active/backup links on openwrt with
```
for iface in <list of bond participants>; do
ip -d link show $iface
done
```
This should show ACTIVE/BACKUP status which must be synchronized with
the partner's ACTIVE/BACKUP status if LACP is working correctly.

Backup interface must not be chosen by the distribution algorithm to
transmit egress packet

At the moment, we have two parties involved in the selection of active LAG TX
ports:
- the bonding/DSA code which informs about activated/deactivated ports using
  .port_lag_change
- the HW which is deactivating ports based on the link state see
  RTL93XX_TRK_CTRL_LINK_DOWN_AVOID

In our case, the software is supposed to manage everything

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: dsa: rtl93xx: Add link aggregation support
Harshal Gohel [Tue, 27 Jan 2026 11:33:07 +0000 (11:33 +0000)] 
realtek: dsa: rtl93xx: Add link aggregation support

With this commit it is possible to create 802.3ad compatible bond
interface that is interoperable with other 802.3ad compatible switches.

Each trunk group can have maximum of 8 ports as members.
Hardware also supports trunking with stacked switches, however it is not
handled here and the driver only configures the local trunk.

rtl930x and rtl931x has minimal differences in trunk/lag

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: dsa: rtl93xx: Initialize trunk on probe
Harshal Gohel [Tue, 27 Jan 2026 09:41:39 +0000 (09:41 +0000)] 
realtek: dsa: rtl93xx: Initialize trunk on probe

rtl93xx has two distribution algorithm slots that are shared among
multiple trunks.
Each of this slot can be configured to handle L2 and/or L3 packets

Hardware can also be configured to support layer3+4 but that is not
802.3ad compliant. With this commmit I want to focus on getting
layer2 and layer2+3 initialized in two slots.
When a new LAG group is created, depending on the xmit_hash_policy
configuration a slot will be configured in LAG table entry

SPA and VLAN bits made the switch to always choose same link for all
connections which completely dismisses point of Link aggregation.
So avoid these and stick to SMAC + DMAC for L2 packets and
SMAC + DMAC + SIP + DIP for L3 packets

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Jan Fuchs <jf@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: dsa: Reelect primary port for a LAG
Harshal Gohel [Mon, 2 Mar 2026 09:16:10 +0000 (09:16 +0000)] 
realtek: dsa: Reelect primary port for a LAG

rtl93xx hardware supports trunk fdb entries. That requires driver to
translate port-fdb entry to trunk fdb entry if the port is part of a
LAG.

There is no standard way of indicating fdb entries for bond interfaces.

One can use debugfs interface l2_table to dump all the entries stored in
the hardware. Trunk FDB entries are now displayed properly with trunk ID
and participating ports

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: dsa: rtl93xx: Deduplicate distribution algo setup
Harshal Gohel [Tue, 27 Jan 2026 17:19:46 +0000 (17:19 +0000)] 
realtek: dsa: rtl93xx: Deduplicate distribution algo setup

rtl9310 and rtl9300 have two slots for configuration of packet distribution
algorithm that can be assigned to multiple LAG groups. They also have the
same field descriptions

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>