Oldřich Jedlička [Fri, 1 Aug 2025 20:38:10 +0000 (22:38 +0200)]
wifi-scripts: ucode: print unknown ssid as unknown
Currently it is printed as "null" (including quotes). Display it the same
as old iwinfo as unknown (no quotes).
Signed-off-by: Oldřich Jedlička <[email protected]>
Oldřich Jedlička [Mon, 1 Sep 2025 21:57:33 +0000 (23:57 +0200)]
wifi-scripts: ucode: fix dynamic_vlan value handling
The dynamic_vlan has values 0 (disabled), 1 (optional) and 2 (required).
Signed-off-by: Oldřich Jedlička <[email protected]>
Oldřich Jedlička [Tue, 29 Jul 2025 08:10:58 +0000 (10:10 +0200)]
wifi-scripts: ucode: set default wildcard mac for wifi-station
When creating the PSK file, the old script sets `mac` to
`00:00:00:00:00:00` when `mac` is not specified (see [here][1]),
creating hostapd configuration lines like:
vlanid=10 00:00:00:00:00:00 MyStrongPassword
That matches any MAC address (a wildcard). The `ucode` script alternative
misses the default, so set it.
[1]: https://github.com/openwrt/openwrt/blob/
9c26d144893c25e484ca97c7a3f58cdec6767465/package/network/config/wifi-scripts/files/lib/netifd/hostapd.sh#L428
Signed-off-by: Oldřich Jedlička <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
Markus Stockhausen [Wed, 27 Aug 2025 07:45:42 +0000 (03:45 -0400)]
realtek: convert access to RTL931x "even CMU" serdes pages
Currently the calculation for the CMU (even) SerDes works similar
to this pseudo code.
analog_backend_serdes = get_analog_serdes(frontend_serdes);
even_backend_serdes = analog_backend_serdes & ~1;
write_to(even_backend_serdes);
Because of the SerDes layout and frontend/backend mapping this can
be swapped to the following order with the same resulting Serdes.
even_frontend_serdes = frontend_serdes ~1;
analog_backend_serdes = get_analog_serdes(even_frontend_serdes);
write_to(analog_backed_serdes);
In the later example the frontend/backend mapping code is already
in our new functions. So swap the calculation logic and use the
new access functions. This allows to finally drop the old access
functions without mapping.
From now on all RTL931x SerDes functions will use a consistent
frontend view.
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19873
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Tue, 26 Aug 2025 14:07:58 +0000 (10:07 -0400)]
realtek: convert access to RTL931x "digital 2" serdes pages
The RTL931x has 14 frontend and at least 26 backend serdes. Currently
the programming functions always need to determine the right backend
serdes from the given frontend serdes on their own. We plan to provide
a consistent serdes mapping to all callers.
As the third step make use of these new functions whenever we want to
access the "digital 2" pages. The pages are mapped starting at 0x200.
So the function conversion is as simple as this:
Old:
dsds = (sds - 1) * 2;
rtmdio_931x_read_sds_phy(dsds + 1, page, ...)
New:
rtmdio_931x_read_sds_phy_new(sds, page + 0x200, ...)
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19873
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Tue, 26 Aug 2025 13:41:11 +0000 (09:41 -0400)]
realtek: adapt RTl931x "digital 2" serdes page calculation
The more we step down into the SerDes deeps the more confusing it
gets. Nevertheless it is not to late to fix a wrong assumption.
Until now it seemed as if the frontend/backend SerDes mapping is
totally without intersection. This is not true.
The backend SerDes mapping is also dependent on the mode. Especially
the proprietary Realtek XSGMII mode stands out from all other
mappings. So fix the descriptions and the calculation of the third
page package (digital 2 aka XSGMII 2).
As it was not yet used it had no impact.
Fixes: a4cbb44c1b ("realtek: convert access to RTL931x analog serdes pages")
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19873
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Tue, 26 Aug 2025 11:30:55 +0000 (07:30 -0400)]
realtek: convert access to RTL931x "digital 1" serdes pages
The RTL931x has 14 frontend and at least 26 backend serdes. Currently
the programming functions always need to determine the right backend
serdes from the given frontend serdes on their own. We plan to provide
a consistent serdes mapping to all callers.
As the second step make use of these new functions whenever we
want to access the digital 1 pages. The pages are mapped starting
at 0x100. So the function conversion is as simple as this:
Old:
dsds = (sds - 1) * 2;
rtmdio_931x_read_sds_phy(dsds, page, ...)
New:
rtmdio_931x_read_sds_phy_new(sds, page + 0x100, ...)
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19873
Signed-off-by: Hauke Mehrtens <[email protected]>
Felix Fietkau [Mon, 1 Sep 2025 17:40:16 +0000 (19:40 +0200)]
bridger: update to Git HEAD (2025-09-01)
7a86ef53075a fix running bridger with stderr debug output
f6afcb04f2ef nl: add missing dump flag for RTM_GETTFILTER
Signed-off-by: Felix Fietkau <[email protected]>
Markus Stockhausen [Fri, 29 Aug 2025 17:45:51 +0000 (13:45 -0400)]
realtek: RTL838x: remove artifical mdio delays
For some reason 3 of the 4 mdio access functions contain an
artifical delay of 10ms. While it might have been part of
older Realtek SDKs it can no longer be found in current ones.
Remove the delays.
While we are here remove the pre-access bus ready checks.
It is sufficient to run them after the command start. If
anything fails the caller will get an error. This is the
same behaviour as for the other targets.
Finally cleanup the error handling. Something like this makes
no sense at all.
err = rtmdio_838x_smi_wait_op(100000);
if (err)
goto errout;
err = 0;
errout:
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19901
Signed-off-by: Robert Marko <[email protected]>
Goetz Goerisch [Fri, 29 Aug 2025 09:03:10 +0000 (11:03 +0200)]
kernel: bump 6.6 to 6.6.103
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.103
removed upstream patches:
generic-backport/220-v6.16-powerpc-boot-fix-build-with-gcc-15.patch [1]
generic-backport/847-v6.17-Revert-leds-trigger-netdev-Configure-LED-blink-inter.patch [2]
update patch to upstream function change
bcm53x/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
changed function xhci_disable_and_free_slot() upstream [3]
All other patches auto-refreshed.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.103&id=
93879b3ba967a33834727abf34ea08764339fe0b
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.103&id=
c66caf21b1d0a0847adc34d368e3f6753a2cbd53
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/usb/host?h=v6.6.103&id=
e600de541c37f97482fea2a7a26f186141e7ddea
Suggested-by: Leo Barsky <[email protected]>
Signed-off-by: Goetz Goerisch <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19898
Signed-off-by: Hauke Mehrtens <[email protected]>
Felix Fietkau [Sun, 31 Aug 2025 21:48:10 +0000 (23:48 +0200)]
perf: fix disabling BUILD_BPF_SKEL
The makefile uses ifdef to check, so the variable needs to be empty
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Sun, 31 Aug 2025 21:47:32 +0000 (23:47 +0200)]
perf: set NO_JEVENTS=1 to fix build
Needed for disabling the python requirement
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Sun, 31 Aug 2025 18:28:52 +0000 (20:28 +0200)]
kernel: mtk_eth_soc: fix tx vlan tag for llc packets
When sending llc packets with vlan tx offload, the hardware fails to
actually add the tag. Deal with this by fixing it up in software.
Fixes: https://github.com/openwrt/openwrt/issues/19916
Reported-by: Thibaut VARENE <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
Rosen Penev [Thu, 28 Aug 2025 00:34:01 +0000 (17:34 -0700)]
treewide: add const to struct of_device_id
Most drivers have this as const. Especially upstream in the kernel.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19911
Signed-off-by: Hauke Mehrtens <[email protected]>
Daniel Golle [Sun, 31 Aug 2025 01:24:04 +0000 (02:24 +0100)]
mediatek: backport patches fixing thermal on MT7988
Import upstream patches fixing issues with unreliable temperature
reading on some batches of the MediaTek MT7988 SoCs.
Signed-off-by: Daniel Golle <[email protected]>
Felix Baumann [Wed, 27 Aug 2025 17:12:43 +0000 (19:12 +0200)]
realtek: correct whitespace in hp dts files
Make whitespace consistent, replace 8 spaces by tab
Fixes: 502b2f4ee5a4 ("realtek: switch HP-1920-48G to new shared gpio driver")
Signed-off-by: Felix Baumann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19887
Signed-off-by: Hauke Mehrtens <[email protected]>
John Audia [Thu, 28 Aug 2025 18:53:27 +0000 (14:53 -0400)]
kernel: bump 6.12 to 6.12.44
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.44
Removed upstreamed:
generic-backport/220-v6.16-powerpc-boot-fix-build-with-gcc-15.patch[1]
imx/patches-6.12/506-pending-PCI-imx6-Remove-apps_reset-toggle-in-_core_reset-function.patch[2]
All other patches automatically rebased.
1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.44&id=
e42ac65e257b875614dd8f435b026a3e379e92e6
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.44&id=
90fa5884bc8f52cbf493492e32978c723c85e6ab
Build system: x86/64 (Intel N150 based)
Build-tested: flogic/gl.inet-gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc
Run-tested: flogic/gl.inet-gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc
Signed-off-by: John Audia <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19892
Signed-off-by: Hauke Mehrtens <[email protected]>
John Audia [Sat, 30 Aug 2025 11:26:03 +0000 (07:26 -0400)]
pcre2: bump to 10.46
Update to latest version.
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.46/ChangeLog
Tested with snort3, no regressions.
Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc (Intel N150 based box)
Signed-off-by: John Audia <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19904
Signed-off-by: Nick Hainke <[email protected]>
Felix Fietkau [Sat, 30 Aug 2025 16:22:10 +0000 (18:22 +0200)]
wifi-scripts: ucode: fix starting without wpa_supplicant or hostapd
Fixes: 79f8a83eb933 ("wifi-scripts: ucode: unconditionally call hostapd/supplicant setup")
Signed-off-by: Felix Fietkau <[email protected]>
Damien Dejean [Wed, 20 Aug 2025 16:07:37 +0000 (18:07 +0200)]
realtek: add 2500base-x patch sequence.
Adds the SerDes patch sequence for 2500base-x to improve the support of
devices with minimal bootloaders (like BootBase). The sequences were
imported from [1] for even lanes and [2] for odd lanes.
[1] https://github.com/ddejean/dms-1250-oss-release/blob/main/sdk/sdk_rtk_switch/rtk-sdk/src/dal/longan/dal_longan_construct.c#L641
[2] https://github.com/ddejean/dms-1250-oss-release/blob/main/sdk/sdk_rtk_switch/rtk-sdk/src/dal/longan/dal_longan_construct.c#L664
Signed-off-by: Damien Dejean <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19834
Signed-off-by: Hauke Mehrtens <[email protected]>
Damien Dejean [Wed, 20 Aug 2025 16:07:37 +0000 (18:07 +0200)]
realtek: allow different serdes patch sequences
Prepare the SerDes patch function to allow different patch sequences
depending on the phy mode. Patches are required to allow devices with a
lightweight bootloader (one that doesn't have a "rtk network init"
command) to use the serdes. Some modes required a different patch
sequence than the one currently used.
Signed-off-by: Damien Dejean <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19834
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Wed, 27 Aug 2025 17:51:55 +0000 (13:51 -0400)]
generic: fix c45 soft reset for RTL8221B
The addition of the soft_reset() function to the RTL8221B PHYs
missed to take care of C22/C45 standalone PHY versions. Especially
on RTL930x switch devices with these PHY the reset fails for the
C45 operation mode. This comes from the fact that the mdio bus
disables C22 read/writes when being set to C45.
Upstream has gained a proper C45 reset function. Use it for the
C45 PHY models.
Fixes: 7e3284eef7f ("generic: use genphy_soft_reset for RealTek 2.5G PHYs")
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19843
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Sun, 24 Aug 2025 18:10:30 +0000 (14:10 -0400)]
realtek: XGS1210-12: convert RTL8226 PHYs to 2500base-x
We reached the point of no return. Upstream has gained the final
bits for the RTL8226 PHYs. That means.
- RTL8226 MAC side behaves like RTL8221(B)
- It's serdes no longer uses proprietary HSGMII (2.5G SGMII)
- Instead it dynamically switches between SGMII and 2500base-x
This (partly) solves one of the central henn/egg problems of the
Realtek target. To change the MAC/PHY interface mode both sides
need to have all bits in place to do so. But where to start if
so much needs to be done?
Now the PHY side has created facts and it mitigates a lot of
problems. All downstream HSGMII patches and coding can be dropped
in the future.
For now only adapt the only DTS that still maps PHYs to HSGMII.
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19843
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Sun, 24 Aug 2025 09:23:13 +0000 (05:23 -0400)]
generic: backport upstream v6.18 Realtek PHY patch
3a752e678 net: phy: realtek: enable serdes option mode for RTL8226-CG
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19843
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Sun, 24 Aug 2025 07:51:59 +0000 (03:51 -0400)]
generic: backport upstream v6.18 Realtek PHY patch
34167f1a0 net: phy: realtek: convert RTL8226-CG to c45 only
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19843
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Wed, 20 Aug 2025 06:25:44 +0000 (02:25 -0400)]
realtek: phy: add RTL8214x/RTL8218x patch helper
The patching sequence of the RTL8214x/8218x is very similar.
Especially the preparation for readiness is always the same.
Provide a common helper to improve readability.
While we are here clean up the changed functions
- Sort variable definitions according to upstream
- simplify some messages
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19810
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Tue, 19 Aug 2025 11:38:57 +0000 (07:38 -0400)]
realtek: phy: drop use of mdio package functions
Our phy driver can handle some multiport phys (e.g. RTL8218B
or RTL8214FC). To access arbitrary ports some package access
functions have been defined. These were implemented in the
mdio bus with poor knowledge about the phy/mdio dependencies.
So they add unneeded complexity to the bus and the phy driver
must access these external functions directly.
Provide a new helper get_package_phy() that can derive any
phy device in a package from a given phy of that package.
Make use of this local helper and cut the mdio dependency.
While we refactor several firmware patching functions rename
the loop variables to "port" to better indicate what we are
working on.
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19810
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Tue, 19 Aug 2025 10:46:41 +0000 (06:46 -0400)]
realtek: simplify RTL8214FC handling
Now that we have a get_base_phy() function a lot code of the RTL8214FC
handling can be cleaned up. To name a few:
- use phy_read/phy_write instead of mdiobus functions or the even worse
phy_package_..._paged() helpers
- replace messages with phydev_info()
- remove if/else statements around copper/fibre handling
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19810
Signed-off-by: Hauke Mehrtens <[email protected]>
Markus Stockhausen [Tue, 19 Aug 2025 09:06:37 +0000 (05:06 -0400)]
realtek: phy: late phy package patching
Currently phy packages (like RTL8214x/RTL8218x) are patched and
initialized as soon as the first phy of the package is found.
In this situation the shared structure is not finalized because
devm_phy_package_join() has only been called for the first phy.
This is no issue as the patching directly hammers the bus addresses
for the follow-up phys.
In the future we want to simplify the package handling and allow
to access all phy_device structures from only one phy_device of
the package. With this we can use normal phy_read/phy_write.
Switch the probing logic to "late patching". With this we will
initialize the firmware of the package when the last phy of the
package has been found and thus the shared structure is complete.
Provide get_base_phy() as the first package helper that allows
to determine the first phy of the package from any other phy.
While we are here drop the shared structure that only repeats the
phy name and has no other use.
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19810
Signed-off-by: Hauke Mehrtens <[email protected]>
Felix Fietkau [Fri, 29 Aug 2025 17:26:01 +0000 (19:26 +0200)]
wifi-scripts: ucode: add missing fields to spec
Silence warnings
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Fri, 29 Aug 2025 14:54:36 +0000 (16:54 +0200)]
wifi-scripts: ucode: unconditionally call hostapd/supplicant setup
Ensure that interfaces can be deleted properly
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Fri, 29 Aug 2025 13:03:28 +0000 (15:03 +0200)]
wifi-scripts: default to sae_pwe=2 in client mode
Improves compatibility
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Thu, 28 Aug 2025 12:48:42 +0000 (14:48 +0200)]
mac80211: add support for MLD AP client probing
Select a link for outgoing probe packets
Signed-off-by: Felix Fietkau <[email protected]>
Hauke Mehrtens [Tue, 26 Aug 2025 22:58:12 +0000 (22:58 +0000)]
kernel: bump 6.6 to 6.6.102
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.102
Added backport to fix ipv6 breakage with the 6.12.42 release:
generic/backport-6.6/621-proc-fix-missing-pde_set_flags.patch[1]
All patches auto-refreshed.
1. https://lore.kernel.org/all/
20250821105806.
1453833[email protected]
Link: https://github.com/openwrt/openwrt/pull/19876
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sun, 24 Aug 2025 13:35:19 +0000 (13:35 +0000)]
kernel: bump 6.6 to 6.6.101
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.101
All patches auto-refreshed.
Manually modified:
backport-6.6/413-01-v6.14-mtd-rawnand-qcom-cleanup-qcom_nandc-driver.patch
Link: https://github.com/openwrt/openwrt/pull/19876
Signed-off-by: Hauke Mehrtens <[email protected]>
Harshal Gohel [Fri, 11 Jul 2025 15:58:32 +0000 (15:58 +0000)]
realtek: rtl930x: Add support for Plasma Cloud PSX10 Switch
The Plasma Cloud PSX10 Switch is a 8 + 2 port multi-GBit switch with
8x 10/100/1000/2500BaseT Ethernet ports and 2x SFP+ module slot.
Hardware:
- RTL9302C SoC
- Macronix MX25L25645G (32MB flash)
- Winbond W632GU6NB-12 (256MB DDR3 SDRAM - only 128 MB configured*)
- 2x RTL8224 4x 10m/100m/1/2.5 Gigabit PHY
- SFP+ 2x 10GBit slot
- IC+ IP8008 POE+ PSE controller
The switch is powered by 54 Volts 2.77A barrel connector. The internal TTL
serial connector can be used to access the terminal. Pins from 1: TX RX
(unused) GND. Serial connection is via 115200 baud, 8N1.
A reset button is accessible through a hole in the front panel.
*) Only 128 MB of RAM are currently configured because there were
infrequent random memory corruptions detected when using memtester with a
256 MB DT configuration. This could also be reproduced with RTLSDK.
Installation
------------
* The device can be flashed by using sysupgrade command. Either from the
original vendor firmware or using an initramfs (see "Debug")
* Connect serial as per the layout above. Connection parameters: 115200 8N1
* The image must be copied using scp to /tmp of the device
scp openwrt-realtek-rtl930x-plasmacloud_psx10-squashfs-sysupgrade.bin root@[IP address of the device]:/tmp/
* start sysupgrade without saving the original vendor configuration
sysupgrade -n /tmp/openwrt-realtek-rtl930x-plasmacloud_psx10-squashfs-sysupgrade.bin
Installation via u-boot
-----------------------
If you have an TFTP server connected to the switch, it is possible to
directly install the device using the factory image from u-boot
# setup networking and IP of TFP server
rtk network on
setenv ipaddr 10.100.100.99
setenv serverip 10.100.100.20
# get factory image
tftp 0x84000000 factory.bin
# erase firmware partitions
sf probe 0
sf erase 0x100000 0x01f00000
# write firmware to both partitions
sf write ${fileaddr} 0x100000 ${filesize}
sf write ${fileaddr} 0x1080000 ${filesize}
# adjust the boot commands
setenv bootargs "mtdparts=spi0.0:896k(u-boot),64k(u-boot-env),64k(u-boot-env2),15872k(inactive),15872k(firmware2)"
setenv bootcmd "rtk init; bootm 0xb5080000"
# restart
reset
Debug
-----
* Connect serial as per the layout above. Connection parameters: 115200 8N1.
* A tftp server is required, tftpd-hpa works well.
* Power the device, at U-Boot start rapidly hit Esc key to stop autoboot
* Enable network:
rtk network on
* Change ip address of device:
setenv ipaddr 192.168.1.6
* Download initramfs from TFTP server:
tftpboot 0x84000000 192.168.1.111:openwrt-realtek-rtl930x-plasmacloud_psx10-initramfs-kernel.bin
* Boot loaded file:
bootm 0x84000000
Signed-off-by: Harshal Gohel <[email protected]>
Co-developed-by: Sharadanand Karanjkar <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19362
Signed-off-by: Hauke Mehrtens <[email protected]>
Harshal Gohel [Fri, 11 Jul 2025 15:58:32 +0000 (15:58 +0000)]
realtek: rtl930x: Add support for Plasma Cloud PSX8 Switch
The Plasma Cloud PSX8 Switch is a 8 port multi-GBit switch with
8x 10/100/1000/2500BaseT Ethernet ports.
Hardware:
- RTL9302C SoC
- Macronix MX25L25645G (32MB flash)
- Winbond W632GU6NB-12 (256MB DDR3 SDRAM - only 128 MB configured*)
- 2x RTL8224 4x 10m/100m/1/2.5 Gigabit PHY
- IC+ IP8008 POE+ PSE controller
The switch is powered by 54 Volts 2.77A barrel connector. The internal TTL
serial connector can be used to access the terminal. Pins from 1: TX RX
(unused) GND. Serial connection is via 115200 baud, 8N1.
A reset button is accessible through a hole in the front panel.
*) Only 128 MB of RAM are currently configured because there were
infrequent random memory corruptions detected when using memtester with a
256 MB DT configuration. This could also be reproduced with RTLSDK.
Installation
------------
* The device can be flashed by using sysupgrade command. Either from the
original vendor firmware or using an initramfs (see "Debug")
* Connect serial as per the layout above. Connection parameters: 115200 8N1
* The image must be copied using scp to /tmp of the device
scp openwrt-realtek-rtl930x-plasmacloud_psx8-squashfs-sysupgrade.bin root@[IP address of the device]:/tmp/
* start sysupgrade without saving the original vendor configuration
sysupgrade -n /tmp/openwrt-realtek-rtl930x-plasmacloud_psx8-squashfs-sysupgrade.bin
Installation via u-boot
-----------------------
If you have an TFTP server connected to the switch, it is possible to
directly install the device using the factory image from u-boot
# setup networking and IP of TFP server
rtk network on
setenv ipaddr 10.100.100.99
setenv serverip 10.100.100.20
# get factory image
tftp 0x84000000 factory.bin
# erase firmware partitions
sf probe 0
sf erase 0x100000 0x01f00000
# write firmware to both partitions
sf write ${fileaddr} 0x100000 ${filesize}
sf write ${fileaddr} 0x1080000 ${filesize}
# adjust the boot commands
setenv bootargs "mtdparts=spi0.0:896k(u-boot),64k(u-boot-env),64k(u-boot-env2),15872k(inactive),15872k(firmware2)"
setenv bootcmd "rtk init; bootm 0xb5080000"
# restart
reset
Debug
-----
* Connect serial as per the layout above. Connection parameters: 115200 8N1.
* A tftp server is required, tftpd-hpa works well.
* Power the device, at U-Boot start rapidly hit Esc key to stop autoboot
* Enable network:
rtk network on
* Change ip address of device:
setenv ipaddr 192.168.1.6
* Download initramfs from TFTP server:
tftpboot 0x84000000 192.168.1.111:openwrt-realtek-rtl930x-plasmacloud_psx8-initramfs-kernel.bin
* Boot loaded file:
bootm 0x84000000
Signed-off-by: Harshal Gohel <[email protected]>
Co-developed-by: Sharadanand Karanjkar <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19362
Signed-off-by: Hauke Mehrtens <[email protected]>
Harshal Gohel [Fri, 11 Jul 2025 15:58:32 +0000 (15:58 +0000)]
realtek: Introduce Plasma Cloud sysupgrade helper
Plasma Cloud devices use a dual-firmware regions/slots boot mechanism. On
APs, the u-boot is "intelligent" and checks the NOR/NAND partitions (kernel
+ rootfs) for corruption via "datachk". If validation fails, the bootloader
automatically switches to the fallback partition.
On Realtek-based switches, this "datachk" helper is not available.
However, the bootloader still supports two firmware regions/slots.
When flashing a new image, the "inactive" partition is written instead of
overwriting the active one. If no "inactive" partition exists but
"firmware1" is present, the bootloader always treats "firmware1" as
fallback. Only after a successful flash is the `u-boot-env` updated to
select the newly written partition.
On reboot, the bootloader loads the kernel from the new partition and
passes `mtdparts` information as the kernel cmdline. The Plasma Cloud
switch device tree does not override this with a `bootargs` property, so
the active partition layout is honored from cmdline.
Since offsets, sizes, and names of partitions match between the device tree
and cmdline (except the inactive slot), properties and nodes such as
`nvmem-cells` or `compatible` remain fully usable.
This mechanism also allows switching back to the old firmware slot. For
example, if `firmware1` is currently active (`/proc/mtd` shows it), it can
be switched to slot 2 using:
. /lib/upgrade/upgrade_dualboot.sh
set_boot_part 2
reboot
Firmware upgrades use standard `sysupgrade` tarballs, chosen for
compatibility with vendor images. In theory, one can switch between vendor
and OpenWrt with:
sysupgrade -n /tmp/*-squashfs-sysupgrade.bin
Note: configuration files must not be preserved, as they are not compatible
with vanilla OpenWrt.
Signed-off-by: Harshal Gohel <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19362
Signed-off-by: Hauke Mehrtens <[email protected]>
Harshal Gohel [Mon, 14 Apr 2025 13:16:47 +0000 (13:16 +0000)]
realtek: rtl930x: Enable parsing of u-boot nvmem layouts
To be able to read out the ethaddr from the u-boot environment for MAC
address configuration, it is required to also enable the NVMEM layout
parsing code for the U-Boot env layout.
Signed-off-by: Harshal Gohel <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19362
Signed-off-by: Hauke Mehrtens <[email protected]>
Harshal Gohel [Mon, 14 Apr 2025 13:16:47 +0000 (13:16 +0000)]
realtek: Fix nvmem support for ethernet device
The function of_get_mac_address is not taking care of evaluation the nvmem
address before trying to read out the mac-address properties. The driver
must check whether the return code is -EPROBE_DEFER and stop the probing
process in that case. If the nvmem-cell related driver code finished, the
probe can be redone ad the correct mac-address will appear for the device.
Signed-off-by: Harshal Gohel <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19362
Signed-off-by: Hauke Mehrtens <[email protected]>
Igor Dyatlov [Sun, 3 Aug 2025 14:20:00 +0000 (17:20 +0300)]
ath79: add calibtation variant for Xiaomi AIoT AC2350
Add calibration variant and ipq-wifi package for Xiaomi AIoT AC2350
Signed-off-by: Igor Dyatlov <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19707
Signed-off-by: Robert Marko <[email protected]>
Igor Dyatlov [Sun, 3 Aug 2025 14:02:33 +0000 (17:02 +0300)]
ipq-wifi: add entry for Xiaomi AIoT AC2350
Add IPQ WiFi support for Xiaomi AIoT AC2350
Add board file suffixes .QCA9988/.qca9988.
These suffixes are mapped to QCA9984/hw1.0 path
Reference:
https://openwrt.org/toh/xiaomi/aiot_router_ac2350
Signed-off-by: Igor Dyatlov <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19707
Signed-off-by: Robert Marko <[email protected]>
Felix Fietkau [Thu, 28 Aug 2025 08:42:43 +0000 (10:42 +0200)]
wifi-scripts: allow configuring per-radio macaddr in shared/mlo wifi-iface
When a wifi-iface section is used either for multiple vifs or MLD links,
make it possible to configure the per-radio/link macaddr.
When MLO is enabled, the main macaddr is used for the MLD interface.
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Wed, 27 Aug 2025 13:24:29 +0000 (15:24 +0200)]
mac80211: extend connection monitoring for MLO
Required for latest mt76
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Wed, 27 Aug 2025 11:29:27 +0000 (13:29 +0200)]
mt76: update to Git HEAD (2025-08-27)
d729307b5e8b mt76: mt7996: add missing null pointer check
fb22489fd738 wifi: mt76: do not add non-sta wcid entries to the poll list
fb7e0501b8f9 wifi: mt76: mt7996: add missing check for rx wcid entries
4cd64ad1283b wifi: mt76: mt7915: fix list corruption after hardware restart
ee538efba542 wifi: mt76: free pending offchannel tx frames on wcid cleanup
415b5a68878b wifi: mt76: fix list corruption
3ed2c4030d42 wifi: mt76: mt7925u: use connac3 tx aggr check in tx complete
a35af277873f wifi: mt76: mt7925: skip EHT MLD TLV on non-MLD and pass conn_state for sta_cmd
384d3a9bff2d wifi: mt76: mt7996: Use deflink for AMPDU rx reordering
9bae5f956e65 wifi: mt76: Remove dead code in mt76_scan_work
de1df8b888bd wifi: mt76: mt7996: Export MLO AP capabilities to mac80211
Signed-off-by: Felix Fietkau <[email protected]>
Rosen Penev [Sun, 25 May 2025 01:10:42 +0000 (18:10 -0700)]
ath79: qcn5502: use led-sources for WMAC
The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.
It's also a bit funny matching against phy0 and phy1 when both differ
between ath9k and ath10k.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19862
Signed-off-by: Robert Marko <[email protected]>
Felix Fietkau [Tue, 26 Aug 2025 20:14:21 +0000 (22:14 +0200)]
hostapd: fix wds ap on single-wiphy devices
Ensure events are passed to the right interface
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Tue, 26 Aug 2025 20:06:25 +0000 (22:06 +0200)]
hostapd: update to Git HEAD (2025-08-26)
33fb6c738bc4 P2P2: Enable some testing parameters without CONFIG_TESTING_OPTIONS
56616c4183a6 P2P2: Update device name with USD device found
1d791939dcdf Cancel pending connect radio work when network is removed
8235e21d7fe3 P2P: Fix preferred frequency list size handling in p2p_check_pref_chan()
4bc754d9c727 Add QCA vendor interface to enable/disable TX power limit
d65f5705df98 Add QCA vendor attribute to disable A-MSDU address check validation
74881765b7fb nl80211: Use i802_bss in qca_set_allowed_ap_freqs() to use correct ifindex
ca8303135cbb P2P2: Set P2P mode to the driver on P2P GO device
063ae7af68dc ACS: Fix incorrect index calculation for primary channel
4aa3a58377c1 ACS: Validate all channels in a segment before selection
02c9d3376224 ACS: Extend support to exclude 6 GHz non-PSC in non-offloaded ACS
307365eb57bb tests: Add test for ACS exclude 6 GHz non-PSC
0721e4886316 Add QCA vendor attribute to configure EHT RTWT support
76b39db44c77 QCA vendor attribute to configure BTM MLD Recommendation For Multiple APs support
2faeffdeca22 AP MLD: Properly deinit sm of non-ML STA connected to ML AP
e4f4e5a872a5 AP MLD: Fix STA's flag wrongly updated in SME-in-driver cases
ec6cade42c0f Increase buffer size to handle long freq_list entries in config
0522585da7b0 Write freq_list as per-network item in wpa_supplicant.conf
5e527704b912 Use SCS reconfiguration logic under CONFIG_NO_ROBUST_AV
5d6214a724c1 PASN: Clear driver/firwmare ranging context if PASN Auth 1 fails
14dc782d50db DPP: Avoid generating DPP shared secret(z) for non-association links
40326b60b17a RSNO: Allow OWE to be configured in RSN overrides in AP processing
acadef1b04d5 hostapd_cli: Open a new hostapd connection on ping failure when using -a
ac0d9bd80ec5 Add QCA vendor attributes to configure global TX chain mask
f5b8ef6c966a Add QCA vendor attributes for MSDU TX statistics
6c11fcefe4fc hostapd: Prevent blocking sends on control interface monitor socket
0bbb8a66f64c AP MLD: Remove redundant outer loop in hostapd_notif_disassoc_mld()
52fb5ccd91f3 AP MLD: Avoid using mld_id to identify partners
7bb930d50b5f wpa_supplicant: Add option to disable 80+80 MHz opclass advertisement
9001059bd6ad tests: Make dbus_connect_oom more robust
663fb1940231 AP MLD: Fix hostapd_is_mld_ap() check
590f3bdb4c61 AP MLD: Rename hostapd_is_mld_ap() to hostapd_is_multiple_link_mld()
b13b69a235f7 Add VLANID in the AP-STA-CONNECTED events
c1e8b1c6462b SAE: Assign VLAN when using PMKSA caching
9bc29dcdfdee SAE: Default password binding through control interface
9de127c31c40 tests: More testing coverage for SAE with multiple passwords
5ce1d4180386 nl80211: Fix crash by cancelling scan timeout before a BSS is removed
ca266cc24d87 nl80211: Fix crash by setting the drv->ctx properly
Signed-off-by: Felix Fietkau <[email protected]>
Agustin Lorenzo [Sun, 20 Jul 2025 21:51:50 +0000 (23:51 +0200)]
qualcommax: migrate wifi configuration (ath10k) device paths for 6.12 kernel
The device tree PCIe host node name has been changed in the new
6.12 kernel[1]. Hence we have to update the wifi device path to
make sure it can work properly.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=
07299ba2e7d98045e6b522f7c5b97f402b15bc82
Signed-off-by: Agustin Lorenzo <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19479
Signed-off-by: Robert Marko <[email protected]>
Paul Spooren [Tue, 26 Aug 2025 11:36:54 +0000 (13:36 +0200)]
include: make APK .list files even more reproducible
This commit fixes "
aff2f096235 include: make APK .list files reproducible"
since it would create the .list file while `find` still runs. This causes the
.list file to be part of itself. As an alternative, write the file to a
temporary folder first and then move it.
Fix:
aff2f096235 include: make APK .list files reproducible
Signed-off-by: Paul Spooren <[email protected]>
Harshal Gohel [Fri, 8 Aug 2025 15:31:03 +0000 (17:31 +0200)]
realtek: rtl93xx: Trap LLDP management frames
LLDP packets must be transmitted on a single port and trapped on a port of
a device which understands LLDP. It must not forward it to other ports to
avoid confusing neighbor information on connected devices.
Signed-off-by: Harshal Gohel <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19571
Signed-off-by: Hauke Mehrtens <[email protected]>
Harshal Gohel [Fri, 8 Aug 2025 15:31:03 +0000 (17:31 +0200)]
realtek: rtl931x: Register support for trapping management frames
Driver needs to configure management frame actions
To support LLDP, EAPOL or MSTP, which needs to be trapped to the CPU
instead of being forwarded.
The function to implement the various management frame actions was already
present but not yet registered correctly.
Signed-off-by: Harshal Gohel <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19571
Signed-off-by: Hauke Mehrtens <[email protected]>
Harshal Gohel [Fri, 8 Aug 2025 15:31:03 +0000 (17:31 +0200)]
realtek: rtl930x: Add support for trapping management frames
Driver needs to configure management frame actions
To support LLDP, EAPOL or MSTP, which needs to be trapped to the CPU
instead of being forwarded
Signed-off-by: Harshal Gohel <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19571
Signed-off-by: Hauke Mehrtens <[email protected]>
Harshal Gohel [Fri, 8 Aug 2025 15:31:03 +0000 (17:31 +0200)]
realtek: dsa: Fix prefix for trapping functions
The functions to enable trapping of management frames are not RTL83xx
specific. It is more appropriate to use the more generic "rtldsa" prefix
for them.
Signed-off-by: Harshal Gohel <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19571
Signed-off-by: Hauke Mehrtens <[email protected]>
John Audia [Sat, 23 Aug 2025 20:04:04 +0000 (16:04 -0400)]
kernel: bump 6.12 to 6.12.43
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.43
Removed upstreamed:
generic/backport-6.12/612-07-v6.17-net-dsa-b53-prevent-SWITCH_CTRL-access-on-BCM5325.patch[1]
generic-backport/612-08-v6.17-net-dsa-b53-fix-IP_MULTICAST_CTRL-on-BCM5325.patch[2]
generic-backport/612-09-v6.17-net-dsa-b53-prevent-DIS_LEARNING-access-on-BCM5325.patch[3]
generic-backport/612-11-v6.17-net-dsa-b53-prevent-GMII_PORT_OVERRIDE_CTRL-access-on-BCM5325.patch[4]
generic-backport/612-14-v6.17-net-dsa-b53-ensure-BCM5325-PHYs-are-enabled.patch[5]
generic-backport/830-v6.17-Revert-leds-trigger-netdev-Configure-LED-blink-inter.patch[6]
bcm27xx/patches-6.12/950-0100-media-tc358743-Increase-FIFO-level-to-374.patch[7]
bcm27xx/patches-6.12/950-0102-media-tc358743-Check-I2C-succeeded-during-probe.patch[8]
bcm27xx/patches-6.12/950-0107-media-tc358743-Return-an-appropriate-colorspace-from.patch[9]
bcm27xx/patches-6.12/950-0341-Allow-RESET_BRCMSTB-on-ARCH_BCM2835.patch[10]
lantiq/patches-6.12/102-11-v6.17-MIPS-lantiq-falcon-sysctrl-fix-request-memory-check-.patch[11]
lantiq/patches-6.12/102-12-v6.17-MIPS-vpe-mt-add-missing-prototypes-for-vpe_-alloc-st.patch[12]
qualcommax/patches-6.12/0170-clk-qcom-gcc-ipq8074-fix-broken-freq-table-for-nss_port6_tx_clk_src.patch[13]
generic/backport-6.12/612-13-v6.17-net-dsa-b53-fix-b53_imp_vlan_setup-for-BCM5325.patch[14]
All other patches automatically rebased.
1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
f16f96ccfe56ef2d627c20ba47f6d9d7dea40f5b
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
394bd12d1f93ed2fa0fa1d8f31ffd3c344681e85
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
9f45e4858f8096bb27f9a2c75fc24a538dffad67
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
15cf46cc6ecc7a54b397294675d11c379ddf69ef
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
0d250ad617a035904744cef74a5d5dc43d0199b9
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
cb9bb872366e10fa42e1e0200a0c2e5d05a27bec
7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
f25d566c5674decd0051a3e624805fc1524729bf
8. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
3e03ee3b65baeac4c253b30650492ffffad9b608
9. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
b42b107293b52ac8d46238815b1071138a47a7e4
10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
e285cdb9d2e4ba2e4515ae898f92e9f38be64eb3
11. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
1e9079ff83eac962bc3b1e2fbad73b2f7d5256f4
12. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
8520c843d9a2770012f23da08e4e2ccf1bb05ba6
13. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
f1c5c55fb6cda312f5ed15505588caaf05a69043
14. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.43&id=
757955c80663ac3df7053abaf6fcc75051ef7a7c
Build system: x86/64 (Intel N150 based)
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc
Signed-off-by: John Audia <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19618
Signed-off-by: Robert Marko <[email protected]>
John Audia [Fri, 15 Aug 2025 19:22:27 +0000 (15:22 -0400)]
generic/config-6.12: add new option
Add new option required to build with VHOST_MENU=y
This option enables two IOCTLs: VHOST_SET_FORK_FROM_OWNER and
VHOST_GET_FORK_FROM_OWNER. These allow userspace applications
to modify the vhost worker mode for vhost devices.
Also expose module parameter 'fork_from_owner_default' to allow users
to configure the default mode for vhost workers.
By default, `VHOST_ENABLE_FORK_OWNER_CONTROL` is set to `y`,
users can change the worker thread mode as needed.
If this config is disabled (n),the related IOCTLs and parameters will
be unavailable.
If unsure, say "Y".
Signed-off-by: John Audia <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19618
Signed-off-by: Robert Marko <[email protected]>
John Audia [Fri, 15 Aug 2025 19:04:26 +0000 (15:04 -0400)]
kernel: bump 6.12 to 6.12.42
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.42
Added backport to fix ipv6 breakage with the 6.12.42 release:
generic/backport-6.12/621-proc-fix-missing-pde_set_flags.patch[1]
All other patches automatically rebased.
1. https://lore.kernel.org/all/
20250821105806.
1453833[email protected]
Build system: x86/64
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc (Intel N150)
Signed-off-by: John Audia <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19618
Signed-off-by: Robert Marko <[email protected]>
John Audia [Fri, 1 Aug 2025 09:26:34 +0000 (05:26 -0400)]
kernel: bump 6.12 to 6.12.41
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.41
All patches automatically rebased.
Build system: x86/64
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc
Signed-off-by: John Audia <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19618
Signed-off-by: Robert Marko <[email protected]>
Felix Fietkau [Mon, 25 Aug 2025 18:31:02 +0000 (20:31 +0200)]
wifi-scripts: fix reload handling with random macaddr
Allow initially generated MAC address to be preserved across reload
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Mon, 25 Aug 2025 18:20:49 +0000 (20:20 +0200)]
wifi-scripts: ucode: fix random mac address
Fix exception by using fs.open instead of open
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Mon, 25 Aug 2025 15:31:30 +0000 (17:31 +0200)]
hostapd: fix link address of secondary MLO interfaces
Ensure that hapd->own_addr is set based on the configured bssid
Signed-off-by: Felix Fietkau <[email protected]>
Rosen Penev [Sun, 25 May 2025 01:45:03 +0000 (18:45 -0700)]
ath79: araknis_an-300-ap-i-n: use led-sources
The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18904
Signed-off-by: Robert Marko <[email protected]>
Shiji Yang [Mon, 25 Aug 2025 13:17:39 +0000 (21:17 +0800)]
mediatek: dts: use dt-bindings documented bias type for UniFi 6 Plus
Use macro defined bias types instead of some magic numbers. This can
help reviewers better understand bias types.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19855
Signed-off-by: Robert Marko <[email protected]>
Shiji Yang [Mon, 25 Aug 2025 13:13:23 +0000 (21:13 +0800)]
uboot-mediatek: remove wmcpu_emi dts node leftovers
wmcpu_emi node was removed in commit:
b286fd8a397f ("uboot-mediatek: adjust the reserved memory regions")
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19855
Signed-off-by: Robert Marko <[email protected]>
Markus Stockhausen [Wed, 20 Aug 2025 08:56:19 +0000 (04:56 -0400)]
realtek: convert access to RTL931x analog serdes pages
The RTL931x has 14 frontend and at least 26 backend serdes. Currently
the programming functions always need to determine the right backend
serdes from the given frontend serdes on their own.
We plan to provide a consistent serdes mapping to all callers as follows
Frontend SerDes | 0 1 2 3 4 5 6 7 8 9 10 11 12 13
-----------------+------------------------------------------
Backend SerDes 1 | 0 1 2 3 6 7 10 11 14 15 18 19 22 23
Backend SerDes 2 | 0 1 2 4 6 8 10 12 14 16 18 20 22 24
Backend SerDes 3 | 0 1 2 5 6 9 10 13 14 17 18 21 22 25
frontend page "even" frontend SerDes "odd" frontend SerDes
page 0x000-0x03f (analog): page 0x000-0x03f back SDS page 0x000-0x03f back SDS
page 0x100-0x13f (XSGMII1): page 0x000-0x03f back SDS page 0x000-0x03f back SDS+1
page 0x200-0x23f (XSGMII2): page 0x000-0x03f back SDS page 0x000-0x03f back SDS+2
As a first micro step provide some helpers that simply operate on
frontend serdes and will determine the backend serdes on their own.
So rtmdio_931x_read_sds_phy() and rtmdio_931x_write_sds_phy() operate
on backend serdes. While rtmdio_931x_read_sds_phy_**new**() and
rtmdio_931x_write_sds_phy_**new**() operate on frontend serdes.
This is only an intermediate naming convention and will be cleanup
afterwards.
In a first step make use of these new functions whenever we
want to access the analog page. As the pages stay unchanged
in the new functions conversion is as simple as this:
Old:
asds = rtl931x_get_analog_sds(...)
rtmdio_931x_read_sds_phy(asds, ...)
New:
rtmdio_931x_read_sds_phy_new(sds, ...)
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19818
Signed-off-by: Robert Marko <[email protected]>
Robert Marko [Mon, 25 Aug 2025 08:51:03 +0000 (10:51 +0200)]
ipq-wifi: update to Git HEAD (2025-08-25)
a510502e7922 qca9988: add BDFs for Xiaomi AIoT Router AC2350
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev [Mon, 26 May 2025 01:39:55 +0000 (18:39 -0700)]
treewide: fix compatible string for ath10k
The ath9k documentation says to use pci168c strings for the compatible
string, probably because the OWL loader uses it to overide bogus pci IDs
like abcd. This is not the case with ath10k and the documentation
explicitly states to use qcom,ath10k.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18920
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev [Sun, 8 Jun 2025 02:47:04 +0000 (19:47 -0700)]
ath79: compex_wpj531: remove wrong wifi device
This device does not come with a pci card. It has a slot where one can
get supplied. What's more, nvmem or ieee80211 frequency limits are not
applied here. It can just get removed.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18920
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev [Sun, 25 May 2025 01:14:47 +0000 (18:14 -0700)]
ath79: wb2000: use led-sources for ath9k
The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18906
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev [Sun, 25 May 2025 03:41:27 +0000 (20:41 -0700)]
ath79: dir-825-c1: set LED pin properly
The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18908
Signed-off-by: Robert Marko <[email protected]>
Carsten Schuette [Sun, 24 Aug 2025 14:07:25 +0000 (16:07 +0200)]
mold: Update to 2.40.4
Update mold to 2.40.4
Release notes:
https://github.com/rui314/mold/releases/tag/v2.40.4
https://github.com/rui314/mold/releases/tag/v2.40.3
https://github.com/rui314/mold/releases/tag/v2.40.2
Signed-off-by: Carsten Schuette <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19846
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev [Mon, 26 May 2025 01:26:22 +0000 (18:26 -0700)]
ath79: iodata: set ath9k LED pin
The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.
Set the pcie device to qcom,ath10k as the Documentation says, The pci
line implies it's ath9k when it's actually ath10k.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18873
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev [Wed, 21 May 2025 01:17:32 +0000 (18:17 -0700)]
ath79: iodata: extract calibration with nvmem
Userspace handling is deprecated.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18873
Signed-off-by: Robert Marko <[email protected]>
Paul Donald [Mon, 21 Jul 2025 17:54:43 +0000 (19:54 +0200)]
mediatek: remove the aquantia kmod from filogic mediatek platforms
The kmod is installed on all filogic mediatek images, even for devices
that do not have any aquantia hardware. Remove it.
Signed-off-by: Paul Donald <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19488
[Do not explicitly remove kmod-phy-aquantia from gatonetworks_gdsp]
Signed-off-by: Hauke Mehrtens <[email protected]>
Pavlo Samko [Fri, 14 Mar 2025 17:48:35 +0000 (19:48 +0200)]
nilfs-utils: add userspace utilities for NILFS2
NILFS is a log-structured file system developed for Linux.
NILFS provides versioning capability of an entire file system
and continuous snapshotting that allows users to restore files
mistakenly overwritten or destroyed a while ago.
Signed-off-by: Pavlo Samko <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18247
Signed-off-by: Hauke Mehrtens <[email protected]>
Pavlo Samko [Fri, 14 Mar 2025 17:39:31 +0000 (19:39 +0200)]
kernel: add NILFS2 fs module
NILFS is a log-structured file system developed for Linux.
NILFS provides versioning capability of an entire file system
and continuous snapshotting that allows users to restore files
mistakenly overwritten or destroyed a while ago.
Signed-off-by: Pavlo Samko <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18247
Signed-off-by: Hauke Mehrtens <[email protected]>
Simonas Tamošaitis [Tue, 13 May 2025 02:56:33 +0000 (05:56 +0300)]
mediatek: filogic: add Teltonika RUTC50 support
Specification:
- MediaTek MT7981A SoC
- 512 MB RAM
- 16MB SPI NOR Flash
- 512MB NAND (split in half for firmware fallback)
- 5x 10/100/1000 Mbps Ethernet, with passive PoE support on LAN1
- WLAN : MediaTek dual-band WiFi 6
- 2.4 GHz : b/g/n/ax, MIMO 2x2
- 5 GHz : a/n/ac/ax, MIMO 2x2
- Quectel RG520N-EB 5G R16 modem
- 2.0 USB Type-A HOST port
- 1x Digital input
- 1x Digital output
- 2x SIM slot (can be swapped via AT commands)
GPIO:
- 1 button (Reset)
- 13 LEDs (power, 4x WAN status, Wifi 2G, Wifi 5G, 3G, 4G, 5G, RSSI 1,2,3)
- 3 Modem control (power button, reset, status)
- 1 USB reset
- 1 Digital input
- 1 Digital output
Flashing via OEM WebUI:
1. Download the firmware image *-squashfs-factory.bin
2. Upload firmware image via OEM WebUI firmware update, do not keep settings
To revert back to OEM firmware:
https://wiki.teltonika-networks.com/view/Bootloader_menu
Use "ModemManager" to establish mobile data connection.
Signed-off-by: Simonas Tamošaitis <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19401
Signed-off-by: Hauke Mehrtens <[email protected]>
Simonas Tamošaitis [Wed, 6 Aug 2025 18:52:15 +0000 (21:52 +0300)]
images: move append-teltonika-metadata to image-commands.mk
Move append-teltonika-metadata to image-commands.mk and unify over different targets.
This method can be used to create valid "factory" images for most of Teltonika devices.
Signed-off-by: Simonas Tamošaitis <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19401
Signed-off-by: Hauke Mehrtens <[email protected]>
Rosen Penev [Sun, 25 May 2025 01:20:09 +0000 (18:20 -0700)]
ath79: db120: use led-sources for ath9k
The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.
Signed-off-by: Rosen Penev <[email protected]>
Tested-by: Zoltan HERPAI [email protected]
Link: https://github.com/openwrt/openwrt/pull/18907
Signed-off-by: Hauke Mehrtens <[email protected]>
Rosen Penev [Tue, 11 Jun 2024 22:37:37 +0000 (15:37 -0700)]
ath79: trendnet,tew-823dru: use nvmem
Removes deprecated userspace handling.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/16287
Signed-off-by: Hauke Mehrtens <[email protected]>
Rosen Penev [Thu, 14 Aug 2025 00:22:35 +0000 (17:22 -0700)]
ramips: zyxel wsm20: set mac address in dts
Support in mt76 has existed for quite a while. Use it.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19799
Signed-off-by: Hauke Mehrtens <[email protected]>
Zhenfu Shi [Wed, 20 Aug 2025 04:00:26 +0000 (14:00 +1000)]
mediatek: filogic: support WAVLINK WL-WN586X3 Rev B
This commit adds support for the WAVLINK WL-WN586X3 Rev B, which swaps
the 16MB NOR flash for an 128MB NAND flash chip, and uses UBI for
data partition. This commit utilizes the previous submitted dtsi that
includes common hardware for a few Wavlink routers.
Hardware
--------
- SOC: MediaTek MT7981B
- RAM: 256MB DDR3
- Flash: 128MB SPI-NAND (ESMT F50L1G41LB)
- Ethernet: 2x1Gb Lan 1x1Gb Wan
- WiFi: MediaTek MT7981B 2x2 DBDC 802.11ax 2T2R (2.4/5) with 4 external and 1 internal antennae
- LEDs: 2xLan 1x Wan 1x WIFI 1xSTATUS
Installation
------------
Flashing over the vendor WebUI has been tested and unsuccessful (YMMV).
The image need to be flashed via TFTP which can be activated over the onboard UART serial console:
1. Connect UART: TX->board RX, RX->board TX, GND->board GND.
2. Connect PC to router lan port.
3. Setup the tftp server on PC, set IP to 192.168.10.100.
4. Power on the device. Interrupt boot countdown at uboot boot menu and select 2. Upgrade firmware option.
5. Input the image name and start flashing.
Sample uboot menu:
```
*** U-Boot Boot Menu ***
1. Startup system (Default)
2. Upgrade firmware
3. Upgrade ATF BL2
4. Upgrade ATF FIP
5. Upgrade single image
6. Load image
0. U-Boot console
```
NOTE: Do not use the intermediate image here which is for Rev A only:
https://github.com/themaverickdm/firmware-misc/tree/main/wavlink/wl-wn586x3
MAC Addresses
-------------
LAN: 80:3F:5D:xx:xx:x1 (hw, 0x44e, ASCII encoded)
WAN: 80:3F:5D:xx:xx:x2 (hw, 0x460, ASCII encoded)
2G: 80:3F:5D:xx:xx:x3 (factory, 0x4, raw binary, also on label)
5G: 80:3F:5D:xx:xx:x3 (Same as 2G)
Signed-off-by: Zhenfu Shi <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19785
Signed-off-by: Hauke Mehrtens <[email protected]>
Axel Sepulveda [Wed, 19 Feb 2025 17:19:03 +0000 (18:19 +0100)]
ramips: CREALITY BOX WB01
CREALITY BOX WB01 is small footprint router based on MediaTek MT7688,
is a device intended to interface Creality brand 3D printers to a cloud service.
Specifications:
- SoC: MediaTek MT7688AN @ 580MHz
- RAM: DDR2 128M (Winbond W971GG6SB-25)
- Flash: BoyaMicro BY25Q128AS (16 MiB, SPI NOR) handled by BoHong bh25q128as driver
- WiFi: 2.4GHz 1T1R internal panel antenna
- Ethernet: 1x LAN (10/100)
- USB: 2x USB2.0 port (Genesys Logic GL850G 2 port USB 2.0 hub)
- UART: 3.3V, TX, RX, GND / 56700 8N1 / only pads on PCB
- microSD SD-XC Class 10 slot
- micro USB input (for power only)
- reset button
- FCC ID: 2AXH6CREALITY-BOX
MAC addresses as verified by OEM firmware:
vendor OpenWrt source
LAN eth0 factory 0x2e
2.4GHz phy0-ap0 factory 0x04 (label)
LEDs
color vendor OpenWRT configurable
red SD card activity - yes
green Cloud connectivity status yes
blue LAN activity eth0 yes
yellow WIFI activity phy0tpt yes
Return to OEM & debrick
- download "cxsw_update.tar.bz2" from manufacturer site
- extract archive to FAT32 USB stick root
- put USB stick in USB2 port
- press & hold reset button
- power on device while holding reset
- wait approx 10 sec
- release reset button
Installation with SD Card
- power on device
- wait for device to finish starting
- copy "openwrt-ramips-mt76x8-creality_wb-01-squashfs-cxsw_update.tar.bz2"
to root of FAT32 SD card
- rename openwrt-ramips-mt76x8-creality_wb-01-squashfs-cxsw_update.tar.bz2
to "cxsw_update.tar.bz2"
- put SD card in device
- device will install OpenWRT on internal flash
Installation via telnet:
- extract the "factory.bin" and "install.sh" from newly created
openwrt-ramips-mt76x8-creality_wb-01-squashfs-cxsw_update.tar.bz2
to FAT32 USB stick root
- telnet to 10.10.10.254, user: root, password: cxswprin
- plug the USB in USB1 port
- cd /media/usbdisk/
- sh install.sh
- device will write "factory.bin" to internal flash
Co-authored-by: George Brooke <[email protected]>
Co-authored-by: Peca Nesovanovic <[email protected]>
Co-authored-by: shivajiva101 <github.com/shivajiva101>
Co-authored-by: Axel Sepulveda <[email protected]>
Signed-off-by: Axel Sepulveda <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19686
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Sun, 24 Aug 2025 06:12:54 +0000 (14:12 +0800)]
mediatek: dts: remove mt7531 switch reset delay time properties
mt7531 switch reset delay time is hard coded in the driver. The
"reset-assert-us" and "reset-deassert-us" won't take effect.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Sun, 10 Aug 2025 12:16:21 +0000 (20:16 +0800)]
uboot-mediatek: adjust the reserved memory regions
* Increase mt7986 ATF reserved memory to 256 kiB to follow the linux
kernel and Trusted Firmware-A changes.
* Remove unnecessary reserved memory region for the WiFi hardware. The
u-boot can not drive the WiFi hardware. Hence we don't need to keep
this memory region.
* Remove useless node labels and update comments.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Sun, 10 Aug 2025 12:15:12 +0000 (20:15 +0800)]
mediatek: dts: increase mt7986 ATF reserved memory to 256 kiB
The latest Mediatek open-source Trusted Firmware-A project has
reserved 256 KiB for BL2 and BL31.
Link: https://lore.kernel.org/all/OSBPR01MB16701BDF64C43EF07390C830BC29A@OSBPR01MB1670.jpnprd01.prod.outlook.com/
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Sat, 9 Aug 2025 02:40:09 +0000 (10:40 +0800)]
mediatek: dts: remove some useless spaces
Use tabs to align and remove some unnecessary spaces.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Sat, 9 Aug 2025 02:05:52 +0000 (10:05 +0800)]
mediatek: dts: fix some minor dtc warnings
This patch fixes the following dtc warnings for the recently added
boards:
../dts/mt7981b-zbtlink-zbt-z8102ax-v2.dts:329.35-331.4: Warning (unit_address_format): /soc/spi@
1100a000/spi_nand@0/partitions/partition@180000/macaddr@004: unit name should not have leading 0s
../dts/mt7981b-zbtlink-zbt-z8102ax-v2.dts:332.35-334.4: Warning (unit_address_format): /soc/spi@
1100a000/spi_nand@0/partitions/partition@180000/macaddr@02a: unit name should not have leading 0s
../dts/mt7981b-iptime-ax3000q.dts:267.3-13: Warning (reg_format): /soc/wifi@
18000000/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-iptime-ax3000q.dts:273.3-13: Warning (reg_format): /soc/wifi@
18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-iptime-ax3000sm.dts:269.3-13: Warning (reg_format): /soc/wifi@
18000000/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-iptime-ax3000sm.dts:275.3-13: Warning (reg_format): /soc/wifi@
18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-snr-snr-cpe-ax2.dts:330.3-13: Warning (reg_format): /soc/wifi@
18000000/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-snr-snr-cpe-ax2.dts:336.3-13: Warning (reg_format): /soc/wifi@
18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-gatonetworks-gdsp-sd-boot.dtso:14.5-15: Warning (reg_format): /fragment@1/__overlay__/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-emmc.dtso:34.5-15: Warning (reg_format): /fragment@0/__overlay__/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-snfi-nand.dtso:29.7-33: Warning (reg_format): /fragment@0/__overlay__/flash@0/partitions/partition@0:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-snfi-nand.dtso:35.7-35: Warning (reg_format): /fragment@0/__overlay__/flash@0/partitions/partition@200000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-sd.dtso:32.5-15: Warning (reg_format): /fragment@0/__overlay__/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Fri, 8 Aug 2025 13:10:24 +0000 (21:10 +0800)]
mediatek: dts: mt7981: add back #address-cells and #size-cells to eth node
They were lost when ported to the 6.12 kernel.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Sat, 9 Aug 2025 02:45:39 +0000 (10:45 +0800)]
mediatek: dts: use dt-bindings enumerated drive strength values
The Mediatek pinctrl driver can only accepts drive-strength values
enumerated in "dt-bindings/pinctrl/mt65xx.h".
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Fri, 8 Aug 2025 13:05:10 +0000 (21:05 +0800)]
mediatek: dts: convert pinctrl bias to the Linux generic style
There are two types properties here that can control the pin bias
resistors. "mediatek,pull-{up,down}-adv" and "bias-pull-{up,down}"
actually do the same thing[1]. The first type is customized by the
Mediatek and the second type is widely used in the Linux pinctrl
framework. To avoid confusing developers, unify pinctrl bias to the
new Linux generic style.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=
cafe19db7751269bf6b4dd2148cbfa9fbe91d651
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Fri, 8 Aug 2025 12:53:58 +0000 (20:53 +0800)]
mediatek: dts: fix the broken memory node
Add the missing "device_type" property to fix the memory node. The
Linux kernel can not get the memory size without it. Though u-boot
can automatically fixup the memory node by adding the "device_type"
and "reg" properties if the CONFIG_ARCH_FIXUP_FDT_MEMORY symbol is
enabled, it's better not to rely on this optional feature. This
patch also adds the reg address for the memory node name to follow
the naming rules.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <[email protected]>
Felix Fietkau [Sun, 24 Aug 2025 05:18:43 +0000 (07:18 +0200)]
udebug: update to Git HEAD (2025-08-24)
6e4ffe2c6657 ucode: add function for getting the number of entries in a snapshot
a62edd89255b ucode: add support for fetching kernel tracepoint events
edeb4d6dc690 udebug-cli: add support for streaming tracing data
Signed-off-by: Felix Fietkau <[email protected]>
Shiji Yang [Fri, 6 Jun 2025 12:32:26 +0000 (20:32 +0800)]
ath10k-ct-firmware: update wave2 chip firmware to latest beta version
Release Notes:
* Support enabling/disabling rts/cts. Not sure if this really works as
hoped though.
* Improved compiler options to build smaller sized binaries.
* Sept 15, 2022: Fix per-peer txpower to not over-ride tpc when value
is 0 (ie, not set yet). This in turn fixes TPC over-ride through the
txo path.
* April 4, 2023: Fix uninitialized minccapwr threshold variables,
reported by Sebastian.
Candela Technologies has already used this beta firmware in their
commercial product "LANforge". And the -ct firmware homepage states
that "This is code is not being changed much, and should be considered
for stable use now." On QCA9888 and IPQ4019, I didn't catch any speed
or stability issues compared to the previous version. Therefore, I
think it is worth updating this beta version.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19042
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Fri, 6 Jun 2025 12:32:26 +0000 (20:32 +0800)]
ath10k-ct-firmware: update qca988X firmware to latest beta version
Release Notes:
* Attempt to fix crash in scanning logic by making probe_timer
ignore re-arm.
Candela Technologies has already used this beta firmware in their
commercial product "LANforge". On QCA9882, I didn't catch any speed
or stability issues compared to the previous version. Therefore, I
think it is worth updating this beta version.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19042
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Fri, 6 Jun 2025 12:32:26 +0000 (20:32 +0800)]
ath10k-ct-firmware: update to latest stable firmware 2021.11.08
Release Notes:
* Fall 2021: Optimize compiler options for memory usage and performance.
* Jan 17 2021: Enable peer fixed rate feature (S.G)
Run-tested: QCA9882, QCA9887, QCA9888 and IPQ4019.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19042
Signed-off-by: Hauke Mehrtens <[email protected]>
Issam Hamdi [Fri, 28 Mar 2025 09:39:44 +0000 (10:39 +0100)]
realtek: rtl93xx: fix incorrect destination port selection
When testing LLDP and STP, we observed that locally generated multicast
packets (e.g. LLDP, STP) were not restricted to the designated output
port(s). For example, when transmitting on `lan1`, the same packet was also
forwarded to other ports such as `lan2`.
Steps to reproduce:
1. Configure lldpd to use `lan1` in UCI and restart the service
2. Connect devices to `lan1` and `lan2`
3. Observe that the device on `lan2` still receives LLDP packets
The issue was caused by an incorrect `FWD_TYPE` setting in the TX CPU TAG,
which failed to enforce the selected egress port(s).
Fix this by updating the TX CPU TAG to set `FWD_TYPE` correctly, ensuring
that locally generated packets are transmitted only on the intended
port(s).
Signed-off-by: Issam Hamdi <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19802
Signed-off-by: Hauke Mehrtens <[email protected]>
Qing W [Thu, 21 Aug 2025 22:55:42 +0000 (18:55 -0400)]
mediatek: Add support for Acer Predator Connect W6x
Product name: Acer Predator Connect W6x
link: https://www.acer.com/us-en/predator/networking/wi-fi/predator-connect-w6x/pdp/FF.G2TTA.001
* Specifications:
SOC: MT7986AV
RAM: 1024MB
Flash: 256 MB SPI NAND
Ports: 4 LAN (1G) & 1 WAN (2.5G)
WIFI: MT7976GN + MT7976AN
LED: 1, ws2812b controller
* Installation via UART:
1. Configure TFTP server with IP 192.168.1.66. Copy `openwrt-mediatek-filogic-acer_predator-w6x-initramfs-kernel.bin` to TFTP root and rename to `predator.bin`
2. Interrupt boot by pressing 0 on startup or select `U-Boot Console` in U-Boot Boot Menu.
3. Run setenv `serverip 192.168.1.66; setenv ipaddr 192.168.1.1; tftpboot 0x46000000 predator.bin; fdt addr $(fdtcontroladdr); fdt rm /signature; bootm` in uboot console.
4. Wait for boot complete on Openwrt initramfs env.
** You can back up the MTD partitions at this point. Refer to Backup Instructions section.
5. On client PC, transfer `openwrt-mediatek-filogic-acer_predator-w6x-squashfs-sysupgrade.bin` to /tmp/ - `scp -O openwrt-mediatek-filogic-acer_predator-w6x-squashfs-sysupgrade.bin
[email protected]:/tmp/sysupgrade.bin`
6. On router, run sysupgrade - `sysupgrade -n /tmp/sysupgrade.bin`
Should now boot to Openwrt. Ensure it boots automatically to Openwrt by replugging the power.
* Backup Instructions:
Layout from stock firmware:
```
[ 0.968731] Creating 10 MTD partitions on "nmbm_spim_nand":
[ 0.974297] 0x000000000000-0x000000100000 : "BL2"
[ 0.979424] 0x000000100000-0x000000180000 : "u-boot-env"
[ 0.985032] 0x000000180000-0x000000380000 : "Factory"
[ 0.990379] 0x000000380000-0x000000580000 : "FIP"
[ 0.995378] 0x000000580000-0x000000600000 : "prod"
[ 1.000461] 0x000000600000-0x000000700000 : "dual"
[ 1.005527] 0x000000700000-0x000000800000 : "pot"
[ 1.010516] 0x000000800000-0x000006c00000 : "ubi"
[ 1.015626] 0x000006c00000-0x00000d000000 : "ubi1"
[ 1.020801] 0x00000d000000-0x00000d800000 : "storage"
```
Mapping in initramfs env:
```
dev: size erasesize name
mtd0:
00100000 00020000 "bl2"
mtd1:
00080000 00020000 "u-boot-env"
mtd2:
00200000 00020000 "factory"
mtd3:
00200000 00020000 "fip"
mtd4:
00020000 00020000 "prod"
mtd5:
00100000 00020000 "dual"
mtd6:
00100000 00020000 "pot"
mtd7:
06400000 00020000 "ubi"
mtd8:
06400000 00020000 "ubi1"
mtd9:
00800000 00020000 "storage"
```
1. While in openwrt initramfs environment, back up all the partitions by running the following:
```
cat /dev/mtd0 > /tmp/bl2.bin
cat /dev/mtd1 > /tmp/u-boot-env.bin
cat /dev/mtd2 > /tmp/factgory.bin
cat /dev/mtd3 > /tmp/fip.bin
cat /dev/mtd4 > /tmp/prod.bin
cat /dev/mtd5 > /tmp/dual.bin
cat /dev/mtd6 > /tmp/pot.bin
cat /dev/mtd7 > /tmp/ubi.bin
cat /dev/mtd8 > /tmp/ubi1.bin
cat /dev/mtd9 > /tmp/storage.bin
```
2. Transfer files to client PC for safekeeping. On client PC, run `scp -O
[email protected]:/tmp/*.bin ./`
* Restore to Stock Firmware:
1. Boot to openwrt initramfs env.
2. Confirm layout matches as follows by running `cat /proc/mtd`. Ensure dev `mtd7` is named `ubi`:
```
dev: size erasesize name
mtd0:
00100000 00020000 "bl2"
mtd1:
00080000 00020000 "u-boot-env"
mtd2:
00200000 00020000 "factory"
mtd3:
00200000 00020000 "fip"
mtd4:
00020000 00020000 "prod"
mtd5:
00100000 00020000 "dual"
mtd6:
00100000 00020000 "pot"
mtd7:
06400000 00020000 "ubi"
mtd8:
06400000 00020000 "ubi1"
mtd9:
00800000 00020000 "storage"
```
3. Detach `ubi` partition - `ubidetach -p /dev/mtd7`
4. Transfer stock firmware's `ubi.bin` to router from client PC: `scp -O ubi.bin
[email protected]/tmp/`
5. Format and replace with backup `ubiformat /dev/mtd7 -y -f /tmp/ubi.bin`
6. Reboot and you should now be back on stock firmware.
* LEDS:
LED color can be controlled by specifying values in GRB format in `/sys/class/leds/rgb:status/multi_intensity`. Default is `255 255 255` (white).
Example: `echo '75 0 130' > /sys/class/leds/rgb:status/multi_intensity`
LED brightness can be changed by specifying the value from 0-255 in /sys/class/leds/rgb:status/brightness. Default is `255` (full brightness).
Example: `echo 100 > /sys/class/leds/rgb:status/brightness`
For persistence across reboots, put the relevant command(s) in /etc/rc.local.
* Notes:
root access on stock firmware:
Before flashing openwrt, and while in openwrt initramfs env:
1. Mount /dev/ubi0_2: `mkdir /tmp/ubi0_2; mount -t ubifs /dev/ubi0_2 /tmp/ubi0_2`
2. Modify `/tmp/ubi0_2/upper/etc/passwd` and change line with `root:x:0:0...` to `root::0:0...`, remove the `x`.
3. Save and reboot.
4. You should now be able to log in with root and empty password while booted in stock firmware.
While on Openwrt, subsequent upgrades can be made by sysupgrade, or via Luci. UART should not be necessary unless you want to revert to stock firmeware.
Signed-off-by: Qing W <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19754
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Thu, 21 Aug 2025 20:07:06 +0000 (22:07 +0200)]
kernel: Remove patch for fixed bug
The problem was fixed in upstream kernel in a different way and the
change was backported to kernel 6.6 in the following change:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=
48e8791843206baf76827df1b6ee3cb88a2a17d8
The removed patch changes the endianness again and breaks the
functionality, use only the upstream code and remove our unneeded patch.
The 823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch patch was
adapted in the kernel bump too. It moves the code with the fix now.
Fixes: 05d344cb2ca3 ("kernel: bump 6.6 to 6.6.100")
Reported-by: Michael Pratt <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19830
Signed-off-by: Hauke Mehrtens <[email protected]>
Alexandra Alth [Thu, 14 Aug 2025 17:55:44 +0000 (19:55 +0200)]
realtek: add support for XikeStor SKS8310-8X
XikeStor (Seeker) SKS8310-8X is a 8 ports Multi-Gig switch, based on
RTL9303.
Specifications:
- SoC : Realtek RTL9303
- RAM : DDR3 512 MiB
- Flash : SPI-NOR 32 MiB (Macronix)
- Ethernet : 8x 1/2.5/10 Gbps (SFP+)
- LEDs/Keys (GPIO) : 1x/1x
- UART : "Console" port on the front panel
- type : RS-232C
- connector : RJ-45
- settings : 115200 8N1
- Power : 12 VDC, 2 A
Flash instruction using initramfs image:
1. Prepare TFTP server & connect to serial port.
2. Connect your computer to one of the ports on SKS8310-8X with a
suitable SFP module (some work, some don't).
3. Power on SKS8310-8X and interrupt autoboot with Shift + A.
4. Use Shift + Q to drop from vendor CLI to U-Boot CLI.
5. Enable networking within U-Boot.
> rtk network on
6. Set switch IP and TFTP server IP (optional, adjust to your setup).
> setenv ipaddr <ip>
> setenv serverip <ip>
7. Download initramfs image from TFTP server.
> tftpboot 0x82000000 <image name>
8. Boot with the downloaded image.
> bootm 0x82000000
9. With rambooted OpenWrt, backup the stock firmware if needed.
10. Copy sysupgrade image to the device.
11. Perform sysupgrade with the sysupgrade image.
12. After reboot, you should have functional OpenWrt.
Reverting to stock firmware:
1. Download latest firmware from XikeStor and upload to your device.
1. Write firmware with 'sysupgrade -F'.
2. After reboot, stock firmware should boot automatically.
Co-authored-by: Jonas Jelonek <[email protected]>
Signed-off-by: Alexandra Alth <[email protected]>
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19782
Signed-off-by: Hauke Mehrtens <[email protected]>