]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
2 months agomediatek: filogic: rename Cudy M3000 v1 to v1/v2 22423/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
(cherry picked from commit 51abd131d1acaaf7f7eb487376309ce52b814f81)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22423
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months 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
(cherry picked from commit 45b51ebaff51d2a49d149e9011717abb1b032683)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22423
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months 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
(cherry picked from commit 8ef564bcda6dcd1052ea2065601b9d7be3a49fee)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22423
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agolibubox: set abi version to previous bump for stable release 22437/head
Mario Andrés Pérez [Sun, 15 Mar 2026 16:33:14 +0000 (17:33 +0100)] 
libubox: set abi version to previous bump for stable release

In order to keep a coherent set of dependencies of the packages in the
target specific packages (nonshared) in the stable 25.12.0 release
repositories and keep ImageBuilders and ASU functional, hard code the
abi-version used in that builbot phase1 run: "20260213".
*abi compatibility has not changed between 20260213 and 20260313 anyway.

Fixes: 8aac058ef0a58f394a920e5c39ac0390363c18f9 ("libubox: update to Git HEAD (2026-03-13)")
Suggested-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22437
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months 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>
2 months agomt76: update to Git HEAD (2026-03-05)
Felix Fietkau [Thu, 5 Mar 2026 18:01:25 +0000 (18:01 +0000)] 
mt76: update to Git HEAD (2026-03-05)

1958eaf46fde firmware: update mt7992 and mt7996 firmware to the latest version
da6227dc3029 firmware: add mt7990 firmware
9f95baf93a07 wifi: mt76: mt7996: Add missing CHANCTX_STA_CSA property

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 6c7dd69ce4400c8ec8515bb65a0a9f95dbd2a8c3)

2 months agomt76: update to Git HEAD (2026-03-01)
Felix Fietkau [Sun, 1 Mar 2026 17:15:37 +0000 (17:15 +0000)] 
mt76: update to Git HEAD (2026-03-01)

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

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit ed66c2dfa304e0c1054023d2cb9f5d892a7a75c6)

2 months agomt76: update to Git HEAD (2026-01-28)
Felix Fietkau [Wed, 28 Jan 2026 11:26:26 +0000 (11:26 +0000)] 
mt76: update to Git HEAD (2026-01-28)

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

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit e338446b6b1bf5057840dd8ef0991e322e4def5a)

2 months agotools/expat: fix PKG_CPE_ID
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>
(cherry picked from commit 3c3e56afca1e2b2c3e0c091da77bc9774c788ae3)

2 months agomediatek: filogic: tplink-be450: fix RTL8261N reset timing, add missing WLAN button...
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>
(cherry picked from commit f2699cce13fdfb7fac57aad4a59bcd0c63b77014)

2 months 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>
(cherry picked from commit 2c2cea8864db209a2ed8a12421be10b27732990d)

2 months 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>
(cherry picked from commit 681eb446cfcba99965f626e27fcad1476ff9e4e3)

2 months 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>
(cherry picked from commit 5ba55feb108d07ad1287b9cead155dfa35890ca3)

2 months agorealtek: rtl838x: fix non-functional reboot 22384/head
Markus Stockhausen [Wed, 11 Mar 2026 20:02:51 +0000 (21:02 +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>
(cherry-pick from commit b995f318b24f23ec1b594eb89221b78c0e50942e)
Link: https://github.com/openwrt/openwrt/pull/22384
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months 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>
(cherry picked from commit 1d63b427ba6e88b999ffcd0c1d6fcdcce23dda57)

2 months 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>
(cherry picked from commit 8a7eb57ab8366045d7e1470c003827391e37684b)

2 months agomicrochipsw: lan969x: tactical-1000: fix SFP I2C buses
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>
(cherry picked from commit 55f1f2c1c447f87f904ccaf67747a41a355766b3)

2 months 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>
(cherry picked from commit ab0872a734dd96f898d01fef14ccd503c283460b)

2 months 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>
(cherry picked from commit 1a4ffafeefd0f29a62082c1cd68ecec88ba50249)

2 months agowifi-scripts: fix handling spaces in wifi client config
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>
(cherry picked from commit a919299993201c034ef505cec0fdc78bb968bf83)

2 months agofirewall4: prefer over firewall as dependency
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>
(cherry picked from commit 5d71d9a4be811d6bb494fa79c23f792c00f0f005)

2 months agoustream-ssl: update to Git HEAD (2026-03-01)
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>
(cherry picked from commit e558d763be2e9a302f5a0028a6c89c93cdf39c83)

2 months agoipq806x: ap3935: fix uboot nvmem
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>
(cherry picked from commit ed70a07d1535e87befa5383e21db0ce0094ce5ee)

2 months agokernel: ssb: fallback-sprom: check deferred probe
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>
(cherry picked from commit eadd81b17ec4258a8eceaaa6f54d3eb975589f54)

2 months 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>
(cherry picked from commit 04ed8c94ce928376ce980fbf51b525518953d82c)

2 months agoairoha: fix EN7581 PCIe initialization and add x2 link support 22336/head
Ryan Chen [Wed, 11 Feb 2026 04:25:01 +0000 (22:25 -0600)] 
airoha: fix EN7581 PCIe initialization and add x2 link support

Fix two hardware initialization issues in the EN7581 PCIe controller
and add support for x2 (2-lane) link mode.

Fixes:

The upstream EN7581 PCIe initialization writes EQ presets and PIPE
configuration registers before clk_bulk_prepare_enable(). Since the
MAC clocks are not yet running at that point, these register writes
are silently dropped, leaving the hardware with default values. This
can cause link training failures or suboptimal equalization.

Additionally, after link training the MAC may only advertise Gen1-Gen2
capability in the Link Capabilities 2 register despite the PHY being
configured for Gen3. A serdes reset toggle forces the MAC to re-read
PHY capability, recovering Gen3 8GT/s link speed.

Both issues are addressed by separating PERST from the clock callbacks
(patch 911), allowing the PCIe controller driver to properly sequence
PERST, clock enable, and register writes (patch 912).

New feature:

PCIe x2 mode support for EN7581 using the NP_SCU system controller
for serdes mux routing, PERST management, and lane configuration.
Both bonded MACs are configured for x2 operation with proper EQ
presets before link training begins.

Signed-off-by: Ryan Chen <rchen14b@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21978
Link: https://github.com/openwrt/openwrt/pull/22336
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoath79: tiny: increment compat version for RE355/RE450
Ivan Diaz [Tue, 3 Mar 2026 23:14:48 +0000 (18:14 -0500)] 
ath79: tiny: increment compat version for RE355/RE450

Bump compat version to 3.0 for TP-Link RE355 v1, RE450 v1 and RE450 v2.
Was missed for 25.12; users upgrading from older images need sysupgrade -F.

Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/22185
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 03fddee7bda5039757051511bbd36d2a6405c610)

2 months agoath79: add 4k blocksize for RE355/RE450 rootfs alignment
Ivan Diaz [Thu, 26 Feb 2026 13:48:52 +0000 (08:48 -0500)] 
ath79: add 4k blocksize for RE355/RE450 rootfs alignment

Misaligned rootfs_data caused config loss on sysupgrade. Set BLOCKSIZE
:= 4k for proper JFFS2 alignment. Add DEVICE_COMPAT_MESSAGE for
sysupgrade -F requirement.

Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/22185
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 831685aa1568454ae4a6594a967a1b0f225e7770)

2 months agoath79: rename tplink_rex5x-v1, deduplicate RE450-v2 config
Ivan Diaz [Thu, 26 Feb 2026 13:48:45 +0000 (08:48 -0500)] 
ath79: rename tplink_rex5x-v1, deduplicate RE450-v2 config

Rename Device/tplink_rex5x-v1 to tplink_rex5x. Make RE355 v1, RE450 v1,
and RE450 v2 inherit from it, removing duplicated fields from RE450 v2.

Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/22185
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d583294c708d1f45a03a3263707a4856688c4689)

2 months agokernel: add cake_mq fixes
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>
(cherry picked from commit 50ec0a3f976199ea27503cf7559f61c3876952f7)

2 months 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>
(cherry picked from commit 91cff1a6d35a92b8f376940c2fa45b8447aa0cdf)

2 months agoapk: bump to 3.0.5
Kuan-Yi Li [Sun, 1 Mar 2026 18:50:24 +0000 (02:50 +0800)] 
apk: bump to 3.0.5

Several OpenWrt-related fixes are included in this release.

Drop upstreamed patches and refresh the rest.

Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
Link: https://github.com/openwrt/openwrt/pull/22240
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit ed94d3eea7d46dd3979e64c7599f55b7f21ae2f4)

2 months agoppp: add memmove fortify and remove MRU patch 22318/head
Paul Donald [Thu, 5 Mar 2026 21:11:13 +0000 (22:11 +0100)] 
ppp: add memmove fortify and remove MRU patch

memcpy() with overlapping src and dest buffers is an undefined behavior
in C. In the current code, a ConfRej response is generated by copying
input data in-place, where the dest address is lower than the src.
This happens to work in practice because memcpy() forward-copies data,
matching the behavior of memmove() in this case.

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

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

Reported-by: Filippo Carletti <filippo.carletti@gmail.com>
MRU patch https://github.com/ppp-project/ppp/pull/573

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22286
(cherry picked from commit 1e9da9798ac2a617f9bdd9b11b1582a86133f9e8)
Link: https://github.com/openwrt/openwrt/pull/22318
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: bump 6.12 to 6.12.74 22314/head
John Audia [Thu, 19 Feb 2026 19:58:26 +0000 (14:58 -0500)] 
kernel: bump 6.12 to 6.12.74

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

No patches touched with this release.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22191
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3bcbbb0ac7b891b18a55238c9b8ec7a55f40324d)
Link: https://github.com/openwrt/openwrt/pull/22314
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: bump 6.12 to 6.12.73
John Audia [Mon, 16 Feb 2026 17:42:22 +0000 (12:42 -0500)] 
kernel: bump 6.12 to 6.12.73

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

No patches rebased/checksum update only.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22191
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3c1e45a39fb63bd5e2b55436f3e5fad36f2899b9)
Link: https://github.com/openwrt/openwrt/pull/22314
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: bump 6.12 to 6.12.72
John Audia [Mon, 16 Feb 2026 11:55:53 +0000 (06:55 -0500)] 
kernel: bump 6.12 to 6.12.72

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

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22191
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 129244d618e991b1a09463308b52569b30a3a438)
Link: https://github.com/openwrt/openwrt/pull/22314
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoomcproxy: update to Git HEAD (2026-03-07)
Á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

(cherry picked from commit 56bf67d47406bd7c64cdfc6a8610032afe7094cf)
Link: https://github.com/openwrt/openwrt/pull/22317
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2 months agobuild: use STAGING_DIR for special APK package versions
Jonas Gorski [Wed, 14 Jan 2026 19:19:30 +0000 (20:19 +0100)] 
build: use STAGING_DIR for special APK package versions

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

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

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

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

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

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

Fixes: 63e178f067 ("build: lock versions for special APK packages")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21803
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a4e92f0484f365565072162dad3eeaca0e38b709)

2 months agokernel: net: sfp: improve Huawei MA5671a fixup 22299/head
Álvaro Fernández Rojas [Thu, 5 Mar 2026 13:13:55 +0000 (14:13 +0100)] 
kernel: net: sfp: improve Huawei MA5671a fixup

Add pending patch for improving Huawei MA5671a SFP fixup, which allows
communicating with the module even if the fiber isn't connected.

(cherry picked from commit eb4fd65c9291bf5851b1a094bd706d2240bb1d20)
Link: https://github.com/openwrt/openwrt/pull/22283
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2 months agoipq40xx: re-enable MeshPoint.One target 22279/head
Valent Turkovic [Tue, 3 Mar 2026 21:18:52 +0000 (22:18 +0100)] 
ipq40xx: re-enable MeshPoint.One target

The MeshPoint.One was disabled during the DSA migration with the
comment "Missing DSA Setup". However, this device inherits its
entire network configuration from 8dev Jalapeno via the
Device/8dev_jalapeno-common template, and shares the same DSA
network setup in 02_network.

The Jalapeno has been working with DSA since the migration. All
MeshPoint.One board support files (DTS, network config, LED config)
are already in place and reference the same QCA8072 switch
configuration as the Jalapeno.

Hardware: Qualcomm IPQ4018, QCA8072 switch, same as 8dev Jalapeno.
Tested: Built firmware from current main branch, boots and network
functions correctly.

Signed-off-by: Valent Turkovic <valent@meshpointone.com>
Link: https://github.com/openwrt/openwrt/pull/22258
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a75cc4f18ca9ea1e9a491ffd5a386f6a6d771ea1)
Link: https://github.com/openwrt/openwrt/pull/22279
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agotreewide: linksys: use nvmem MAC for hw_mac_addr 22260/head
Rosen Penev [Thu, 19 Feb 2026 01:57:22 +0000 (17:57 -0800)] 
treewide: linksys: use nvmem MAC for hw_mac_addr

Given that Linksys is the same brand and probably use the same OEM, it
stands to reason all devinfo hw_mac_addr implementations are the same.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22092
(cherry picked from commit ee5999cf78d8ce4d0a3800b785bca445291ee30c)
Link: https://github.com/openwrt/openwrt/pull/22260
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agolantiq: add missing WAN MAC override 22288/head
Rosen Penev [Mon, 8 Dec 2025 02:11:02 +0000 (18:11 -0800)] 
lantiq: add missing WAN MAC override

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

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21081
(cherry picked from commit 02f40d63e23a67aad34aae01079352ae6f690e2c)
Link: https://github.com/openwrt/openwrt/pull/22288
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agomac80211: fix a crash triggered by CSA with AP VLAN enabled
Felix Fietkau [Thu, 5 Mar 2026 17:12:09 +0000 (17:12 +0000)] 
mac80211: fix a crash triggered by CSA with AP VLAN enabled

Fix getting the correct operating channel for stations on VLAN

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit ba3c6ff3024f934c6f32b9cb679d9f457a7a1627)

3 months agoOpenWrt v25.12.0: revert to branch defaults
Hauke Mehrtens [Tue, 3 Mar 2026 00:16:20 +0000 (01:16 +0100)] 
OpenWrt v25.12.0: revert to branch defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoOpenWrt v25.12.0: adjust config defaults v25.12.0
Hauke Mehrtens [Tue, 3 Mar 2026 00:16:17 +0000 (01:16 +0100)] 
OpenWrt v25.12.0: adjust config defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agobase-files: honoring Dave Täht with the OpenWrt 25.12 22180/head
Hauke Mehrtens [Wed, 25 Feb 2026 23:02:11 +0000 (00:02 +0100)] 
base-files: honoring Dave Täht with the OpenWrt 25.12

Dave Täht sadly passed away on April 1, 2025. With the OpenWrt 25.12
release, we honor his life and his remarkable contributions.

Dave played a key role in reducing bufferbloat and improving network
latency in OpenWrt and across the wider internet. His work made networks
faster, more responsive, and more reliable for millions of users.

This release is dedicated to his memory and lasting impact on the
networking community.

Dave's Wikipedia article: https://en.wikipedia.org/wiki/Dave_T%C3%A4ht

Link: https://github.com/openwrt/openwrt/pull/22180
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoRevert "imx: cortexa53: remove KSZ9477 static driver"
Robert Marko [Mon, 2 Mar 2026 17:05:45 +0000 (18:05 +0100)] 
Revert "imx: cortexa53: remove KSZ9477 static driver"

This reverts commit 231553b280925f1c1154c9a7c8549c4cbbea7c9e.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4bfa5e2c09311d9aabab18d0d35a1446641be3cb)

3 months agoRevert "kernel: netdevices: add KSZ9477 DSA switch packages"
Robert Marko [Mon, 2 Mar 2026 17:05:55 +0000 (18:05 +0100)] 
Revert "kernel: netdevices: add KSZ9477 DSA switch packages"

This reverts commit c053b225731e81826b5b8acb144ac68f4ae14d30.

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

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

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b897db9c44f05ecb71768a6fa59dd091296f4251)

3 months agolibunistring: update to 1.4.2 22226/head
Ivan Pavlov [Sun, 1 Mar 2026 05:52:57 +0000 (08:52 +0300)] 
libunistring: update to 1.4.2

sync with gnulib, fixes compilation with gcc15

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22225
(cherry picked from commit fce39a8d7fa59556af276223ba21ad5c661fda51)
Link: https://github.com/openwrt/openwrt/pull/22226
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoprocd: update to git HEAD
Nora Schiffer [Fri, 27 Feb 2026 19:19:16 +0000 (20:19 +0100)] 
procd: update to git HEAD

2881a59f3043 rcS: allow overriding init.d/rc.d paths
4e4a34b1a833 rcS, ubus: constify char * arguments and variables where appropriate

Link: https://github.com/openwrt/openwrt/pull/22204
Signed-off-by: Nora Schiffer <neocturne@universe-factory.net>
(cherry picked from commit 67fe34932efc71a20f439ab99f88c53eaa639c0f)

3 months agoimx: cortexa53: update supported devices
Tim Harvey [Fri, 27 Feb 2026 18:31:19 +0000 (10:31 -0800)] 
imx: cortexa53: update supported devices

Add some additional Gateworks Venice boards to sysupgrade support.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22202
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a9f4daa3febdcd7975316b2d113efb7a8928980b)

3 months agotoolchain: binutils: fix update to 2.45.1
Hauke Mehrtens [Sat, 28 Feb 2026 19:43:11 +0000 (20:43 +0100)] 
toolchain: binutils: fix update to 2.45.1

Rename the patches folder too and also adapt the name in the toolchain menu.
Without changing the patches folder name the patches are not applied.

Fixes: adad973a9c34 ("toolchain: binutils: update to 2.45.1")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 525a1e94b34362369dc9b9ad03193dd74da203cf)

3 months agorealtek: pcs: revive dead ports after RTL8382M start 22087/head
Markus Stockhausen [Wed, 11 Feb 2026 15:20:32 +0000 (16:20 +0100)] 
realtek: pcs: revive dead ports after RTL8382M start

SerDes attached ports that are connected during switch
boot might not be able to transmit any data after SerDes
setup. Especially ports that passed traffic before (e.g.
for tftp initramfs boot) seem to be affected. Ports that
are connected later do not show this issue.

It turns out that the old SerDes setup never really worked
on RTL8382 and the pcs refactoring (with dynamic SerDes
start and stop) totally changed the order of network bringup
in contrast to Realtek SDK.

Fix this by restaring the switch queue whenever a SerDes
goes up for the first time.

Fixes: e956adf ("realtek: rtl838x: setup SDS in PCS driver")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21956
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 0839c5c9f21d6d0fe5c8c1a764371a5b1a3637ff)
Manually resolved merge conflicts.
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22087
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: central unlock for RTL838x write protection
Markus Stockhausen [Tue, 10 Feb 2026 07:40:49 +0000 (08:40 +0100)] 
realtek: central unlock for RTL838x write protection

The write protection register (0x1b000058) is opened up in prom init
but closed later in rtl838x_pie_init(). From that moment no more
special register writes are possible.

Only unlock the write protection register once during prom init.
Remove all other references. The error has been active since ages
but was not visible until pcs refactoring. For reference blame the
refactoring commit.

Fixes: e956adf ("realtek: rtl838x: setup SDS entirely in PCS driver")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21956
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8bf37836d62f001562c78238f41f4d05a31d606a)
Manually resolved merge conflicts of prom.c
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22087
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: pcs: fix PLL_CML_CTRL for serdes 0/1
Markus Stockhausen [Mon, 9 Feb 2026 19:26:07 +0000 (20:26 +0100)] 
realtek: pcs: fix PLL_CML_CTRL for serdes 0/1

Setup of register PLL_CML_CTRL has two issues.

- It clears out bits 4-31 due to a wrong mask
- Setup of bits 0-3 is not generic but depends on the mode of
  serdes 0/1

Fix that by relocating the code and adapting the mask. The error
exists for longer but it has survived the pcs refactoring. Thus
blame the corresponding refactoring commit.

Fixes: b670d48 ("realtek: pcs: rtl838x: refactor imported code")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21956
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit fdc37760684e784d7c305796c7fba4a9ef891f1c)
Link: https://github.com/openwrt/openwrt/pull/22087
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agobcm53xx: fix switch standalone ports (like "wan")
Rafał Miłecki [Fri, 27 Feb 2026 19:40:20 +0000 (20:40 +0100)] 
bcm53xx: fix switch standalone ports (like "wan")

Fixes: https://github.com/openwrt/openwrt/issues/21187
Fixes: https://github.com/openwrt/openwrt/issues/21349
Fixes: 499a59c234f4 ("kernel: bump 6.12 to 6.12.30")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 73bfb342841c5941b4a63d3190ee70e25cd79cb2)

3 months agolantiq: dm200: Fix loading PHY firmware
Hauke Mehrtens [Thu, 26 Feb 2026 19:49:17 +0000 (20:49 +0100)] 
lantiq: dm200: Fix loading PHY firmware

The device has 1 100MBit/s port. By default the PHY firmware is running
in 1GBit/s mode. The driver will try to load the 1GBit/s firmware and
fail if it is not there. Set the GPHY0 also to 100MBit/s mode.

The driver uses all nodes independent of the status attribute.

Do the same fix for AVM FRITZ!Box 7412 too.

Reported-by: Achelon in OpenWrt forum
Fixes: https://github.com/openwrt/openwrt/issues/21836
Link: https://github.com/openwrt/openwrt/pull/22188
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 296b286a673d2b152f84613d4a1ec4c3cb1b8f4e)

3 months agomt7620: workaround jal imm26 and redundant PAGE_ALIGN
Mieczyslaw Nalewaj [Tue, 28 Oct 2025 23:23:02 +0000 (00:23 +0100)] 
mt7620: workaround jal imm26 and redundant PAGE_ALIGN

On MT7620-class platforms (CONFIG_NET_RALINK_MT7620) we observe sporadic
wrong-jump-targets, kernel oopses, hanging, corrupted backtraces or even
"half-written" instructions when the compiler emits a direct 'jal imm26'
call.
This is triggered in:
  - the small random helpers inside get_random_u32_below(), and
  - the blkcg_maybe_throttle_current() call in resume_user_mode_work().

This patch forces those two call sites to use an indirect call via
a volatile function pointer (load into register + jalr) when building
for MT7620, avoiding embedding a 26-bit immediate jump target.

Additionally, on MT7620 builds the exec path in fs/exec.c is modified:
  - skip arch_align_stack() + PAGE_ALIGN() in setup_arg_pages()
    because the micro-randomization (< PAGE_SIZE) implemented by many
    ports (including MT7620) is negated immediately by PAGE_ALIGN().
    Skipping the redundant PAGE_ALIGN() reduces exposure to the
    problematic code pattern.

These changes are targeted workarounds for MT7620; behavioral logic is unchanged.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/20553
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 22ccb445e611018ede702e6c0798640353632cce)

3 months agoRevert "lantiq: arv7525pw: use nvmem for eeprom"
Rosen Penev [Thu, 26 Feb 2026 04:02:34 +0000 (20:02 -0800)] 
Revert "lantiq: arv7525pw: use nvmem for eeprom"

This reverts commit 9dbd45c18702cdd55fcfb0f71dc505afa1ff64d6.

Compared to ralink,mtd-eeprom , the nvmewm binding ends up byteswapping
the data on big endian hosts. Meaning on big endian, the nvmwem binding
is equivalent to:

ralink,mtd-eeprom +
ralink,eeprom-wrap

Revert as a result since there's no eeprom-swap here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22192
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d4845bf618d978c70ee3825ed5a948087e24620d)

3 months agoimx: cortexa53: enable DMA contiguous memory allocator
Tim Harvey [Mon, 9 Feb 2026 17:30:10 +0000 (09:30 -0800)] 
imx: cortexa53: enable DMA contiguous memory allocator

Enable and configure DMA contiguous memory allocator. Without this
CMA itself will be disabled.

Fixes: ae8bf1a26e15 ("imx: add imx8m support")
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/21950
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit eef354ff348ab2c1ec9db753ba192682d61ad313)

3 months agomac80211: activate BRCMFMAC_SDIO on x86
Hauke Mehrtens [Wed, 25 Feb 2026 00:26:02 +0000 (01:26 +0100)] 
mac80211: activate BRCMFMAC_SDIO on x86

Activate the option BRCMFMAC_SDIO by default on x86 too. x86 already
compiles MMC support into the kernel. This will just compile brcmfmac
with MMC support.

Fixes: https://github.com/openwrt/openwrt/issues/22155
Link: https://github.com/openwrt/openwrt/pull/22171
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit efcd70cb196e6e460b2dda1b427b232ff4756bef)

3 months agowifi-scripts: fix handling of 64 character WPA key
Hauke Mehrtens [Wed, 25 Feb 2026 23:41:11 +0000 (00:41 +0100)] 
wifi-scripts: fix handling of 64 character WPA key

The key variable is not defined in the scope when setting wpa_psk. Use
config.key instead.
This fixes configuration the 64 characters wpa_psk directly.

Reported-by: donjoe in OpenWrt Forum
Link: https://github.com/openwrt/openwrt/pull/22182
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 69daeebc9a4f688d672ea1fef315a287730cd8a8)

3 months agoramips: mt7621: fix network configuration
Hauke Mehrtens [Wed, 25 Feb 2026 21:42:56 +0000 (22:42 +0100)] 
ramips: mt7621: fix network configuration

The configuration for the dlink,dir-1360-a1 also changed the settings
for the devices defined on top of it. "lan1 lan2 lan3 lan4" "wan" is
the default configuration, no need to add it here.

Fixes: 7a8e2efed587 ("ramips: add support for D-Link DIR-1360 A1")
Reported-by: schmars in IRC
Link: https://github.com/openwrt/openwrt/pull/22179
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 758c8a26e964e33315cd585f055fbfdbdbd6756e)

3 months agoprocd: update to git HEAD
Daniel Golle [Tue, 17 Feb 2026 15:26:18 +0000 (15:26 +0000)] 
procd: update to git HEAD

 180ffcc instance: use mkdir_p helper
 9493a3d signal: handle SIGUSR1 as halt
 4dd22d0 cgroups: fix syntax error

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit e95cfd2ad75558be21d01838f816a65c5c016ce5)

3 months agoprocd: update to git HEAD
Daniel Golle [Mon, 9 Feb 2026 11:47:39 +0000 (11:47 +0000)] 
procd: update to git HEAD

 7e5b324 instance: check length of names when creating cgroups
 014f94c procd: jail/cgroups: fix OOB write in cgroups_apply()
 e08cdc8 hotplug-dispatch: fix filter disallowing setting PATH
 afa4391 service instance: Improve handling of watchdog config changes
 52c64d2 service instance: Fix overwriting of watchdog linked list members
 96c827f coldplug: fix missing header include
 6b10c71 hotplug-dispatch: fix missing header include
 58d7aaa initd/coldplug: create /dev/null before running udevtrigger
 64f97ff hotplug-dispatch: redirect output to /dev/null
 c4e9859 hotplug-dispatch: use stat if d_type is DT_UNKNOWN
 bafdfff system: fix arguments validation in ubus handler

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 361885b1331860f683eb4beeeae1bcac1e05dd40)

3 months agoramips: mt7621: enable kmod-usb3 for Mikrotik RBM33G
Chester A. Unal [Mon, 5 Jan 2026 12:54:42 +0000 (14:54 +0200)] 
ramips: mt7621: enable kmod-usb3 for Mikrotik RBM33G

Mikrotik RBM33G has got a USB-A port and mPCIe slots with USB 3.0 and USB
2.0 interfaces in use. The MediaTek MT7621 SoC has got an xHCI to provide
these interfaces. Therefore, enable kmod-usb3 to support them.

Fixes: 5684d087418d ("ramips: Add support for Mikrotik RouterBOARD RBM33g")
Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
(cherry picked from commit 61c9337d80318a49a5bcee586435b513fbdeacf7)

3 months agonetifd: update to Git openwrt-25.12 (2026-02-26)
Felix Fietkau [Thu, 26 Feb 2026 12:10:02 +0000 (12:10 +0000)] 
netifd: update to Git openwrt-25.12 (2026-02-26)

51fa9ed6d4d6 interface-ip: fix fortify build error
cbb83a185740 bridge: skip present toggle in bridge_free_member() when device is active

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 months agoRevert "package: kernel: dtc: Add DTO support"
Daniel Golle [Fri, 20 Feb 2026 14:49:02 +0000 (14:49 +0000)] 
Revert "package: kernel: dtc: Add DTO support"

It looks like commit 6d2f3b1b19 ("package: kernel: dtc: Add DTO support")
added this patch file 9 years ago without it ever being applied anywhere.
Back then there wasn't even a 'dtc' package, but we just used 'dtc' from
the Linux kernel sources.
Nowadays there is package/utils/dtc which is used to build dtc to be used
on the target (*not* a host-build!), and it of course already contains
support for device tree overlays since v1.4.3 from 2017...

This reverts commit 6d2f3b1b1974d742576b0902e9c4777c9ac1ba67.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://github.com/openwrt/openwrt/pull/22118
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c69beade6025be79a59e78a404f91e036bff4b7e)

3 months agorealtek: hog the GS1900-24E external IC reset line
Sander Vanheule [Sat, 21 Feb 2026 14:00:39 +0000 (15:00 +0100)] 
realtek: hog the GS1900-24E external IC reset line

The GPIO line connecting to the reset signals of the GS1900-24E(A1)'s
external ICs (RTL8218B phys and RTL8231 expander) cannot be asserted by
the MDIO subsystem, as the reset is shared between busses.

To prevent users from accidentally asserting the reset line, a GPIO hog
is created to permanently de-assert the signal, reliably keeping the
phys and GPIO expanders on.

Tested-by: Simon Fischer <simi.fischa@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit ba57225066243b28d2802ea5c47313c97767150e)

3 months agorealtek: rtl838x: drop GS1900 MDIO reset GPIO
Sander Vanheule [Sat, 21 Feb 2026 13:44:23 +0000 (14:44 +0100)] 
realtek: rtl838x: drop GS1900 MDIO reset GPIO

The reset line wired to the RTL8231 on the GS1900 series may also
connect to other external ICs on the board. On the GS1900-24E, the
reset line is wired (via buffers) to the board's RTL8231 expanders and
the RTL8218 phys. As these external devices (phys) are on different
busses, the reset line shouldn't be specified on one bus or the other.

Drop the reset specification from the generic GPIO description, so it
can be added back on a per-device basis after confirming the behavior.

Link: https://github.com/openwrt/openwrt/issues/18620
Fixes: fd978c2e80b4 ("realtek: Enable Zyxel GS1900's RTL8231 reset line")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit cdbd9eb448a8fa802cbc2b2f8a1dec93b3999a3b)

3 months agoimx: cortexa53: remove KSZ9477 static driver
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
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 231553b280925f1c1154c9a7c8549c4cbbea7c9e)

3 months agokernel: netdevices: add KSZ9477 DSA switch packages
Tim Harvey [Fri, 20 Feb 2026 00:57:29 +0000 (16:57 -0800)] 
kernel: netdevices: add KSZ9477 DSA switch packages

This adds kernel packages for the Microchip KSZ9477 switch family.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22120
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c053b225731e81826b5b8acb144ac68f4ae14d30)

3 months agowireless-regdb: update to version 2026.02.04
Hauke Mehrtens [Sun, 22 Feb 2026 22:11:47 +0000 (23:11 +0100)] 
wireless-regdb: update to version 2026.02.04

75bedc5 wireless-regdb: Update regulatory info for Australia (AU) for 2025
a6e5195 wireless-regdb: Update broken link in regulatory.bin(5) manpage
9e8c67f wireless-regdb: Update regulatory info for Malaysia (MY) for 2024
61a4637 wireless-regdb: Update regulatory info for Malaysia (MY) for 2025
5cefe55 wireless-regdb: Update regulatory info for Tunisia (TN) on 6GHz for 2025
1a729ae wireless-regdb: Update regulatory info for Canada (CA) for 2025
ea20dfa wireless-regdb: update regulatory database based on preceding changes

Link: https://github.com/openwrt/openwrt/pull/22150
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7c5e329b541066613c09aafd89f7bb6cd8b3bc67)

3 months agoiproute2: include upstream patch for musl libc
Jonas Lochmann [Mon, 16 Feb 2026 00:00:00 +0000 (01:00 +0100)] 
iproute2: include upstream patch for musl libc

Due to a missing include, the constant UINT_MAX is undefined. This
fixes issues when building v25.12.0-rc5. Including a newer version of
iproute2 would include the patch, but causes other building issues.

Signed-off-by: Jonas Lochmann <openwrt@jonaslochmann.de>
Link: https://github.com/openwrt/openwrt/pull/22128
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5f063d18bdc368cb3eede54b01557f000b3df3b6)

3 months agokernel: net: fix deadlock caused by phy led trigger
Shiji Yang [Sun, 22 Feb 2026 02:52:20 +0000 (10:52 +0800)] 
kernel: net: fix deadlock caused by phy led trigger

Register phy led_triggers earlier to avoid AB-BA deadlock.

Fixes: https://github.com/openwrt/openwrt/issues/18472
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22136
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 0bfcb0a36c9dbfc8b7a8ab8ade100cad4d7628b4)

3 months agomediatek: TP-Link EAP683-UR support
Stijn Tintel [Sat, 1 Mar 2025 17:07:30 +0000 (19:07 +0200)] 
mediatek: TP-Link EAP683-UR support

The TP-Link EAP683-UR is identical to the EAP683-LR. Add it as ALT0
variant.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 708dcca80a0b19aacd32e2bd4530b88461f87581)

3 months agomediatek: TP-Link EAP683-LR support
Stijn Tintel [Fri, 5 Apr 2024 22:45:25 +0000 (01:45 +0300)] 
mediatek: TP-Link EAP683-LR support

Add support for the TP-Link EAP683-LR, an AX6000 Ceiling Mount WiFi 6
AP.

Hardware:
* SoC: MediaTek MT7896AV
* RAM: 1GiB DDR4 (Samsung K4A8G165WC-BCTD)
* Flash: 128MiB SPI-NAND (ESMT F50L1G41LB)
* Ethernet: 1x 10/100/1000/2500 Mbps PoE-PD (MaxLinear GPY211C)
* WiFi: MT7976AN/MT7976GN 2.4/5GHz 4T4R
* LEDS: 3x blue connected to a single GPIO line
* Buttons: 1x reset
* BLE/Thread/Zigbee: CC2652

Stock firmware uses a random MAC address for ethernet, label MAC for
2.4 and label MAC + for 5GHz.

Installation via bootloader:
* Solder JST??? connector on J255, alternatively solder wires on the
  TP13-TP15 pads. Pinout: TP13: TX, TP14: RX, TP15: GND, TP16: VCC.
  The pins for J255 are in the same order.
* Interrupt boot process by repeatedly pressing Ctrl+b during boot
* In the boot menu, select U-Boot console
* Ensure the U-Boot environment variable "tp_boot_idx" is not set:
  # setenv tp_boot_idx
  # saveenv
* Boot the OpenWrt initramfs:
  # tftpboot openwrt-mediatek-filogic-tplink_eap683-lr-initramfs-kernel.bin
  # bootm
* copy openwrt-mediatek-filogic-tplink_eap683-lr-squashfs-sysupgrade.bin
  to /tmp and install it using sysupgrade

Flashing via OEM firmware is currently not supported. The
tplink-safeloader utility does not recognize the OEM firmware:

  DEBUG: can not find fwuphdr
  Firmware image partitions:
  base     size     name
  Segmentation fault (core dumped)

To revert to the OEM firmware, you can set the U-Boot environment
variable "tp_boot_idx" to 1 via bootloader, or using fw_setenv via
OpenWrt. This should result in booting from the ubi1 partition, which
OpenWrt should not touch. Then use the web interface to upgrade
firmware: System > Firmware Update.

The OEM firmware uses 0x800000 for the runtime_backup partition size.
This causes the following warning:

  mtd: partition "runtime_backup" extends beyond the end of device "nmbm_spim_nand" -- size truncated to 0x600000

This is due to the NMBM reserved blocks. Use 0x600000 in our DTS.

Thanks to init Lab's user890104, who soldered jumper wires on the TTL
pads for me so I could have serial console. My soldering skills just
aren't good enough to pull that off without risk damaging things.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit f1749142ca59c3877ce70b7c97475f4416cf74a8)

3 months agoRevert "bmips: huawei-hg556a-c: use nvmem for wifi eeprom"
Rosen Penev [Thu, 19 Feb 2026 01:25:38 +0000 (17:25 -0800)] 
Revert "bmips: huawei-hg556a-c: use nvmem for wifi eeprom"

This reverts commit 72f43ac220616fbd2f9658b9b60a861e8565a998.

The NVMEM codepath does not perform automatic byte conversion. It can be
fixed but the upstream version is quite different from the local
mac80211 patch. Revert until mac80211 gets updated and the whole mess
can get squared away.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22091
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b270580deabb40fa7af702d35d32b1f9f80fd007)

3 months agoramips: remove obsolete SPI flash nodes after kernel fix
Mieczyslaw Nalewaj [Sun, 15 Feb 2026 10:50:05 +0000 (11:50 +0100)] 
ramips: remove obsolete SPI flash nodes after kernel fix

Remove incomplete SPI flash definitions from affected device tree files.
These fragments only defined address-cells and size-cells without any
actual flash configuration (partitions, compatible string, etc.).

After applying openwrt/openwrt#20942 ("kernel: of: fix bad cell count error
for SPI flash node"), the kernel properly handles SPI flash nodes without
requiring these incomplete definitions in device-specific DTS files.

This cleanup eliminates unnecessary code that was likely a workaround for
the previous kernel issue.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22036
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 313d56366448d8c2ca12daba7725fdd848057d98)

3 months agouclient: update to Git HEAD (2026-02-20)
Felix Fietkau [Fri, 20 Feb 2026 09:07:56 +0000 (09:07 +0000)] 
uclient: update to Git HEAD (2026-02-20)

7a0aa2e4afb4 uclient-http: fix data_eof for body-less responses

Fixes: https://github.com/openwrt/openwrt/issues/22103
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 months agohostapd: fix dealing with required interface restart in AP+STA mode
Felix Fietkau [Sun, 1 Feb 2026 19:17:27 +0000 (19:17 +0000)] 
hostapd: fix dealing with required interface restart in AP+STA mode

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

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit b7cd16dba3259279643705a6bbed21abe1330586)

3 months agohostapd: fix EAP-PWD in experimental hostapd-radius server
Yaroslav Isakov [Sat, 14 Feb 2026 18:35:06 +0000 (19:35 +0100)] 
hostapd: fix EAP-PWD in experimental hostapd-radius server

Without initializing pwd_group, it's set to 0, which is reserved value.
When EAP-PWD is used in wpa_supplicant/eapol_test, next error is seen:
EAP-PWD: Server EAP-pwd-ID proposal: group=0 random=1 prf=1 prep=0
EAP-pwd: Unsupported or disabled proposal

Signed-off-by: Yaroslav Isakov <yaroslav.isakov@gmail.com>
(cherry picked from commit 9d78b2f53c48ddbc2f978e3365af183c69a33c84)

3 months agohostapd: initialize first BSS radio_mask during driver init
Chad Monroe [Fri, 6 Feb 2026 17:21:44 +0000 (09:21 -0800)] 
hostapd: initialize first BSS radio_mask during driver init

Secondary BSSes inherit the alloc value which bypasses
NL80211_ATTR_VIF_RADIO_MASK in nl80211_create_iface() and causes the
kernel to default new interfaces to all radios.

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

Signed-off-by: Chad Monroe <chad@monroe.io>
(cherry picked from commit 50d3d287e4cfafd5e0cf727d55472df7bd0e1c0c)

3 months agoOpenWrt v25.12.0-rc5: revert to branch defaults
Hauke Mehrtens [Thu, 19 Feb 2026 01:16:14 +0000 (02:16 +0100)] 
OpenWrt v25.12.0-rc5: revert to branch defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoOpenWrt v25.12.0-rc5: adjust config defaults v25.12.0-rc5
Hauke Mehrtens [Thu, 19 Feb 2026 01:16:11 +0000 (02:16 +0100)] 
OpenWrt v25.12.0-rc5: adjust config defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoucode-mod-bpf: add CPPFLAGS
Hauke Mehrtens [Tue, 17 Feb 2026 21:23:27 +0000 (22:23 +0100)] 
ucode-mod-bpf: add CPPFLAGS

Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c3f2a09a25b17d16f9c38dc49cc3a4b424d1e1d6)

3 months agoebtables: add CPPFLAGS
Hauke Mehrtens [Tue, 17 Feb 2026 21:22:44 +0000 (22:22 +0100)] 
ebtables: add CPPFLAGS

Add the OpenWrt CPPFLAGS to the CFLAGS. ebtables does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 77d896725f0678a7824c8a3ee46b6401df34000c)

3 months agoarptables: add CPPFLAGS
Hauke Mehrtens [Tue, 17 Feb 2026 21:22:07 +0000 (22:22 +0100)] 
arptables: add CPPFLAGS

Add the OpenWrt CPPFLAGS to the CFLAGS. arptables does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 33b2c6f955fb2a088f582f84871b05fc9db5e11c)

3 months agoiwinfo: add CPPFLAGS
Hauke Mehrtens [Tue, 17 Feb 2026 00:19:50 +0000 (01:19 +0100)] 
iwinfo: add CPPFLAGS

Add the OpenWrt CPPFLAGS to the FLAGS. iwinfo does not support CPPFLAGS.
This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 379d5b8bc4dc6930cbb93e5e3d542fc3386c1eec)

3 months agozyxel-bootconfig: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 23:55:47 +0000 (00:55 +0100)] 
zyxel-bootconfig: add CPPFLAGS

Add the OpenWrt CPPFLAGS to the CFLAGS. zyxel-bootconfig does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b8ea5004f4cd3cbc48cb427914a9e46920a68518)

3 months agoravpower-mcu: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 23:55:27 +0000 (00:55 +0100)] 
ravpower-mcu: add CPPFLAGS

Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ddb1c1ab330cb88ca9c58ba6c33d55e6dc70f240)

3 months agowireless-tools: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 23:55:11 +0000 (00:55 +0100)] 
wireless-tools: add CPPFLAGS

Add the OpenWrt CPPFLAGS to the CFLAGS. wireless-tools does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d69b2830681fdaeb2b19b28231e9171684ead6d1)

3 months agoresolveip: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 23:53:31 +0000 (00:53 +0100)] 
resolveip: add CPPFLAGS

Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0f1c1c581f67b22b538fc2dfe3387bc7b3f5bbc3)

3 months agoiwcap: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 23:53:21 +0000 (00:53 +0100)] 
iwcap: add CPPFLAGS

Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit bfd57eab3dbfbdedc7a5d94b92f3a7a37a2f6fd9)

3 months agolibcap: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 23:28:23 +0000 (00:28 +0100)] 
libcap: add CPPFLAGS

Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Allow to extend the CPPFLAGS and not only overwrite.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 53e6935960b807000f90bd2220a7182c366b2af8)

3 months agobzip2: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 00:48:09 +0000 (01:48 +0100)] 
bzip2: add CPPFLAGS

Add the OpenWrt CPPFLAGS to the CFLAGS. bzip2 does not support CPPFLAGS.
This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit cd1fda5c8b068f98d38cdbed4342e0608653b2e8)

3 months ago6rd: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 00:47:50 +0000 (01:47 +0100)] 
6rd: add CPPFLAGS

Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b497c3f68f294df5111715a1465a204c12e38f05)

3 months ago464xlat: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 00:47:01 +0000 (01:47 +0100)] 
464xlat: add CPPFLAGS

Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2ca7c2b84669a885c6fe46a30657b1453abef123)

3 months agogdb: add CPPFLAGS
Hauke Mehrtens [Tue, 17 Feb 2026 00:19:25 +0000 (01:19 +0100)] 
gdb: add CPPFLAGS

Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 39e5f11631ddce63f46f8ddf338770fe0556990a)

3 months agobinutils: add CPPFLAGS
Hauke Mehrtens [Mon, 16 Feb 2026 23:26:30 +0000 (00:26 +0100)] 
binutils: add CPPFLAGS

Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 35939e4db93975c54ec002e6820f889906e6fcac)