I have a Zyxel NWA90AX (without "Pro" suffix) access point and would like to get OpenWrt running on it.
OpenWrt already has support for the NWA90AX Pro, which has the same hardware has the NWA50AX Pro - but the "Pro" versions have completely different hardware than the non-pro ones.
OpenWrt also has support for the NWA50AX, which has the exact same hardware as my NWA90AX. I confirmed this by a) inspecting the FCC ID I8811AXAP22A photos and b) finding an official Zyxel support page stating this:
NWA90AX: Identical hardware as in NWA50AX, but with added features like Captive portal for Guest access and WPA Enterprise for AD/Radius (Credential) authentication.
So the difference between 50 and 90 is only a feature unlocked in software.
(There is another thread about this device, but it's a different revision: mine has FCC ID I8811AXAP22A
, Zyxel NWA90AX PoE AP has I8811AXAP22
(without the A at the end)
I updated the access point to the latest firmware version V7.10(3)
dated 2025-06-29 03:25:20
to get the Current Image num
to 1
as suggested by the wiki, and then tried flashing the OpenWrt NWA50AX firmware.
At first I got an error
errno: -25000
errmsg: Warning ULCGI unalbe to parse CGI query!
but the wiki told me to make the file name shorter, and that indeed helped getting around this problem.
But with a shorter name, I also get an error:
errno: -25007
errmsg: Firmware content error!
The firmware is not accepted; and this is where I am stuck at.
I looked at the commit that added NWA90AX Pro support and did the same for my NWA90AX in target/linux/ramips/image/mt7621.mk
- simply adding DEVICE_ALT0_VENDOR
+ DEVICE_ALT0_MODEL
.
This let me select the NWA90AX in make menuconfig
, but the firmware I compiled did yield the same upload error.
Do the Zyxel devices need a certain flag set to discover that the firmware is indeed for them, and not some other model in the same line?