Skip to content

mediatek: filogic: add TP-Link Archer AX80 v1.60 support - #25201

Open
ThepHuck wants to merge 1 commit into
openwrt:mainfrom
ThepHuck:filogic-tplink-ax80-v1.60
Open

ThepHuck wants to merge 1 commit into
openwrt:mainfrom
ThepHuck:filogic-tplink-ax80-v1.60

Conversation

@ThepHuck

@ThepHuck ThepHuck commented Sep 15, 2026

Copy link
Copy Markdown

The TP-Link Archer AX80 v1.60 uses the same MT7986A SoC and board layout
as the v1 revision, but its OEM stage-2 bootloader strictly requires
the FIT configuration node to be named 'config-ax80_v1'.

When booting an image built with the default configuration node
('config-1'), the bootloader fails to find the configuration and aborts
kernel execution, resulting in an infinite bootloop:

  second uboot to boot kernel @46000000
  ## Loading kernel from FIT Image at 46000000 ...
  Can't find configuration 'config-ax80_v1'

To address this, add a dedicated v1.60 device profile with:

  • DEVICE_DTS_CONFIG := config-ax80_v1 to satisfy the OEM bootloader.
  • BOARD_NAME := tplink_archer-ax80-v1 to match the sysupgrade tarball
    layout expected by the running NAND upgrade scripts.
  • SUPPORTED_DEVICES to allow v1.60 upgrades without
    triggering image check errors.

Hardware specifications:

  • SoC: MediaTek MT7986A (Filogic 820)
  • RAM: 512 MB DDR4
  • Flash: 128 MB SPI-NAND
  • Ethernet: 1x 2.5 GbE (MaxLinear GPY211C), 4x 1 GbE (MT7531)
  • Wi-Fi: MT7975N (2.4 GHz 4x4 ax), MT7979A (5 GHz 4x4 ax)
  • LEDs: TI LP55231 I2C controller
  • USB: 1x USB 3.0

Installation:
Follow the OEM serial installation instructions outlined in the
OpenWrt wiki:
https://openwrt.org/toh/tp-link/ax80#tab__ax80_uscaru_serial

Signed-off-by: Luke Huckaba [email protected]

@openwrt openwrt Bot added not following guidelines Pull request does not follow formatting guidelines target/mediatek pull request/issue for mediatek target labels Sep 15, 2026
The TP-Link Archer AX80 v1.60 uses the same MT7986A SoC and board layout
as the v1 revision, but its OEM stage-2 bootloader strictly requires
the FIT configuration node to be named 'config-ax80_v1'.

When booting an image built with the default configuration node
('config-1'), the bootloader fails to find the configuration and aborts
kernel execution, resulting in an infinite bootloop:

  second uboot to boot kernel @46000000
  ## Loading kernel from FIT Image at 46000000 ...
  Can't find configuration 'config-ax80_v1'

To address this, add a dedicated v1.60 device profile with:
- DEVICE_DTS_CONFIG := config-ax80_v1 to satisfy OEM bootloader.
- BOARD_NAME := tplink_archer-ax80-v1 for sysupgrade compatibility.
- SUPPORTED_DEVICES to allow upgrades between v1 and v1.60.

Hardware specifications:
- SoC: MediaTek MT7986A (Filogic 820)
- RAM: 512 MB DDR4
- Flash: 128 MB SPI-NAND
- Ethernet: 1x 2.5 GbE (MaxLinear GPY211C), 4x 1 GbE (MT7531)
- Wi-Fi: MT7975N (2.4 GHz 4x4 ax), MT7979A (5 GHz 4x4 ax)
- LEDs: TI LP55231 I2C controller
- USB: 1x USB 3.0

Installation:
Follow the OEM serial installation instructions outlined in the
OpenWrt wiki:
https://openwrt.org/toh/tp-link/ax80#tab__ax80_uscaru_serial

Signed-off-by: Luke Huckaba <[email protected]>
@ThepHuck
ThepHuck force-pushed the filogic-tplink-ax80-v1.60 branch from 1617de1 to a841c60 Compare September 15, 2026 15:19
@openwrt openwrt Bot removed the not following guidelines Pull request does not follow formatting guidelines label Sep 15, 2026
DEVICE_DTS := mt7986a-tplink-archer-ax80-v1
DEVICE_DTS_CONFIG := config-ax80_v1
DEVICE_DTS_DIR := ../dts
SUPPORTED_DEVICES := tplink,archer-ax80-v1 tplink,archer-ax80-v1.60

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tplink,archer-ax80-v1.60 can never match: this profile builds mt7986a-tplink-archer-ax80-v1.dts, whose compatible is tplink,archer-ax80-v1, and the filogic platform.sh case list has no v1.60 entry either. Drop the dead entry.

Suggested change
SUPPORTED_DEVICES := tplink,archer-ax80-v1 tplink,archer-ax80-v1.60
SUPPORTED_DEVICES := tplink,archer-ax80-v1

Generated by Claude Code

endef
TARGET_DEVICES += tplink_archer-ax80-v1

define Device/tplink_archer-ax80-v1.60

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This profile and Device/tplink_archer-ax80-v1 both end up advertising the same tplink,archer-ax80-v1 compatible, so neither sysupgrade's metadata check nor the firmware selector can tell the two revisions apart, and a v1.60 unit will happily accept the config-1 image that per the commit message bootloops it. Does the older v1 stage-2 bootloader also accept config-ax80_v1? If it does, setting DEVICE_DTS_CONFIG on the existing v1 profile avoids both the duplicate image and the ambiguity.


Generated by Claude Code

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have access to an older v1 to verify the bootloader.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

target/mediatek pull request/issue for mediatek target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants