Commit Graph

66687 Commits

Author SHA1 Message Date
Goetz Goerisch
6c0ef7d4c8 odhcpd: update to Git HEAD (2025-12-04)
63f040e88b12 formal: fix workflow permissions
d970ae0ca4a3 router: improve RA PIO search logic
8fde62a82bdd router: rename router_clear_ra_pio
8b26b0124aed router: remove duplicated PIOs
d354ebb66cdc router: optimize duplicated PIO comparison
79252ed0c0c2 router: skip if branch in PIO clear functions

6fbd70c083...79252ed0c0

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21055
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-06 17:06:22 +01:00
David Bauer
00c8b5c612 libunwind: fix complie for PPC32
libunwind fails to compile because the include for the WORDSIZE
definition was missing when compiling with musl libc.

This lead to unw_word_t being defined as 64 bit long instead
of the correct 32 bit.

Signed-off-by: David Bauer <mail@david-bauer.net>
2025-12-06 01:49:16 +01:00
Shine
09e7b24ceb mpc85xx: p1010: Fix Sophos RED 15w NAND partitions
This partially reverts 78d259e7d2.
That commit broke mounting the root fs on Sophos RED 15w due to
partition size mismatch, and changed the partition sequence, causing
the OpenWrt partition numbers to change from mtd3:kernel/mtd4:ubi to
mtd4:kernel/mtd5:ubi.

Fixes: 78d259e7d2 ("mpc85xx: fix some dtc warnings")
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/20745
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-06 00:59:08 +01:00
Tianling Shen
e159d1ec81 rockchip: drop sdmmc speed limitation for RK3576/RK3588
The stability issue doesn't seem to be found on newer rockchip SoCs
like RK3528, RK3576 and RK3588, so drop the sdr50 limitation.

In addtion, the HS200 limitation for NanoPC T6 is also removed as
upstream fixed the real issue in mmc driver.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-06 00:56:32 +01:00
Álvaro Fernández Rojas
1842735a06 odhcp6c: update to Git HEAD (2025-12-04)
f19dd37fb467 odhcp6c: accept EUI64 and random for interface ID
e955729c781f formal: fix workflow permissions
9557d3e245aa vscode: set tabs to 8 whitespaces by default
98dfd156f399 src: fix shadowed local variables

f98b6ec823...f19dd37fb4

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-05 19:47:18 +01:00
Marcin Maj
3a10dd5967 ath79: fix platform check image mikrotik nor
Every attempt to update a device with NOR flash
and RouterBOOT v6 resulted in the error:
“RouterBOOT 6 and earlier requires ELF-in-YAFFS image.”
The cause was that xargs did not fully remove whitespace,
so the condition "$bootentry" != "kernel" always evaluated to true.

Signed-off-by: Marcin Maj <marcinmajsc@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21034
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-05 10:26:59 +01:00
Christian Marangi
cc57e155a6
airoha: fix kernel panic from I2S driver
Commit 8f1914053b ("airoha: replace I2S patch with upstream pending
version") introduced a kernel panic with I2S driver.

Add the fixed patch to fix the kernel panic.

Fixes: 8f1914053b ("airoha: replace I2S patch with upstream pending version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-05 00:54:38 +01:00
Christian Marangi
7b55651e61
airoha: enable I2S sound driver and add nodes for eMMC RFB board
Enable I2S sound driver and add nodes for eMMC RFB board since it's the
one that always have the I2C codec and can use the sound card.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-04 23:16:13 +01:00
Christian Marangi
8f1914053b
airoha: replace I2S patch with upstream pending version
Replace I2S sound patch with upstream pending version. This adds ETDM
support and fix various bug in the downstream implementation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-04 23:16:13 +01:00
Caleb James DeLisle
d6b4b63850 econet: basic Ethernet support
This is about as simple as it gets, it's able to start up and put
the onboard switch into dumb switch mode and then send untagged
frames which become available on every switch port.

It is out-of-tree to allow for rapid development and it is being
proposed now because even in this state it brings a lot of value
to the EcoNet platform and it is a fairly complex ethernet system
so it will take some time before the driver is in a state that
may be considered for upstreaming.

Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/20685
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-04 22:58:00 +01:00
Caleb James DeLisle
dac466452b econet: standardize partitions in DTS files
In preparation for the introduction of ethernet, this patch normalizes the
partitions in the devices in DT so that the partition to upgrade will
always be called tclinux, no matter what it is called from the factory.
Also fix a math error in Nokia G240G-E partition table and remove leading
zeros from paritition offsets.

Finally, add NVMEM mac-address entries where they are left by the
factory. In preparation for the introduction of Ethernet and Wifi
support.

Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/20685
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-04 22:58:00 +01:00
Tianling Shen
4582d25a66 rockchip: backport MMC CQE fixes
Added missing platform data struct for RK3576 to fix boot issues,
fixed general stability issues and also improved random write
performance.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/21028
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-04 22:28:06 +01:00
Hauke Mehrtens
5aeaddc0c8 bcm47xx: Fix lzma-loader compilation
Fixes:
```
LzmaDecode.c: In function 'RangeDecoderReverseBitTreeDecode':
LzmaDecode.c:199:5: error: 'symbol' undeclared (first use in this function)
  199 |     symbol |= (bit << i);
      |     ^~~~~~
LzmaDecode.c:199:5: note: each undeclared identifier is reported only once for each function it appears in
```

Fixes: 4ffd5aa239 ("treewide: fix coccinelle checks")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-04 21:41:40 +01:00
Hauke Mehrtens
27e5d7ddd9 ramips: Fix cmpilation
Fixes this compile problem:
```
drivers/net/ethernet/ralink/esw_rt3050.c: In function 'rt3050_esw_init':
drivers/net/ethernet/ralink/esw_rt3050.c:1467:12: error: 'pdev' is used uninitialized [-Werror=uninitialized]
 1467 |         if (!pdev)
      |            ^
drivers/net/ethernet/ralink/esw_rt3050.c:1461:33: note: 'pdev' was declared here
 1461 |         struct platform_device *pdev;
      |                                 ^~~~
cc1: all warnings being treated as errors
```

Fixes: 4ffd5aa239 ("treewide: fix coccinelle checks")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-04 21:12:24 +01:00
Álvaro Fernández Rojas
4814636b9b generic: 6.12: backport b53 fixes for BCM5325
Replace pending b53 fixes patches with the accepted ones from net-next for
linux v6.19.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-04 19:29:54 +01:00
Christian Marangi
6c94b53f11
sdk: use GIT_COMMIT for buildbot SDK
Instead of using tag name, directly use git commit for the base feed
string if we detect we are generating an SDK from a buildbot (using
CONFIG_BUILDBOT)

This improve security and generates consistent feed.conf.default files
following the pattern used by feeds repository.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-04 19:20:55 +01:00
Christian Marangi
289172b00e
sdk: invert logic for GIT_BRANCH and GIT_TAGNAME
There is currently a logic error with generating the base feed string.

In the scenario where the commit of a Tag match the latest commit of a
stable branch, the stable branch have priority over the tag name.

This results in generating SDK that actually target the branch instead
of the specific tag.

To fix this invert the logic and give priority to the tag name.

Fixes: #18583
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-04 19:20:38 +01:00
Christian Marangi
0338dd44d5
sdk: filter out main on GIT_BRANCH parsing
Branch named main was never filter out on parsing the GIT_BRANCH define.

Add main to the name of branch that should be filtered.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-04 19:08:08 +01:00
Christian Marangi
78a8cfb577
tools: gnulib: fix broken install of .m4 files
Makefile foreach works only on parsing the Makefile and in this specific
case only works if the package is already extracted and file actually
exist.

On scenario where the package still has to be built, foreach doesn't
find any file causing Host/Install to not install any .m4 file.

To handle this, use a shell for loop that scan files in the
Host/install.

Fixes: c820f097e0 ("tools: gnulib: install .m4 file with gl_ prefix")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-04 16:35:40 +01:00
Shiji Yang
9c6dbb0e3d busybox: fix regression for long long type dump support
Fix wrong output using '%d' format when byte count parameter is not
given.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21013
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-04 12:15:59 +01:00
Robert Marko
1db4155aa9 qca-nss-dp: update to Git HEAD (2025-11-24)
cdedfd891bdf nss-dp: fix hardware STP state sync with the kernel
19c51af0c5be nss-dp: switchdev: improve FDB cleanup for roaming

Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-04 12:08:56 +01:00
Robert Marko
af853d3d38 rpcd: update to Git HEAD (2025-12-03)
a284e7751fa7 file: bump sz_size to 64 bits
ffb9961c1f8b file: provide user name and group name lookups for stat listings

Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-04 11:06:48 +01:00
Goetz Goerisch
316a85ed91 odhcpd: update to Git HEAD (2025-12-01)
338ca8abb950 dhcpv4: support IPv6-only preferred (RFC8925)
7336992e6866 dhcpv6-ia: fix a crash when static lease isn't configured
a170d63874f2 src: fix shadowed local variables
90f503fc7ca6 ubus: fix shadow local variable
ef8de928da7f build: enable DHCPV4_SUPPORT and UBUS
def8adea9e6c statefiles: remove hosts entries from statefile
e568bde96e9f odhcpd: remove OAF_BROKEN_HOSTNAME
1fe60e14e468 odhcpd: remove OAF_STATIC
9ae348c07ce0 dhcpv6: remove OAF_TENTATIVE
d0e6bc4d1cc2 odhcpd: remove OAF_BOUND
7fddd3916664 statefiles: change ipv4 MAC statefile syntax
bb2da6dcb58d build: fix BUILD_ARGS
94ef124f726e dhcpv6-ia: fix crash in dhcpv6_free_lease()
6fbd70c08342 build: disable static libraries

d21e504b38...6fbd70c083

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21009
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-04 08:45:17 +01:00
Hauke Mehrtens
cd9229d061 treewide: Fix const compile errors
Fixes compile errors caused by static const arrays;

The lantiq firmware is const now.

ATTRIBUTE_GROUPS() does not take const.

Fixes: 5b263f3360 ("treewide: add const to static arrays")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-03 23:28:43 +01:00
Mikhail Zadorozhnyi
6f2325b23d mvebu: gl-mv1000: add devicetree patch for sdhci1
GL-MV1000 external SD controller was broken by a recent kernel update
due to a mistake in Device Tree: "regulator-gpio" was defined without
required "gpios" property.

Removing this regulator definition from the device tree fixes this issue
without any side effects so far.

"main" branch uses upstream devicetree for this device, so add a kernel
patch for the "mvebu" kernel family.

Relevant discussions:
https://github.com/openwrt/openwrt/issues/20309
https://github.com/openwrt/openwrt/pull/20378

Signed-off-by: Mikhail Zadorozhnyi <zador.blood.stained+git@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/20390
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-03 22:46:29 +01:00
Christian Marangi
8ad5f35a90
autoconf-archive: backport patch for C++23 support
Backport upstream patch for C++23 support on ax_cxx_compile_stdcxx.m4.

This is needed by Asterisk package to correctly configure.

It's currently not possible to bump to a more recent autoconf-archive
release 2024.10.16 as it's currently affected by multiple BUGs ([1])

[1] e1acc7a67b

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-03 20:00:21 +01:00
Christian Marangi
c820f097e0
tools: gnulib: install .m4 file with gl_ prefix
It was found that there is currently a conflict for the cond.m4 that
is also shipped by automake, making the gnulib one having priority causing
problem with finding AM_CONDITIONAL macro.

To handle this, install gnulib .m4 file with a gl_ prefix to the
filename.

This make sure gnulib .m4 file won't have name conflict with automake
.m4 default files permitting correct autoreconf run of any affected
package by this.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-03 18:44:42 +01:00
Robert Marko
5205c0c426
microchipsw: lan969x: add Microchip EV23X71A
Microchip EV23X71A is a LAN9696 based EVB.

Specifications:
* CPU: Microchip LAN9696 switch SoC
* DRAM: 1GB DDR4
* Storage:
	* 2MB QSPI NOR
	* 4GB eMMC
* Networking:
	* 24 x 10/100/1000 RJ45 via LAN8814 Quad PHY-s over QSGMII
	* 4 x 100/1000/2500/5000/10000 SFP+ ports
	* 1 x 10/100/1000 management RJ45 via LAN8840 PHY over RGMII (U-Boot too)
* USB: 1 x USB2.0 Type-A
* Management via USB-C (MCP2200):
	* UART @ 115200 baud
	* GPIO-s for bootstrap, reset and clock selection
* DIP switch for boostrap configuration
* LED-s:
	* 2 per networking port (Green and Yellow)
	* Green status LED
	* Yellow reset LED
* Hard reset button
* Power:
	* 12V DC barrel jack
	* 48/56V DC screw terminal
	* Selectable via toggle switch
* PTP support:
	* Sync-E DPLL ZL30732B to generate the board required clocks
	* Two SMAs for PTP and two for Station clock inputs and outputs
	* Two ITU-T G.8275-compliant RS-422 interfaces for PTP applications
* External PoE:
	* Option for PoE add-on, like EV14Y36A (IEEE 802.3af/at/bt Type 4
	standard com-pliant)
* Option for external CPU control via SPI and PCIe

Installation instructions:

1. Connect to UART via the USB-C port
2. Connect the management port
3. Boot and interrupt U-Boot
4. TFTP the OpenWrt initramfs image and boot it
5. SCP the OpenWrt eMMC GPT image to a running OpenWrt initramfs to /tmp
openwrt-microchipsw-lan969x-microchip_ev23x71a-squashfs-emmc-gpt.img.gz

And decompress it via:
gzip -d /tmp/openwrt-microchipsw-lan969x-microchip_ev23x71a-squashfs-emmc-gpt.img.gz

6. Wipe eMMC with:
dd if=/dev/zero of=/dev/mmcblk0 bs=1M

7. Flash OpenWrt eMMC image with:
dd if=/tmp/openwrt-microchipsw-lan969x-microchip_ev23x71a-squashfs-emmc-gpt.img
of=/dev/mmcblk0

After a restart OpenWrt will boot, and then regular sysupgrade can be used
for upgrades.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2025-12-03 12:13:17 +01:00
Robert Marko
88a404a2d1
microchipsw: add support for Microchip LAN969x switches
Add a new microchipsw target aimed add supporting Microchip switch
SoC-s.

Start by supporting LAN969x SoC-s as the first subtarget.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2025-12-03 12:13:17 +01:00
Rosen Penev
5e3a602def ath79: sitecom,wlrx100: use nvmem
Userspace handling is deprecated.

Also use led-sources for simplicity.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20508
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-03 00:55:26 +01:00
Rani Hod
ff1419f895 mediatek: filogic: add support for Widelantech WAP430X
This AX3000 flying saucer-shaped device is sold under a few names:
- Widelantech WAP430X
  http://www.widelantech.com/?m=home&c=View&a=index&aid=131
- Felicomm
- UeeVii UAP200 (sold on amazon.com)
True name, as marked on the PCB and as appears in the DTS, is WAP430X.

Hardware:
- SoC: Mediatek MT7981B
- RAM: 256MiB DDR3
- ROM: 16MiB NOR flash (Winbond 25Q128JVSQ)
- Wired: one GbE RJ45 port
- Wireless: Mediatek MT7976CN DBDC
- Antennas: Internal (two 2.4 GHz 4.5 dBi, three 5 GHz 6 dBi)
- GPIO: two blue LEDs (status, WLAN), one button (reset)
- Power: DC5521 (12V) or 802.3af PoE (48V 0.3A)
- UART: J500 on PCB [3v3] (Rx) (Tx) (Gnd), 115200n

Original firmware is GECOOS 8.0_2024081000, a fork of OpenWrt 21.02
created by Widelantech. All ports are closed except 443 (web management
interface) and 80 (redirects to 443). UART is locked down, but U-Boot
bootloader is friendly.

Installation is done via UART (see note below).

Method 1: press any key during boot to enter MTK U-Boot bootloader,
then choose option 2 (Upgrade firmware) and upload sysupgrade binary
via TFTP (or via Xmodem).

Method 2: put sysupgrade binary on a webserver (http, not https); after
GECOOS loads, choose option 4 (固件在线升级 = online firmware upgrade)
in the menu and enter the URL to the sysupgrade binary.

Note: GECOOS has a slick web management, and firmware can be uploaded
at https://6.6.6.6/#/system/sysupgrade but it's still not clear how to
convert the sysupgrade binary to a factory binary accepted by the web
interface (WIP).

Signed-off-by: Rani Hod <rani.hod@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20402
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-03 00:53:39 +01:00
Rosen Penev
e5b86c2320 ath79: ecb1xxx: use nvmem
Userspace handling is deprecated.

Also switch LED to led-sources for simplicity.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20529
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-03 00:01:41 +01:00
Rosen Penev
616b0cebe7 gpio-button-hotplug: use devm_kmemdup_array
Eliminates a manual memcpy.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19932
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-02 23:32:42 +01:00
Rosen Penev
5b263f3360 treewide: add const to static arrays
Allows more compiler optimization.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19932
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-02 23:32:42 +01:00
Rosen Penev
4ffd5aa239 treewide: fix coccinelle checks
Unneeded semicolon

WARNING comparing pointer to 0

WARNING: NULL check before some freeing functions is not needed.

WARNING: casting value returned by memory allocation function to (u32 *)

ERROR: allocation function on line 378 returns NULL not ERR_PTR on failure

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19932
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-02 23:32:42 +01:00
Rosen Penev
55b5e44673 ath79: ews511ap: use nvmem
Userspace handling is deprecated.

This is a weird one. It should be using u-boot,env, but the variable
name is unknown. Keep it as is.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20520
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-02 23:02:46 +01:00
gongzi miao
d0fcbddaad kernel: bump 6.12 to 6.12.60
changelog:
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.60

Signed-off-by: gongzi miao <miaogongzi0227@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21010
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-02 22:51:19 +01:00
Sven Eckelmann
141ac0b2bd realtek: dsa: rtl930x: Fix flow control with ingress shaping
Tests with ingress shaping and enabled flow control showed really high
packet loss. It seems like the MAC pause frames are not created correctly
when both burst high off is set to the same value as burst high on.

By default, RTL930x has set the burst high values to:

* on: 64K
* off: 32K

Using the same 1:2 ratio seems to solve the high packet loss rate during
UDP tests.

Fixes: 2e74eb6d93 ("realtek: dsa: rtl93xx: Support per port throttling")
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21011
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-02 10:42:24 +01:00
Felix Fietkau
2bc7978323 openssl: fix AES-GCM-SIV and AES-SIV with zero-length messages
Fix the cipher implementation to avoid treating empty input as finalizer.
This issue is fixed in the openssl 3.6 branch, but the fix approach from
that branch is not suitable for 3.5, since the code is completely different.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-12-01 19:20:14 +01:00
Robert Marko
5bdf1b8d9c qualcommax: fix CPR of_property_present conversion
CPR conversion to of_property_present is broken in multiple places, either
by leaving the comma after now the last argument or by attempting to replace
an instance that actually uses the returned length.

So, lets fix these in order for qualcommax to compile again.

Fixes: c9e7f32c4c ("treewide: use of_property_present")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-01 15:05:56 +01:00
Eric Schäfer
401c0a03f1 qualcommax: ipq807x: add support for Zyxel NWA210AX
The Zyxel NWA210AX is a wall- and ceiling-mountable access point (AP).

Hardware specifications:
- SoC: Qualcomm IPQ8071A
- RAM: 1 GB (Samsung K4A8G165WC-BCTD)
- Flash: 8 MB (Winbond W25Q64DW), 256 MB (Winbond W29N02GZ)
- Ethernet: 1x 2.5 Gbps RJ45 port (QCA8081), 1x 1 Gbps RJ45 port (AR8033)
- WiFi: 2.4 GHz 802.11ax/b/g/n (QCN5024), 5 GHz 802.11 ac/ax/n (QCN5054)
- Power: DC 12V/PoE 802.3at
- Button: Reset
- LEDs: Multicolour red/green/blue/white via LP5562

Installation/flashing instructions:
1. In OEM web interface navigate to gear icon → System → SSH and enable SSH.
2. Log in via SSH (username/password are the same as for the web interface).
3. Run "debug dual-image show".
4. Verify that output is "Current Image num: 1".
5. If this is not the case (i.e. if the output is "Current Image num: 0"):
   a. Either flash a fresh version of factory firmware, or
   b. run "debug dual-image set boot-image image1" and then run "reboot".
6. Log in via SSH again and verify that output is "Current Image num: 1".
7. Rename "openwrt-qualcommax-ipq807x-zyxel_nwa210ax-squashfs-factory.bin" to
   "openwrt.bin" to avoid upload errors in the OEM web interface.
8. Reopen OEM web interface, navigate to wrench icon → File Manager →
   Firmware Package and upload the bin file. Once the upgrade process is
   finished and OpenWrt has booted, the LED will light up green.

Switching between OpenWrt and OEM firmware:
- OpenWrt → Zyxel via ssh command "zyxel-bootconfig-ipq807x set image1".
- Zyxel → OpenWrt via ssh command "debug dual-image set boot-image image0".

This commit is based on the work of Pascal Beleiu  <pascal@beleiu.de>:
93ca21f3 (qualcommax: ipq807x: add support for Zyxel NWA210AX, 2025-03-17)

Signed-off-by: Eric Schäfer <eric@es86.de>
Link: https://github.com/openwrt/openwrt/pull/19828
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-01 14:30:27 +01:00
Rosen Penev
bda163eb7c ath79: add back mistakenly removed label
Fixes target builds.

Fixes: 592d4e6 ("ath79: mr600-v1: use led-sources for ath9k")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21008
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 11:56:18 +01:00
Álvaro Fernández Rojas
d7f777b41c generic: 6.12: backport bcm63xx-spi CS deassertion fix
Backport fix for premature SPI CS deassertion on RX-only transactions from
linux v6.18, which is needed for bmips (bcm63xx).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-01 09:12:36 +01:00
Rany Hany
0e7a7e62fb wifi-scripts: add beacon_prot and spp_amsdu support
This adds support for beacon_prot and spp_amsdu in hostapd and
beacon_prot in wpa_supplicant (spp_amsdu is not relevant there).
Both options are disabled by default unless set in the config.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20793
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:51:31 +01:00
Shiji Yang
9f5cb25867 ipq40xx: dts: remove useless ethernet0 alias for WIA3300-20
The MAC addresses of this device are not assigned by the bootloader.
Therefore, this alias is useless.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20478
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:46:33 +01:00
Shiji Yang
7bbbe77504 ipq40xx: dts: convert WIA3300-20 SPI chipselect to hardware mode
On ipq40xx platform, some specific GPIO can be configured as hardware
controlled SPI CS pin. This commit is an example of how to convert the
chipselect pin to the hardware CS mode.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20478
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:46:33 +01:00
Rany Hany
c16d83184b wifi-scripts: change wifi-station's mac option into list
In the past PR[1] to add SAE wifi-station support, a commenter[2] requested
that the mac option be changed into a list. After trying to migrate my old
RADIUS setup I found myself wanting this change as well as it would simplify
my config. This patch does precisely that. Old configs that specify
`option mac ....` still work without any issues.

This change was done for both PSK and SAE. The schema was updated as well.

[1]: https://github.com/openwrt/openwrt/pull/17145
[2]: https://github.com/openwrt/openwrt/pull/17145#issuecomment-2523507953

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/17650
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:44:12 +01:00
Tomáš Macholda
ea6ee93060 mvebu: add support for Turris MOX
Adds support for Turris MOX, a modular router extendable by board modules (MOX B-G).

You can explore the idea behind the modules at: https://mox-configurator.turris.cz/

More information about Turris MOX can be found here: https://docs.turris.cz/hw/mox/intro/

Also works with Turris Shield (Turris MOX A and C with a simplified OS UI).

Specifications:
-----------------------

MOX A
- SoC: Marvell Armada 3720
- RAM: 512/1024 MB, DDR3
- Memory:
    - 8 MB SPI NOR Flash for U-Boot and rescue system
    - SD card slot
- 1x RJ-45, 1Gbps
- 1x USB 3.0
- 1x activity LED
- 1x reset button
- SDIO header
- misc pin header (UART, GPIO, JTAG, ...)

MOX B, G
- 1x mPCIe slot
- 1x SIM slot

MOX C
- 4x RJ-45, 1Gbps

MOX D
- SFP, 2.5Gbps

MOX E
- 8x RJ-45, 1Gbps

MOX F
- 4x USB 3.0

Module support:
-----------------------

Additional packages are needed for some modules.

MOX A (core)
- works as is

MOX B, G (mPCIe, mPCIe passthrough)
- works as is

MOX C, E (4x, 8x RJ-45)
- kmod-dsa
- kmod-dsa-mv88e6xxx

MOX D (SFP)
- kmod-sfp
- kmod-phy-marvell-10g

MOX F (4x USB 3.0)
- works as is

Wi-Fi 5, 3x3 card (WLE900VX)
- kmod-ath10k
- ath10k-board-qca988x
- ath10k-firmware-qca988x

Wi-Fi 6, DBDC, 2x2 card (MT7915DAN)
- kmod-mt7915e
- kmod-mt7915-firmware

Interface naming:
-----------------------

- MOX A's RJ-45 is assigned to `eth0`.
- MOX C, E (4x, 8x RJ-45) are assigned to `lan<number>@eth1`
- If MOX D (SFP) is connected directly to MOX A, the resulting interface
  is `eth1`. If it's connected through MOX E (8x RJ-45), the resulting
  interface is `sfp@eth1`.

Quirks:
-----------------------

- MOX is sensitive to the order of connected modules. Verify that the
  confguration is valid at: https://mox-configurator.turris.cz/
- `CONFIG_MOXTET` and `CONFIG_GPIO_MOXTET` need to be enabled in kernel
  config. Moxtet is a bus protocol needed to discover and configure MOX
  modules. It must be compiled into the kernel for the modules to work.
  Though it's very small so it won't bloat up the kernel image.

Flashing instructions:
-----------------------

1. Download `openwrt-*-ext4-sdcard.img.gz` and `gunzip` it.
2. Insert an SD card and flash the image to it using dd:
   dd if=openwrt-*-ext4-sdcard.img.gz of=/dev/mmcblk0 bs=4096 conv=fsync
3. Plug the SD card into MOX.

Troubleshooting:
-----------------------

- https://docs.turris.cz/hw/serial/#turris-mox
- https://docs.turris.cz/hw/mox/rescue-modes/

Signed-off-by: Tomáš Macholda <tomas.macholda@nic.cz>
Link: https://github.com/openwrt/openwrt/pull/20356
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:32:14 +01:00
Rany Hany
cfb976d1d7 wifi-scripts: make ft_iface configurable
This is useful as there are cases where no network is configured
or the configured network is isolated (APs are blocked from
communicating with each other over it). In both cases, it would make
sense to set ft_iface to another interface dedicated to FT over DS
traffic.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20797
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:25:16 +01:00
INAGAKI Hiroshi
5baaee843a ath79: add support for NEC Aterm WF1200HP2
NEC Aterm WF1200HP2 is a 2.4/5 GHz band 11ac (Wi-Fi 5) router with FE
ports, based on AR9344.

Specification:

- SoC              : Atheros AR9344
- RAM              : DDR2 128 MiB (2x ESMT M14D5121632A-2.5BG2A)
- Flash            : SPI-NOR 8 MiB (Macronix MX25L6406EM2I-12G)
- WLAN             : 2.4/5 GHz 2T2R
  - 2.4 GHz        : Atheros AR9344 (SoC)
  - 5 GHz          : Qualcomm Atheros QCA9882
- Ethernet         : 4x 10/100 Mbps
  - switch         : Atheros AR9344 (SoC)
- LEDs/Keys (GPIO) : 12x/4x
  - note           : all LEDs are controlled by ath10k chip (QCA9882)
- UART             : through-hole on PCB (J1)
  - assignment     : 3.3V, GND, NC, TX, RX from tri-angle marking
  - settings       : 9600n8 (U-Boot: 115200n8)
- Power            : 12 VDC, 0.7 A (Max. 8 W)
- Stock OS         : NetBSD based

Flash instruction using initramfs-factory.bin image (StockFW WebUI):

1. Boot WF1200HP2 with router mode
2. Access to the WebUI ("http://aterm.me/" or "http://192.168.10.1/") on
   the device and open firmware update page ("ファームウェア更新")
3. Select the OpenWrt initramfs-factory.bin image and click update
   ("更新") button
4. After updating, the device will be rebooted and booted with OpenWrt
   initramfs image
5. On the initramfs image, upload (or download) uboot.bin and
   sysupgrade.bin image to the device
6. Replace the bootloader with uboot.bin image

   mtd write <uboot.bin image> bootloader

7. Perform sysupgrade with sysupgrade.bin image

   sysupgrade <sysuppgrade image>

8. Wait ~120 seconds to complete flashing and rebooting

Flash instruction using initramfs-factory.bin image (bootloader CLI):

 1. Connect and open serial console
 2. Power on WF1200HP2 and interrupt bootloader by ESC key
 3. Login to the bootloader CLI with the password "chiron"
 4. Start TFTP server by "tftpd" command
 5. Upload initramfs-factory.bin via tftp from your computer

    example (Windows): tftp -i 192.168.0.1 PUT initramfs-factory.bin

 6. Boot initramfs image by "boot" command
 7. On the initramfs image, backup the stock bootloader and firmware if
    needed
 8. Upload (or download) uboot.bin and sysupgrade.bin image to the
    device
 9. Replace the bootloader with uboot.bin image (see above)
10. Perform sysupgrade with sysupgrade.bin image (see above)
11. Wait ~120 seconds to complete flashing and rebooting

Notes:

- The stock bootloader requires the unknown filesystem on firmware area
  in the flash chip. Booting OpenWrt from that filesystem cannot be
  handled, so the bootloader needs to be replaced to mainline U-Boot
  before OpenWrt installation.

Known issues:

- All LEDs on the front side are connected to the GPIO controller on the
  ath10k chip (QCA9882) and controlled by it. The current ath10k driver
  supports only one LED as "ath10k-phyN", but using as a GPIO controller
  is not supported yet. As a result, all 12x LEDs on the front side
  cannot be controlled by users.

MAC Addresses:

LAN    : C0:25:A2:xx:xx:44 (config,  0x6 (hex))
WAN    : C0:25:A2:xx:xx:45 (config,  0xc (hex))
2.4 GHz: C0:25:A2:xx:xx:46 (config,  0x0 (hex))
5 GHz  : C0:25:A2:xx:xx:47 (config, 0x12 (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20611
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:17:48 +01:00