Commit graph

69559 commits

Author SHA1 Message Date
Shiji Yang
f6a6f764df
toolchain: binutils: fix default version selection
Fixes: 82f26df15c ("toolchain: binutils: change default to 2.46")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23952
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 19:04:24 +02:00
Felix Fietkau
7dd4779183 wifi-scripts: fix disabled vif tracking using wrong dictionary key
wdev_update_disabled_vifs() indexed the disabled_vifs map with the wdev
object instead of the vif name. The map is read back via
disabled_vifs[vif.name], so disabled vifs were never matched, and
coercing the wdev object into a string key triggered an infinite
escaping loop in ucv_to_string_json_encoded() during state output,
causing OOM on reboot.

Suggested-by: Shayne Chen (陳軒丞) <Shayne.Chen@mediatek.com>
Reported-by: Michael-cy Lee (李峻宇) <Michael-cy.Lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-26 19:01:46 +02:00
Jonas Jelonek
55efd11f27
layerscape: drop 6.12 files
Remove kernel configs and patches for 6.12, now that layerscape target
was switched to 6.18. This was missed during the 6.12 -> 6.18 PR.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:57:52 +02:00
Pawel Dembicki
4b607bb318
ls-rcw: bump to lf-6.18.2-1.0.0
Bump ls-rcw package to lf-6.18.2-1.0.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:58 +02:00
Pawel Dembicki
5bf6f9a711
ls-mc: bump to 10.40.0
Bump ls-mc package to 10.40.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:57 +02:00
Pawel Dembicki
b3d9b17b17
ls-dpl: bump to 10.40.0
Bump ls-dpl package to 10.40.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:57 +02:00
Pawel Dembicki
865f36da49
ls-ddr-phy: bump to lf-6.18.2-1.0.0
Bump ls-ddr-phy package to lf-6.18.2-1.0.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:57 +02:00
Pawel Dembicki
9c4e0f167f
fman-ucode: bump to lf-6.18.2-1.0.0
Bump fman-ucode package to lf-6.18.2-1.0.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:56 +02:00
Pawel Dembicki
71ae5c3e51
uboot-layerscape: bump to lf-6.18.2-1.0.0
Bump uboot-layerscape package to lf-6.18.2-1.0.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:56 +02:00
Pawel Dembicki
b06e431a69
tfa-layerscape: bump to lf-6.18.2-1.0.0
Bump tfa-layerscape package to lf-6.18.2-1.0.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:56 +02:00
Pawel Dembicki
d85001291d
ppfe-firmware: bump to lf-6.18.2-1.0.0
Bump ppfe-firmware package to lf-6.18.2-1.0.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:56 +02:00
Pawel Dembicki
32b82864ba
restool: bump to lf-6.18.2-1.0.0
This commit bumps restool layerscape package to lf-6.18.2-1.0.0 version.

Patch to disable manpage build was dropped and replaced with MANPAGE=""
in MAKE_FLAGS.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:56 +02:00
Pawel Dembicki
7c3ac472d3
layerscape: switch to 6.18 kernel
Since there are no other active developers working on this target,
switch it to 6.18 for wider testing.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:55 +02:00
Pawel Dembicki
ed54cf8d05
layerscape: kernel: 6.18: refresh config
Done by `make kernel_oldconfig`.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:55 +02:00
Pawel Dembicki
21cb6585cc
layerscape: 6.18: refresh patches
Taken from 6.18 nxp tree:
701-staging-add-fsl_ppfe-driver.patch
702-phy-Add-2.5G-SGMII-interface-mode.patch

Refreshed by `make target/linux/refresh`:
302-arm64-dts-ls1012a-update-with-ppfe-support.patch

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:55 +02:00
Pawel Dembicki
9e9474fbdc
kernel/layerscape: restore files for v6.12
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:54 +02:00
Pawel Dembicki
b226f38288
kernel/layerscape: create files for v6.18 (from v6.12)
This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23290
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 18:50:54 +02:00
Markus Stockhausen
626cc6770b realtek: l3: move notifier blocks to private structure
Relocate the notification handlers into the new L3 ecosystem.

Link: https://github.com/openwrt/openwrt/pull/23937
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-26 18:06:56 +02:00
Markus Stockhausen
8c2ef13ec6 realtek: l3: add private structure
The DSA private structure provides an overwhelming mix of
information. L3 data is part of this. Provide a new separated
structure that is linked bidirectionally to the old data.
For the start it only contains a reference pointer and no L3
specific data.

Link: https://github.com/openwrt/openwrt/pull/23937
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-26 18:06:56 +02:00
Markus Stockhausen
1131037391 realtek: l3: provide probe/remove helpers
The L3 code is manually initialized and finalized in the DSA
probe/remove functions. Relocate the code into seperate helpers
that encapsule all required steps. Make no longer exposed L3
functions static.

Link: https://github.com/openwrt/openwrt/pull/23937
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-26 18:06:55 +02:00
Markus Stockhausen
b586e843de realtek: l3: separate L3 coding from DSA
DSA is layer 2 and not layer 3. Nevertheless all routing management
needs a home. Separate it into its own source file. This first
step is far from perfect but at least it guides the DSA driver into
the right direction.

No functional changes. Just relocating, renaming and proper including.

Link: https://github.com/openwrt/openwrt/pull/23937
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-26 18:06:55 +02:00
Jonas Jelonek
47aa3ec222
realtek: mdio: add polling setup support for RTL8264B
Add polling setup support for RTL8264B PHY to avoid 'skip polling'
message during boot. Rely on the default register values for polling for
now, similar to RTL8261.

Link: https://github.com/openwrt/openwrt/pull/23946
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 17:34:38 +02:00
Markus Stockhausen
e59484b39e realtek: dsa/eth: adapt receive path
Improve the DSA receive tagging. For this convert the receive path
to METADATA_HW_PORT_MUX. This way no skb data mangling is needed.
See e.g. airoha_eth.c or mtk_eth_soc.c.

Link: https://github.com/openwrt/openwrt/pull/23948
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-26 16:43:25 +02:00
Markus Stockhausen
bc910540ad realtek: dsa/eth: adapt transmit path
This is just some reordering/simplifcation of the transmit path.
Relocate the port extraction into a separate helper for a smaller
xmit function. While we are here add some documentation and
reorder the tag and its contents. As these are only arbitrary
values that help the ethernet driver to identifiy the tag this
is just cosmetic.

Link: https://github.com/openwrt/openwrt/pull/23948
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-26 16:43:25 +02:00
Markus Stockhausen
c77ac7db48 realtek: eth: fix tx_bytes calculation
When sending data packets the hardware expects data size plus 4
bytes for the layer 2 checksum (FCS). This does not count into
"bytes sent" metric. Fix that.

Link: https://github.com/openwrt/openwrt/pull/23948
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-26 16:43:25 +02:00
Markus Stockhausen
1e45d12ebd realtek: eth: rename dest_port to port
Just variable renaming. No functional change.

Link: https://github.com/openwrt/openwrt/pull/23948
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-26 16:43:25 +02:00
Jonas Jelonek
82f26df15c
toolchain: binutils: change default to 2.46
Change default to latest upstream release.

Link: https://github.com/openwrt/openwrt/pull/23907
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 14:51:16 +02:00
YaleiZang
4745f757a7
airoha: align ethernet-phy node name with reg property
Change ethernet-phy node name for alignment with reg.
This enhances the clarity and maintainability of the device-tree.

Signed-off-by: YaleiZang <yalei.zang@airoha.com>
Link: https://github.com/openwrt/openwrt/pull/23920
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 14:35:43 +02:00
YaleiZang
f7864649ce
airoha: correct node addresses for crypto and thermal-sensor
Update the @ address suffix of crypto and thermal-sensor nodes
in the device tree to match the reg properties for consistency.

Signed-off-by: YaleiZang <yalei.zang@airoha.com>
Link: https://github.com/openwrt/openwrt/pull/23920
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 14:35:42 +02:00
Jonas Jelonek
4a31f8e544
realtek: pcs: replace hardcoded page values with named fields
Replace all hardcoded page values in various calls and definitions with
the previously added defines. This should help readability, giving those
various values a name and making it easier to compare and track within
the context of what is being set.

Link: https://github.com/openwrt/openwrt/pull/23915
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 11:54:56 +02:00
Jonas Jelonek
fe5edcf985
realtek: pcs: add SerDes page definitions
To reduce having magic values all over the place in the whole driver,
add definitions for the SerDes register pages. They are equal among all
variants and can be clearly named, as already done in the debugfs output
of the realtek-otto-serdes-mdio driver. This should ease comparison,
code understanding and very likely is a step forward towards
upstream-readyness.

Also define two macros to cover the special cases for RTL931x's digital
SerDes via 0x40/0x80 page offset.

Link: https://github.com/openwrt/openwrt/pull/23915
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 11:54:55 +02:00
Lorenzo Bianconi
85e15f34ac
airoha: backport additional fixes for ethernet driver
Backport fixes for airoha_eth driver from net tree recently merged
upstream.

Refresh all affected patch.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
[ refresh patch, improve commit title/description ]
Link: https://github.com/openwrt/openwrt/pull/23934
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-06-26 00:54:40 +02:00
Fil Dunsky
e79df8aa03 mediatek: add WD-R3000N-G2A as ALT device for Bazis AX3000WM
The Bazis AX3000WM is an OEM variant of the Shenzhen Jia Yan Technology
WD-R3000N-G2A (per EAEU certificate N RU Д-CN.РА04.В.23104/26). Hardware
is identical. Added for the owners of this device so they can find it
in firmware-selector.

Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23653
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-26 00:09:24 +02:00
xiao bo
219daaa240 rockchip: backport upstream fix R76S SD suspend power loss
This patch is a full backport of Linux upstream commit a9c1acebfe0484343a443d082e039ca77186ed22
for rk3576-nanopi-r76s.dts device tree, resolving SD card power dropout in runtime suspend.

When runtime suspend is active, the SD power domain is shut down, wiping power control
registers and cutting card power. I/O recovery relies on mmc_blk_mq_rw_recovery(),
which results in poor performance and unstable card detection.

Implement GPIO-controlled vcc3v3_sd regulator and attach vmmc-supply to sdmmc node
to maintain SD power during suspend. Also add cd-gpios to guarantee working hotplug
when system enters idle/suspend state.

Modifications in DTS:
- vcc3v3_sd fixed regulator + sdmmc_pwren pinctrl
- vmmc-supply & vqmmc-supply for sdmmc bus power retention
- cd-gpios for SD card presence detection

Signed-off-by: xiao bo <peterwillcn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23924
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 23:41:13 +02:00
Jack Sun
219798083c tools/cmake: update to 4.3.4
Release notes:https://cmake.org/cmake/help/latest/release/4.3.html

No need refresh patches.

Signed-off-by: Jack Sun <sunjiazheng321521@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23938
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 23:13:25 +02:00
Mikhail Zhilkin
7edb29d241 kernel: add support for FudanMicro FM25G01B and FM25G02B spi-nand
This commit adds support for FudanMicro FM25G01B and FM25G02B SPI NAND
chips. This is required to:
1. Fix bootloop on new revision of Keenetic KN-1812 and Netcraze NC-1812
   (with FudanMicro FM25G02B SPI NAND)
2. Add Nokia XG-040G-MD support (device has either SkyHigh or FudanMicro
   SPI NAND).

Fixes: https://github.com/openwrt/openwrt/issues/23855
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23864
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 01:29:57 +02:00
Felix Fietkau
a1ab701efa mediatek: openwrt-one: make the front button usable as WPS button
It's the most common use for such a button, and the behavior can
be changed in user space if needed

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 15:52:19 +02:00
Shine
f08cd5ce5d scripts: dhcpv6: harmonize IAID between IA_NA and IA_PD requests
For DHCPv6 address requests (IA_NA), odhcp6c currently uses the first eight
digits of the i/f name's MD5 hash as IAID.

In case of DHCPv6-PD, however, odhcp6c expects the IAID to be specified
explicitly for the IA_PD(s) requested, otherwise it will start counting the
IAID from "1" up for each "-P" argument.

As OpenWrt only requests a single IA_PD per interface, make sure to pass
the identical IAID for IA_PD as is used for IA_NA, unless a custom IAID
was explicitly specified in the i/f configuration.

This prevents regressions with ISPs that expect an IA_PD request to come
from the same IAID+DUID combination as the IA_NA request.

In addition, add some validation of the "reqprefix" value, in order to
catch most cases that would otherwise result in netifd or odhcp6c
malfunction.

Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23758
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-24 13:34:32 +02:00
YAJIMA Hideyuki
a7a715e11a ramips: add support for ASUS RT-AC85U
This patch adds support for the ASUS RT-AC85U wireless router.
It is a dual-band gigabit router based on the MediaTek MT7621AT SoC.

MAC Address Layout:
- LAN/WAN/2.4G/5G MAC addresses are derived from the
  factory partition at offset 0xe000.

Hardware Specifications:
- SoC: MediaTek MT7621AT (880 MHz, 2C/4T)
- RAM: 128 MB DDR3
- Flash: 128 MB Winbond W29N01HV NAND
- WI1: MediaTek MT7615E (2.4 GHz, 4x4)
- WI2: MediaTek MT7615E (5 GHz, 4x4)
- Switch: MediaTek MT7530 (Embedded Gigabit Switch)
- Ports: 1x WAN, 4x LAN (10/100/1000 Mbps), 1x USB 3.0
- LEDs: Power, LAN, WAN, 2.4G, 5G, USB, WPS
- Buttons: WPS, Reset

Installation / Flashing guide:
1. Power off the device.
2. Hold Reset button and power on to enter ASUS Restoration mode (slow flash LED).
3. Set your computer's static IP to 192.168.1.x (e.g., 192.168.1.10).
4. Upload the OpenWrt initramfs image via ASUS Restoration tool to 192.168.1.1.
5. Wait for the device to boot into the temporary OpenWrt environment.
6. Access LuCI (192.168.1.1) and flash sysupgrade image to make it permanent.

Signed-off-by: YAJIMA Hideyuki <ursmtr@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23747
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-24 13:31:44 +02:00
Robert Senderek
1c8c05ca98 mvebu: add support for Zyxel NAS326
-----
Hardware:
CPU: ARMADA 380 1x1332Mhz
RAM: 512MB DDR3
FLASH: 256MB MX30LF2G18AC
2x SATA III
2x USB3.0
1x USB2.0
i2c to control various states.
RTC with battery
1Gbit LAN (WoL capable)
9x LED
RESET button at back
Power button at front (gpio-poweroff)
Copy button at front

-----
Doesn't work
FAN control
buzzer

-----
UART connections

Connect UART to port J3 115200
+----+----+----+----+----+
|3.3V| TX | RX |    | GND|
+----+----+----+    +----+
Depend of UART adapter board can fail to boot when adapter is attached. (all leds are dimmed) .
In that case disconnect UART for an < second and after that all leds should be white.
Stop u-boot by ctrl-c within 3s window. (bootdelay 7s or more helps)
setenv bootdelay 7
saveenv

-----
Instalation via UART

Boot initramfs-kernel.bin
setenv ethact egiga0
setenv serverip 192.168.1.11
setenv ipaddr 192.168.1.12
tftpboot 0x02000000 *initramfs-kernel.bin
bootm 0x02000000 -

Device is DHCP client by default ( as the other supported NAS)

do backup into safe space
/dev/mtd3 Kernel-1
/dev/mtd4 RootFS-1

use sysupgrade in console or via luci

-----
MAC addresses

mac stored in u-boot-env ethaddr
label mac = eth0 mac =  5c:6a:80:xx:xx:xx

-----
Setting up u-boot  dual boot

u-boot contain two banks contain two OEM copies
To boot OpenWrt from bank1
setenv next_bootfrom 1
saveenv

To boot OEM from bank2
setenv next_bootfrom 2
saveenv

-----
Configuration via i2c
install i2c-tools

Enable WoL
i2cset -y 0x0 0xa 0xa 0x0006 w

Disable WoL
i2cset -y 0x0 0xa 0xa 0x0306 w

Enable auto power on
i2cset -y 0x0 0x0a 0x0a 0x0107 w

Disable auto power on
i2cset -y 0x0 0x0a 0x0a 0x0007 w

Signed-off-by: Robert Senderek <robert.senderek@10g.pl>
Link: https://github.com/openwrt/openwrt/pull/23228
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-24 13:28:59 +02:00
Mieczyslaw Nalewaj
9635f44ead kernel: split nf-nathelper-extra into individual packages
Split kmod-nf-nathelper-extra into separate helper packages
and keep the original package as a compatibility meta-package.

This allows selecting only the required protocol helpers
instead of installing all helper modules and dependencies.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/23690
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-24 13:26:32 +02:00
Qingfang Deng
a623f81e4c kernel: move flowtable fix to backport-6.18
The patch is accepted upstream, so move it to backport-6.18 and update
its headers.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23930
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-24 12:55:00 +02:00
Felix Fietkau
e40458a2ff mt76: remove obsolete patches
Already included in the last update

Fixes: a0c5a58123 ("mt76: update to Git HEAD (2026-06-23)"
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 12:33:34 +02:00
Felix Fietkau
a0c5a58123 mt76: update to Git HEAD (2026-06-23)
012e52ae3805 wifi: mt76: use hrtimer_setup() in mt76x02u beacon init
d2b01fbc329b mt76: pass LED define via ccflags-y
9a46d8d21d2a wifi: mt76: add PS buffering support for HW-managed TIM drivers
9e613fb007f5 wifi: mt76: mt7915: handle MCU PS sync events
b0af99f238f7 wifi: mt76: mt7996: handle UNI PS sync events
34064bd58bb3 wifi: mt76: mt7925: clean up DMA on probe failure
4ab8f2122dcb wifi: mt76: disable rx napi before queue cleanup
381582f2a5de wifi: mt76: mt7996: avoid memset overwriting tx_info->control.flags
d463ed9490ab wifi: mt76: mt7921: fix resource leak in probe error path
dd1459c0c708 wifi: mt76: mt7921/mt7925: fix NULL dereference in CSA beacon
6ae6f2b58cf5 wifi: mt76: route TDLS-peer frames as 3-addr non-DS in HW encap
0753cf183d8c wifi: mt76: mt7925: don't disable AP BSS when removing TDLS peer
fe0555feb30a wifi: mt76: use kfree_rcu for offchannel link in mt76_put_vif_phy_link
97fc0e785d0e wifi: mt76: mt7921: fix uninitialized variable warning
49a0aa659f7b wifi: mt76: drop redundant device reference
a4f3781dea07 wifi: mt76x0u: drop redundant device reference
52071e885528 wifi: mt76x2u: drop redundant device reference
0aca66c123f8 wifi: mt76: mt792xu: drop redundant device reference
5c94494f1b8d dma.h: add missing variable initialization
756b1c67eb3b wifi: mt76: mt7925: add Netgear A8500 USB device ID
58331e62df80 wifi: mt76: mt7996: Fix NULL pointer dereference in mt7996_init_tx_queues()
bd493e29f7e0 wifi: mt76: mt7925: fix stale pointer comparisons in change_vif_links
3c575281716f wifi: mt76: mt7925: add 320MHz bandwidth to bss_rlm_tlv
b1f7e240c717 wifi: mt76: mt7925: handle 320MHz bandwidth in RXV and TXS
06277d860b3d wifi: mt76: mt7925: populate EHT 320MHz MCS map in sta_rec
70bfd49d255a wifi: mt76: mt7925: advertise EHT 320MHz capabilities for 6GHz band
fda04bb435fa wifi: mt76: mt7925: add MT7927 chip ID helpers
6e5802e93dfb wifi: mt76: mt7925: add MT7927 firmware paths
8175695dcd5e wifi: mt76: mt7925: use irq_map for chip-specific interrupt handling
f698c7f22569 wifi: mt76: mt7925: disable ASPM and runtime PM for MT7927
1f91523cb928 wifi: mt76: connac: replace is_mt7925() with is_connac3()
9342a017992d wifi: mt76: mt7925: use link-specific removal for non-MLD STA
3969bb117161 wifi: mt76: connac: tolerate inactive BSS deactivation
d045c72b294c wifi: mt76: mt792x: add MT7927 WFSYS reset support
b81028de36e8 wifi: mt76: mt792x: factor out common DMA queue allocation
903f8b3bfa02 wifi: mt76: mt7925: switch DMA init to common mt792x queue helpers
79e061f30b0c wifi: mt76: mt792x: add MT7927-specific PCIe DMA support
3e55b6595da9 wifi: mt76: mt7925: sync MT7927 BSS band assignment
b8e20dc9c221 wifi: mt76: mt7925: add MBMC event handling
049633e34b79 wifi: mt76: mt792x: enable CNM ops for MT7927
8a7d31ac92b0 wifi: mt76: mt7925: add MT7927 PCIe support
62956aec1615 wifi: mt76: mt7925: add MT7927 USB support
4ed651794a7f wifi: mt76: mt7925: keep TX BA state in the primary WCID
6cdcb480f32b wifi: mt76: mt7925: pass WCID explicitly to mt7925_mcu_sta_ba()
f142a55342a4 wifi: mt76: mt7925: program BA state on active links
3e54e1c80079 wifi: mt76: mt792x: skip MLD header rewrite for 802.3 encap TX
e588dc4843ab wifi: mt76: mt7925: validate skb length in testmode query
2802466a9440 wifi: mt76: mt7915: validate skb length in txpower SKU query
d8fc8629f2bc wifi: mt76: mt7996: Fix possible token leak in mt7996_tx_prepare_skb()
652740d6f12e wifi: mt76: mt7996: Fix possible NULL pointer dereference in mt7996_mac_write_txwi_80211()
f5f14a017454 Revert "wifi: mt76: disable rx napi before queue cleanup"
1e7ac9bf7764 Revert "wifi: mt76: mt7996: avoid memset overwriting tx_info->control.flags"
934f64710479 wifi: mt76: mt7996: fix reading zeroed info->control.flags after mt76_tx_status_skb_add()
1ba5cc4b4023 wifi: mt76: mt7925: drop redundant chandef.chan NULL check in MT7927 path
02934c3d0726 wifi: mt76: mt7996: remove redundant pdev->bus check in probe
2ab649809db7 wifi: mt76: add wcid publish check in mt76_sta_add
7825972b0a3c wifi: mt76: transform aspm_conf for pci_disable_link_state
c0e41eb57d96 wifi: mt76: mt7996: reduce phy work in set_coverage
e640565e0701 wifi: mt76: mt7996: limit work in set_bitrate_mask
761478b9b1a3 wifi: mt76: connac: use a helper to cache txpower_cur
1e05654e6aec wifi: mt76: connac: factor out rate power limit calculation
994443de60ba wifi: mt76: mt792x: report txpower for the requested vif link
600dbf123399 wifi: mt76: mt792x: add common USB transport reset helpers
91f19ba39348 wifi: mt76: mt7921u: escalate broken USB transport to device reset
03644ac19f9a wifi: mt76: fix argument to ieee80211_is_first_frag()
cd931f9e5fa6 wifi: mt76: mt7996: disable UNI_BSS_INFO_PROTECT_INFO for mt7996
fc890d5b3603 wifi: mt76: mt7921: refactor regulatory domain handling to regd.[ch]
1ec0abf5d9aa wifi: mt76: mt7921: refactor CLC support check flow
cd3d2a68c90c wifi: mt76: mt7921: refactor regulatory notifier flow
06d1ccbecd50 wifi: mt76: mt7921: add auto regdomain switch support
4fb4a076256f wifi: mt76: mt7921: disable auto regd changes after user set
748311faa56c wifi: mt76: mt7915: fix potential tx_retries underflow
ee2bb3337274 wifi: mt76: mt7921: fix potential tx_retries underflow
e791fb66e47c wifi: mt76: mt7925: fix potential tx_retries underflow
9f60dd01e62c wifi: mt76: mt7996: fix potential tx_retries underflow
a3bf7dac3e58 wifi: mt76: mt7921: assert sniffer on chanctx change
72d8dc857443 wifi: mt76: Drop unneeded mt76_register_debugfs_fops() return checks
f8b59ca3be7b wifi: mt76: don't pin undrainable PS stations in the tx scheduler
2dd6e4c8892f firmware: update MT7981 firmware to version 20260515

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:22:26 +02:00
Felix Fietkau
8c613a9a22 base-files: derive DHCP DUID from device MAC address
The DUID-UUID was generated from a random UUID, which is regenerated on
every fresh flash and therefore does not survive reconfiguration events
such as reflashing without keeping the configuration. RFC8415/RFC6355
prefer a DUID that remains stable across such events.

Add a ucode helper that picks the first LAN port (falling back to WAN)
from /etc/board.json, resolves its MAC address and derives a stable UUID
from it, falling back to a random UUID only when that fails.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:21:28 +02:00
John Crispin
d2f17ddd39 netifd: expose udhcpc timeout/retry/tryagain UCI options in dhcp.sh
proto/dhcp.sh hardcoded `-t 0` (infinite retries) with no way
for UCI / operator to tune per-retry interval (udhcpc -T),
retry count (udhcpc -t) or failure retry-loop wait (udhcpc -A).
Add three new proto config ints (timeout, retry, tryagain)
and thread them into the udhcpc command line. Unset options
preserve existing behaviour: retry defaults to 0, timeout and
tryagain are omitted so udhcpc uses its own RFC defaults.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:21:28 +02:00
John Crispin
c9945c203a lldpd: resolve bridge VLAN sub-interfaces to member ports
When bridge VLAN filtering is active, network_get_physdev resolves
UCI interface names to the VLAN sub-interface (e.g. br-lanv0) rather
than the bridge master. LLDP frames use reserved multicast
(01:80:c2:00:00:0e) which bridges trap to member ports, so lldpd
must listen on the physical ports to receive them.

Detect when the resolved device is a sub-interface of a bridge and
expand it to the list of bridge member ports instead.

Signed-off-by: John Crispin <john@phrozen.org>
2026-06-24 11:21:28 +02:00
Felix Fietkau
2010cfde39 procd: update to Git HEAD (2026-06-17)
9ff6e43bb75f service: notify instance exit details via ubus
4f42296dc4f0 jail: mount rootfs overlay with userxattr in user namespace
60fdbf00e924 jail: chown rootfs overlay dir to mapped root in user namespace

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:21:28 +02:00
John Crispin
3b6050fe42 wifi-scripts: make scan output fields conditional
Only print VHT/HE/EHT center frequency and channel width fields
when they are actually populated. This avoids displaying undefined
values for non-6GHz HE results where channel info is derived from
VHT/HT Operation IEs. Also fix center_chan_2 format specifier from
%s to %d.

Signed-off-by: John Crispin <john@phrozen.org>
2026-06-24 11:21:28 +02:00
John Crispin
b8175a021b netifd: dhcp: add restart command for clean lease re-acquire
Add a proto_dhcp_restart() handler that re-acquires the DHCP lease via a
single ubus call, releasing the previous lease and triggering a fresh
DHCPDISCOVER without bouncing the interface.

The re-acquire is implemented by sending SIGHUP to udhcpc, which releases
the current lease (if any) and immediately transitions the state machine
to INIT_SELECTING so the next main-loop iteration sends a fresh
DHCPDISCOVER. A single signal thus expresses 'release this lease and get
a new one' without exiting the client, so upstream watchdogs (e.g. a
DNS-health monitor) can request a clean re-lease without tearing down the
interface.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:21:28 +02:00