]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
3 weeks agoairoha: Add PCIe sub-nodes for NPU wifi offloading 22516/head
Lorenzo Bianconi [Thu, 19 Mar 2026 10:42:37 +0000 (11:42 +0100)] 
airoha: Add PCIe sub-nodes for NPU wifi offloading

Introduce missing PCIe sub-nodes required to enable NPU wifi offloading
on Airoha AN7581 SoC.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22516
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agomac80211: ath9k: patch hw.c for gpio mask from dt 22376/head
Edward Chow [Wed, 11 Mar 2026 08:19:26 +0000 (16:19 +0800)] 
mac80211: ath9k: patch hw.c for gpio mask from dt

"qca,gpio-mask" used to be read between ath9k_hw_init() and
ath9k_init_queues(). After 12913c3c5658992985e13f4395dee86e5450154d
it is read in ath9k_of_init(), but it gets overwritten by
ath9k_gpio_cap_init() during the call of ath9k_hw_init(), and causes
https://github.com/openwrt/openwrt/issues/22340

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

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

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/22376
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agotools/erofs-utils: assign PKG_CPE_ID 22425/head
Fabrice Fontaine [Sat, 14 Mar 2026 19:55:40 +0000 (20:55 +0100)] 
tools/erofs-utils: assign PKG_CPE_ID

cpe:/a:erofs-utils_project:erofs-utils is the correct CPE ID for erofs-utils:
https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3:a:erofs-utils_project:erofs-utils

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22425
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agorealtek: clk: add rtl9607 clock support 22080/head
Rustam Adilov [Wed, 18 Feb 2026 15:26:42 +0000 (20:26 +0500)] 
realtek: clk: add rtl9607 clock support

This commit adds support for RTL9607C/RTL8198D clocks to the existing
clk-rtl83xx driver. Setting clock rates is not supported due to
lack of knowledge on this topic at the moment. Clocks for CPU1, SRAM
and SPI can also be calculated but not included in this commit.

Since the registers, calculations are widely different to RTL83XX it
was decide to have different clk_ops for RTL960X.

The code was partly based on naseef's work with some changes to
integrate it into the clk-rtl83xx driver.

Tested-by: Ahmed Naseef <naseefkm@gmail.com>
Signed-off-by: Rustam Adilov <adilov@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/22080
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agobase-files: sysupgrade: avoid cat missing conffiles_static 22071/head
Nick Hainke [Tue, 17 Feb 2026 23:42:43 +0000 (00:42 +0100)] 
base-files: sysupgrade: avoid cat missing conffiles_static

If the user removes all /lib/apk/packages/*.conffiles* files to prevent
sysupgrade from preserving configuration, the glob no longer matches and
sysupgrade ends up calling cat on a non-existent path:

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

Fix this by using find cmd.

Signed-off-by: Nick Hainke <vincent@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/22071
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoath79: untag to cpu ports on 2-cpu-port devices by default 19444/head
Edward Chow [Thu, 17 Jul 2025 11:29:10 +0000 (19:29 +0800)] 
ath79: untag to cpu ports on 2-cpu-port devices by default

Currently, devices having two cpu ports to the switch managed by swconfig,
especally those with qca955x, line tplink archer c7 v2 and linksys ea4500 v3,
use vlan on different cpu port to separate networks by default. (e.g. eth1.1
for lan, eth0.2 for wan)

However, untagging to these vlans cpu ports, and limiting vlans in the switch
on these devices could effectively offload the expense to process vlan tag from
cpu to the switch, and increase the throughput of lan <-> wan ipoe routing.

Tested on my tplink tl-wdr4900 v2, where ucidef_add_switch "switch0"
"0u@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6u@eth0" "1:wan" finally generates
on /etc/config/network:

config device
option name 'br-lan'
option type 'bridge'
list ports 'eth1'

config interface 'lan'
option device 'br-lan'
option proto 'static'
list ipaddr '192.168.1.1/24'
option ip6assign '60'

config interface 'wan'
option device 'eth0'
option proto 'dhcp'

config interface 'wan6'
option device 'eth0'
option proto 'dhcpv6'

config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'

config switch_vlan
option device 'switch0'
option vlan '1'
option ports '2 3 4 5 0'

config switch_vlan
option device 'switch0'
option vlan '2'
option ports '1 6'

and the throughput of lan <-> wan ipoe routing with software flow offload
increases from around
[850 Mbps](https://openwrt.org/toh/tp-link/archer-c5-c7-wdr7500#nat_performance)
to 900 Mbps.

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/19444
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agomt76: remove incompatible patch
David Bauer [Thu, 19 Mar 2026 16:30:41 +0000 (17:30 +0100)] 
mt76: remove incompatible patch

This patch became incompatible as the depending patches have been
reverted.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 weeks agomt76: update to Git HEAD (2026-03-19)
Felix Fietkau [Thu, 19 Mar 2026 12:33:56 +0000 (12:33 +0000)] 
mt76: update to Git HEAD (2026-03-19)

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

Fixes: https://github.com/openwrt/mt76/issues/1068
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agomac80211: rt2x00: remove swap binding 22207/head
Rosen Penev [Tue, 3 Mar 2026 23:12:03 +0000 (15:12 -0800)] 
mac80211: rt2x00: remove swap binding

No longer used. If swapping is desired, ralink,mtd-eeprom can be used.
Otherwise nvmem.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22207
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agolantiq: convert ralink,mtd-eeprom to nvmem
Rosen Penev [Thu, 26 Feb 2026 04:27:50 +0000 (20:27 -0800)] 
lantiq: convert ralink,mtd-eeprom to nvmem

These devices use the binding + eeprom-swap. Turns out the reason swap
is needed is because the binding wrongly swaps the data on big endian
hosts. NVMEM doesn't do this and thus just works.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22207
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agohostapd: ubus: fix parent-tsf size in beacon report notification
Felix Fietkau [Thu, 19 Mar 2026 09:38:36 +0000 (09:38 +0000)] 
hostapd: ubus: fix parent-tsf size in beacon report notification

parent_tsf in struct rrm_measurement_beacon_report is le32 (32-bit),
but was being added with blobmsg_add_u16, truncating the value.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agohostapd: ubus: add missing token to beacon report notification
Felix Fietkau [Thu, 19 Mar 2026 09:38:21 +0000 (09:38 +0000)] 
hostapd: ubus: add missing token to beacon report notification

The beacon measurement token was not included in the ubus beacon-report
notification, causing consumers that need the token (e.g. for constructing
Beacon Metrics Response TLVs) to receive null.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agomac80211: fix reporting MLO link ID for non-MLO STAs on MLO AP
Felix Fietkau [Thu, 19 Mar 2026 04:48:28 +0000 (04:48 +0000)] 
mac80211: fix reporting MLO link ID for non-MLO STAs on MLO AP

Add missing information on station dump/get

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agohostapd: fix type mismatch in BSS transition responses
Felix Fietkau [Wed, 18 Mar 2026 18:42:06 +0000 (18:42 +0000)] 
hostapd: fix type mismatch in BSS transition responses

Use blobmsg_add_u32 for non-bool fields in order to avoid wrong
interpretations of the data on JSON/ucode conversion.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agohostapd: ubus: fix beacon request reporting detail field size
Felix Fietkau [Wed, 18 Mar 2026 15:58:52 +0000 (15:58 +0000)] 
hostapd: ubus: fix beacon request reporting detail field size

The Reporting Detail value is a 1-byte field, but was written as le16,
producing a 2-byte write that also contradicts the length field of 1
in the subelement header.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agohostapd: ubus: fix beacon request buffer overflow with reporting detail
Felix Fietkau [Wed, 18 Mar 2026 15:58:37 +0000 (15:58 +0000)] 
hostapd: ubus: fix beacon request buffer overflow with reporting detail

The reporting detail subelement (up to 3 bytes) was not accounted for
in the wpabuf allocation, causing a crash when reporting_detail is set
to a valid value (0, 1, or 2).

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agoramips: cpe200: fix eeprom size 22459/head
Rosen Penev [Tue, 17 Mar 2026 03:24:01 +0000 (20:24 -0700)] 
ramips: cpe200: fix eeprom size

A size of 600 is incomplete in that calibration data is not included,
resulting in low TX power.

Fixes: 64dae105 ("ramips: mt76x8: add support for Yuncore CPE200")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22459
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agowifi-scripts: fix hostapd config for 160MHz 22482/head
Shine [Wed, 18 Mar 2026 20:08:38 +0000 (21:08 +0100)] 
wifi-scripts: fix hostapd config for 160MHz

After 02e2065203c5e6c95f88e3501644d3e6ad740f89, it can happen that both,
[VHT160-80PLUS80] and [VHT160] are added to the vht_capab option in
an AP's hostapd.conf, which would cause a failure to start the AP.

Fix the logic in order to prevent such misconfiguration.

Fixes: #22481
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22482
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: dir-3040-a1: fix MAC address assignment 21977/head
Rosen Penev [Wed, 11 Feb 2026 00:29:33 +0000 (16:29 -0800)] 
ramips: dir-3040-a1: fix MAC address assignment

The dtsi used handles a bunch of non-DBDC platforms where the
assignments are correct. The 3040-a1 is different as there are 3 instead
of 2 wifi interfaces and WAN needs to be incremented by 1.

Remove userspace wifi assignmwent which was needed before per band nvmem
was supported.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21977
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoairoha: an7581: fix interface selection script for Nokia Valyrian
Christian Marangi [Wed, 18 Mar 2026 08:27:30 +0000 (09:27 +0100)] 
airoha: an7581: fix interface selection script for Nokia Valyrian

While rebasing, a typo was made where the ';;' terminator was omitted in
the 02_network script. Add it to restore script functionality.

Fixes: e210d994faa5 ("airoha: an7581: add Nokia Valyrian support")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agomediatek: update Tenda BE12 Pro support 22060/head
Chukun Pan [Fri, 30 Jan 2026 12:16:28 +0000 (20:16 +0800)] 
mediatek: update Tenda BE12 Pro support

- Update network port names based on the shell

- Fix boot log errors:
  OF: /soc/pcie@11280000/pcie@0,0: Missing device_type

- Match vendor firmware Ethernet and wireless MAC addresses

  LAN MAC 50:xx:xx:xx:xx:60
  WAN MAC 50:xx:xx:xx:xx:61
  2G  MAC 50:xx:xx:xx:xx:63
  5G  MAC 50:xx:xx:xx:xx:65

Fixes: 7d79346581 ("mediatek: filogic: add support for Tenda BE12 Pro")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/22060
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
3 weeks agoairoha: an7581: add Nokia Valyrian support 21761/head
Christian Marangi [Wed, 28 Jan 2026 19:56:53 +0000 (20:56 +0100)] 
airoha: an7581: add Nokia Valyrian support

Add support for Nokia Valyrian based on Airoha AN7581 SoC.

Device specification
--------------------
SoC Type: Airoha AN7581
RAM: 2x DDR4 Nanya NT5AD256M16E4-JR (1GB)
Flash: eMMC Macronix MX52LM08A11XVW (1GB)
Ethernet: 3x gigabit via AN7581, 1x 10g via AS21x1x, 1x SFP cage
Wi-Fi: MT7996 - BE19000
LEDs: 11 LED via 2x 74HC595 shift register
Button: Reset, WPS, WiFi
USB ports: 1x 2.0
Miscellaneous:  1x Power Monitor via RTQ6059, 2x FXS port

Device is unfused and is originally flashed with Airoha SDK bootloader
that require signed images.

Bootloader is username/password protected and use the leaked auth combo
that can be found online.

From the bootloadet instruction on how to flash custom bootloader are:
1. mmc erase 0 0x800
2. tftpboot 192.168.1.10:airoha/an7581/openwrt-airoha-an7581-nokia_valyrian-preloader.bin
3. mmc write $loadaddr 0x4 0xfc
4. tftpboot 192.168.1.10:airoha/an7581/openwrt-airoha-an7581-nokia_valyrian-bl31-uboot.fip
5. mmc write $loadaddr 0x100 0x700

It's also possible to use the Emergency Recovery procedure:
From powered OFF device:
1. Keep the reset button pressed (middle button)
2. Power on the device
3. Notice the "Press x" prompt
4. Press x
5. Notice the "C" char waiting for XMODEM load
6. Load the preloader binary with XMODEM protocol
7. Notice the "Press x to load BL31 + U-Boot FIP"
8. Press x
9. Notice the "C" char waiting for XMODEM load
10. Load the fip binary with XMODEM protocol
11. You are now in U-Boot loaded from serial
12. Follow normal procedure to flash bootloader

Due to BOOTROM limitation. the device can't have a standard GPT table
implementation. Because of this fixed-partitions are used to handle this.

U-Boot still doesn't have support for this (it's planned) and currently to flash
and load and image it's needed to write and read from static address in eMMC.

The GPT partition table follow Prpl guidelines with dual partition table with
kernel and rootfs split.

The address for kernel is 0xb00000 and the address for rootfs is 0x1b00000.

Link: https://github.com/openwrt/openwrt/pull/21761
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agouboot-airoha: Add support for Nokia Valyrian
Christian Marangi [Thu, 5 Feb 2026 18:59:47 +0000 (19:59 +0100)] 
uboot-airoha: Add support for Nokia Valyrian

Add support for Nokia Valyrian device that implement similar spec of an
Airoha AN7581 RFB board.

Link: https://github.com/openwrt/openwrt/pull/21761
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agolinux-firmware: ath11k: add IPQ5018, IPQ8074, QCN9074 21833/head
Paweł Owoc [Thu, 22 Jan 2026 11:44:55 +0000 (12:44 +0100)] 
linux-firmware: ath11k: add IPQ5018, IPQ8074, QCN9074

Use linux-firmware repository for IPQ5018, IPQ8074 and QCN9074.
All officially released firmware versions are available there.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21833
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoodhcpd: update to Git HEAD (2026-03-16) 22454/head
Álvaro Fernández Rojas [Mon, 16 Mar 2026 18:07:36 +0000 (19:07 +0100)] 
odhcpd: update to Git HEAD (2026-03-16)

160e5fa3957c odhcpd: ensure zero padding on DNSSL
2a316dbfd798 odhcpd: ignore NULL in dhcpv4_free_lease() stub
b960d4cbe27b ubus: fix truncated field in DHCPv6 lease query
4e26e1361335 dhcpv4: fix avl_delete on leases not in avl tree
ea5af5bffa2d dhcpv4: fix segfault when disabling interface

https://github.com/openwrt/odhcpd/compare/13cec018c0d9...160e5fa3957c

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22454
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoiptables: prefer nft variants over zz-legacy 22448/head
Eric Fahlgren [Mon, 16 Mar 2026 15:26:03 +0000 (08:26 -0700)] 
iptables: prefer nft variants over zz-legacy

Set the default variant on "iptables-nft" and "ip6tables-nft" to
make them the preferred package when "iptables" is installed as
a dependency.

Link: https://github.com/openwrt/packages/issues/28815
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22448
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agowifi-scripts: fix [VHT160]/[VHT160-80PLUS80] usage 22436/head
Miika Sundström [Sun, 15 Mar 2026 16:40:42 +0000 (18:40 +0200)] 
wifi-scripts: fix [VHT160]/[VHT160-80PLUS80] usage

Don't set vht_capab [VHT160] or [VHT160-80PLUS80] when the AP is not
configured to operate in 160 MHz. Fixes an issue degrading station
upload speed.

Fixes: https://github.com/openwrt/openwrt/issues/22435
Signed-off-by: Miika Sundström <mitasun@utu.fi>
Link: https://github.com/openwrt/openwrt/pull/22436
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoramips: fix for Keenetic KN-1910 22311/head
Esat Yiğithan GÖKTOPRAK [Mon, 16 Mar 2026 17:38:00 +0000 (20:38 +0300)] 
ramips: fix for Keenetic KN-1910

Set nand flash for KN-1910

Sysupgrade or any other method i tried (asu, owut) not working without it. Tested with a local build.

Signed-off-by: Esat Yiğithan GÖKTOPRAK <eygoktoprak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22311
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoramips: mt76x8: fix bootcount init script file permissions 22446/head
Oliver Sedlbauer [Mon, 16 Mar 2026 09:27:38 +0000 (10:27 +0100)] 
ramips: mt76x8: fix bootcount init script file permissions

The bootcount init script is missing the executable bit (644 instead of 755),
causing the script to not be executable:

  /etc/preinit: line 44: /etc/init.d/bootcount: Permission denied

Fixes: c3b8108a2be4 ("ramips: Add support for Xiaomi MiWiFi 3A")
Signed-off-by: Oliver Sedlbauer <os@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/22446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agolantiq: adapt gpio-stp-xway node name to get clock 22444/head
Hauke Mehrtens [Mon, 16 Mar 2026 01:40:09 +0000 (02:40 +0100)] 
lantiq: adapt gpio-stp-xway node name to get clock

The MIPS code assigns the clock node based on the device tree node name.
This name was renamed with kernel 6.12.58 and v6.6.117. Adapt our out of
tree device tree files to this rename to fix loading the STP GPIO
driver.

Without this fix the driver fails like this:
```
[    0.320000] gpio-stp-xway 1e100bb0.stp: Failed to get clock
[    0.330000] gpio-stp-xway 1e100bb0.stp: probe with driver gpio-stp-xway failed with error -2
```

Link: https://git.kernel.org/linus/b0d04fe6a633ada2c7bc1b5ddd011cbd85961868
Fixes: https://github.com/openwrt/openwrt/issues/21697
Co-Authored-By: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22444
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agowifi: mt76: mt7915: set mt76 specific PS flag
David Bauer [Sun, 15 Mar 2026 16:47:15 +0000 (17:47 +0100)] 
wifi: mt76: mt7915: set mt76 specific PS flag

mt76 tracks the PSM state of a sta internally with a wcid flag. TX to
such clients is skipped based on the presence of this flag.

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

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

Link: https://patchwork.kernel.org/project/linux-wireless/patch/20260313112502.2026974-1-mail@david-bauer.net/
Signed-off-by: David Bauer <mail@david-bauer.net>
3 weeks agoairoha: rename kmod-pwm-an7581 to kmod-pwm-airoha 22445/head
Kenneth Kasilag [Mon, 16 Mar 2026 09:25:53 +0000 (09:25 +0000)] 
airoha: rename kmod-pwm-an7581 to kmod-pwm-airoha

Certain targets for an7581 and an7583 referred to kmod-pwm-airoha;
however in the target modules makefile the module is referred to
as kmod-pwm-an7581, causing buildbot to fail.

Change the name of kmod-pwm-an7581 to kmod-pwm-airoha to resolve this.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22445
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoapk: add help text for 'apk add --force-reinstall' 22426/head
Hannu Nyman [Sat, 14 Mar 2026 20:40:30 +0000 (22:40 +0200)] 
apk: add help text for 'apk add --force-reinstall'

Add a help text for the new --force-reinstall option, so that users
will actually find the new option.

(Also refresh patches)

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

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/22426
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoairoha: an7581: fix w1700k fan script 22391/head
Andrew LaMarche [Thu, 12 Mar 2026 13:22:03 +0000 (13:22 +0000)] 
airoha: an7581: fix w1700k fan script

W1700K fan script is missing the #!/bin/sh /etc/rc.common shebang and
requires execution bits set. Also, set the fallback to hwmon 3 instead
of 5, since the new RTL PHY driver was not merged.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22391
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoipq40xx: enable Devolo Magic 2 WiFi next 22123/head
Julius Schwartzenberg [Thu, 19 Feb 2026 18:08:59 +0000 (19:08 +0100)] 
ipq40xx: enable Devolo Magic 2 WiFi next

Note that for working G.hn support some packages need to be extracted from the Devolo firmware.

Signed-off-by: Julius Schwartzenberg <julius.schwartzenberg@eclipso.eu>
Link: https://github.com/openwrt/openwrt/pull/22123
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoramips: mt76x8: drop downstream PWM driver support 22214/head
Shiji Yang [Sat, 28 Feb 2026 11:26:47 +0000 (19:26 +0800)] 
ramips: mt76x8: drop downstream PWM driver support

Developers no longer maintain this driver. And it has been replaced
by the new upstream implementation. It's time to say goodbye.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22214
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoramips: mt76x8: add new upstream PWM driver module
Shiji Yang [Sat, 28 Feb 2026 11:26:03 +0000 (19:26 +0800)] 
ramips: mt76x8: add new upstream PWM driver module

This is the generic PWM framework driver for Mediatek SoC. Now
this module is ready for MT7628.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22214
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoramips: mt76x8: adapt to upstream PWM driver
Shiji Yang [Sat, 28 Feb 2026 11:25:29 +0000 (19:25 +0800)] 
ramips: mt76x8: adapt to upstream PWM driver

Fix register offsets and clock sources for MT7628 hardware variant.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22214
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoramips: mt76x8: add missing clocks to PWM peripheral
Shiji Yang [Sat, 28 Feb 2026 11:25:07 +0000 (19:25 +0800)] 
ramips: mt76x8: add missing clocks to PWM peripheral

The upstream MediaTek PWM driver requires these clock sources to
work properly.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22214
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agomvebu: select CPU_LITTLE_ENDIAN 22282/head
Qingfang Deng [Thu, 5 Mar 2026 07:23:42 +0000 (15:23 +0800)] 
mvebu: select CPU_LITTLE_ENDIAN

When running `make kernel_menuconfig`, CPU_BIG_ENDIAN is selected by
default, resulting in a non-bootable image. Add CPU_LITTLE_ENDIAN to
avoid that.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22282
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agojsonfilter: update to Git HEAD (2026-03-16)
Hauke Mehrtens [Sun, 15 Mar 2026 23:51:04 +0000 (00:51 +0100)] 
jsonfilter: update to Git HEAD (2026-03-16)

b17c31f8a2fd main: exit 1 on getopt() errors
e3f6a4160ba2 main: exit 1 when showing the usage
d67578d6b7f7 main: fix stdin parsing after option deferral
b9034210bd33 main: fix multiple -e/-t expressions after option deferral

Fixes: https://github.com/openwrt/openwrt/issues/22439
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoqualcommax: move EAP623 Outdoor dts to the correct folder 22433/head
Shiji Yang [Sun, 15 Mar 2026 13:05:08 +0000 (21:05 +0800)] 
qualcommax: move EAP623 Outdoor dts to the correct folder

The device dts files were moved to the dedicated directory in commit
a66e30631c87 ("qualcommax: move Device DTS to dedicated DTS directory"),
which resulted in a merge conflict.

Fixes: d755c49f7a8a ("qualcommax: ipq60xx: rename TP-Link EAP623-Outdoor HD v1 compatible")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22433
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agomac80211: broadcom: fix Makefile syntax error 22430/head
Shiji Yang [Sun, 15 Mar 2026 06:56:09 +0000 (14:56 +0800)] 
mac80211: broadcom: fix Makefile syntax error

Remove unmatched endif.

fixes: 2948dbebbfb2 ("mac80211: use OpenWrt mirror for b43 fw downloads")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22430
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: thermal: extend the driver to support rtl960x 22081/head
Rustam Adilov [Wed, 18 Feb 2026 16:33:07 +0000 (21:33 +0500)] 
realtek: thermal: extend the driver to support rtl960x

This commit adds support for RTL9607C / RTL8198D thermal controller.
Based on the Realtek SDK code.

Signed-off-by: Rustam Adilov <adilov@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/22081
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
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>
3 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>
3 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>
3 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>