d3be5474f6e6 udebug-cli: ignore zero-length messages in logstream c79f02d899df ucode: fix skipping lines where the timestamp cannot be parsed 5327524e7153 cmake: bump minimum required version to 3.13
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
If transmissions are done outside of the DSA switch (directly from the CPU
port), the STP state must not block the transmission. Otherwise, STP frames
are not correctly submitted and the STP frames cannot correctly detect
loops before switching a port in the forwarding state.
The same applies for the LLDP frames. These must be submitted independent
of the STP state to identify neighbors or configure POE limits.
It is not necessary to filter specific destination mac addresses because
the transmission was done outside the bridge/switch in the first place. The
transmission is therefore forced.
Signed-off-by: Issam Hamdi <ih@simonwunderlich.de> Co-developed-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Sven Eckelmann <sven@narfation.org> Link: https://github.com/openwrt/openwrt/pull/20184 Signed-off-by: Robert Marko <robimarko@gmail.com>
realtek: rtl93xx: dsa: Add support for port based mirroring
The RTL930X and RTL931X SoCs support port-based, flow-based, and
RSPAN-based mirroring. Like for other SoCs from the realtek target, only
the port based port mirroring can be exposed using Linux's tc subsystem.
The port_mirror_add() implementation was updated with the following
considerations for RTL93xx SoCs:
* mirrored packets must pass through the TX pipeline of the mirroring
port, so they are subject to configuration such as VLAN tagging,
remarking, and EVC
* when a packet hits both source ports (SPM) and destination port (DPM) of
a mirror group, the egress port traffic will be mirrored
The port_mirror_del() function doesn't require any modifications.
Signed-off-by: Sharadanand Karanjkar <sk@simonwunderlich.de> Co-developed-by: Sven Eckelmann <se@simonwunderlich.de> Signed-off-by: Sven Eckelmann <se@simonwunderlich.de> Link: https://github.com/openwrt/openwrt/pull/20264 Signed-off-by: Robert Marko <robimarko@gmail.com>
Sven Eckelmann [Tue, 15 Jul 2025 17:48:05 +0000 (19:48 +0200)]
realtek: dsa: Keep HW specific mirror code in SoC helper
Instead of using a lot of if-else blocks in the port mirror code, provide
SoC specific function which calculates the SoC specific portions. The
generic part of the port mirroring code can then simply operate on the
calculated register addresses and values.
Suggested-by: Markus Stockhausen <markus.stockhausen@gmx.de> Signed-off-by: Sven Eckelmann <se@simonwunderlich.de> Link: https://github.com/openwrt/openwrt/pull/20264 Signed-off-by: Robert Marko <robimarko@gmail.com>
Paul Spooren [Wed, 1 Oct 2025 13:22:38 +0000 (15:22 +0200)]
package: generate sha256sums by default
Right now the sha256sums are only created for the targets/ folder (i.e.
firmware images) and only the buildbot generates those sha256sums. Instead, let
the build system create the sha256sums directly.
Til Kaiser [Thu, 2 Oct 2025 13:01:35 +0000 (15:01 +0200)]
kernel: modules: fix mlxreg dependency to avoid deferred probe
The mlxreg-hotplug platform driver was failing to probe due to a missing
I²C multiplexer dependency. Previously, only kmod-i2c-mux-mlxcpld was
declared, but mlxreg also requires kmod-i2c-mux-reg to initialize its
I²C mux functionality.
Without this dependency, the driver probe was deferred:
The FIT loadaddr on RK3308/RK3566/RK3568/RK358x is 0x02000000
instead of 0x02080000, while on RK3576 it's 0x42000000, which is
quite different from the former SoCs and incompatible with current
kernel loadaddr value.
Jonas Jelonek [Fri, 12 Sep 2025 19:33:18 +0000 (19:33 +0000)]
realtek: rtl93xx: replace pending I2C patches with upstreamed patches
Replace the pending I2C backport patches for RTL93XX added in 44655c97bb with the upstreamed variants. The patches have been accepted
upstream in the meantime and are included in v6.17 or v6.18.
As shown above, the SPI master controller shares its pin with GPIO 8, 9,
10, 11, 12. In some upcoming devices (like the Plasma Cloud PSX28/ESX28),
they will be used for SFP cage signaling. These pins must therefore be
switched manually to the GPIO mode.
The SPI_CTRL0 register provides all necessary configuration to enforce the
GPIO mode of the pins. And until more requirements (and a correct driver)
for the SPI master controller arise, it is therefore possible to use
pinctrl-single to configure it using the devicetree.
Previously the ethernet driver did configure the SPI master controller for
31.25 MHz. It is unknown for which kind of device this was originally made
and what was actually connected there. But this manual write to the
register conflicts potentially with the write of the pinctrl driver to the
same register. Luckily, we don't need this SPI speed configuration in the
ethernet driver. Still, to allow this device an easy migration, the
`spi0-31mhz` configuration was already prepared.
mac80211: ath: improve ath10k "failed to flush transmit queue" errors
Currently, in busy environments, ath10k logs "failed to flush transmit
queue" errors and have a spiking CPU usage, making the wireless barely
usable.
With this patch, taken from https://patchwork.kernel.org/project/linux-wireless/patch/20250806070005.1429-1-hujy652@gmail.com/
this does not occur in normal operation and the wifi is much more stable
Felix Fietkau [Wed, 1 Oct 2025 08:08:44 +0000 (10:08 +0200)]
netifd: update to Git HEAD (2025-09-30)
c3bf8fd913a4 interface: fix reload for devices that point to vlan aliases 22216cac7c94 bridge: fix reload when ports refer to aliased vlans on another bridge ecca21ca07dd system: add logging wrappers for basic system functions
Sven Eckelmann [Tue, 30 Sep 2025 07:06:57 +0000 (09:06 +0200)]
realtek: Work around missing 10g-qxgmii PHY mode
The current SerDes implementation for RTL931x handles 10G-QXGMII via the
"usxgmii" PHY mode. This is not 100% correct because it is not a single
port with 10G (max) but 4 ports with 2.5G each.
To allow setting of the "10g-qxgmii" phy mode, just change the code for now
to use the same codepaths as USXGMII. This has to be cleaned up further
during the SerDes driver rewrites.
Suggested-by: Markus Stockhausen <markus.stockhausen@gmx.de> Signed-off-by: Sven Eckelmann <se@simonwunderlich.de> Link: https://github.com/openwrt/openwrt/pull/20239 Signed-off-by: Robert Marko <robimarko@gmail.com>
Sven Eckelmann [Wed, 30 Jul 2025 05:39:32 +0000 (07:39 +0200)]
realtek: rtl931x: Enable REALTEK_PHY for RTL8224 support
The Plasma Cloud PSX28 and ESX28 are using RTL8224 as ethernet PHY. This
phy works perfectly fine on PSX8/PSX10 (RTL930x) but failed to establish a link
on rtl931x because the upstream realtek phy driver was not enabled.
uboot-mediatek: rax3000m: use ddr3-1866mhz built in the dependency
The u-boot of cmcc_rax3000m_*-ddr3 declares a dependency on
trusted-firmware-a-mt7981-*-ddr3-1866mhz, while actually packages
the normal BL2. This causes build failure if the the non-1866m
variant isn't built.
According to the previous commit, it's intended to use the lower
frequency variant to fix device stability issues. Correct
BL2_DDRTYPE as intended.
Paul Spooren [Tue, 30 Sep 2025 12:17:11 +0000 (14:17 +0200)]
include: make APK packing mtime reproducible
APK kindly stores the mtime of each containing file in created packages,
breaking reproducibility. As a fix, touch all files of the package with the
timestamp of PKGSOURCE_DATE_EPOCH, which contains the timestamp based on the
last package modification.
Over at OPKG, something similar is done by setting mtime in the tar command,
see the `ipkg-build` script.
To tackle this in APK directly, some changes are suggested. However until this
is merged, we should fix it downstream.
https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/348
realtek: rtl931x: set hash_msb based on VLAN ID when adding a new L2 entry
During testing, we discovered that when adding a new offload FDB rule
on certain VLANs and then delete it, does not work as expected.
Steps to Reproduce:
* Create VLAN 4094 on the port lan1:
bridge vlan add vid 4094 dev lan1 pvid
* Add a new FDB entry on port lan1 for VLAN 4094:
bridge fdb add 00:01:02:22:33:44 dev lan1 vlan 4094 master permanent
* Delete the new FDB entry on port lan1 for VLAN4094
bridge fdb del 00:01:02:22:33:44 dev lan1 vlan 4094 master permanent
Root Cause:
The failure occurs because the hash_msb flag is not set correctly
based on the VLAN ID when adding a new L2 entry.
Signed-off-by: Issam Hamdi <ih@simonwunderlich.de> Signed-off-by: Sven Eckelmann <se@simonwunderlich.de> Link: https://github.com/openwrt/openwrt/pull/20183 Signed-off-by: Robert Marko <robimarko@gmail.com>
Sven Eckelmann [Fri, 26 Sep 2025 09:57:20 +0000 (11:57 +0200)]
realtek: Switch booleans in rtl838x_l2_entry to single bits
In upstream kernel, it is not well received to use a lot of simple booleans
in structs. It is preferred to use 1-bit bitfields [1] and consolidate the
booleans together.
John Thomson [Thu, 16 May 2024 00:16:53 +0000 (10:16 +1000)]
image: adapt mikrotik yafut to allow switch to bootimage YAFFS path
Adjust the YAFFS file path written depending on the sysupgrade
filename.
Default to kernel (for ELF), switch to bootimage (for NPK) if image name
has v7.
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
John Thomson [Sun, 22 Jan 2023 11:34:43 +0000 (21:34 +1000)]
build: add Mikrotik NOR RouterBOOT v7 image build
Add build step 'kernel-pack-npk' which uses 'npk_pack_kernel' which is now
part of firmware-utils to enable wrapping the kernel inside a MikroTik NPK
package.
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 23 Sep 2025 22:30:03 +0000 (23:30 +0100)]
firmware-utils: update to git HEAD
7e6f69b npk_pack_kernel: add tool for creating MikroTik NPK kernel packages d3f8b6e zynsig: add new tool for creating images for the ZyXEL GS1920 series 9fa340d ptgen: create separate images for gpt data structure 78d8084 ptgen: allow image generation for a specified disk size 3f2d148 ptgen: allow non-default placement of gpt entry table f1f98b0 ptgen: do not create stub partition to fill a gap if gap caused by alignment 6ea8b6d ptgen: fix protective MBR partition size febfef7 ptgen: use long long instead of long for sizes 996dc48 ptgen: fix misprint and simplify calculation a bit 0725c3d build: require CMake >= 3.5 due to dropped legacy support
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
scripts/patch-kernel.sh: do not try to check files after patch
Since we are not using patch -b, *.orig files are only created when
there are conflicts, or never according to posix patch.
As such, it doesn't really make sense to always delete *.orig files
presuming they are patch backups, even if they are patch backups.
Doing so is both deleting potentially useful information for failed
patch applications and creating hard to diagnose bugs [1].
In a similar vein, checking for *.rej files does not add any value
since we're already checking the patch command's return code.
Felix Fietkau [Mon, 29 Sep 2025 07:45:45 +0000 (09:45 +0200)]
wpa_supplicant: MLO bringup order
Do not allow hostapd phy state update to bring up links as long between mld_set
and mld_start calls. Configuration on other PHYs could still be pending.
Felix Fietkau [Sun, 28 Sep 2025 18:55:57 +0000 (20:55 +0200)]
hostapd: fix an AP+STA corner case on MLO APs
Bring up AP interfaces, even if no frequency update was provided.
Fixes bringup when a MLO STA on the same radios connects to fewer links
than available, or to a non-MLD AP.
Add missing syscon compatible for scuclk node.
Fix the unit-address of the scuclk node.
This fixes the pcs driver error:
airoha-pcs 1fa08000.pcs: probe with driver airoha-pcs failed with error -22
airoha-pcs 1fa09000.pcs: probe with driver airoha-pcs failed with error -22
Fixes: c3d70b1 ("airoha: en7581: Add support for external PHY") Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/20190 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Chukun Pan [Fri, 26 Sep 2025 15:02:15 +0000 (23:02 +0800)]
airoha: fix pinctrl driver function bug
The pinctrl driver for airoha was expecting a function name that was
not a string, but was passed one. Removing #string fixed this issue.
Fixes: c5b12fc ("airoha: Introduce support for Airoha AN7583 SoC") Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/20190 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Chukun Pan [Thu, 18 Sep 2025 14:30:18 +0000 (22:30 +0800)]
airoha: remove duplicate AN7581 PHY patch
This patch already exists in generic/backport-6.12.
Fixes: 122135b ("airoha: an7581: add support for kernel 6.12") Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/20190 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Chukun Pan [Tue, 9 Sep 2025 15:06:02 +0000 (23:06 +0800)]
airoha: set default DEVICE_DTS/DEVICE_DTS_DIR
All devices under airoha use dts directory under the target,
so update the default DEVICE_DTS_DIR. Also set the default
DEVICE_DTS based on the SoC name for non-dev boards.
Add support for swapping the Serdes TX line on RTL8261N PHYs.
This is used on an Arcadyan Mozart board where the Serdes TX is swapped
on the PHY (instead of on the Soc) to permit support of SFP module by
using toggling the integrated MUX.
Felix Fietkau [Sun, 28 Sep 2025 14:25:01 +0000 (16:25 +0200)]
iwinfo: drop @!WIFI_SCRIPTS_UCODE dependency
Make the package empty if ucode wifi scripts are being used (since iwinfo is
provided by wifi-scripts in that case). This fixes packages that explicitly
select iwinfo
Do not always try to include iwinfo in the images when wpa supplicant or
Broadcom nas is also included. iwinfo is incompatible with current
default configuration.
iwinfo is only build when CONFIG_WIFI_SCRIPTS_UCODE is not set. If
CONFIG_WIFI_SCRIPTS_UCODE is not set kmod-cfg80211 depends on iwinfo,
so it should be included in all images with wifi drivers.
The CONFIG_WIFI_SCRIPTS_UCODE option was recently changed to be active
by default.
This should fix the current buildbot build failures.
This reverts commit 6435b8bb27ea ("build: include iwinfo by default
if nas or wpad(-mini) is selected")