User Tools

Site Tools


Ubiquiti UniFi AP


Since r23904 this device is supported in trunk and in future stable release.
12.09 includes this AP as stable.

Barrier Breaker 14.07 openwrt-ar71xx-generic-ubnt-unifi-squashfs-factory.bin works out of the box, no need to change XM/BZ for the firmware image. Configurations then can be changed right away using LuCi.


Architecture: MIPS
Vendor: Atheros
Bootloader: U-boot
System-On-Chip: Atheros (AR7240)
CPU Speed: 400 Mhz
Flash-Chip: MX25L6405D
Flash size: 8 MiB
Wireless: AR9287
Switch: none
Ethernet ports: 1x Gigabit, POE capable
USB: No 1)
Serial: Yes, settings


A male-strip is on board to connect your TTL capable serial converter. Serial connection parameters: 115200, 8N1


How to connect to JTAG interface, and how to reflash the device with JTAG tools
See port.jtag for more JTAG details.


Installing a new firmware image

  1. Device get IP address from DHCP (without DHCP the UniFi AP's default to
  2. Login inside the AP with ssh ubnt@ip_address (password ubnt)
  3. Find the image like "openwrt-ar71xx-ubnt-unifi-*-factory.bin" on openwrt binary repository and download inside /tmp.
  4. Rename the image to fwupdate.bin
  5. Use the Ubiquiti script to reflash it (note that assumes that the firmware image is /tmp/fwupdate.bin): upgrade2, which calls fwupdate.real, can complain about the version of the firmware image, because it is built with prefix "XM" instead of the "BZ" of the unifi image (trunk r38381 works). To change you will have to download the OpenWRT Image builder, patch the Makefile at target/linux/ar71xx/image (replace XM with BZ around line 844:

$(eval $(call SingleProfile,UBNTXM,$(fs_64k),UBNTUNIFI,ubnt-unifi,UBNT-UF,ttyS0,115200,XM,BZ,ar7240))
Or just replace characters 4-6 in the firmware image file

Upgrading OpenWRT

If you have already installed OpenWrt and like to reflash for e.g. upgrading to a new OpenWrt version you can upgrade using the sysupgrade command line tool. It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.

LuCI Web Upgrade Process

Terminal Upgrade Process

  • Login as root via SSH on your access point ip
  • Use the following commands to upgrade:
    cd /tmp/
    sysupgrade -i /tmp/openwrt-ar71xx-ubnt-unifi-*-sysupgrade.bin

Specific Configuration

The UniFi ap has 2 leds, the orange one can be configured adding something like:

config 'led'
	option 'name' 'lan'
	option 'sysfs' 'ubnt:orange:dome'
	option 'trigger' 'netdev'
	option 'dev' 'br-lan'
	option 'mode' 'tx rx' 
at the end of /etc/config/system

Also its possible to change the led status manually.

  1. static, use 1 for on, 0 for off:
    echo 1 > /sys/class/leds/ubnt\:orange\:dome/brightness
    echo 1 > /sys/class/leds/ubnt\:green\:dome/brightness
    echo 0 > /sys/class/leds/ubnt\:green\:dome/brightness
    echo 0 > /sys/class/leds/ubnt\:orange\:dome/brightness
  2. blinking
    1. blinking on, interval 1000ms, orange led:
      echo timer > /sys/class/leds/ubnt\:orange\:dome/trigger
      echo 1000 > /sys/class/leds/ubnt\:orange\:dome/delay_on
      echo 1000 > /sys/class/leds/ubnt\:orange\:dome/delay_off
    2. blinking off:
      echo 0 > /sys/class/leds/ubnt\:orange\:dome/delay_off

Network configuration (Unifi as standalone wireless Router)

The UniFi has only the single ethernet port, so much of the OpenWrt documentation is a little confusing. Most of the documentation is written with the idea of routers which have a WAN port, a LAN wired switch and the WLAN wireless. Clearly the Unifi doesn't have the wired LAN switch.

After flashing (I found r41163 worked while the 12.09 version had the XM problem discussed above and editing the characters 4-6 didn't fix it) I was able to connect via wired ethernet as described in FirstLogin (i.e. there is a DHCP server handing out IPs in the 192.168.1.X subnet, running on the ethernet port).

After changing the password and exiting, I had to wait a while (60 secs?) until I could ssh back into the box. That was strange because I thought I'd lost networking … I think that is due to a long-running first time ssh key generation. Even so, each ssh in takes a long time to respond (something about recent versions of dropbear taking a long time to setup a session key). I found LUCI not installed, so I had to work to get internet access on the box before I could use that.

Once ssh'd into the box I followed these steps: 1. Enable wireless, using commands at top of the UCI wireless config page. This enables the radio. The radio is bridged to the lan network. 2. Connect to the wireless network, disconnect the wired from your computer, and ensure that you can ssh in via the wifi. 3. Swap eth0 and eth1 between lan and wan. The default configuration has the ethernet port on the lan network. But if you are going to plug the Unifi into a cable modem (for example) to use it as a router, then you want the ethernet port to be the wan network (and to seek a dhcp assigned address). I edited the /etc/config/wireless file changing etho in the lan section to eth1, and eth0 in the wan section to eth1. Quite honestly I'm not sure that this is perfect (since there isn't an eth1 on the Unifi, but it worked for me). 4. Restart networking (/etc/inid.d/networking restart) 5. Connect the ethernet lan on the PoE injector to the cable modem. Remember nonsense about having cable modem off for 20 seconds or so to give out an IP to a new MAC address. 6. Connect back to the OpenWrt Wifi. 7. ping yay.

At this point things are working with NAT routing between the lan and the wan.

root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr ''
	option netmask ''
config globals 'globals'
	option ula_prefix 'fd18:37f2:587f::/48'
config interface 'lan'
	option ifname 'eth1'
	option force_link '1'
	option type 'bridge'
	option proto 'static'
	option ipaddr ''
	option netmask ''
	option ip6assign '60'
config interface 'wan'
	option ifname 'eth0'
	option proto 'dhcp'
config interface 'wan6'
	option ifname '@wan'
	option proto 'dhcpv6'
root@OpenWrt:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr DC:9F:DB:EB:19:24
          inet addr:  Bcast:  Mask:
          inet6 addr: fd18:37f2:587f::1/60 Scope:Global
          inet6 addr: 2605:6000:1018:5f::1/64 Scope:Global
          inet6 addr: fe80::de9f:dbff:feeb:1924/64 Scope:Link
          RX packets:35879 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64154 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7629054 (7.2 MiB)  TX bytes:76188963 (72.6 MiB)
eth0      Link encap:Ethernet  HWaddr DC:9F:DB:EA:19:24
          inet addr:  Bcast:  Mask:
          inet6 addr: 2605:6000:ffc0:60:1406:59bd:ae45:b383/128 Scope:Global
          inet6 addr: fe80::de9f:dbff:feea:1924/64 Scope:Link
          RX packets:88136 errors:0 dropped:1 overruns:0 frame:0
          TX packets:36148 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:78402192 (74.7 MiB)  TX bytes:8333999 (7.9 MiB)
lo        Link encap:Local Loopback
          inet addr:  Mask:
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16092 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16092 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1137726 (1.0 MiB)  TX bytes:1137726 (1.0 MiB)
wlan0     Link encap:Ethernet  HWaddr DC:9F:DB:EB:19:24
          inet6 addr: fe80::de9f:dbff:feeb:1924/64 Scope:Link
          RX packets:35881 errors:0 dropped:0 overruns:0 frame:0
          TX packets:65056 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8131532 (7.7 MiB)  TX bytes:77645373 (74.0 MiB)

Putting Unifi into failsafe mode

Also useful to know how to put the Unifi into failsafe mode. I found that connecting the ethernet PoE cable to the Unifi, but removing it from the injector, then pushing a pin into the hole next to the ethernet connection on the Unifi, digging around until you feel a button press (it seems easy to miss) and holding it down with one hand while connecting the cable into the PoE injector and then holding for about 8 seconds, until the led lights up. When the Unifi was in failsafe I had blinking green led lights (sometimes really quickly, sometimes slowly).


toh/ubiquiti/unifi.txt · Last modified: 2015/11/30 21:48 by tmomas