OpenWRT and Engenius
Question: Can OpenWRT be installed on an Engenius ENS500EXT-AC* (referred to as the ...500 in this article)
Answer: Yes
Details?: It has actually been done with OpenWRT 19.07.10 (at the time 22.x was available, but there are too many busted things in that version, and nothing else that compelling to justify an upgrade). Wireless works too (that was a brief scare after looking at DMESG where it tries several 'things' before it works). After installation it also reports itself as an ENS620EXT, instead of an ENS500EXT-AC, but given that it's ...620 firmware, that isn't suprising.
*Sidenote: It turns out that in reality on an Engenius ENS500EXT-AC, v1 Hardware, v1 Software, that OpenWRT is already installed. Yup, version 12.07, "Attitude Adjustment" is what is installed. Now this might be different for other versions of the ENS500EXT-AC, but for v1 Hardware / v1 Software, it's OpenWRT. Also of note is the fact that the default IP Address is not 192.168.1.1, it is set to DHCP (with admin / admin being the user name password). Another interesting feature of this version is the fact that firmware upgrades, from OpenWRT and EnGenius, will fail.
Installation
Installing from the GUI is NOT possible, per the ENS620EXT product page: https://openwrt.org/toh/engenius/ens620ext
Alternative solution?: Install via U-Boot (You'll need a TFTP Server (not covered here) and a Serial / TTL device to connect to the Serial / TTL port on the ...500).
- Access the device via the Serial / TTL interface (that isn't covered here, nor is it really covered anywhere in regards to this specific device, but following the instructions for the Buffalo WZR-600DHP comes close: https://openwrt.org/toh/buffalo/wzr-hp-ag300h, plus there are even pins on the PCB for the ...500.
- Enter the U-BOOT Command Line by pressing a key when prompted
- Set the devices IP Address to match WhatEver Subnet: set ipaddr 192.168.X.Y
- Set the TFTP Server: set serverip 192.168.X.&
- "Download" the Image to boot: tftpboot 0x84000000 WhatEverFile.bin (use the .itb file for the ...620 here: https://downloads.openwrt.org/releases/19.07.10/targets/ipq40xx/generic/ ) (the 0x84000000 is the offset for other EnGenius devices and it works for the ...500, and during a 'regular' boot after installing an image on the Flash Storage, the offset seems to be 0x840000e4, so 0x84000000 is close enough to not cause any issues)
- Issue this command to boot from the downloaded image: bootm
...and it should boot up OpenWRT with the LuCI GUI available at the standard 192.168.1.1 IP Address with the User Name / Password: admin / admin.
At this point it is safe to install OpenWRT on the Flash Storage using the LuCI GUI (keeping in mind the above stuff didn't install anything, it only did a boot that is equivalent to a network PXE boot). Use the SysUpgrade version of OpenWRT to do the Flash Storage installation.
Oh, and a special note to the people who write scary things about messing up or bricking your device: A very safe way to see if OpenWRT will work is to boot via TFTPBOOT from U-Boot. It doesn't change anything on the devices Flash Storage, so it's a good test. If it boots up, the odds are heavily in favor of a full install working just fine.
Other Items of Note
Even though it doesn't seem to be documented anywhere, the Flash Storage on the ...500 is 32 MB.
To "install" / "activate" the Mount Points Menu Item under Storage in the LuCI GUI: opkg install block-mount (there's no point in installing anything else as the ...500 doesn't have a USB port.
The ...500 seems to have a full blown Ethernet Switch, but with only two physical ports. Port 3 seems to be the PoE Port and also the OpenWRT "LAN" Port. There's also some mention of a proprietary driver for the switch, but that might be in reference to the Wireless Adapter. Other articles (https://github.com/openwrt/openwrt/issues/9853 and https://forum.openwrt.org/t/ipq40xx-switch-config-strangeness-swconfig/32542/2) indicated the SWCONFIG command and LuCI GUI are a bit 'wonky' in the 19.07.10 version of OpenWRT and are addressed in later versions. However, there isn't much need for VLAN configuration with this device since it only has two ports. Also installing kmod-macvlan doesn't help with making the System, Switch Menu item appear in the LuCI GUI.
Useful Links
List of EnGenius devices supported by OpenWRT (but should obviously include the ...500): https://openwrt.org/toh/engenius/ens620ext
ENS600EXT OpenWRT Hardware Page: https://openwrt.org/toh/engenius/ens620ext
User Manual for ENS500EXT-AC (and others): https://www.engeniustech.com/wp-content/uploads/2017/07/ENS500EXT-AC-User-Manual.pdf
Final Thoughts
...no idea why the ...500 isn't supported by OpenWRT officially. It has the same SoC (Qualcomm / Atheros IPQ40xx / IPX4018) as many other EnGenius devices, including the ENS600EXT. Plus the EnGenius User Manual even has the ...500 combined with the ...620. Looking at the differences, it appears that the only difference is 2 Antennas for the ...500 and 4 Antennas for the ...620.
Now the really freaky thing is that all the documentation from EnGenius states the ...500 only has 802.11AC (with the ...620 having 802.11bgnac). That's weird because, because both the .500 and .620 have the same SoC and other stuff. What gives? Well, it turns out the .500 does have the same Wireless capability as the .620, but EnGenius chose to disable it. Woof! Both 802.11bgn (at 2.4GHz) and 802.11ac (at 5 GHz) works just fine with OpenWRT.