Milan Krstic [Mon, 26 Jan 2026 19:32:54 +0000 (19:32 +0000)]
qualcommax: ipq807x: fix sysupgrade for TCL LINKHUB HH500V
Fix missing reference to bootconfig.sh that was breaking root partition
swap.
Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21721
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Álvaro Fernández Rojas [Sun, 25 Jan 2026 18:44:22 +0000 (19:44 +0100)]
odhcp6c: update to Git HEAD (2026-01-25)
ee2949e3a70a dhcpv6: add config for strict RFC7550
abf6677391f0 dhcpv6: replace hash_ifname() with MD5 implementation
https://github.com/openwrt/odhcp6c/compare/
8abb45065f5e...
24485bb4b35a
Link: https://github.com/openwrt/openwrt/pull/21705
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Felix Fietkau [Mon, 26 Jan 2026 17:46:04 +0000 (17:46 +0000)]
tcpdump: add PROVIDES=tcpdump to tcpdump-tiny
Improves handling of dependencies on tcpdump
Signed-off-by: Felix Fietkau <nbd@nbd.name>
John Crispin [Mon, 4 Aug 2025 05:37:47 +0000 (07:37 +0200)]
hostapd: add raw beacon report data to ubus notification
Add the complete base64-encoded beacon report structure to the
"beacon-report" ubus notification event.
Signed-off-by: John Crispin <john@phrozen.org>
John Crispin [Tue, 29 Jul 2025 12:20:19 +0000 (14:20 +0200)]
hostapd: add association frame to taxonomy data
Extend the taxonomy subsystem to capture the complete association frame
in addition to the existing probe and association IE data.
This adds a new assoc_frame_taxonomy field to struct sta_info and exposes
it via the get_sta_ies ubus method as a base64-encoded "assoc_frame" field.
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
John Crispin [Tue, 29 Jul 2025 12:04:16 +0000 (14:04 +0200)]
hostapd: add reporting detail support to RRM beacon request
Extend the hostapd_rrm_beacon_req ubus method to support the optional
reporting_detail parameter as defined in IEEE 802.11-2016 section 9.4.2.21.7.
Also fix missing assignment operators (=) in the beacon_req_policy array
initialisation.
Signed-off-by: John Crispin <john@phrozen.org>
Felix Fietkau [Thu, 22 Jan 2026 11:58:24 +0000 (11:58 +0000)]
hostapd: fix beacon_req_policy syntax issues
Use the correct syntax for array element assignment
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Peter Meiser [Sun, 10 Aug 2025 08:05:32 +0000 (10:05 +0200)]
netifd: add loglevel config option (fixes #18001)
Add netifd_loglevel to /etc/config/network:
config globals 'globals'
option netifd_loglevel '1'
The netifd's default value is 2.
Signed-off-by: Peter Meiser <peter.meiser@gmx.com>
Link: https://github.com/openwrt/openwrt/pull/19737
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 25 Jan 2026 18:07:32 +0000 (19:07 +0100)]
realtek: dsa: rtl839x: fix uninitialized global access
Setup for DSA QOS on RTL839x accesses unitialized memory. For some
reason the handover of the priv structure was realized via global
intermediate variable switch_priv. During refactoring for
adbb9a6
("realtek: dsa: rtl83xx: fix init section mismatch") this was not
noticed. Since then RTL839x devices crash during startup.
Fix this by using standard handover via function parameters.
Fixes: adbb9a6 ("realtek: dsa: rtl83xx: fix init section mismatch")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21703
Signed-off-by: Robert Marko <robimarko@gmail.com>
Hauke Mehrtens [Thu, 22 Jan 2026 23:13:46 +0000 (00:13 +0100)]
mt76: mt7996: fix crash when using mesh
Backport a fix from upstream mt76 to fix a crash in 802.11s mesh mode.
Fixes: https://github.com/openwrt/openwrt/issues/20751
Link: https://github.com/openwrt/openwrt/pull/21643
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Milan Krstic [Fri, 13 Jun 2025 14:49:18 +0000 (14:49 +0000)]
qualcommax: ipq807x: add support for TCL LINKHUB HH500V
TCL LINKHUB HH500V also known as Vodafone Gigacube B157 is a dual band
802.11ax 5G NR CPE with an FXS port.
Specifications:
* SoC: Qualcomm IPQ8072A
* RAM: 1024 MB
* NAND flash: 256MB NAND (MT29F2G08ABBGAH4)
* NOR flash: 64MB NOR (MX25U25635F) - only in some variants
* WiFi 5G: Qualcomm QCN5054
* WiFi 2.4G: Qualcomm QCN5024
* Ethernet 2.5G: Qualcomm QCA8081
* Ethernet 1G: Qualcomm QCA8075
* Modem: GosunCn GM800 (Qualcomm Snapdragon X55)
* SIM: 1 nano-SIM card slot
* Buttons: Power, Reset, WPS
* LEDs: Power (B/R), WiFi (B), 4G (B/Y/R), 5G (B/Y/R)
* VoIP: 1 FXS RJ11 port (not supported in OpenWrt)
* Power: 12V, 3A
UART serial console:
* 115200,8N1,1.8V
* Three unmarked test points next to QJ2012A:
+---------+
| QJ2012A |
+---------+
o TX
o GND
o RX
o
o
o
Installation via OEM firmware:
* Use the following process to obtain root ssh access
https://forum.openwrt.org/t/150371/24
* Connect using root with no password on port 42000
* Optionally for serial bootloader access run :
fw_setenv bootdelay=3
* SCP factory.bin to /tmp
* Run:
sysupgrade -n /tmp/factory.bin
Installation via serial console and OEM firmware::
* Use console to access OEM firmware shell
* Proceed with SCP & sysupgrade as described above
Other notes:
* This device uses active partition rotation
* Some versions (TCL branded?) have a NOR chip in addition to NAND
* The above is supported by u-boot patching DT partitions
* DT patching does NOT occur on tftpboot/bootm
* Modem is detected as foxconn-sdx55 by kernel (same VID/PID)
* This works OK-ish and should be improved if we can get OEM modem details
Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19182
Signed-off-by: Robert Marko <robimarko@gmail.com>
Milan Krstic [Sat, 24 Jan 2026 11:17:13 +0000 (11:17 +0000)]
qualcommax: ipq807x: add functions for bootconfig partition
The BOOTCONFIG partition is used by Qualcomm's boot chain to store
metadata about the device's startup configuration. It contains info such
as versioning, configuration flags, primary boot partition, and more.
Newer devices with dual boot partitions not only store the active boot
partition in a U-boot variable but also in partition info in the
BOOTCONFIG partition. As such, add library functions to set and toggle
the active boot partition.
Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19182
Signed-off-by: Robert Marko <robimarko@gmail.com>
Milan Krstic [Fri, 13 Jun 2025 06:56:14 +0000 (06:56 +0000)]
generic: 6.12: backport aw9523 fix can_sleep flag
The GPIO expander is connected via I2C, thus the can_sleep flag has to
be set to true. This fixes spurious "scheduling while atomic" bugs
in the kernel ringbuffer.
Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19182
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sat, 24 Jan 2026 21:43:33 +0000 (22:43 +0100)]
realtek: eth: use new prefix for ring operations
Align the functions with rest of driver.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21685
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sat, 24 Jan 2026 21:35:45 +0000 (22:35 +0100)]
realtek: eth: use new prefix for open/stop operations
Align the functions with rest of driver.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21685
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sat, 24 Jan 2026 21:17:13 +0000 (22:17 +0100)]
realtek: dsa: remove half-cooked SoC version determination
There are some code pieces that determine the SoC version of the
running system. For RTL83xx it reads out the registers, for RTL93xx
it simply uses a constant value. Without any consumer of this data
drop it.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21684
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sat, 24 Jan 2026 11:52:45 +0000 (12:52 +0100)]
realtek: phy: drop external RTL8218B firmware blob
No one has looked into the firmware based RTL8218B initializations
for a long time. Instead the basic setup sequences have evolved
so that they can start the RTL8218B PHY from scratch. See
19bc6e8 ("realtek: phy: add basic RTL8218B setup")
4fa90d8 ("realtek: phy: enhance RTL8218B initialization")
Drop the legacy coding.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21679
Signed-off-by: Robert Marko <robimarko@gmail.com>
Zeyu Dong [Sat, 24 Jan 2026 18:51:50 +0000 (13:51 -0500)]
ipq40xx: fix image pipeline for MR6350
Add two missing $$ in the factory image build pipeline for MR6350
Signed-off-by: Zeyu Dong <dzy201415@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21682
Signed-off-by: Robert Marko <robimarko@gmail.com>
Hal Martin [Tue, 4 Nov 2025 19:31:04 +0000 (20:31 +0100)]
ipq40xx: enable PoE output on Meraki MR30H
This commit enables PoE output on port 1 of the Meraki MR30H if
the device is powered via 802.3at PoE.
No PoE output is enabled if the device is powered via 802.3af PoE,
as there is insufficient power.
Signed-off-by: Hal Martin <hal.martin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20645
Signed-off-by: Robert Marko <robimarko@gmail.com>
Robert Marko [Sun, 25 Jan 2026 13:44:45 +0000 (14:44 +0100)]
microchipsw: lan969x: include ip-bridge and dcb tools
Now that DCB is enabled by default, it makes sense to include it on
lan969x.
While we are here, lets include ip-bridge as these devices are switches
and the Busybox applet does not expose enough functionality.
These devices have no space constraints.
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Robert Marko [Sun, 25 Jan 2026 11:04:04 +0000 (12:04 +0100)]
microchipsw: enable DCB by default
Switchdev driver used by microchipsw supports DCB and has not storage
constraints, so enable kernel and driver DCB support by default.
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Paweł Owoc [Mon, 19 Jan 2026 19:56:25 +0000 (20:56 +0100)]
odhcpd: update to Git HEAD (2026-01-19)
5a13d875ac71 dhcpv6: set static defines for DHCPv6 option header size
9857adb8ac99 dhcpv6-ia: switch case refactor in dhcpv6_handle_ias()
3cbbea830ddd netlink: clean up sockets, close files
13ef483716a5 dhcpv4: de-escalate error logging to debug
https://github.com/openwrt/odhcpd/compare/
3fda5f8b121b...
13ef483716a5
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21636
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Linus Walleij [Sat, 24 Jan 2026 17:13:24 +0000 (18:13 +0100)]
gemini: create a copy-kernel for 3072k kernels
The Raidsonic devices do not use a 2048k kernel "Kern"
partition like the Storlink reference designs. Instead
it uses a 3072k partition to fit a slightly
larger kernel.
Sadly the current OpenWrt Gemini kernel is still bigger
than 3072k so we need to make use of the Ramdisk
partition as well.
Create a special "copy-kernel" version that can deal
with the Raidsonic 3072k kernels. Tested on the
Raidsonic IB-4220-B booting kernel v6.12.66.
Fix a copy/paste error in the image generation makefile
while we are at it.
Link: https://github.com/openwrt/openwrt/pull/21686
Signed-off-by: Linus Walleij <linusw@kernel.org>
John Christoforidis [Thu, 8 Jan 2026 20:13:27 +0000 (22:13 +0200)]
qualcommax: ipq60xx: add support for TP-Link EAP620HD v3
Specifications:
* SoC: Qualcomm IPQ6018/AP-CP03-C1 (64-bit Quad-core Arm Cortex-A53 @ 1.2 GHz)
* RAM: 2x Zentel A3T4GF40BBF-HP (1 GiB DDR3-1866 (13-13-13))
* Serial Port: 1v8 TTL 115200n8
* Wi-Fi: Qualcomm QCN5022 (802.11ax/b/g/n)
* Wi-Fi: Qualcomm QCN5052 (802.11ac/ax/n)
* Ethernet: RTL8211FS (10/100/1000BASE-T)
* Flash: GigaDevice PSR1GA30DT (128 MiB)
* LEDs: 1x Blue Status (GPIO 35 Active High)
* Buttons: 1x Reset (GPIO 9 Active Low)
* FCCID: 2AXJ4EAP620HDV3
* UART: 4-pin unpopulated header by the J1 footprint
Installation Instructions (Serial+TFTP):
1. Locate the J1 footprint which contains 4 unpopulated pins
where starting from the arrow, the pins are TX, RX, VCC and GND
respectively.
2. Connect a 1v8 TTL port to the 4 pins. Ensure RX and TX are crossed
over.
3. Copy openwrt-qualcommax-ipq60xx-tplink_eap620-hd-v3-initramfs-uImage.itb
to your TFTP server.
4. Power up the AP and hold Ctrl+B in the serial console (115200n8) until autoboot is halted.
5. Run the following commands in the U-boot prompt:
IPQ6018# setenv serverip <TFTP server addr>
IPQ6018# setenv ipaddr <addr of the AP>
IPQ6018# tftpboot 0x44000000 openwrt-qualcommax-ipq60xx-tplink_eap620-hd-v3-initramfs-uImage.itb
IPQ6018# bootm 0x44000000
You may need to type Ctrl+C and Enter before running these commands
to clear invisible characters from the buffer.
6. Run the following command in a terminal to copy the sysupgrade image
to be installed (check IP address):
$ scp -O openwrt-qualcommax-ipq60xx-tplink_eap620-hd-v3-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
7. Activate the OpenWrt serial console and run the following commands:
# cd /tmp
# sysupgrade -n openwrt-qualcommax-ipq60xx-tplink_eap620-hd-v3-squashfs-sysupgrade.bin
8. The AP will reboot and OpenWrt will be successfully installed.
Installation Instructions (Web UI method):
1. Set up the device using the vendor's web UI. Navigate to
Management->SSH and enable the "SSH Login" checkbox. Select "Save".
2. Connect to the machine via SSH:
$ ssh -o hostkeyalgorithms=ssh-rsa <ip_of_device>
3. Disable signature verification:
$ cliclientd stopcs
4. Rename the "-web-ui-factory" image to something less than 63
characters, maintaining the ".bin" suffix.
5. Go to System -> Firmware Update.
Under "New Firmware File", click "Browse" and select the image.
Select "Update" and confirm by clicking "OK".
6. If the update fails, the web UI should show an error message.
Otherwise, the device should reboot into OpenWrt.
Device support followed from EAP620HD v2 and eap6xx-outdoor for DTS.
Links: openwrt/openwrt#18227
Signed-off-by: John Christoforidis <github@yanny.dev>
Link: https://github.com/openwrt/openwrt/pull/21467
Signed-off-by: Robert Marko <robimarko@gmail.com>
Caleb James DeLisle [Thu, 15 Jan 2026 21:53:20 +0000 (21:53 +0000)]
econet: major rewrite of ethernet driver
Update the econet-eth driver to a new version which is of
sufficient quality that it is realistic to think about upstreaming.
This version is now NAPI based, collects stats, downloads without
dropped packets anymore, has debugfs introspection, and can be
unloaded and reloaded (providing the reset controller is present).
PR #21545 is recommended but not required, without this the
ethernet driver will log a warning on startup because it can't get
the resets and it will be impossible to unload and reload the
driver without a reboot. However, the PoC driver was not capable of
reloading so this is not a regression.
Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/21557
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Markus Stockhausen [Sun, 25 Jan 2026 08:27:56 +0000 (09:27 +0100)]
realtek: dsa: rtl83xx: fix init section mismatch
Compilation currently spits this message:
WARNING: modpost: vmlinux: section mismatch in reference:
rtl83xx_sw_probe+0x6a4 (section: .text.rtl83xx_sw_probe)
-> rtl83xx_setup_qos (section: .init.text)
That means that we have a "normal" function caller (can be
called during the whole uptime) and a "initialization" function
callee (only available during init.
Fix this and directly fix the unwanted family checks.
Fixes: a91c3ab ("realtek: dsa: avoid use-after-free")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21690
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Shiji Yang [Sun, 25 Jan 2026 09:45:32 +0000 (17:45 +0800)]
uboot-mediatek: fix malformed patch
This patch was manually edited but not refreshed.
Fixes: 794b4dee65ed ("uboot-mediatek: add 8g check to bpi-r4 environment for bl2")
Fixes: 46ee5209aaeb ("uboot-mediatek: add command for getting size of ram")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21693
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Jonas Jelonek [Sun, 11 Jan 2026 11:12:57 +0000 (11:12 +0000)]
realtek: mdio: add more Aquantia PHY IDs
Add a PHY ID for Aquantia AQR813 which is an Octa-PHY found in some
Realtek switches.
Add another PHY ID for another revision of AQR113C, also found in some
Realtek switches.
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21515
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Jonas Jelonek [Sun, 11 Jan 2026 10:59:54 +0000 (10:59 +0000)]
realtek: mdio: apply phy polling config for RTL931x
Apply the PHY polling configuration for RTL931x too, as previously
implemented for RTL930x. This is needed for several PHYs on that
platform to function properly.
Add another flag called 'force_res' to the phy_info struct which is for
RTL931x only. The SDK mentions this as a flag to force polling the
Realtek proprietary PHY status resolution register. Effectively, this
changes the polling to proprietary format instead of standard format,
and sets an enable bit in another private polling register field.
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21515
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Jonas Jelonek [Sun, 11 Jan 2026 10:12:00 +0000 (10:12 +0000)]
realtek: mdio: enhance reading phy id
Reading the PHY ID to assign a PHY config is currently simple. For C45
two MDIO reads of a hardcoded MMD are done to get the standard PHY ID
registers. MMD 31 (MMD_VEND2) is used for that purpose, assuming there
will be a valid PHY ID stored in this MMD in all cases. However, with
Aquantia AQR813 there's at least one example for which this isn't true.
This PHY returns 0 for the PHY ID in MMD_VEND2, instead MMD_VEND1 would
have the correct ID.
Enhance reading the PHY by accessing a common set of MMDs of which most
PHY at least implement one and have a valid PHY ID in. To keep overhead
low, do not scan all MMDs. As soon as a valid PHY ID is found, exit and
use that. This is similar to the kernel logic, jsut reduced to fewer
MMDs.
Also handle possible errors coming from MDIO reads to avoid reading garbage.
While at it, move reading the PHY ID to a separate function to not
pollute the poll fixup retrievel function.
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21515
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Robert Marko [Sun, 25 Jan 2026 10:38:59 +0000 (11:38 +0100)]
ipq-wifi: update to Git HEAD (2026-01-24)
38804f59fbb9 ci: add ath12k BDF-s
d28bc0724dc6 ipq8074: add TCL LINKHUB HH500V BDF
8e1fb2f59893 ipq6018:add TP-Link EAP620 HD v3 BDF Add board file for TP-Link EAP620 HD v3. bdwlan_US.bin sourced from EAP620 HD(US)_V3_1.4.4 Build
20250718 stock firmware.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Chukun Pan [Sun, 31 Aug 2025 14:01:15 +0000 (22:01 +0800)]
rockchip: add HINLINK H66K / H68K support
Hardware (common):
- RK3568 SoC
- 2/4GB LPDDR4
- 1x HDMI Type A
- 3.5mm jack with mic
- 1x PCIE 2.0 WiFi slot
- 1x USB 3.0, 2x USB 2.0
- 2x 2.5GbE RTL8125B Ethernet
- MicroSD card slot / eMMC 32GB
Additions to HINLINK H68K:
- 2x 1GbE RTL8211F/YT8531 Ethernet
Installation:
Use dd or balenaEtcher to flash the firmware.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/21270
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Chukun Pan [Fri, 19 Dec 2025 14:06:02 +0000 (22:06 +0800)]
uboot-rockchip: add HINLINK H66K / H68K support
Add pending support for the HINLINK H66K / H68K.
Tested on HINLINK H66K, H68K and H68K-V2.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/21270
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Markus Stockhausen [Tue, 13 Jan 2026 21:15:15 +0000 (22:15 +0100)]
realtek: mdio: drop driver lock
The Realtek mdio driver does not need to track a separate lock.
Rely on the default kernel mdio bus lock instead.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21529
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Markus Stockhausen [Tue, 13 Jan 2026 21:06:27 +0000 (22:06 +0100)]
realtek: mdio: use generic bus command function for RTL931x
Refactor RTL931x mdio commands to use the new helper function.
Remove unneeded goto and debug statements.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21529
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Markus Stockhausen [Tue, 13 Jan 2026 20:36:13 +0000 (21:36 +0100)]
realtek: mdio: use generic bus command function for RTL930x
Refactor RTL930x mdio commands to use the new helper function.
Remove unneeded goto and debug statements.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21529
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Markus Stockhausen [Tue, 13 Jan 2026 16:41:55 +0000 (17:41 +0100)]
realtek: mdio: use generic bus command function for RTL839x
Refactor RTL839x mdio commands to use the new helper function.
Remove unneeded goto and debug statements.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21529
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Markus Stockhausen [Tue, 13 Jan 2026 19:45:39 +0000 (20:45 +0100)]
realtek: mdio: use generic bus command function for RTL838x
The Realtek mdio bus works similar for all devices with only
minor family specific differences. Basically command issuing
follows a generic style. Write command type and a trigger.
Afterwards wait until the trigger flag goes back to zero (aka
"command complete"). Unify this sequence in a central helper.
RTL838x read/write callers of this helper use a strange style of
error handling by issuing goto statements. Refactor this for better
readability. Additionally remove all debug prints. These are not
needed as the central read/write handlers provide a common logging
mechanism.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21529
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Thomas Richard [Mon, 5 Jan 2026 15:32:44 +0000 (16:32 +0100)]
kernel: add TIMERLAT_TRACER kernel config option
This adds the TIMERLAT_TRACER kernel configuration option. The timelat
tracer helps to find sources of wakeup latencies of real-time threads.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21413
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Thomas Richard [Mon, 5 Jan 2026 15:31:36 +0000 (16:31 +0100)]
kernel: add OSNOISE_TRACER kernel config option
This adds the OSNOISE_TRACER kernel configuration option. The osnoise
tracer allows to track interference experienced by an application due to
activities inside the operating system (like NMIs, IRQs ...).
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21413
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Thomas Richard [Mon, 5 Jan 2026 12:54:42 +0000 (13:54 +0100)]
kernel: add HWLAT_TRACER kernel config option
This adds the HWLAT_TRACER kernel configuration option. The hwlat tracer
allows to detect hardware latencies.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21413
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Thomas Richard [Wed, 21 Jan 2026 12:49:32 +0000 (13:49 +0100)]
loongarch64: set PREEMPT_NONE as default preemption model
Loongarch64 currently uses the PREEMPT_VOLUNTARY model, which is not
aligned with OpenWrt's default. Switch to PREEMPT_NONE for consistency with
OpenWrt's default configuration. Preemption model selection is now
available via menuconfig for further customization.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21413
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Thomas Richard [Wed, 21 Jan 2026 12:34:33 +0000 (13:34 +0100)]
mediatek: mt7623: set PREEMPT_NONE as default model
Mediatek/mt7623 currently uses the PREEMPT model, which is not aligned with
OpenWrt's default. Switch to PREEMPT_NONE for consistency with OpenWrt's
default configuration. Preemption model selection is now available via
menuconfig for further customization.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21413
[Added some config options again]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Thomas Richard [Wed, 21 Jan 2026 12:08:23 +0000 (13:08 +0100)]
gemini: set PREEMPT_NONE as default preemption model
Gemini currently uses the PREEMPT model, which is not aligned with
OpenWrt's default. Switch to PREEMPT_NONE for consistency with OpenWrt's
default configuration. Preemption model selection is now available via
menuconfig for further customization.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21413
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Thomas Richard [Wed, 21 Jan 2026 10:54:14 +0000 (11:54 +0100)]
layerscape: set PREEMPT_NONE as default preemption model
Layerscape currently uses the PREEMPT model, which is not aligned with
OpenWrt's default. Switch to PREEMPT_NONE for consistency with
OpenWrt's default configuration. Preemption model selection is now
available via menuconfig for further customization.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21413
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Thomas Richard [Mon, 5 Jan 2026 12:46:52 +0000 (13:46 +0100)]
kernel: add preemption models
Introduce preemption model selection with PREEMPT_NONE as the default.
PREEMPT_NONE is the traditional Linux preemption model and also the best
choice for servers.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21413
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Frank Wunderlich [Sat, 17 Jan 2026 20:25:19 +0000 (21:25 +0100)]
uboot-mediatek: add 8g check to bpi-r4 environment for bl2
Add check for 8g and replace filename for bl2 to install the right file.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Link: https://github.com/openwrt/openwrt/pull/21437
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Frank Wunderlich [Sat, 17 Jan 2026 18:00:56 +0000 (19:00 +0100)]
uboot-mediatek: add command for getting size of ram
Add command which gets ramsize and write it to env variable.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Link: https://github.com/openwrt/openwrt/pull/21437
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Frank Wunderlich [Tue, 6 Jan 2026 22:17:08 +0000 (23:17 +0100)]
mediatek: filogic: add 8GB builds for BPI-R4
Add builds for Bananapi R4 with 8GB RAM.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Link: https://github.com/openwrt/openwrt/pull/21437
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Frank Wunderlich [Tue, 6 Jan 2026 22:16:14 +0000 (23:16 +0100)]
uboot-mediatek: add mt7988 4bg builds
This allows builds for Bananapi R4 (Pro) with 8GB RAM.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Link: https://github.com/openwrt/openwrt/pull/21437
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Frank Wunderlich [Tue, 6 Jan 2026 22:15:32 +0000 (23:15 +0100)]
arm-trusted-firmware-mediatek: add mt7988 4bg build
This allows builds for Bananapi R4 (Pro) with 8GB RAM.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Link: https://github.com/openwrt/openwrt/pull/21437
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
John Audia [Fri, 23 Jan 2026 21:22:18 +0000 (16:22 -0500)]
kernel: bump 6.12 to 6.12.67
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.67
Manually rebased:
rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch
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/21629
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Thu, 22 Jan 2026 22:54:33 +0000 (23:54 +0100)]
firewall: change synflood_protect option name
The `syn_flood` option name is deprecated, `synflood_protect` should
be used instead. firewall3 and firewall4 both support this option since
a long time. LuCI already replaces the option name.
https://github.com/openwrt/luci/commit/
0abcb39b623f0eff0fbcdfb99fca8f3224701e86
Suggested-by: rparge in OpenWrt forum
Link: https://github.com/openwrt/openwrt/pull/21642
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
David Yang [Mon, 19 Jan 2026 17:51:02 +0000 (01:51 +0800)]
iproute2: add dcb utility
KERNEL_DCB was introduced in
40f1db9cb11d, however the dcb utility is not
enabled for iproute2. Although DCB is not generally available among
Ethernet cards, not having the dcb utility renders it completely
unchangeable.
On aarch64, it takes ~85.3KiB.
Signed-off-by: David Yang <mmyangfl@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21606
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Maxim Anisimov [Thu, 22 Jan 2026 08:17:49 +0000 (11:17 +0300)]
mediatek: enable wan led for Keenetic KN-(3711/3811)
The indicator is unused by default and not associated
with the wan port. So let’s fix this.
Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21635
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Maxim Anisimov [Thu, 22 Jan 2026 08:09:26 +0000 (11:09 +0300)]
mediatek: simplify nvmem mac for Keenetic KN-(3811/3911)
This is a cosmetic change. There is no need to use mac
address increment/decrement in the dts on these devices,
so this can be simplified.
Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21635
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Maxim Anisimov [Thu, 22 Jan 2026 08:04:44 +0000 (11:04 +0300)]
mediatek: drop spi cal for Keenetic KN-(3711/3811/3911)
In the original DTS from the device firmware, there are
no entries that enable SPI calibration. Therefore, it
should be disabled.
Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21635
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Maxim Anisimov [Thu, 22 Jan 2026 08:00:35 +0000 (11:00 +0300)]
mediatek: fix label mac for Keenetic KN-(3711/3811/3911)
Keenetic devices always use the WAN port MAC address as
the MAC address printed on the label.
Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21635
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
John Audia [Tue, 15 Jul 2025 09:46:52 +0000 (05:46 -0400)]
base-files: remove ftp user and group
Any ftpd package such as vsftpd or atftpd (are there others?) should
create their own unprivileged user. Both of the aforementioned
packages do not even use this ftp user and run as root. That should be
addressed in separate commits.
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19418
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Linus Walleij [Wed, 21 Jan 2026 21:24:46 +0000 (22:24 +0100)]
gemini: support upgrade on reference designs
The Gemini reference design-derived devices uses a partition
format which is predictable and we can exploit this to offer
some proper upgrade path.
The kernel for these contains a hack to use this partition
format unaltered by combining the partitions "Kern" and "Ramdisk"
to one image with all of the kernel+ramdisk in memory.
Then the "Application" which is used for the rootfs go into its
own partition.
Standard flash layout:
Kern 2048k |
Ramdisk 6144k | = 9216k
Application 6144k | = 15360k
Following the pattern of the factory image we create three
images named zImage, rd.gz and hddapp.tgz (these filenames
are misleading! They are just required by the old firmware.)
and flash each individually with "mtd" during upgrades.
Since the IB-4220-V has a different layout with a bigger kernel
space we parameterize this so we can handle this too. (More
fixes are needed for that device though.)
A way to upgrade older OpenWrt on these platforms to the latest
and greatest will be to copy the file
target/linux/gemini/base-files/lib/upgrade/platform.sh
to /lib/upgrade/platform.sh
on your running system and then run sysupgrade from the image
produced after this patch.
The script is picky to sanity check the partitions before
commencing upgrade.
This was tested with a full sysupgrade on the iTian SQ201.
Link: https://github.com/openwrt/openwrt/pull/21680
Signed-off-by: Linus Walleij <linusw@kernel.org>
Markus Stockhausen [Sun, 18 Jan 2026 21:09:00 +0000 (22:09 +0100)]
realtek: phy: fix RTL8214FC fibre/copper initialization
A phy is configured in two stages
- phy_probe() for setup of structures
- config_init() for device setup (after reset)
RTL8214FC is a combo phy and the currently active port can be switched
with the SFP helper functions that are triggered during SFP insertion
and removal. In case a fibre SFP is inserted while booting the SFP
trigger is run between the above mentioned stages. During the final
setup in config_init() the phy is reset to the copper port. Thus no
link is available on fibre and the SFP must be reinserted for normal
operation.
For a consistent behaviour the fibre/copper port setup must run before
the SFP probing and not afterwards. Move the setup code from config_init()
into phy_probe().
Fixes: 10ae743 ("realtek: phy: simplify RTL8214FC configuration")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21582
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 18 Jan 2026 12:05:30 +0000 (13:05 +0100)]
realtek: phy: optimize RTL8214FC register usage during media set
There are some shortcomings in rtl8214fc_media_set()
- It always uses the mdio raw page (4095) of RTL838x for writes.
That is wrong when the phy is attached to an RTL839x (raw = 8191)
- It uses the internal write only extended page companion (29)
- The extended page content is not preserved
Fix the three issues.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21582
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 18 Jan 2026 11:58:51 +0000 (12:58 +0100)]
realtek: phy: save RTL8214FC extended page during power set
Changing the fibre/copper power of a RTL8214FC changes the
extended page via register 29. This is the write only companion
of register 30. The register is afterwards overwritten to 0.
Use the proper extended page register 30 and preserve its content
during the operation.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21582
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sat, 17 Jan 2026 18:50:32 +0000 (19:50 +0100)]
realtek: phy: convert confusing BMCR_PDOWN usage for RTL8214FC
Bit 11 of registers 16, 19, 20, 21 in page 0x266 denotes if a port
of a RTL8214FC is set/favoured to fibre (0) or copper (1). For unknown
reasons the bit was mixed with BMCR_PDOWN. Convert this to a meaningful
define.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21582
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Fri, 23 Jan 2026 12:36:06 +0000 (13:36 +0100)]
realtek: mdio: rtl838x: activate combo PHY media detection
There is a misunderstanding about BIT(7) aka EX_PHY_MAN_24_27 in
SMI_GLB_CTRL register. The SDK sets/clears it at different places and
it is not clear what it is for. Observation shows that it is essential
for a working MAC_LINK_MEDIA_STS register.
A RTL838x device has usally two configurations
- port 24/26 are 2 serdes driven fiber ports
- port 24-27 are 4 PHY driven combo ports
In the combo case the above bit must be set so that a switch between
copper and fiber can be detected. Cleanup the MDIO initialization
and remove the unneeded bit handling in the DSA driver.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21653
Signed-off-by: Robert Marko <robimarko@gmail.com>
George Sapkin [Sat, 24 Jan 2026 02:30:48 +0000 (04:30 +0200)]
build: purge DESCRIPTION
DESCRIPTION field has been deprecated since 2007, yet internal exporting
causes intermittent package build failures due to the deprecation check,
even with packages that don't have that fields set. Replace all
DESCRIPTION exports with alternative variables defined through shexport
and shvar helpers and remove the check.
Fixes: 547b127d ("make kernel module packaging code reusable and use it in madwifi")
Fixes: 7558f028 ("DESCRIPTION:= is obselete, so complain if it is used and use TITLE if no description is set")
Fixes: cc435322 ("build: optimize target metadata dump")
Fixes: d081edf7 ("build: clean up and optimize ipkg control generator code")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21668
Signed-off-by: Robert Marko <robimarko@gmail.com>
George Sapkin [Fri, 23 Jan 2026 18:07:53 +0000 (20:07 +0200)]
imagebuilder: fix parsing ABI for apk packages
Fix parsing ABI when package has multiple tags and apk returns them in a
single line.
Fixes: 31cdd13d ("imagebuilder: add ABI suffix to packages when using apk")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21660
Signed-off-by: Robert Marko <robimarko@gmail.com>
Roc Lai [Fri, 23 Jan 2026 11:54:41 +0000 (19:54 +0800)]
kexec-tools: remove upstreamed patch
Remove upstreamed patch:
- 020-i386-improve-basename-compatibility.patch
Link: https://github.com/horms/kexec-tools/commit/4fd0553cdfe397920d418d8b90ac52f8f1303a2d
Fixes: e75218ef4a27 ("kexec-tools: bump to 2.0.32")
Signed-off-by: Roc Lai <laipeng668@qq.com>
Link: https://github.com/openwrt/openwrt/pull/21652
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Thu, 22 Jan 2026 22:14:21 +0000 (23:14 +0100)]
lantiq: AVM Fritz 736x: fix PCIe reset GPIO
The vr9.dtsi configures the GPIO 38 as reset GPIO. Also the fon LED is
configured on GPIO 38. This conflicts and makes the probing of the PCIe
controller fail in OpenWrt 25.12.
The AVM GPL source code configured GPIO 21 as PCIe reset.
Fixes: https://github.com/openwrt/openwrt/issues/21562
Link: https://github.com/openwrt/openwrt/pull/21641
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Shiji Yang [Tue, 6 Jan 2026 12:50:06 +0000 (20:50 +0800)]
uboot-mediatek: update to v2026.01
Remove upstreamed patches:
100-08-cmd-mtd-add-markbad-subcommand-for-NMBM-testing.patch [1]
101-01-mtd-spinand-add-support-for-FORESEE-F35SQA002G.patch [2]
101-02-mtd-spinand-add-support-for-FORESEE-F35SQA001G.patch [3]
110-mtd-spi-nand-add-support-for-FudanMicro-FM25S01A.patch [4]
Some SPI-NAND driver macro definitions and function parameters have
been changed in the latest release[3]. Hence we also had to rework
the related local patches to follow the upstream changes.
Tested on MT7981 SPI-NOR/EMMC.
[1] https://github.com/u-boot/u-boot/commit/
21c1098cf443ea225090520cbe3ac7fc9e75cd33
[2] https://github.com/u-boot/u-boot/commit/
2a0f8e7da0e5db93df8d48c5aab05037e071ca1e
[3] https://github.com/u-boot/u-boot/commit/
2cbdd3e4491b6fc278c54d2a490939ecccc76127
[4] https://github.com/u-boot/u-boot/commit/
8b984b5a397bc5fe829ca95e64f990c1e287beaa
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
[daniel@makrotopia.org: tested MT7622 SNAND and SPI-NOR]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Linus Walleij [Fri, 23 Jan 2026 20:24:47 +0000 (21:24 +0100)]
gemini: Fix up the rootfs device for SQ201
The rootfs partition is /dev/mtdblock3, fix it up.
Link: https://github.com/openwrt/openwrt/pull/21662
Signed-off-by: Linus Walleij <linusw@kernel.org>
Linus Walleij [Fri, 23 Jan 2026 15:32:10 +0000 (16:32 +0100)]
gemini: Add DTS fix from upstream kernel
This contains small but important DTS fixes for the
RedBoot partitions.
Link: https://github.com/openwrt/openwrt/pull/21662
Signed-off-by: Linus Walleij <linusw@kernel.org>
George Sapkin [Fri, 23 Jan 2026 16:58:36 +0000 (18:58 +0200)]
imagebuilder: skip repository file when standalone
Standalone image builder doesn't have a repositories file as all
packages are included, which causes:
ERROR: failed to read repositories: PATH_TO_BUILDER/repositories: No such file or directory
The images are still built, so this is more of an informational error.
Pass related argument to apk only when CONFIG_IB_STANDALONE is not set.
Fixes: a8d17c21 ("imagebuilder: actually support IB from buildbot")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21658
Signed-off-by: Robert Marko <robimarko@gmail.com>
Robert Marko [Fri, 23 Jan 2026 10:07:23 +0000 (11:07 +0100)]
uboot-microchipsw: add FIP update flashing shortcut
Add env variable to make it easy to flash an FIP update.
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Robert Marko [Fri, 23 Jan 2026 09:54:19 +0000 (10:54 +0100)]
microchipsw: update DTS with the latest pending upstream
Update the DTS to the latest pending upstream version, it looks like this
should get merged soon upstream.
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Gabriel Roper [Tue, 7 Oct 2025 04:24:05 +0000 (21:24 -0700)]
d1: Enable LED driver for D1 builds
This enables the kernel configuration option
to build the SUN50I_A100 driver, which is
the one driver used by the D1 for the RGB
LED controller.
Signed-off-by: Gabriel Roper <lockheedmaniac@gmail.com>
Gabriel Roper [Tue, 7 Oct 2025 04:21:40 +0000 (21:21 -0700)]
d1: Add device tree configuration for D1 RGB LED Controller
This adds the device tree patches written by Samuel Holland
to the kernel. The driver was merged into mainline Linux in 6.8,
but the device tree patches were never merged into mainline.
Signed-off-by: Gabriel Roper <lockheedmaniac@gmail.com>
Chukun Pan [Tue, 21 Oct 2025 11:30:09 +0000 (19:30 +0800)]
d1: refresh kernel config
Run 'make kernel_oldconfig' to get an up-to-date config.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Chukun Pan [Mon, 20 Oct 2025 14:16:21 +0000 (22:16 +0800)]
d1: enable overlay support
Add the loop module and mkfs tool to use f2fs/ext4
based overlays. This fixes the following bug:
mount_root: unable to create loop device
mount_root: no usable overlay filesystem found, using tmpfs overlay
Fixes: 99545b4bb1faf7c3 ("d1: add new target")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Chukun Pan [Sun, 19 Oct 2025 14:01:25 +0000 (22:01 +0800)]
d1: enable usbgadget feature
The USB of most d1 devices works in otg or peripheral mode.
Enable this feature to use usbgadget and fix musb errors:
musb-sunxi
4100000.usb: Invalid or missing 'dr_mode' property
musb-sunxi
4100000.usb: probe with driver musb-sunxi failed with error -22
Fixes: 99545b4bb1faf7c3 ("d1: add new target")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Chukun Pan [Sat, 18 Oct 2025 12:16:08 +0000 (20:16 +0800)]
uboot-d1: update to 2024.01
Update to version 2024.01 to remove upstream patches.
The remaining patches come from this repository:
https://github.com/smaeul/u-boot/tree/d1-wip
[for Dongshan Nezha STU, Nezha D1]
Tested-by: Zoltan HERPAI <wigyori@uid0.hu>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Roc Lai [Wed, 21 Jan 2026 14:17:41 +0000 (22:17 +0800)]
kexec-tools: bump to 2.0.32
Change log is available at: https://github.com/horms/kexec-tools/compare/v2.0.28...v2.0.32
Manually refreshed patch:
- 020-i386-improve-basename-compatibility.patch
Remove upstreamed patch:
- 010-Fix-building-on-x86_64-with-binutils-2.41.patch
Signed-off-by: Roc Lai <laipeng668@qq.com>
Link: https://github.com/openwrt/openwrt/pull/21623
Signed-off-by: Robert Marko <robimarko@gmail.com>
Roc Lai [Wed, 21 Jan 2026 09:55:16 +0000 (17:55 +0800)]
kexec-tools: add aarch64 architecture support
To update kexec and kdump dependencies for supporting the aarch64 architecture.
Signed-off-by: Roc Lai <laipeng668@qq.com>
Link: https://github.com/openwrt/openwrt/pull/21623
Signed-off-by: Robert Marko <robimarko@gmail.com>
Rosen Penev [Fri, 12 Dec 2025 07:35:20 +0000 (23:35 -0800)]
ath79: rb91x_nand: fix some issues in probe
Add devm for ioremap to proper cleanup.
Test gpiod_direction_input for failure.
Remove rb91x_nand_release and fix wrong usage.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21165
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Thu, 15 Jan 2026 17:25:31 +0000 (18:25 +0100)]
realtek: phy: add RTL8218D initialization
The RTL8218D currently relies on proper U-Boot configuration. In
case that is not possible, provide a basic setup sequence that can
bring the PHY "alive". The SDK provides multiple configuration
sequences for two operation modes (XSGMII or QSGMII) and the different
SoC families. Due to limited testing resources only provide a setup
for RTL93xx devices and both modes at the moment.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21551
Signed-off-by: Robert Marko <robimarko@gmail.com>
gongzi miao [Sun, 18 Jan 2026 16:43:55 +0000 (00:43 +0800)]
dnsmasq: bump release to 2.92
bump dnsmasq to latest 2.92
updated 200-ubus_dns.patch
no changes to 100-remove-old-runtime-kernel-support.patch
all remaining patches not required
Changelog for version 2.92 https://thekelleys.org.uk/dnsmasq/CHANGELOG
Signed-off-by: gongzi miao <miaogongzi0227@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21598
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Felix Fietkau [Thu, 22 Jan 2026 10:25:49 +0000 (11:25 +0100)]
wifi-scripts: iwinfo.uc: cache survey data in iface object
Extract survey fetching into get_survey() and store results in iface.survey,
allowing access to full survey info (not just noise) for later use.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
John Crispin [Fri, 19 Sep 2025 15:05:30 +0000 (17:05 +0200)]
wifi-scripts: refactor iwinfo.uc to support dynamic data updates
Moved interface discovery and data population into an exported update()
function that can be called on-demand to refresh wireless interface
information. This allows using iwinfo.uc as a library inside daemons.
Signed-off-by: John Crispin <john@phrozen.org>
Felix Fietkau [Fri, 16 Jan 2026 08:53:27 +0000 (08:53 +0000)]
udebug: update to Git HEAD (2026-01-16)
c5c493ed5787 udebug-cli: fix reference to invalid variable in error message
875e1a7af6ca udebug-cli: add logdump command
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Tue, 13 Jan 2026 12:37:50 +0000 (12:37 +0000)]
build: fix stale package install stamps for unselected variants
When a package variant changes from =y to =m, its .install stamp file
was not being cleaned up, causing both variants to appear in the
package install list.
Fix by making compile depend on prepare-package-install, ensuring
the stamp file is always cleared. Only =y packages recreate it.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Tue, 13 Jan 2026 09:31:22 +0000 (09:31 +0000)]
build: auto-generate CONFLICTS for package variants sharing PROVIDES
Packages using PROVIDES to declare virtual package alternatives (like
tc-tiny, tc-bpf, tc-full all providing 'tc') could be simultaneously
selected as =y, causing installation conflicts. The PROVIDES mechanism
only handles dependency resolution, not mutual exclusion.
Add add_implicit_provides_conflicts() to automatically generate CONFLICTS
from default variants to non-default variants sharing the same PROVIDES.
This ensures only one variant can be built-in (=y) at a time.
Skip generating implicit conflicts when the non-default already has
explicit CONFLICTS with the default, to avoid Kconfig dependency cycles
with the select-based dependency resolution.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Shiji Yang [Mon, 19 Jan 2026 14:26:09 +0000 (22:26 +0800)]
mediatek: dts: mt7981: fix spi clocks
Fix spi1 sel-clk source and add missing assigned-clocks.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21108
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Shiji Yang [Sat, 3 Jan 2026 04:59:19 +0000 (12:59 +0800)]
mediatek: dts: mt7981: remove internal phy LED pinctrl
This default pinctrl doesn't work at all. We must add pinctrl phandle
to the ethernet-phy node or mac node. This patch removed the internal
phy LED pinctrl group definitions from the SOC dtsi because it is
currently only used by one device. Some incorrect LED pinctrls also
have been removed because these devices do not have hardware phy LED.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21108
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Shiji Yang [Fri, 19 Dec 2025 11:39:55 +0000 (19:39 +0800)]
mediatek: dts: mt7981: add mediatek,wed-pcie syscon phandle
The PCIe NIC WED offload features depend on it. Also add the missing
"syscon" compatible for the wed_pcie node as it's accessed by
syscon_regmap_lookup_by_phandle().
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21108
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Shiji Yang [Fri, 19 Dec 2025 11:39:55 +0000 (19:39 +0800)]
mediatek: dts: mt7981: load xhci phy efuse by default
This should improve the stability of the USB 3.0 port[1].
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=
6f2b033cb883f64ad084a75f13634242c7e179a6
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21108
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Shiji Yang [Fri, 19 Dec 2025 11:39:55 +0000 (19:39 +0800)]
mediatek: dts: mt7981: remove useless nodes
These stuffs were copied from the vendor SDK. There are currently
no drivers compatible with them. The pending upstream patches did
not include them either.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21108
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Caleb James DeLisle [Wed, 14 Jan 2026 23:20:52 +0000 (23:20 +0000)]
econet: add clock/reset support
This is in preparation for the next update to EcoNet Ethernet driver
which will be using real resets rather than bit-bashing. Patches are
backported up to the current state of clk-next because I intend on
upstreaming these patches soon.
Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/21545
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tianling Shen [Tue, 20 Jan 2026 02:12:12 +0000 (10:12 +0800)]
rockchip: fix set default serial_{addr,port} in boot script
On some SoCs like RK3399, U-Boot no longer export the serial
address in $stdout variable, it has been changed to something like
`stdout=serial,vidconsole` since video supported was added. So
detect $soc variable instead, this also makes the script more clear.
Addtional note: rk3566 is reported as rk3568, rk3582 is reported as
rk3588 in $soc.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/21610
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Paul Donald [Sat, 17 Jan 2026 23:28:44 +0000 (00:28 +0100)]
ucode: update to Git
85922056ef7 (2026-01-16)
45bf891e1d8d rtnl: add module documentation
8bbf01215ce3 nl80211: add module documentation
40a6aeb698e1 nl80211: add new attribute "mlo_links" for per link information
376e8733609e ubus: complete pending requests when disconnecting locally
32449bfb69d6 io: add ptsname, tcgetattr, tcsetattr, grantpt, unlockpt
76bf32679d86 digest: fix jsdoc to reveal sha512 functions
58b4597fa2ae build: drop remnant
6ef0b3ada3fd build: respect bin/lib paths
28132276a426 build: adjust flags and definitions
cb1b1c1a097b zlib: make chunk size configurable
6f80655c88c3 debian: refresh packaging
9fc4889c6e8e debian: adjust LTO build
a503a49f5cef debian: build "digest" and "zlib" modules
ffc48a2a4db9 socket: fix off-by-one in uv_to_sockaddr()
Fixes: https://github.com/jow-/ucode/issues/366
dropped patch 130 - integrated at source.
refreshed patches
https://github.com/openwrt/openwrt/pull/21585
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21585
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Markus Stockhausen [Mon, 12 Jan 2026 16:56:31 +0000 (17:56 +0100)]
realtek: mdio: derive phy smi-bus from parent node
The dts for RTL93xx devices has duplicate data about the
smi bus of a phy node. The parent node declares the number
of the bus and the realtek,smi-address attribute does the
same.
Remove the bus part from the realtek,smi-address attribute
and lookup the bus from the parent node. While we are here
remove all realtek,smi-address attributes where phy id
matches the bus address. The driver will use that as a
fallback.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21438
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>