OpenWrt Support for Asus RT-AC88U

Did you reset NVRAM from CFE recovery then flash OpenWrt image? I had an issue similar to yours which resetting NVRAM fixed.

Yep, I did reset NVRAM. Rolled back to stock firmware, reset NVRAM again, 5Ghz is still dead. Stock firmware bootlooped once, reset NVRAM, back to stock firmware again, 5Ghz radio still dead.

This is what happed to me 2 years ago (with Merlin) when I shelved this router.

I had the intention to install OpenWRT and use it again as my main router, but I need the 5Ghz working. This way this router is back to the shelf again... :frowning:

Well, I decided to try again, and some really strange things are happening. The 5Ghz radio is still not detected, and now there are two 2.4 radios listed (one OK and the other does not work).

I've tried multiple NVRAM resets, went back to stock firmware, reinstalled OpenWRT and nothing (neither OpenWRT nor stock firmware are able to see the 5Ghz radio).

I still suspect that it might be a hardware issue, but @arinc9, if you have any other suggestion in terms of resetting or restoring this device I am willing to try.

I suspect the dmesg errors below can be related to this issue:

77pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.asus,rt-ac88u.txt failed with error -2
brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available

Detailed DMESG
[   12.256880] pci_generic_config_write32: 50 callbacks suppressed
[   12.256891] pci_bus 0000:01: 1-byte config write to 0000:01:00.0 offset 0x3c may corrupt adjacent RW1C bits
[   12.272618] pci 0000:00:00.0: enabling device (0140 -> 0142)
[   12.278296] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   12.287975] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   12.297647] brcmfmac 0000:01:00.0: enabling device (0140 -> 0142)
[   12.303760] pci_bus 0000:01: 2-byte config write to 0000:01:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   12.313442] pci_bus 0000:01: 2-byte config write to 0000:01:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   12.487787] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4366c-pcie for chip BCM43664/4
[   12.709919] brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.asus,rt-ac88u.txt failed with error -2
[   12.721056] brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[   13.060406] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4366c-pcie for chip BCM43664/4
[   13.069243] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[   13.080516] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43664/4 wl0: Nov  5 2018 03:19:56 version 10.28.2 (r769115) FWID 01-d2cbb8fd
[   13.120358] pci_bus 0001:01: 1-byte config write to 0001:01:00.0 offset 0x3c may corrupt adjacent RW1C bits
[   13.130199] pci 0001:00:00.0: enabling device (0140 -> 0142)
[   13.135894] pci_bus 0001:00: 2-byte config write to 0001:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   13.145611] pci_bus 0001:00: 2-byte config write to 0001:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   13.155316] brcmfmac 0001:01:00.0: enabling device (0140 -> 0142)
[   13.161461] pci_bus 0001:01: 2-byte config write to 0001:01:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   13.171167] pci_bus 0001:01: 2-byte config write to 0001:01:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   13.347795] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4366c-pcie for chip BCM43664/4
[   13.359479] brcmfmac 0001:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.asus,rt-ac88u.txt failed with error -2
[   13.370605] brcmfmac 0001:01:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[   18.370522] kmodloader: done loading kernel modules from /etc/modules.d/*
[   20.270874] bgmac_bcma bcma0:4 eth1: Link is Up - 1Gbps/Full - flow control off

Thanks!

Nope, that's all I had in mind. If Wi-Fi won't work on the stock firmware, I highly doubt that it will work on OpenWrt.

These appear on mine as well, they shouldn't matter. I don't see anything unusual on your dmesg.

1 Like

Hi there,

first of all thank you for your great work!!!!!!
I tested the image and it works fine.

Wifi works for me, although the 5GHz range is a bit worse than with the HGG firmware, which I want to replace.
However, the transmission speed is better.

When installing wireguard, however, I ran into a problem that the kernel is not compatible.

Another problem arises after the update of the hostapd-common package.
After this, the wifi no longer works.

Cheers!
I don't know about hostapd-common but for wireguard, try to force install it with --force-depends opkg option.

Installation works!
Thank you.

But I haven't it config at the moment.

I have a problem to connect from a lan-device (FHEM-Server) to wlan-devices.

The problem is only at IoT devices with esp8266.

What happens when you set the country code under Edit > Advanced Settings to see if that's the issue also?

I've already changed the country code, deactivated wmm, changed encryption and much more. Nothing works :frowning:
I also changed the " option ldpc '0' " from this post:

Also without luck.

Some router with openwrt have problems to connect to the esp8266.

With the asuswrt firmware was everything fine.

Hello, I would like to know how complete support is for this model. From reading the latest posts, it's not clear to me if the router works correctly or not.

I would also like to know how easy (or hard) it is to revert to the stock firmware.

The 21.02 image I maintain works completely fine. Reverting to stock firmware is very easy as you just need to do it with CFE Recovery Mode.

The firmware works really great!
I only have problems with some wireless client that cannot connect to another device, but they can connect to the internet.

I have problems with esp8266-devices and with mobil phone Umidigi S3 Pro.

I installed. Seems to be running okay by now. I'm running into this issue when installing a package:

-> https://openwrt.org/faq/cannot_satisfy_dependencies

The installed version of package kernel is not compatible, require 5.4.154-1-7992aa48… while 5.4.154-1-3927b629… is installed.

Is this something you need to solve at your end?

Thanks

I changed the kernel a bit, to use DSA, for example. Therefore the kernel hash on the versioning is different than the prebuilt packages depend on. You can force opkg to install the package anyway with --force-depends option.

Thank you, that is great.

Any plans to have openwrt add this device to the supported devices list?

I mailed a patch adding support of this device. We had a little conversation on the details with @rmilecki who's supposed to be the maintainer of the bcm53xx target. However, I did not get a response from them afterwards so support for this device is sort of in a limbo right now. The devicetree of this device is still not complete on Linux upstream anyway so I'm not being pushy.

Thanks.

One of the things that are broken in the asuswrt firmware is 6in4 tunnels. I was hoping they'd work here. I was following this guide, but I happened upon a problem:

Sat Jan  8 20:10:08 2022 daemon.notice netifd: Interface 'wan6' is setting up now
Sat Jan  8 20:10:09 2022 kern.warn kernel: [19425.437086] sit: Unknown symbol __xfrm_policy_check (err -2)
Sat Jan  8 20:10:09 2022 daemon.err modprobe: 1 module could not be probed
Sat Jan  8 20:10:09 2022 daemon.err modprobe: - sit
Sat Jan  8 20:10:09 2022 daemon.notice netifd: wan6 (6320): Command failed: Unknown error

Would you mind enabling the CONFIG_XFRM option in next builds of the firmware? I'm confused as to why that option is disabled since it is enabled in openwrt by default. Thanks!

That option is enabled on the repository my build is based off of as well. I'm not sure where you got the idea that it was disabled.

Looks like kmod-sit which is a dependent of 6in4 is having trouble finding symbols. You should build your own image from my 21.02-asus_rt-ac88u branch with 6in4 enabled.

OpenWrt Wiki page for the build system:

sit is as you say an external module, and it fails to load because it can't find the symbol "__xfrm_policy_check" in the kernel, which is guarded with CONFIG_XFRM:

-> https://github.com/torvalds/linux/blob/4634129ad9fdc89d10b597fc6f8f4336fb61e105/include/net/xfrm.h#L1077-L1095

Hence my natural assumption was that the kernel is not built with that configuration option on.

I will look into building the firmware myself.

I see. It's a bit messy to use prebuilt kernel modules on a custom build which might produce weird errors like you stumbled upon. So it's a better idea to compile the image with the packages (especially kernel modules) you want.

The steps to compiling the build is not as long as the wiki page makes it to be, as it tries to be thorough.