LEDE/OpenWrt for Ubiquiti UniFi AP AC (LITE + LR + PRO)


2016-05-13: LEDE has merged the code for PRO, so both targets are
supported by them:
LITE and LR: https://downloads.lede-project.org/snapshots/targets/ar71xx/generic/lede-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin
PRO: https://downloads.lede-project.org/snapshots/targets/ar71xx/generic/lede-ar71xx-generic-ubnt-unifiac-pro-squashfs-sysupgrade.bin

2016-05-11: Finally, also the PRO device is supported.
With the help of Ch. Fuchs, who did the testing, a patch was developed
and sent to the mailing list. To avoid confusion, the targets were renamed:
unifiac-lite supports LITE and LR (Longrange), while
unifiac-pro supports PRO (and possibly EDU in some future).

2016-05-10: Now LEDE is also using the latest code, which
gives the same support level as OpenWrt.

2016-05-04: The image at OpenWrt's build servers is fully working
on Ubiquiti UniFi AP AC LITE and LR devices.
If you install from this source, then you have to install the driver for
the 5 GHz PHY by hand:

opkg update
opkg install ath10k-firmware-qca988x

Some additional information is given in the OpenWrt wiki at https://wiki.openwrt.org/toh/ubiquiti/unifiac

Stuck at Ubiquiti's firmware?

It seems that Ubiquiti introduced a new protection mechanism with FW >= 3.4.14
In the release notes, they call it:
Several changes to increase robustness of firmware upgrade process
While the flashing commands seem to finish successfully, the unit still reboots Ubiquiti's firmware.
To circumvent this behaviour, first downgrade to v3.4.7 and then follow my instructions for flashing LEDE/OpenWrt.
You can downgrade your unit by copying the old FW file (BZ.qca956x.v3.4.7.3284.150911.1650.bin)
to /tmp/fwupdate.bin. Then, by calling syswrapper.sh upgrade2 the downgrade is stared.
Instructions are taken from here.

Flashing LEDE/OpenWrt

From Ubiquiti factory OS

Read this first.
Copy the sysupgrade(!)-Image to the /tmp directory (using scp), then ssh into the unit and copy the image to the flash:
# mtd -r write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-squashfs-sysupgrade.bin kernel0
Unlocking kernel0 ...

Writing from /tmp/openwrt-ar71xx-generic-ubnt-unifiac-squashfs-sysupgrade.bin to kernel0 ...
Rebooting ...
SSH-Username: ubnt
SSH-Password: ubnt

From LEDE/OpenWrt

As soon, as LEDE/OpenWrt is installed to the device, sysupgrade can be used to flash a new image.

Download Prebuilt Images

2016-05-11: Version 6 is out
Update to kernel 4.1.23, introduce new targets unifiac-lite and unifiac-pro.
The images provided here have a non-default selection of built-in packages.

Version 6
Based on OpenWrt r49362 / Linux 4.1.23

There is a chance, that after rebooting the unit, U-Boot will detect eth0
as being down. This seems to be due to improper initialisation in U-Boot, as
suggested here: https://lists.openwrt.org/pipermail/openwrt-devel/2015-December/038163.html.
A hard reset (power cycle) will resolve this issue. However, you should only
notice it when tftp-loading a new firmware to the device - so a normal user
will most likely not see this glitch.

Modifications / Patches

For PRO support, two patches are applied:

If there are any new findings, problems or questions contact me at: p [dot] wassi [at] gmx [dot] at

Last modified: 2016-08-30 09:45:18