[openwrt/openwrt] mediatek: add support for device zbt-z8103ax-c

LEDE Commits lede-commits at lists.infradead.org
Fri Jan 2 15:59:31 PST 2026


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/479f1403f281202d03e47fb34213f56032508748

commit 479f1403f281202d03e47fb34213f56032508748
Author: Jörg Seitz <github.joeterminal at xoxy.net>
AuthorDate: Sun Dec 21 11:55:34 2025 +0100

    mediatek: add support for device zbt-z8103ax-c
    
    - adopted MTD partition size increase from 64M to 128M
      -> this allows boot to complete
    - moved MAC addressing stuff out of partition definitions
    - all MAC addressing stuff is in .dtsi
    
    Specifications:
    
    SoC: MediaTek MT7981B
    RAM: 256MiB
    Flash: Winbond SPI-NAND 128 MiB
    Switch: 1 WAN, 3 LAN (Gigabit) MediaTek MT7531
    Buttons: Reset, Mesh
    Power: DC 12V 1A
    WiFi: MT7981B 2.4Ghz & 5.8Ghz
    
    Led Layout from bottom to top:
    
        Power
        Mesh (RGB Led, user controllable, default set to OpenWrt Status)
        WLAN 2 GHz (user controllable)
        WAN (user controllable)
        LAN3
        LAN2
        LAN1
        WLAN 5 GHz (Not on front panel but blinks through enclosure,
                   user controllable)
    
    Buttons:
    
        Reset
        Mesh (user controllable, no default function)
    
    Installation:
    
    A. Through U-Boot menu:
    
     -  Prepare your connecting computer to use a static IP in
            network 192.168.1.0/24
     -  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 model.
     -  Upload the sysupgrade file.
    
    Note: Recovery GUI can be used to recover from an incorrect
          firmware flash.
    
    B. Through OpenWrt Dashboard:
    
        If your router comes with OpenWrt preinstalled
            (modified by the seller), you can easily upgrade
            by going to the dashboard (192.168.1.1) and then
            navigate to System -> Backup/Flash firmware,
            then flash the firmware
    
    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
    
    Signed-off-by: Jörg Seitz <github.joeterminal at xoxy.net>
    Link: https://github.com/openwrt/openwrt/pull/19823
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 .../mediatek/dts/mt7981b-zbtlink-zbt-z8103ax-c.dts      | 10 ++++++++++
 .../mediatek/filogic/base-files/etc/board.d/01_leds     |  3 ++-
 .../mediatek/filogic/base-files/etc/board.d/02_network  |  3 ++-
 target/linux/mediatek/image/filogic.mk                  | 17 +++++++++++++++++
 4 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8103ax-c.dts b/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8103ax-c.dts
new file mode 100644
index 0000000000..1780b8c1c8
--- /dev/null
+++ b/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8103ax-c.dts
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+#include "mt7981b-zbtlink-zbt-z8103ax.dtsi"
+
+/ {
+	model = "Zbtlink 3000M(WiFi6) ZBT-Z8103AX-C";
+	compatible = "zbtlink,zbt-z8103ax-c", "mediatek,mt7981b";
+};
diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds b/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds
index b7aef8f43a..bfa00d1b44 100644
--- a/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds
+++ b/target/linux/mediatek/filogic/base-files/etc/board.d/01_leds
@@ -306,7 +306,8 @@ xiaomi,redmi-router-ax6000-stock|\
 xiaomi,redmi-router-ax6000-ubootmod)
 	ucidef_set_led_netdev "wan" "wan" "rgb:network" "wan"
 	;;
-zbtlink,zbt-z8103ax)
+zbtlink,zbt-z8103ax|\
+zbtlink,zbt-z8103ax-c)
 	ucidef_set_led_netdev "wan" "wan" "green:wan" "eth1" "link tx rx"
 	;;
 zyxel,ex5601-t0-stock|\
diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
index c69bd3abcb..2519c97b9f 100644
--- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
+++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
@@ -19,7 +19,8 @@ mediatek_setup_interfaces()
 	nokia,ea0326gmp|\
 	mercusys,mr80x-v3|\
 	routerich,ax3000-v1|\
-	zbtlink,zbt-z8103ax)
+	zbtlink,zbt-z8103ax|\
+	zbtlink,zbt-z8103ax-c)
 		ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" eth1
 		;;
 	acelink,ew-7886cax)
diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk
index 86e3e095b1..dbec1c5578 100644
--- a/target/linux/mediatek/image/filogic.mk
+++ b/target/linux/mediatek/image/filogic.mk
@@ -3074,6 +3074,23 @@ define Device/zbtlink_zbt-z8103ax
 endef
 TARGET_DEVICES += zbtlink_zbt-z8103ax
 
+define Device/zbtlink_zbt-z8103ax-c
+  DEVICE_VENDOR := Zbtlink
+  DEVICE_MODEL := ZBT-Z8103AX-C
+  DEVICE_DTS := mt7981b-zbtlink-zbt-z8103ax-c
+  DEVICE_DTS_DIR := ../dts
+  DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
+  KERNEL_IN_UBI := 1
+  UBINIZE_OPTS := -E 5
+  BLOCKSIZE := 128k
+  PAGESIZE := 2048
+  IMAGE_SIZE := 65536k
+  IMAGES += factory.bin
+  IMAGE/factory.bin := append-ubi | check-size $$(IMAGE_SIZE)
+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+TARGET_DEVICES += zbtlink_zbt-z8103ax-c
+
 define Device/zyxel_ex5601-t0-stock
   DEVICE_VENDOR := Zyxel
   DEVICE_MODEL := EX5601-T0




More information about the lede-commits mailing list