1
1
openwrt/package/boot
Richard Jones db7d264e47 mediatek: filogic: add support for AlwayLink M01K43
Add support for the AlwayLink M01K43 5G CPE router.

Hardware specifications:
- SoC:       MediaTek MT7981B (Filogic 820), dual-core Cortex-A53
- RAM:       256 MiB DDR3 (0x40000000, size 0x10000000)
- Flash:     128 MiB SPI-NAND (UBI, root) + 4 MiB SPI-NOR (bootloader)
- Ethernet:  4x 1 GbE LAN + 1x 2.5 GbE WAN
             (MT7531 DSA switch; WAN via RTL8221B 2.5GbE PHY on MAC1)
- WiFi:      MT7981 built-in 2x2 802.11ax (2.4 GHz + 5 GHz)
- USB:       1x xHCI (USB 2.0 only; USB 3.0 PHY pins not routed)
- Modem:     M.2 B-Key slot wired for USB (tested: Quectel RM551E-GL,
             Quectel RM520N-GL via QMI)
- LEDs:      10x GPIO LEDs (status, WAN, LAN, WiFi 2.4/5, signal bars)
- Buttons:   WPS, Reset, RFKill
- Power:     12 V DC barrel jack
- UART:      3.3 V TTL header on PCB, 115200 8N1, no flow control

PCB silkscreen: M01K43 v5.0
Manufacturer:   Shenzhen AlwayLink Wireless Technology Co., Ltd.

MAC addresses come from the 'ledeinfo' partition (mtd6) at offset 0x18
(label macaddr_ledeinfo_18); the stored value is the LAN MAC.

  interface            this port    vendor firmware
  -------------------  -----------  --------------------------
  eth0 / LAN bridge    base + 0     base + 0
  eth1 / WAN           base + 1     base + 1
  wifi 2.4 GHz band@0  base + 2     base (driver-derived)
  wifi 5 GHz   band@1  base + 3     base + LAA bit (driver)

The vendor's ethernet scheme (LAN = base, WAN = base + 1) is reproduced
exactly. For WiFi the vendor's proprietary mt_wifi driver ignores the
stored per-radio MAC and derives each BSSID from the base by setting the
locally-administered bit, so the radios are not given clean unicast
offsets. Under mainline mt76 + DSA, reusing the base (LAN) MAC on a radio
collides at L2 with the gmac0 conduit, so this port assigns the 2.4 GHz
and 5 GHz radios base + 2 and base + 3 — unique unicast addresses in the
same OUI block.

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

Stock firmware defaults (verified on shipping units):
  LAN IP:   192.168.100.1
  SSH/web:  user 'root', password 'admin'
  Serial:   3.3 V TTL UART header on PCB, 115200 8N1, no flow control

Image artifacts produced by this device definition:
  openwrt-mediatek-filogic-alwaylink_m01k43-squashfs-factory.bin
  openwrt-mediatek-filogic-alwaylink_m01k43-squashfs-sysupgrade.bin

Before flashing, back up the per-unit partitions (cannot be
regenerated):

  ssh root@192.168.100.1
  dd if=/dev/mtd3 of=/tmp/factory.bin bs=1 count=655360
  dd if=/dev/mtd6 of=/tmp/ledeinfo.bin bs=1 count=65536
  exit
  scp root@192.168.100.1:/tmp/factory.bin  .
  scp root@192.168.100.1:/tmp/ledeinfo.bin .

Method 1 - From an existing OpenWrt install (sysupgrade):

  IMG=openwrt-mediatek-filogic-alwaylink_m01k43-squashfs-sysupgrade.bin
  scp "$IMG" root@192.168.1.1:/tmp/sysupgrade.bin
  ssh root@192.168.1.1 sysupgrade -n /tmp/sysupgrade.bin

Method 2 - U-Boot serial recovery via TFTP (requires 3.3 V USB-UART
adapter):

  1. Attach 3.3 V USB-UART (TX, RX, GND) to the PCB header. Open a
     terminal at 115200 8N1, no flow control.
  2. Configure a TFTP server on the host PC at IP 192.168.2.88.
     Place the factory image in the TFTP root, renamed if desired.
  3. Power on the router. The BL2/U-Boot banner prints within ~1
     second; press any key during the autoboot countdown to enter
     the U-Boot menu.
  4. From the menu, select 'Upgrade ubi'. U-Boot's default IP is
     192.168.2.1 and it expects the TFTP server at 192.168.2.88.
     Provide the factory image filename when prompted.
  5. Wait for the write to complete; U-Boot reboots into OpenWrt.

Method 3 - From a NAND programmer (brick-recovery path):

  1. Clip onto or desolder the SPI-NAND chip and dump the full
     128 MiB with a programmer (e.g. RT809H, CH341A with NAND
     adapter). Keep the dump as a recovery image.
  2. Using the same programmer, write the factory.bin image to
     the UBI region of the NAND. The SPI-NOR (BL2/u-boot-env/
     Factory/FIP/woem/ledeinfo/nvram) must NOT be erased - those
     partitions are per-unit and live on the separate 4 MiB NOR.
  3. Reseat the chip and power on. The bootloader on NOR will
     load the new kernel and rootfs from UBI.

Signed-off-by: Richard Jones <richard@netsolution.shop>
Link: https://github.com/openwrt/openwrt/pull/22818
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-25 02:34:03 +02:00
..
apex treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
arm-trusted-firmware-bcm63xx treewide: remove references for obsolete binutils versions 2026-04-18 19:34:21 +02:00
arm-trusted-firmware-mediatek atf-mediatek: add mt7981 UBI DDR3-1866 build 2026-05-09 15:42:26 +02:00
arm-trusted-firmware-microchipsw boot: arm-trusted-firmware-microchipsw: depend on host Ruby 2026-01-12 18:01:17 +01:00
arm-trusted-firmware-mvebu arm-trusted-firmware-mvebu: bump to 2.14 2026-04-11 12:23:36 +02:00
arm-trusted-firmware-rockchip arm-trusted-firmware-rockchip: bump to 2.14.0 2026-01-15 16:33:26 +02:00
arm-trusted-firmware-stm32 arm-trusted-firmware-stm32: bump to v2.14 2026-02-26 23:34:10 +01:00
arm-trusted-firmware-sunxi arm-trusted-firmware-sunxi: bump to 2.14 2026-02-08 00:56:16 +01:00
arm-trusted-firmware-tools arm-trusted-firmware-tools: update to version 2.12 2025-02-13 03:16:40 +00:00
at91bootstrap at91bootstrap: put at91bootstrap images into image staging directory 2025-04-04 14:39:00 +02:00
fconfig treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
grub2 treewide: use HTTPS URL for GNU websites 2026-01-02 18:07:02 +01:00
imx-bootlets treewide: use HTTPS for PKG_SOURCE_URL where possible 2026-04-20 11:58:37 +08:00
kexec-tools kexec-tools: add zstd to package dependencies 2026-01-28 23:56:15 +01:00
kobs-ng treewide: use HTTPS for PKG_SOURCE_URL where possible 2026-04-20 11:58:37 +08:00
mt7623n-preloader mt7623n-preloader: remove mt7622-preloader 2021-02-28 04:12:23 +00:00
opensbi opensbi: update tarball hash compressed by the zstd 1.5.7 2025-07-13 16:24:10 +02:00
optee-os-stm32 optee-os-stm32: bump to 4.9.0 2026-02-26 23:34:10 +01:00
rkbin rkbin: pack rk3528 atf/tpl blobs 2025-11-15 19:56:27 +01:00
tfa-layerscape treewide: remove references for obsolete binutils versions 2026-04-18 19:34:21 +02:00
uboot-airoha airoha: increase the size of reserved_bmt partition 2026-05-11 14:43:01 +02:00
uboot-armsr boot: uboot-armsr: update to U-Boot 2025.04 2025-05-22 18:50:24 +02:00
uboot-at91 uboot-at91: fix wrong BUILD_DEVICES for sama5d4_xplained_nandflash 2026-04-20 18:07:56 +02:00
uboot-ath79 uboot-ath79: add FE profile for NEC Aterm series (AR9344) 2025-12-01 00:17:47 +01:00
uboot-bcm53xx uboot-bcm53xx: bump U-Boot to 2025.10 2026-01-06 01:15:46 +01:00
uboot-bcm4908 uboot-bcm4908: fix build with GCC14 2025-05-23 00:10:23 +02:00
uboot-bmips uboot-bmips: drop usage of AUTORELEASE 2025-10-29 21:09:56 +01:00
uboot-d1 uboot-d1: update to 2024.01 2026-01-23 10:35:35 +01:00
uboot-fritz4040 uboot-fritz4040: update to Git HEAD (2026-03-08) 2026-03-14 21:46:31 +01:00
uboot-imx treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-kirkwood kirkwood: add support for D-Link DNS-325 A1 2025-11-25 15:41:38 +01:00
uboot-lantiq uboot-lantiq: fix C-style comments in AWK scripts 2026-03-23 01:23:33 +01:00
uboot-layerscape uboot-layerscape: do not build efimkcapsule tool 2025-08-22 11:24:43 +02:00
uboot-mediatek mediatek: filogic: add support for Globitel BT-R320 2026-05-25 01:46:25 +02:00
uboot-microchipsw uboot-microchipsw: add FIP update flashing shortcut 2026-01-23 11:07:23 +01:00
uboot-mvebu uboot-mvebu: update to version 2026.04 2026-05-15 20:59:47 +02:00
uboot-mxs packages: refresh patches 2024-05-31 11:30:06 +02:00
uboot-omap treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-qoriq package: uboot-qoriq: fix T4240RDB u-boot selection 2026-01-12 13:59:30 +01:00
uboot-rockchip rockchip: add support for FriendlyELEC NanoPi M5 2026-05-14 17:52:56 +02:00
uboot-sifiveu uboot-sifiveu: fix build with swig 4.3.0 2025-10-25 22:33:53 +02:00
uboot-stm32 uboot-stm32: bump to 2026.01 2026-02-26 23:34:10 +01:00
uboot-sunxi sunxi: add T113-S3 support 2026-05-09 11:19:22 +02:00
uboot-tegra uboot-tegra: disable mkeficapsule build 2025-07-13 17:18:15 +02:00
uboot-tools mediatek: filogic: add support for AlwayLink M01K43 2026-05-25 02:34:03 +02:00
uboot-zynq packages: refresh patches 2024-05-31 11:30:06 +02:00