Support for Asus ZenWiFi BT8 Tri-band Wifi7 (Mediatek MT7988)

RC1 to RC2 went smoothly for me. I did a firmware selector custom build then firmware flash keep settings.

The only snag I ran into was under interfaces a bridge has been made for the pppoe which wasn’t connected to the wan and it was easiest to remove and reconnect to the wan.[vlan]

I think all my IPv6 DUIDs have changed as well and that is maybe messing with the DHCPv6 addresses, I am seeing some /62s being recorded on the router but not on the devices themselves, but they have the right addresses (2x SLACCS, 2x DHCPv6s, 1x local with the 2x one based on ULP Prefix and the other upstream prefix) so its just on the DHCP leases page I am seeing these /62s. I am still investigating this last part not clear on what is happening yet.

RC2 does not fix the 2.4Ghz radio instability, still disconnecting consistently.

Could I bother someone to try a wireless repeater mode with relayd? Shouldn’t take longer than 10 mins to test. I did a barebones setup following the tutorial (no MLO or anything). At rc1 radio0 would fail to come up at all following a reboot (I filed an issue here on github but was blown off citing expected behaviour, but either I’m being retarded (which I’m hoping is the case) or there’s something definitely wonky with the driver).

Just upgraded to rc2. Now after a reboot the 2.4GHz radio0 is the only one that comes up (the radio1 5GHz client sta connection always reports as connected), but radios1 and 2 don’t start broadcasting until I manually change the radio1 channel from “36” to “auto”, save and apply, then back to “36”. Only then do all three radios show up properly. If I reboot, it’s back to square one with only radio0 broadcasting until I manually change radio1 channels again.

Could someone please test and report back if they’re having the same issue? :confused: (reading through the last few replies I’m thinking it may be related since someone said they had issues with 6GHz until radio1 started broadcasting). But can’t fix the issue if they fail to acknowledge it. Many thanks in advance to anyone willing to give it a try.

Thought this model had a better wiki, but it appears very bare. Summarizing current install methods for rc2 without serial:

Via asus uboot recovery

A. stock
  1. openwrt-25.12.0-rc2-mediatek-filogic-asus_zenwifi-bt8-factory.bin
  2. openwrt-25.12.0-rc2-mediatek-filogic-asus_zenwifi-bt8-squashfs-sysupgrade.bin

B. dangowrt ubootmod
  1. (https://github.com/dangowrt/owrt-ubi-installer/releases)
    openwrt-mediatek-filogic-asus_zenwifi-bt8-ubootmod-initramfs-recovery-installer.trx
    openwrt-mediatek-filogic-asus_zenwifi-bt8-ubootmod-squashfs-sysupgrade.bin  **(doesn't exist; .itb version does exist)???**
  2. Future sysupgrades use "ubootmod" images only.
Back to OEM: **from your own boot_backup which may require JTAG.**

C. remittor's images (stock)
  1. (https://forum.openwrt.org/t/support-for-asus-zenwifi-bt8-tri-band-wifi7-mediatek-mt7988/220023/157)
 initramfs TRX image: ASUS_ZenWiFi-BT8/openwrt-initramfs-trx-for-web/...
  2. sysupgrade v24.10: ASUS_ZenWiFi-BT8/OpenWrt-v24/
  3. openwrt-25.12.0-rc2-mediatek-filogic-asus_zenwifi-bt8-squashfs-sysupgrade.bin
Back to OEM: UBI cleaner TRX or facinstall

A. Only one person it seems to have installed this way.
B. bin and itb interchangeable? Are these the same found in downloads section?
C. This seems to be the only successful way if you want to stay stock.

If this is correct can a person with wiki access copy this over? A lot of people are likely skipping purchasing this due to the incomplete wiki.

3 Likes

I've installed via a.

What needs adding to the wiki?

1 Like

It's 95% blank and has no specific install instructions. The above was my attempt at summarizing the "OEM easy installation" section of the wiki.

@Pulver took pictures which should be added to the wiki especially jumper serial location.

1 Like

I dumbly thought after I got it working I would go and just update the wiki but finding its kind of locked down as it is I didn’t ultimately bother applying in the forum. All it needs is similar to other devices, the initial kick start to get you going with the process for the boot loader for the factory.bin and if that fails link out to the remitter TRX from the standard upgrade process and then right after both sysupgrade. Just enough so the next me that turns up doesn’t ask the same questions I did!

Both experienced and "newbies" likely both hit the wiki first. AI bots scrape it as well.

Has there been any further investigation into why factory.bin failed for some and not others?

I know there was friction for creating TRX files for asus units but it appears a few models now have them by default (RT-AX52 RT-AX57m). Are there plans for an official stock TRX for BT8? One stock TRX file makes installation, troubleshooting, and OEM recovery easier.

I build my trx images with this option:

Official firmware will never be compiled with this option, as it requires a different kernel.

This option prevents the bootloader from replacing the image it transfers control to. Most ASUS bootloaders simply don't do this these days. But I needed a 100% guarantee that my initramfs image would be loaded into memory, and not whatever the bootloader might throw at me.

1 Like

Yes, I have applied for a wiki edit account but have not heard anything back yet.

I have lots of pictures and can post an english version of the install process etc.

Edit:

I think the "Debricking" part is interesting too since I have recovered one BT8 from a total brick state - ending up with a BT8 Uboot mod :slight_smile:

3 Likes

Direct from asus.com.

ZenWiFi BT8
Current Version : 3.0.0.6.102_56084-ga600f58_166-g670e1_M7EC
Manual firmware update : Upload

HW Ver: A1
Prod: 2024
Made in Taiwan

I seem to have the oldest hardware, running the oldest factory firmware, and not made in China. I'm going to do a firmware update first as I suspect a bootloader change and I don't have serial. Anything worth while to lookup before that? Has anyone flashed an A1 model?

I have the same A1 2024 model made in Taiwan, and am trying to use it as a plain AP. Purchased a single brand new unit from Amazon within the past month. Not sure if the firmware update is needed. I booted directly into recovery mode after unboxing the device, and the OpenWRT factory img flashed successfully.

Issues I've noticed:

  1. 320MHz width at 6GHz doesn't work with a manually set channel. It works in Auto channel mode though.
  2. The 6GHz radio won't work unless you also enable the 5GHz radio.
  3. MLO appears to link correctly with client devices, but there's too much packet loss for it to be usable.
1 Like
  1. 3.0.0.6.102_58301
  2. factory.bin
  3. sysupgrade

Flashing was dead simple via A). stock method. Only updated to latest OEM first in case of updated bootloader. vlans and 2.5G ports work great. :+1:

Only boot issues I see don't look important:

[    2.850188] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    2.856277] pci 0000:00:00.0: PME# disabled

[    2.911820] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    2.917905] pci 0000:01:00.0: PME# disabled

[    5.879532] mdio_bus mt7530-0: Failed to setup PHY LED pinctrl
[    5.905533] mdio_bus mt7530-0: Failed to setup PHY LED pinctrl
[    5.931579] mdio_bus mt7530-0: Failed to setup PHY LED pinctrl

[    6.533559] xhci-mtk 11200000.usb: supply vbus not found, using dummy regulator
[    6.540965] xhci-mtk 11200000.usb: supply vusb33 not found, using dummy regulator

[Jan 5, 2026, 10:48:53 PM UTC] kern.err: [    0.471241] mtk-xsphy soc:xs-phy@11e10000: failed to get ref_clk(id-1)
[Jan 5, 2026, 10:48:53 PM UTC] kern.info: [    0.478487] mtk-pcie-gen3 11290000.pcie: host bridge /soc/pcie@11290000 ranges:
[Jan 5, 2026, 10:48:53 PM UTC] kern.debug: [    0.485906] mtk-pcie-gen3 11290000.pcie: Parsing ranges property...
[Jan 5, 2026, 10:48:53 PM UTC] kern.info: [    0.492260] mtk-pcie-gen3 11290000.pcie:       IO 0x0028000000..0x00281fffff -> 0x0028000000
[Jan 5, 2026, 10:48:53 PM UTC] kern.info: [    0.500816] mtk-pcie-gen3 11290000.pcie:      MEM 0x0028200000..0x002fffffff -> 0x0028200000
[Jan 5, 2026, 10:48:53 PM UTC] kern.err: [    0.509385] /soc/pcie@11290000: Failed to get clk index: 0 ret: -517
[Jan 5, 2026, 10:48:53 PM UTC] kern.err: [    0.515821] mtk-pcie-gen3 11290000.pcie: failed to get clocks
[Jan 5, 2026, 10:48:53 PM UTC] kern.info: [    0.521698] mtk-pcie-gen3 11300000.pcie: host bridge /soc/pcie@11300000 ranges:
[Jan 5, 2026, 10:48:53 PM UTC] kern.debug: [    0.529109] mtk-pcie-gen3 11300000.pcie: Parsing ranges property...
[Jan 5, 2026, 10:48:53 PM UTC] kern.info: [    0.535460] mtk-pcie-gen3 11300000.pcie:       IO 0x0030000000..0x00301fffff -> 0x0030000000
[Jan 5, 2026, 10:48:53 PM UTC] kern.info: [    0.544017] mtk-pcie-gen3 11300000.pcie:      MEM 0x0030200000..0x0037ffffff -> 0x0030200000
[Jan 5, 2026, 10:48:53 PM UTC] kern.err: [    0.552578] /soc/pcie@11300000: Failed to get clk index: 0 ret: -517
[Jan 5, 2026, 10:48:53 PM UTC] kern.err: [    0.559018] mtk-pcie-gen3 11300000.pcie: failed to get clocks

All three radios show up for me. Out of the box wireless is kind of rough for "newbies" still.

  1. Can't set country code for any via luci, so no radio can be enabled via luci
[Jan 13, 2026, 2:17:59 AM UTC] daemon.err: hostapd: Line 7: Invalid country_code '00'
[Jan 13, 2026, 2:17:59 AM UTC] daemon.err: hostapd: Cannot enable IEEE 802.11d without setting the country_code
[Jan 13, 2026, 2:17:59 AM UTC] daemon.err: hostapd: 2 errors found in configuration file '<inline>'

Manually edit all radios from 00 to your country code:
/etc/config/wireless

  1. 6Ghz not available to config
    Enable 2.4, 5, and then 6 available to config

  2. 6Ghz can't be enabled
    Switch from auto to any channel

  3. Shouldn't there only be three listed in channel analysis?
    Screenshot 2026-01-12 at 19-49-13 Channel Analysis OpenWrt LuCI


6Ghz is enabled and "working," but can't get devices to find the ssid.

	Supported wiphy radios:
		* Idx 0:
			RTS Threshold: -1
			Frequency Range: 2400 MHz - 2500 MHz
			Radio's valid interface combinations:
				 * #{ AP, mesh point } <= 16, #{ managed } <= 19,
				   total <= 19, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 160 MHz }

		* Idx 1:
			RTS Threshold: -1
			Frequency Range: 5000 MHz - 5900 MHz
			Radio's valid interface combinations:
				 * #{ AP, mesh point } <= 16, #{ managed } <= 19,
				   total <= 19, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 160 MHz }

		* Idx 2:
			RTS Threshold: -1
			Frequency Range: 5900 MHz - 7200 MHz
			Radio's valid interface combinations:
				 * #{ AP, mesh point } <= 16, #{ managed } <= 19,
				   total <= 19, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 160 MHz }

	Globally valid interface combinations:
		 * #{ IBSS, managed, AP, mesh point } <= 57,
		   total <= 57, #channels <= 3, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 160 MHz }

57 ssids?

The 6Ghz requires two things to work, the country code and the wireless security set to WPA3-SAE. Then 320Mhz and connectivity should work. Not sure about the channels as I don’t have anyone with 6Ghz near me so auto selects 1.

6Ghz is working but the three devices I have can't find it. Could just be my devices. Setting "auto" disables 6Ghz for me. WPA3 and country code set correctly.

Once enabled it does show up:
Screenshot 2026-01-13 at 15-07-46 Channel Analysis OpenWrt LuCI

Bugs:
5Ghz - no Local Interface, just names your ssid and doesn't appear to do a scan.
6Ghz - reports the same stats as what 2.4 is set at


2.4Ghz is stable and I experience no drops out like others have reports.

I have this as well, I don’t see the local interface for just 5Ghz on any of the radios but expected on radio1.

I am not sure what is happening on 2.4Ghz. What I am seeing is a device that historically records wifi signal strength every 5 minutes which would drop maybe a few times a week now with OpenWRT 24.10 dropping to no signal 30 times a day and about 15 times a day on RC. I think the device is resilient to these and all the data is getting through. I do wonder if someone was gaming they might notice a problem however, I don’t know if it impacts all bands as I don’t monitor them but it could be they are all doing it and its some power saving mechanism or similar. I need to connect my wifi 7 laptop and write a script to see if its occurring on 5Ghz or 6Ghz too.

It's a bug.

What does the log say at those times? I do notice that clients seem to idle aggressively but nothing manifests as connection issues even on 2.4Ghz. I am running my BT8 as a dumb AP with wired backhaul and both 2.5G ports used.

I do have a wifi7 card (mt7925e), country code set, bands enabled, and still can't find nor connect to 6Ghz ssid.

Mystery solved. If you set US, 6Ghz doesn't work. Set JP for testing (I lose 5Ghz when doing this). This should definitely be in the wiki warning people about this. Upstream appears to have no ETA when this could be fixed.

1 Like

Upstream is not going to fix this, and openwrt devs (few of whom are US-based with wifi 7 devices) aren't terribly interested either.

You'll need to patch the regulatory db by using this:

2 Likes

Would this be a better patch? Doesn't touch global 00 and patches the rest so not a US-only solution.