Ubiquiti

UniFi - Changing the firmware of a UniFi device

https://help.ubnt.com/hc/en-us/articles/204910064-...

We've made it much easier to change device firmware via the controller web UI. For any unadopted device, you will have the upgrade option which can be performed before you adopt the device. This may help if you experience issues adopting a device.

For any adopted UniFi device you can easily upgrade or change the device firmware from the device properties window. This is found under either under Configuration>Custom Upgrade or Configuration>Manage Device>Custom Upgrade.

In this section you can enter a link that points to the new firmware version. Firmware links can be found on our official download page, HERE, and also within the release notes or firmware blog posts HERE.

Notes:

  • Currently UniFi access points and switches will not work with a HTTPS link, so please make sure it is a HTTP link.
  • Obviously when using a link to a firmware binary on our CDN, the UniFi device will need to be able to properly resolve the host via DNS/access the WAN. The custom upgrade would also work for a locally hosted FTP or HTTP server.

Changing device firmware via SSH


There are a couple of ways to do this. There is the method where the UAP will pull the firmware from the controller and perform the upgrade. There is also a local upgrade, where it runs from the UAP itself. I will detail both methods within this article.

Standard SSH firmware upgrade method (communicating with the controller)

upgrade http://ip-of-controller:8080/dl/firmware/BZ2/version-of-ap-see-ref-table-below/firmware.bin

Notes:

  • Replace BZ2 with the appropriate model number. Please see the section below.
  • Users upgrading USG or USG-Pro-4 must go to an elevated console before, so first issue: sudo su
  • the 'upgrade' alias expects the use of a URL, so it must point to the controller, a local web host, or to our CDN (or other known good host).

Running a local firmware upgrade (from the UAP itself)

To perform a local update, the firmware.bin needs to be renamed to fwupdate.bin, then copied to /tmp on the UAP.

So, what you need to do is copy the file from the appropriate directory of the controller. You can get the "version" from the table below, match up the appropriate folder per model of UAP.

For Linux you would:

  • open Terminal
  • scp /usr/lib/unifi/dl/firmware/binary/version/firmware.bin user@ip.of.uap:/tmp/fwupdate.bin

For Mac you would:

  • open Terminal
  • scp /Applications/UniFi.app/Contents/Resources/dl/firmware/binary/version/firmware.bin user@ip.of.uap:/tmp/fwupdate.bin

So, for example, in Linux, if I wanted to copy 3.2.1 binary to a standard UAP for local upgrade I would:

scp /usr/lib/unifi/dl/firmware/BZ2/3.2.1.2601/firmware.bin user@ip.of.uap:/tmp/fwupdate.bin

The local path to the firmware binary could vary, depending on if it's bundled with the controller or if you downloaded a special binary.

Windows users need to copy the file via WinSCP, or MobaXterm (there are other programs too, PSCP, etc.). I would recommend renaming it after you copy it to /tmp/ directory though (as you want to leave the local file as firmware.bin).

Then connect via SSH and issue the appropriate command to initiate a local upgrade.

syswrapper.sh upgrade2 &

Notes:
Make sure that you use the appropriate firmware binary for the appropriate device. This method is useful for some test firmwares which may not include wget. You may have other reasons to do this method too, like upgrading a certain UniFi device to a different firmware version without changing the existing controller version.

USG/USG-Pro does support local upgrade, but you may want to use upgrade.tar for the file name. You will have to place the upgrade file in a writable directory, so may be best to use /home/username/ (replace username with the admin username). You need to run the command elevated. Assuming you're in the home directory, and the file is named upgrade.tar then you would issue 'sudo syswrapper.sh upgrade upgrade.tar'

Determining Firmware Version

As of 4.8.14 we started hosting USG firmware on our CDN, but UAP and USW firmware is still bundled with the controller. You can find the firmware within the following folders:

MSW:
Vista/7/8/10: C:\Users\username\Ubiquiti UniFi\dl\firmware
XP: C:\Documents and Settings\username\Ubiquiti UniFi\dl\firmware

Linux: /usr/lib/unifi/dl/firmware

Mac: /Applications/UniFi.app/Contents/Resources/dl/firmware

Please reference the table below to match the firmware folder with the device model(s).

BZ2 UAP, UAP-LR, UAP-OD, UAP-OD5
U2HSR UAP-Outdoor+
U2IW UAP-InWall
U2Sv2 UAP-v2, UAP-LR-v2
U7E UAP-AC, UAP-AC v2, UAP-AC-OD
U7P UAP-Pro
U7PG2 UAP-AC-Lite/AC-LR/AC-Pro/AC-EDU
UGW3 USG
UGW4 USG-Pro-4
US24P250 US (all current models, with the exception of the US-16-XG)
USXG US-16-XG

Firmware links can also be found on our official download page, HERE, and also within the release notes or firmware blog posts HERE.

Troubleshooting

These are some user cases that might be helpful to other readers, if you have something you would like to add to this section, don't hesitate to send us an email at helpcenter_feedback@ubnt.com.

  • After installing an incorrect version first, the user tried to upload the correct version, but continued to get an "Invalid Firmware" error when trying to upgrade over the SSH. He corrected this by going to the tmp folder and deleting fwupdate.bin first and then trying the upgrade command once more (making sure it was in the correct folder on the controller).

Related Articles


Was this article helpful?
0 0 (Login to rate)
Download PDF

Password Reset

Enter your email address below, and we'll send you a new password.

×