Commit Graph
72440 Commits
Author SHA1 Message Date
Tianling Shen a3378d1a2c ImmortalWrt v25.12.1: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
v25.12.1
2026-07-06 10:13:55 +08:00
Tianling Shen cd0a06bfd3 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-07-02 09:40:04 +08:00
Hauke Mehrtens 949e61ec65 odhcp6c: Increase PKG_RELEASE
Indicate that there are some changes. This should make sure that the
package gets updated.

Fixes: 257aee0cc0 ("scripts: dhcpv6: don't report custom ip6class if default")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4b370c5097)
2026-07-01 23:12:57 +02:00
Hauke Mehrtens df8a0c1654 ead: Increase PKG_RELEASE
Indicate that there are some changes. This should make sure that the
package gets updated.

Fixes: 63c0767f3d ("ead: fix integer underflow in handle_send_a()")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 75fad162df)
2026-07-01 23:12:55 +02:00
GrischeandJonas Jelonek 863c6159a2 rockchip: add support for FriendlyARM NanoPi R2S Plus
The NanoPi R2S Plus is a NanoPi R2S with on-board eMMC added. The device
tree (rk3328-nanopi-r2s-plus.dts) is already present in kernel 6.12, and
U-Boot support has been present since v2025.01, so neither a kernel DTS
backport nor a U-Boot patch is required.

Hardware
--------
Rockchip RK3328 (4x Cortex-A53, up to 1.4 GHz)
1GB DDR4 RAM
32GB eMMC 5.1
microSD slot (up to 128GB)
1x 1000 Base-T (native, RTL8211F via GMAC) - WAN
1x 1000 Base-T (USB 3.0, RTL8153B) - LAN
Optional M.2 SDIO Wi-Fi
2x USB 2.0 Type-A host
1x USB-C (5V power input, USB device for Maskrom update)
1x USB-C (onboard USB-to-UART debug console, 1500000 bps)
1x serial debug header / UART0 (3.3V TTL, 3-pin 2.54mm)
2 Buttons (GPIO key, Maskrom)
3 LEDs (SYS red, WAN green, LAN green)
DC 5V/2A power
Operating temperature 0 to 70 C

The MAC addresses are derived from the eMMC CID, so they are stable
regardless of whether the device boots from microSD or eMMC.

Installation
------------

On RK3328 the BootROM boots the eMMC before the microSD slot, so the
Maskrom button must be held to boot from microSD while stock firmware is
still on the eMMC.

How to boot from eMMC:

1. Write the uncompressed sysupgrade image to sdcard
2. Hold the "Mask" button while powering on the device
3. Wait until OpenWrt is fully booted
4. Copy the compressed .gz sysupgrade image to the machine's /tmp folder using scp
5. Run: gunzip -c /tmp/openwrt-...-friendlyarm_nanopi-r2s-plus-squashfs-sysupgrade.img.gz | dd of=/dev/mmcblk1 bs=4M conv=fsync
6. Power the device off, remove the sdcard and power it back on

Tested:
- microSD boot (via Maskrom button) and native eMMC boot
- Both Ethernet ports (RTL8211F WAN, RTL8153B LAN)
- eMMC-derived MAC addresses

Signed-off-by: Grische <github@grische.xyz>
Assisted-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/23854
(cherry picked from commit e54f0353c2)
Link: https://github.com/openwrt/openwrt/pull/24006
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-01 09:53:00 +02:00
Mikhail ZhilkinandJonas Jelonek 826a01ef39 qualcommax: ipq50xx: add support for CMCC MR3000D-CI
CMCC MR3000D-CI is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on
IPQ5000.

Device specification
--------------------
- SoC			: Qualcomm IPQ5018
- RAM			: 512 MiB DDR3L
- Flash			: 128 MiB SPI-NAND (GigaDevice GD5F1GQ5REYIG)
- WLAN			: 2.4/5 GHz 2T2R
- 	2.4 GHz		: Qualcomm IPQ5018 (SoC)
- 	5 GHz		: Qualcomm Atheros QCN6102
- Ethernet		: 4x 10/100/1000 Mbps
- 	Switch		: Qualcomm Atheros QCA8337
- LEDs/Keys (GPIO)	: 2x LEDs, 2x Buttons
- UART			: Through-hole on PCB
- 	Voltage		: 3.3 V
- 	Assignment	: Silkscreened on PCB
- 	Settings	: 115200n8
- Power			: 12 VDC, 1.5 A

Installation
-----------------
1. Telnet method
    a. Enable telnet
    Log in to http://192.168.10.1/ with the password on the sticker
    Modify URL according to example (keep your unique hash after ";stok=")
    and press Enter:
    http://192.168.10.1/cgi-bin/luci/;stok=78becad1b1490e45be2776025cde2b7d/api/NPCnetwork/ping?url=$(telnetd)
    You should get the following in the browser:
    {"link":0}

    b. Run tftp server on IP 192.168.10.254 and put factory image
    'openwrt-qualcommax-ipq50xx-cmcc_mr3000d-ci-squashfs-factory.ubi'
    in the tftp root dir.

    c. Login to 192.168.10.1 with telnet (user: root, pass: from the
    sticker).

    d. Download factory image from the tftp:
    tftp -l factory.ubi -r openwrt-qualcommax-ipq50xx-cmcc_mr3000d-ci-squashfs-factory.ubi -g 192.168.10.254

    e. Flash factory image:
    export rootfs=$(cat /proc/mtd | grep rootfs | grep -v _ | cut -d: -f1)
    ubidetach -f -p /dev/${rootfs}
    ubiformat /dev/${rootfs} -y -f /tmp/factory.ubi

    f. Reboot:
    reboot

2. U-Boot Method using UBI Image (using UART)
    a. Place the factory.ubi file on your TFTP server, enter U-Boot CLI
    and exec these commands:
    tftpboot <your_tftp_server_ip>:factory.ubi
    flash rootfs
    reset

3. U-Boot Method using initramfs Image (using UART)
    a. Place the openwrt-*-initramfs-fit-uImage.itb file on your TFTP
    server and rename it to initramfs.bin

    b. Enable serial console, enter to U-Boot CLI and exec these commands:
    tftpboot <your_tftp_server_ip>:initramfs.bin
    bootm

    c. Once boot completed, upload the sysupgrade.bin file to router's
    /tmp directory (using scp or wget) and execute the following command
    in openwrt shell:
    sysupgrade -n /tmp/sysupgrade.bin

MAC Addresses
-------------
+--------------+-------------------+-------------+
| Interface    | MAC example       | Location    |
+--------------+-------------------+-------------+
| LAN          | 84:7a:xx:xx:xx:dd | 0:ART, 0x6  |
| WAN (label)  | 84:7a:xx:xx:xx:dc | 0:ART, 0x0  |
| WLAN 2.4 GHz | 84:7a:xx:xx:xx:de | 0:ART, 0xc  |
| WLAN 5       | 84:7a:xx:xx:xx:df | 0:ART, 0x12 |
+--------------+-------------------+-------------+

Notes
-----
1. U-Boot is protected by a password (pass: netpower).

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21952
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3a39f682df)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22083
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-01 09:52:24 +02:00
Fil DunskyandJonas Jelonek c8ee844d60 mediatek: add support Livinet Li320
This commit adds support for Livinet Li320 wireless router.

Specification
-------------
- SoC       : MediaTek MT7981B dual-core ARM Cortex-A53
- RAM       : 512MB
- Flash     : SPI-NAND Fudan Micro FM25S01BI3
- WLAN      : MediaTek MT7976 dual-band Wi-Fi 6
- Ethernet  : MediaTek MT7531 switch, 1x WAN + 3x LAN (2.5GbE uplink via gmac0)
- Buttons   : WPS, Reset
- LEDs      : 8xGreen, 1xRed
- Power     : Barrel DC 12v

Installation
------------
The factory firmware is a compatible OpenWrt-based fork, allowing
direct installation via the LuCI upgrade page using the sysupgrade image.

MAC addresses
-------------
| Interface | MAC source               |
|-----------|--------------------------|
| LAN       | Factory 0x4 (mac-base -1)|
| WAN       | Factory 0x4 (mac-base -2)|
| WLAN 2.4G | Factory 0x4 (mac-base)   |
| WLAN 5G   | Factory 0x4 (mac-base +1)|

Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23744
(cherry picked from commit 673df8f6a9)
Link: https://github.com/openwrt/openwrt/pull/23988
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-30 09:11:43 +02:00
Hauke Mehrtens bb9df8541c OpenWrt v25.12.5: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-30 00:03:59 +02:00
Hauke Mehrtens f0a60eee2f OpenWrt v25.12.5: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-30 00:03:42 +02:00
Dimitri SouzaandRobert Marko f5dae5ece4 mediatek: acer-predator-w6x: add LED boot status support
Define led-boot, led-failsafe, led-running, and led-upgrade in the
Acer Predator W6X DTSI so the system LED reflects the standard OpenWrt
boot and runtime states.

Signed-off-by: Dimitri Souza <dimitri.souza@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23958
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit 002e7613e0)
Link: https://github.com/openwrt/openwrt/pull/23992
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-29 14:59:20 +02:00
ShineandRobert Marko 481e0a16f4 scripts: dhcpv6: don't report custom ip6class if default
odhcp6c returns delegated prefixes with a "class=<IAID>" tag if a custom
IAID was specified in the -P argument. This tag must then be used for any
prefix filter ("network.<interface>.ip6class") instead of the uplink i/f
name.

OpenWrt by default uses the first eight digits of the uplink i/f name's MD5
hash as IAID. Don't report a custom "class" tag for this default IAID.

Fixes: f08cd5ce5d
Signed-off-by: Shine <4c.fce2@proton.me>
Tested-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23989
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 257aee0cc0)
2026-06-29 14:51:08 +02:00
Tianling Shen 2fee31cb47 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-06-29 17:03:24 +08:00
Christian MarangiandJonas Jelonek ebae538f22 airoha: add pending patch for additional GPIO pins for PHY LED0
Add a pending patch that permits additional GPIO pins (43-46) for PHY LED0.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 5f983981db)
Link: https://github.com/openwrt/openwrt/pull/23922
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-29 09:53:02 +02:00
Mieczyslaw NalewajandJonas Jelonek ded2716fd9 kernel: split nf-nathelper-extra into individual packages
Split kmod-nf-nathelper-extra into separate helper packages
and keep the original package as a compatibility meta-package.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/23690
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 9635f44ead)
Link: https://github.com/openwrt/openwrt/pull/23967
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-29 09:10:06 +02:00
Tianling Shen 7efb00649b Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-06-29 14:19:03 +08:00
Mieczyslaw NalewajandJonas Jelonek 11a237101e rtl8367b: fix RTL8367S-VB vlan mc memory handling
The RTL8367S-VB (Family D) uses a software-emulated VLAN MC table
(emu_vlanmc) since it lacks hardware support for the VLAN MC registers
used by earlier chips.

- Add missing NULL check after kzalloc() in rtl8367b_init_regs() to
  prevent NULL pointer dereference on allocation failure.
- Add missing kfree(smi->emu_vlanmc) in rtl8367b_remove() to prevent
  memory leak on driver unload.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/23970
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry-picked from beb880855c)
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-28 22:26:47 +02:00
Hauke Mehrtens 6dead28692 dropbear: Add additional fixes from 2026.91
This fixes some bugs introduced with the recent security fixes.

Fixes: 2218cb1949 ("dropbear: backport some security fixes from 2026.90")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-28 17:45:52 +02:00
Hauke Mehrtens 2218cb1949 dropbear: backport some security fixes from 2026.90
This cherry picks the following changes:

- Security: server: Fix ability to bypass an authorized_keys "forced_command"
  option by an authenticated user, if Dropbear is running with "-t" option.
  ("-t" is require both password and public key).
  https://github.com/mkj/dropbear/commit/c60db6408178aaca0a8aacd017ac344a2cfb30c8
  Reported by Jeremy Brown

- Security: server: Open authorized_keys non-blocking. This avoids getting stuck
  with special files, could allow denial of service from local users.
  https://github.com/mkj/dropbear/commit/8b579571b5584847caf72345b9073b3b2a0467a7
  Reported by Turistu

- Security: scp: Add missed patch to fix CVE-2019-6111 allowing a malicious server
  to overwrite unexpected files.
  https://github.com/mkj/dropbear/commit/143291baca6ebb3407a0c25c85bd53bf041a6ab7
  Patch from OpenSSH, reported missing by Asim Viladi Oglu Manizada @manizada

  Note breaking change: "-r" is now disallowed when the target directory exists
  (an additional change in Dropbear's version). If that's required an alternative
  such as rsync could be used.
  https://github.com/mkj/dropbear/commit/61bd0e3e6573277de17359763aa5827a189c8d7f

- Security: scp: Clear setuid/setgid bits on received files.
  https://github.com/mkj/dropbear/commit/443ccc1fd1b9a4e3747f6b5cd644b7af49064308
  Patch from OpenSSH, tracked as CVE-2026-35385

- Security: client/server: Fix close() of a file descriptor from an out-of-bounds
  read. This seems difficult to exploit but may have unforeseen effects.
  https://github.com/mkj/dropbear/commit/067fd3846c425d1998c7c94d3feafe1f26b514eb
  Reported by Ankit Singh and @j499261162

Link: https://github.com/openwrt/openwrt/pull/23980
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-28 17:35:39 +02:00
Hauke Mehrtens 2d8259f7da ubus: update to Git HEAD (2026-06-28)
24864e7840b3 ubusd_id: use GRND_INSECURE to avoid blocking boot on getrandom()

Fixes: https://github.com/openwrt/ubus/issues/21
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3c26b9fd64)
2026-06-28 16:50:14 +02:00
Hauke Mehrtens 7e84cb6c50 odhcpd: update to Git openwrt-25.12 (2026-06-28)
5d7be43f8b9d statefiles: escape client hostnames in the lease state file

Use different date than main branch to avoid conflict.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-28 00:49:23 +02:00
Fil DunskyandHauke Mehrtens 24151bab4f mediatek: add WD-R3000N-G2A as ALT device for Bazis AX3000WM
The Bazis AX3000WM is an OEM variant of the Shenzhen Jia Yan Technology
WD-R3000N-G2A (per EAEU certificate N RU Д-CN.РА04.В.23104/26). Hardware
is identical. Added for the owners of this device so they can find it
in firmware-selector.

Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23653
(cherry picked from commit e79df8aa03)
Link: https://github.com/openwrt/openwrt/pull/23941
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 13:23:28 +02:00
sh3ikh-faisalandHauke Mehrtens daaf5bc69b mediatek: add support for JioRouter AX6000 JIDU6101
| Component        | Details                                         |
|------------------|-------------------------------------------------|
| **SoC**          | MediaTek MT7986A (4× ARM Cortex-A53 @ 2.0 GHz) |
| **RAM**          | 512 MB                                          |
| **Flash**        | 256 MB NAND                                     |
| **Ethernet**     | 5× 10/100/1000 Mbps (1 WAN + 4 LAN)            |
| **WLAN 2.4 GHz** | MediaTek MT7976GN — 802.11b/g/n/ax, 4×4 MIMO   |
| **WLAN 5 GHz**   | MediaTek MT7976AN — 802.11n/ac/ax, 4×4 MIMO    |
| **LEDs**         | 1× RGB LED (GPIO-controlled)                    |
| **Button**       | 1× Reset                                        |
| **USB**          | Yes                                             |

**MAC Addresses:**

| Interface  | Source                                          |
|------------|-------------------------------------------------|
| WAN/Label  | u-boot-env MTD partition, "mac" (text)          |
| LAN        | WAN + 1                                         |
| 2.4 GHz    | WAN + 2                                         |
| 5 GHz      | WAN + 3                                         |

---

**1. Prepare TFTP server**

Set a static IP on the ethernet interface of your computer (e.g. default: ip `192.168.1.2`, gateway `192.168.1.1`).

Download the initramfs image and host it with the TFTP server.

**2. Interrupt boot**

Attach UART and power on the router. When the boot menu appears, select **Failsafe Mode**,
then press `Ctrl-C` to interrupt and enter the U-Boot prompt.

**3. Load and run initramfs image**
```sh
setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.2
tftpboot 0x46000000 openwrt-mediatek-filogic-jiorouter_ax6000-jidu6101-initramfs-kernel.bin
fdt addr $(fdtcontroladdr)
fdt rm /signature
bootm
```

**4. Flash sysupgrade image**

Place the sysupgrade image in `/tmp`, then run:
```sh
sysupgrade /tmp/openwrt-mediatek-filogic-jiorouter_ax6000-jidu6101-squashfs-sysupgrade.bin
```
Alternatively, use the sysupgrade option in LuCI.

Note:
- The raw MTD u-boot-env partition is only used for MAC address storage, while the active U-Boot environment is stored in the UBI volume.
- These devices ship with secure boot enabled and stock U-Boot only accepts vendor-signed FIT images.
- BL2/FIP cannot be replaced, so the stock signature verification path cannot be disabled directly.
- Setting ipaddr='' forces U-Boot to exit the web failsafe path and continue into autoboot.
- The custom bootcmd loads OpenWrt from the UBI volume and removes the /signature node before bootm, allowing unsigned OpenWrt FIT images to boot.
- Stock U-Boot expects its environment in a UBI volume named u-boot-env, so it is created during initial setup.

Signed-off-by: sh3ikh-faisal <sheikhfaisal713@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22201
(cherry picked from commit fe3efbd7da)
Link: https://github.com/openwrt/openwrt/pull/23454
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 13:19:59 +02:00
Roland ReinlandHauke Mehrtens 0def1dd578 ipq40xx: add support for Linksys MR9000
This pull request is based on
- the discussions in https://forum.openwrt.org/t/support-for-the-linksys-mr9000

Device Specs:
- Router is similar to EA8300 but with 512MB RAM and changed GPIOs
- IPQ4019
- Quad Core CPU
- 512 MB RAM
- 256 MB FLASH
- 4 LAN ports, 1 WAN port
- 1x2.4GHz (802.11n) and 2x5GHz (802.11c) wifi
- 3 LEDs (Red, blue, green) which are routed to one indicator at the top of the case
- 2 buttons (Reset, WPS)

Disassembling the device:
- There are 4 T10 screws at the bottom of the device which must be removed
- All 4 screws are located under the rubber feet

Serial interface:
- The serial interface is already populated on the device with a 5-pin header
- Pinout from front to back: 1:GND, 2: unknown, 3: RX, 4: TX, 5: VCC
- Settings: 115200, 8N1

MAC address layout:
- Same as on MR8300
  - MAC address is stored in the "devinfo" partition (entry "hw_mac_addr")
  - The MAC address on the label is identical with the one in the devinfo partition
  - The MAC address on the label is the WAN MAC address
  - LAN MAC address is the one from the label + 1
  - Wifi (2.4GHz) MAC is the one from the label + 2
  - Wifi (1st 5GHz) MAC is the one from the label + 3
  - Wifi (2nd 5GHz) MAC is the one from the label + 4

Migrating to OpenWrt requires multiple steps:
- Load and boot the initramfs image
- Adapt U-Boot settings to support bigger kernels
- Flash the sysupgrade image

Load and boot initramfs:
- Connect serial interface
- Set up a TFTP server on IP 192.168.1.254
- Copy openwrt-ipq40xx-generic-linksys_mr9000-initramfs-zImage.itb to TFTP server
- Rename file to C0A80101.img
- Boot up the device and stop in U-Boot
- Run the following U-Boot commands after a link has been established:
  tftp
  bootm
- Initramfs image is started now.

Adapt U-Boot settings to support bigger kernels:
- Run "fw_printenv" in the initramfs image  after booting
- There should be an entry kernsize=300000 which indicates the maximum size for the kernel is 3MB
- Execute "fw_setenv kernsize 500000" to increase the max kernel size to 5MB
- Check that the change are applied with "fw_printenv"

Flash the sysupgrade image:
- Default sysupgrade routine either with a initramfs image containing LuCI or via command line.

Revert back to OEM firmware:
- Flash the OEM firmware via sysupgrade
- Forced update is required

Signed-off-by: Karsten Rehn <rekados@posteo.de>
Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 9f7d9aa167)
Link: https://github.com/openwrt/openwrt/pull/23661
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 13:17:21 +02:00
Robert MarkoandHauke Mehrtens bfdfff63a4 ipq-wifi: update to Git HEAD (2026-05-18)
7d851accdab1 ipq40xx: add Linksys MR9000 BDF Link: https://github.com/openwrt/firmware_qca-wireless/pull/114
903e04995ad7 ipq5018: Add BDF for Xiaomi Redmi AX5400
e20f4c6ff197 qcn9074: Add BDF for Xiaomi Redmi AX5400

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 51b5c9dedc)
Link: https://github.com/openwrt/openwrt/pull/23661
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 13:17:21 +02:00
Robert MarkoandHauke Mehrtens 797f2565cf ipq-wifi: update to Git HEAD (2026-05-05)
fc4cf4873873 qca9888: add TP-Link EAP225-Wall v2 BDF

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 56ee07b8e2)
Link: https://github.com/openwrt/openwrt/pull/23661
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 13:17:21 +02:00
David BauerandHauke Mehrtens bbb36bbc2f ipq-wifi: update to latest HEAD
beaf466 ipq4019: add Huawei AP4050DN BDF

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 215f0127d1)
Link: https://github.com/openwrt/openwrt/pull/23661
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 13:17:21 +02:00
Robert MarkoandHauke Mehrtens 60e53ffdb0 ipq-wifi: update to Git HEAD (2026-02-17)
97af8a2a2dcb ipq6018: add Link NN6000 BDF Link: https://github.com/openwrt/firmware_qca-wireless/pull/124
4b7ccdeadfc0 ipq5018: add BDFs for CMCC MR3000D-CI

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f5a63c9eda)
Link: https://github.com/openwrt/openwrt/pull/23661
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 13:17:21 +02:00
Robert MarkoandHauke Mehrtens fcfd34dff8 ipq-wifi: update to Git HEAD (2026-02-13)
114c5199dce8 ipq6018: add Netgear RBK350 BDF
296f8fda7c42 ipq8074: add Netgear RBK750 BDF
30241cba74cf ipq8074: add Zyxel NWA110AX BDF

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c6eb8b84d2)
Link: https://github.com/openwrt/openwrt/pull/23661
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 13:17:21 +02:00
Mieczyslaw NalewajandHauke Mehrtens f191b85d2f leds: add "network" LED trigger (lan/wan/wlan)
LED trigger for network interfaces.

 - Aggregated per-family (lan/wan/wlan).
 - Family and flags are taken from device tree properties:
   - "family" : simple family string "lan" | "wan" | "wlan"
   - "mode"   : any combination of "link", "tx", "rx" flags
  Priority/combination:
   * If "mode" present: flags come from "mode" and take precedence.
     Family is taken from "family" if present, otherwise from the LED name.
   * If only "family" present: use its family and default flags = link+tx+rx.
   * If neither present: fall back to LED device name parsing.

 - Suffix "-online" is valid ONLY in the LED name (label),
   e.g. "green:wlan-online". It indicates the online variant but is applied
   only when DT "mode" is absent.

Behaviour:
 - wlan (normal): blink/solid driven by throughput table
 - lan/wan (normal): one-shot blink on TX/RX packet change
 - *-online variants: steady ON while any interface of the family has carrier

 Interfaces are auto-tracked by name match (lan0, wan1, wlan2, phy0, wl1,
 ath0, ra0...). Up to MAX_IFACES (16) interfaces per family

This trigger is intended for board/device authors and drivers to provide simple
network-activity LED behaviour without per-interface wiring in userspace.

Refresh bcm27xx patches in the same commit to account for line shifts in
drivers/leds/trigger/Kconfig and Makefile, ensuring clean applies for
bisectability.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/19903
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2aa1185fb0)
Link: https://github.com/openwrt/openwrt/pull/23685
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 12:45:27 +02:00
Chukun PanandJonas Jelonek c992691136 airoha: disable afe by default for an7581
The audio should only be enabled when the sound
node is enabled. This fixes the following error:

an7581-audio 1fbe2200.afe: probe with driver an7581-audio failed with error -2

Fixes: 7b55651 ("airoha: enable I2S sound driver and add nodes for eMMC RFB board")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/22660
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5dbe94d972)
Link: https://github.com/openwrt/openwrt/pull/23921
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-27 12:00:44 +02:00
Felix Fietkau b830633cb8 wifi-scripts: fix disabled vif tracking using wrong dictionary key
wdev_update_disabled_vifs() indexed the disabled_vifs map with the wdev
object instead of the vif name. The map is read back via
disabled_vifs[vif.name], so disabled vifs were never matched, and
coercing the wdev object into a string key triggered an infinite
escaping loop in ucv_to_string_json_encoded() during state output,
causing OOM on reboot.

Suggested-by: Shayne Chen (陳軒丞) <Shayne.Chen@mediatek.com>
Reported-by: Michael-cy Lee (李峻宇) <Michael-cy.Lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 7dd4779183)
2026-06-26 19:02:25 +02:00
Andrii KuiukoffandJonas Jelonek eb8cd69f91 mediatek: creatlentem clt-r30b1: add all-in-UBI layout
This commit introduces OpenWrt U-Boot all-in-ubi layout support
for the CreatLentem CLT-R30B1, enabling:
- Fully-featured U-Boot
- Effective recovery mechanisms
- Prolonged device lifetime by allocating most of the flash
  to UBI (which takes care of wear-leveling)
- Maximum available storage space for OpenWrt
- Unified firmware across different device variants

OpenWrt U-Boot UBI flash instructions
-------------------------------------

Using the installer image
-------------------------
To simplify the installation process, this method uses a fork
of Daniel Golle's (@dangowrt) UBI Installer
https://github.com/dangowrt/owrt-ubi-installer

1. Ensure your router is running the latest generic OpenWrt firmware.
   Upgrade it if necessary.
2. Obtain the installer image:
   Build the installer from source
   https://github.com/andros-ua/owrt-ubi-installer/tree/clt-r30b1
   or download a prebuilt image from the
   https://github.com/andros-ua/owrt-ubi-installer/releases
3. Flash the openwrt*creatlentem_clt-r30b1-ubi-initramfs-recovery-installer.itb
   image using sysupgrade.
4. Wait for installation: the green status LED will blink rapidly,
   indicating that the all-in-UBI installer is running.
5. Once the installation finishes,
   the status LED will turn solid white (lime) for 5 seconds.
6. After the device reboots, perform a final sysupgrade using the
   openwrt*creatlentem_clt-r30b1-ubi-squashfs-sysupgrade.itb image.

Return to stock layout
----------------------
1. Flash openwrt*creatlentem_clt-r30b1(-112m)-initramfs-kernel.bin
   via sysupgrade
2. Copy files to /tmp on the device via SCP:
   BL2.bin
   u-boot-env.bin
   Factory.bin
   FIP.bin
   openwrt*creatlentem_clt-r30b1(-112m)-squashfs-sysupgrade.bin
3. Restore stock MTD partitions:
   apk add kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
   mtd write /tmp/BL2.bin BL2
   mtd write /tmp/u-boot-env.bin u-boot-env
   mtd write /tmp/Factory.bin Factory
   mtd write /tmp/FIP.bin FIP
4. Install the system:
   sysupgrade /tmp/*sysupgrade.bin

Recovery
--------
Use mtk_uartboot to recover corrupted BL2 or FIP via UART:
https://github.com/981213/mtk_uartboot

Stock layout
----------------------------------------
| dev:    size   erasesize  name       |
| mtd0: 00100000 00020000 "BL2"        |
| mtd1: 00080000 00020000 "u-boot-env" |
| mtd2: 00200000 00020000 "Factory"    |
| mtd3: 00200000 00020000 "FIP"        |
| mtd4: 07000000 00020000 "ubi"        |
----------------------------------------

OpenWrt U-Boot UBI layout
----------------------------------
| dev:    size   erasesize  name |
| mtd0: 00100000 00020000 "bl2"  |
| mtd1: 07f00000 00020000 "ubi"  |
----------------------------------

Signed-off-by: Andrii Kuiukoff <andros.ua@gmail.com>
Link: #20666
(cherry picked from commit e414ca4)
Signed-off-by: Andrii Kuiukoff <andros.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23862
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-26 11:59:30 +02:00
Hiroki UtsunomiyaandHauke Mehrtens 82d7ed7fbc ramips: add support for I-O DATA WN-AX2033GR2
I-O DATA WN-AX2033GR2 is roughly the same as I-O DATA WN-AX2033GR.
The difference is the Flash Memory (Macronix MX30LF1G18AC).

Specification
=============
- SoC: MediaTek MT7621A
- RAM: DDR3 128 MiB
- Flash Memory: NAND 128 MiB (Macronix MX30LF1G18AC)
- Wi-Fi: MediaTek MT7603E
- Wi-Fi: MediaTek MT7615
- Ethernet: 5x 10 Mbps / 100 Mbps / 1000 Mbps (1x WAN, 4x LAN)
- LED: 2x green LED
- Input: 2x tactile switch, 1x slide switch
- Power: DC 12V

Flash instruction
=================
1. Open the router management page (192.168.0.1).
2. Update router firmware using "initramfs-kernel.bin".
3. After updating, run sysupgrade with "sysupgrade.bin".

Signed-off-by: Hiroki Utsunomiya <hu-git-ja@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22762
(cherry picked from commit 44f408aa31)
Signed-off-by: Hiroki Utsunomiya <hu-git-ja@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23387
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:54:05 +02:00
David HanandHauke Mehrtens ac692d051e mediatek: filogic: add support for netis MEX605
This commit adds support for the netis MEX605, which is a variant based on the netis NX30 V2.
1. Update brand naming from Netis to netis to follow the official branding.
2. Rename NX30V2 to NX30 V2 to correctly reflect it as the second version of the NX30.
3. Update variant notation for consistency.

cherry picked from commit c982357
1. Add 'model' to the DTS for netis NX30 V2 and define WiFi LED.
4. Fix typo.

Signed-off-by: Zhiwei Cao <bfdeh@126.com>
Signed-off-by: David Han <h96643864@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22726
(cherry picked from commit 8d844758c2)
Link: https://github.com/openwrt/openwrt/pull/23409
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:48:49 +02:00
Peter CollingbourneandHauke Mehrtens d34a54f4db kernel/mediatek: fix null dereference in dynamic calibration patch
KASAN reported a null dereference in this patch. Fix it.

Signed-off-by: Peter Collingbourne <peter@pcc.me.uk>
Link: https://github.com/openwrt/openwrt/pull/23237
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit 317317d960)
Link: https://github.com/openwrt/openwrt/pull/23205
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:40:01 +02:00
Jörg SeitzandHauke Mehrtens 38ea322d7c mediatek: filogic: Add new Router model ZBT-Z8106AX-S
Device support for zbt-z8106ax-s

Specifications:

SoC: MediaTek MT7981B
RAM: 256MiB
Flash: Winbond SPI-NAND 128 MiB
Switch: 1 WAN, 4 LAN (Gigabit) MediaTek MT7531
Buttons: Reset
Power: DC 12V 1A
WiFi: MT7981B 2.4Ghz & 5Ghz
USB 3
M2 slot to hold LTE modem
1 nano SIM slot (user controllable)
Hardware watchdog (confirmed to work)

Router comes in a plastic tower with all antennas internal.
 - 4 antennas for LTE 4G/5G communication
 - 2 antennas for Wifi 2.4 GHz
 - 2 antennas for Wifi 5 GHz

Led Layout:

Power (green, user controllable, default set to OpenWrt Status)
Mobile (green, user controllable)
WLAN 2.4G (green, user controllable)
WLAN 5G (green, user controllable)

WAN (amber, user controllable, set to show eth1)
LAN1 (amber, hardware controlled)
LAN2 (amber, hardware controlled)
LAN3 (amber, hardware controlled)
LAN4 (amber, hardware controlled)

SIM Slot:

Controlled via exported GPIO named SIM.

echo "0" > /sys/class/gpio/sim/value
 - turns off sim slot labelled SIM

echo "1" > /sys/class/gpio/sim/value
 - turns on sim slot labelled SIM

---

Installation:

A. Through U-Boot menu:

- Prepare your connecting computer to use a static IP in
  network 192.168.1.0/24 like
  a) 192.168.1.10 netmask 255.255.255.0 (legacy notation)
  b) 192.168.1.10/24 (CIDR notation)
- Power down the router and hold in the Reset button.
- While holding in the button power up the router again.
- Hold the button in for 10 seconds and then release.
- Use your browser to go to 192.168.1.1
- If you see a GUI allowing for flashing firmware then you got the right spot.
- Upload the **Factory** image file.

Note: U-Boot GUI it can be used to recover from an incorrect firmware flash.

B. Through OpenWrt Dashboard:

If your router comes with OpenWrt preinstalled (modified by vendor),
you can easily upgrade by going to the dashboard (192.168.1.1) and
then navigate to "System" -> "Backup/Flash firmware"
Flash OpenWRT firmware.
Important: Take care to deselect (untick) option
"keep settings". Settings done by vendor are incompatible with
versions 24.10 or 25.12.

MAC Addresses:

MAC Addresses were found in Factory partition:

offset 0x4 F8:5E:3C:xx:xx:aa --> Router Label -2
offset 0xa F8:5E:3C:xx:xx:bb --> Router Label -1
offset 0x24 F8:5E:3C:xx:xx:cc --> Router Label +1
offset 0x2a F8:5E:3C:xx:xx:yy --> printed on Router Label

Hardware Watchdog:

Device features a GPIO controlled hardware watchdog.
Verfied by removing procd controlled watchdog and
seeing device rebooting.

---

Notes:
The zbt-z8106ax-s could be ordered from vendor with a variety of modems.
Mine came with a 4G LTE modem Quectel EC200A.
Quectel firmware was at EC200AEUHAR01A30M16.
Choices for ordering with 5G LTE were available.

Modem communication is set to ethernet control mode (ECM) by vendor.

Package modemmanager works fine with Quectel EC200A.
You may also decide to use FUjR/Qmodem github repository
to have it manage LTE modem.

Please take note that internal switch port named lan5 isn't
wired to LTE modem in model S as opposed to model T.
Just removing lan5 from DTS did cause unwanted reboots whenever
a cable is plugged into LAN ports 1-4. Disabling port lan5
in DTS however works fine. No unwanted reboots due to
plug/unplug cable into any lan or wan port.

Signed-off-by: Jörg Seitz <github.joeterminal@xoxy.net>
Link: https://github.com/openwrt/openwrt/pull/22912
(cherry picked from commit 771e06352f)
Link: https://github.com/openwrt/openwrt/pull/23202
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:30:33 +02:00
Fil DunskyandHauke Mehrtens ef74760e06 mediatek: add Huasifei WH3000R NAND support
**Huasifei WH3000R NAND**
Wi-Fi 6 router based on MediaTek MT7981B SoC.
MT7981B+MT7976CN+MT7531AE

**Specifications**
SoC: Filogic 820 MT7981B (1.3GHz)
RAM: DDR3 512MB
Flash: 256MiB Winbond SPI NAND
WiFi: MT7976C: 2.4GHz 2x2, 5GHz 2x2
Ethernet: MT7531: 3x 1GbE LAN + 1x 1GbE WAN
USB: 1x USB 3.0 port
Two buttons: reset and mesh
LEDs: RGB (red, green, blue together)
UART: 3.3V, TX, RX, GND / 115200 8N1
DC power interface

+---------+-------------------+--------------------------+
|         | MAC               | Algorithm                |
+---------+-------------------+--------------------------+
| LAN     | 58:23:BC:xx:xx:x2 | label+1                  |
| WAN     | 58:23:BC:xx:xx:x1 | label+0 (eeprom)         |
| WLAN 2g | 58:23:BC:xx:xx:x3 | label+2                  |
| WLAN 5g | 58:23:BC:xx:xx:x4 | label+3                  |
+---------+-------------------+--------------------------+
Since it's convenient for the users to check and tell MAC
to their internet providers from the router label, we set
WAN as a base MAC located at 'Factory', 0x4.
Discussed this with the vendor.

**Installation via U-Boot rescue**
1. Set static IP 192.168.1.2 on your computer and default route as 192.168.1.1
2. Connect to the LAN port and hold the reset button while booting the device.
3. Wait for the LED to blink 5 times, and release the reset button.
4. Open U-boot web page on your browser at http://192.168.1.1
5. Select the OpenWrt sysupgrade image, upload it, and start the upgrade.
6. Wait for the router to flash the new firmware.
7. Wait for the router to reboot itself.

**Installation via sysupgrade**
Just flash sysupgrade file via
[LuCI upgrade page](http://192.168.1.1/cgi-bin/luci/admin/system/flash)
without saving the settings.

**Installation via SSH**
Upload the file to the router `/tmp` directory, `ssh root@192.168.1.1`
and issue a command:
```
sysupgrade -n /tmp/openwrt-mediatek-filogic-huasifei_wh3000r-nand-squashfs-sysupgrade.bin
```

Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23156
(cherry picked from commit b2795a7908)
Link: https://github.com/openwrt/openwrt/pull/23524
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:28:45 +02:00
Leonard AnderweitandHauke Mehrtens 12a3f9f506 mediatek: filogic: add support for TP-Link F65
Add support for TP-Link Festa F65, an AX3000 ceiling mount WiFi 6 AP.

Hardware
--------
SOC	: MediaTek MT7981B 2x A53
RAM	: ESMT M15T4G16256A 512MiB
Flash	: ESMT F50L1G41LB 128 MiB
ETH	: 1x 1GbE
WiFi	: MT7976
Buttons	: Reset
Leds	: Blue status led on top
Power	: DC 12V 1.2A / PoE

Installation
------------
1. Disassemble the device
2. Solder UART to pins VGRT right of the ethernet port
3. Connect UART console (3.3V)
4. Press Ctrl+b to stop in u-boot shell
5. Use `mtkload` to boot `openwrt-initramfs-kernel.bin` via tftp
6. Flash `openwrt-squashfs-sysupgrade.bin` via sysupgrade

Revert to OEM firmware
----------------------
1. Hold reset button while plugging in power
2. Configure host ethernet to 192.168.0.1/24
3. Go to http://192.168.0.254
4. Upload OEM firmware

MAC Addresses
-------------
LAN   : DC:62:79:xx:xx:28 (printed on label)
2.4GHz: DC:62:79:xx:xx:28
5GHz  : DC:62:79:xx:xx:29

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22138
(cherry picked from commit 7449064f64)
Link: https://github.com/openwrt/openwrt/pull/23517
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:22:17 +02:00
Fil DunskyandHauke Mehrtens ad84313f75 ramips: mt76x8: add support for Cudy WR300 v1
Hardware:
 - SoC: MediaTek MT7628AN (MIPS 580MHz)
 - Flash: 8 MiB NOR
 - RAM: 64 MiB DDR2
 - WLAN: 2.4 GHz (MT7628)
 - Ethernet: 1x 10/100 Mbps WAN, 3x 10/100 LAN (MT7628)
 - Buttons: 1x Reset, 1x wps
 - LEDs: Front: 1x Red, 1x White
 - Serial console: unpopulated header, 115200 8n1
 - Power: 12v barrel

MAC addresses:
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| LAN/WAN | d4:0d:ab:xx:xx:x0 | label     |
| WLAN 2g | d4:0d:ab:xx:xx:x1 | label+1   |
+---------+-------------------+-----------+

Migration to OpenWrt:
- Download the RSA-signed intermediate firmware from the Cudy website: `openwrt-ramips-mt76x8-cudy_wr300-squashfs-flash.bin`
- Connect the computer to the LAN and flash the intermediate firmware via the OEM web interface
- OpenWrt is now accessible via 192.168.1.1

Revert to OEM firmware:
- Set up a TFTP server on IP 192.168.1.88 and connect to the WAN port (upper port)
- Provide the Cudy firmware as `recovery.bin` in the TFTP server
- Power on the device and hold the reset button immediately after the first LED blink
- The recovery process will start
- When the recovery process is done, OEM firmware is accessible via 192.168.10.1 again

General information:
- No possibility to load an initramfs image via U-Boot because there is no option to interrupt U-Boot

Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23426
(cherry picked from commit e892edd60f)
Link: https://github.com/openwrt/openwrt/pull/23543
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:20:41 +02:00
Ryan LeungandHauke Mehrtens c670f1a5b7 mediatek: wavlink wl-wn536ax6 rev a: remove old WLAN LED default
Remove old UCI default for WLAN LED trigger on `phy1` which is now instead triggered by either
wireless PHY by kmod-ledtrig-network

Fixes: adb7ff2792 ("mediatek: wavlink wl-wn536ax6 rev a: add "network" LED trigger")
Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23790
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit effea14e1f)
Link: https://github.com/openwrt/openwrt/pull/23791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:16:10 +02:00
Ryan LeungandHauke Mehrtens 5cff888ef4 mediatek: wavlink wl-wn536ax6 rev a: add "network" LED trigger
Currently the "WiFi" LED indicator light is triggered only by activity on the 5 GHz PHY.

Change it to be triggered by WLAN activity on either Wi-Fi PHY, matching stock behaviour, by using
`kmod-ledtrig-network` added in 2aa1185fb0 ('leds: add "network" LED trigger (lan/wan/wlan)').

Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit adb7ff2792)
Link: https://github.com/openwrt/openwrt/pull/23791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:16:10 +02:00
Ryan LeungandHauke Mehrtens bf961cdb12 uboot-envtools: mediatek_filogic: wavlink wl-wn536ax6 rev a: add config
Add config for WAVLINK WL-WN536AX6 Rev a to be able to read and write U-Boot environment variables.

Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit 1e3474ebbd)
Link: https://github.com/openwrt/openwrt/pull/23791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:16:10 +02:00
Ryan LeungandHauke Mehrtens 333ff2d1de mediatek: wavlink wl-wn536ax6 rev a: fix WLAN 5GHz MAC address
The second WLAN MAC address in the "Factory" partition at 0x0a is not the same as the
WLAN 5GHz BSSID observed when using the manufacturer's stock firmware, which is derived from
the 2.4GHz/label MAC address by setting bits 26 and 7 (Locally Administered).

While at it, also fix alphabetical ordering of some other device names.

Fixes: 1748ce8295 ("mediatek: add support for WAVLINK WL-WN536AX6 Rev a")
Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit 2fe7396cab)
Link: https://github.com/openwrt/openwrt/pull/23791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:16:10 +02:00
Ryan LeungandHauke Mehrtens 7ae998c4b6 mediatek: wavlink wl-wn536ax6 rev a: change nvmem layout for MAC addresses
Currently the WAN MAC address is read from the first (LAN) MAC address in the "HW" partition and
then incremented by 1 instead of being read directly from the second MAC address.

Change to reading the two MAC addresses (LAN/WAN) directly from "Factory" partition.

Fixes: 1748ce8295 ("mediatek: add support for WAVLINK WL-WN536AX6 Rev a")
Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit 04f5823f83)
Link: https://github.com/openwrt/openwrt/pull/23791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:16:10 +02:00
Ryan LeungandHauke Mehrtens 2b664d4f31 mediatek: wavlink wl-wn536ax6 rev a: set SPI drive strength 4mA
Change SPI drive strength to 4mA to match Mediatek SDK and prevent potential signal overshoot.

Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit 209a8fe737)
Link: https://github.com/openwrt/openwrt/pull/23791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:16:10 +02:00
Ryan LeungandHauke Mehrtens bcdbfd704a mediatek: wavlink wl-wn536ax6 rev a: enable nmbm bad block management
Enable nmbm bad block management with up to 8 MiB reserved. The manufacturer's stock device tree
contains the property `compatible = "generic,nmbm";` in node `nmbm_spim_nand` and
manufacturer's stock bootlog contains "nmbm nmbm_spim_nand: NMBM has been successfully attached"

Fixes: 1748ce8295 ("mediatek: add support for WAVLINK WL-WN536AX6 Rev a")
Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit dcce4a7f3c)
Link: https://github.com/openwrt/openwrt/pull/23791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:16:10 +02:00
Robert SenderekandHauke Mehrtens 471dd1ba15 mvebu: add support for Zyxel NAS326
-----
Hardware:
CPU: ARMADA 380 1x1332Mhz
RAM: 512MB DDR3
FLASH: 256MB MX30LF2G18AC
2x SATA III
2x USB3.0
1x USB2.0
i2c to control various states.
RTC with battery
1Gbit LAN (WoL capable)
9x LED
RESET button at back
Power button at front (gpio-poweroff)
Copy button at front

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

-----
UART connections

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

-----
Instalation via UART

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

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

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

use sysupgrade in console or via luci

-----
MAC addresses

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

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

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

To boot OEM from bank2
setenv next_bootfrom 2
saveenv

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

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

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

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

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

Signed-off-by: Robert Senderek <robert.senderek@10g.pl>
Link: https://github.com/openwrt/openwrt/pull/23228
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 1c8c05ca98)
Link: https://github.com/openwrt/openwrt/pull/23932
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 21:13:25 +02:00
John CrispinandHauke Mehrtens be3ea6b93f wifi-scripts: fix EAP STA support in supplicant config generation
The supplicant config generator read eap_type and auth from UCI for
internal logic but never wrote the corresponding eap= and phase2=
directives to the wpa_supplicant config.

Fix by:
- Generating eap= and phase2= from eap_type/auth for PEAP/TTLS/FAST/TLS
- Adding eap and phase2 to the network_append_vars output list

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit c92ded2f6e)
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 01:46:34 +02:00
Hauke Mehrtens 0fb3ed2501 odhcp6c: update to Git HEAD (2026-06-20)
07d324ee7222 odhcp6c: fix handling of RFC6603 Prefix Exclude Option

(cherry picked from commit 733dc15644)
Link: https://github.com/openwrt/openwrt/pull/23929
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 01:38:56 +02:00
Chad MonroeandHauke Mehrtens 1c5daff5ac hostapd: fix misplaced radar-detected ubus notification
Fixes: 94037ab6b0 ("hostapd: update to 2022-07-29")
Signed-off-by: Chad Monroe <chad@monroe.io>
Link: https://github.com/openwrt/openwrt/pull/23815
(cherry picked from commit 9c48477cf7)
Link: https://github.com/openwrt/openwrt/pull/23929
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-25 01:38:56 +02:00