Most of the time you'd update UniFi firmware through the controller, but there are situations where that isn't an option. Maybe the device is in a failed adoption state, stuck on an incompatible firmware version, or you need to downgrade to an older release. SSH gives you a direct line to the device regardless of what the controller thinks of it.
The process is straightforward: SSH in, grab the firmware URL from Ubiquiti's download site, run one command. Here's the full walkthrough.
When Would You Use This?
- Device stuck in a bad state, controller can't push an update because the device won't fully adopt
- Firmware downgrade, rolling back to an older version the controller UI won't offer
- Controller unavailable, you need to update the device but don't have access to the Network Application
- Unsupported firmware gap, device is too far behind for the controller's update path to reach directly
Step 1, Connect via SSH
🔌 SSH ConnectionYou'll need an SSH client, the built-in Terminal on macOS/Linux, Windows Terminal, or PuTTY on Windows all work fine.
Replace 192.168.1.x with the IP address of your UniFi device. You can find it in your router's DHCP lease table, or in the UniFi Network Application under Devices.
Default SSH Credentials
If the device hasn't been adopted into a controller yet, use the factory defaults:
| Field | Value |
|---|---|
| Username | ubnt |
| Password | ubnt |
# Connect to the UniFi device, replace IP with your device's address
ssh ubnt@192.168.1.x
# You'll be prompted for the password, then land at a shell prompt:
# BusyBox v1.x.x (...)
# ubnt@UniFi:~$
Step 2, Find the Firmware URL
🔗 Firmware Download-
1
Go to the Ubiquiti downloads pageGo to ui.com/download in your browser.
-
2
Find your deviceSearch for or browse to your specific device model (e.g. UAP-AC-Pro, U6-Lite, USW-Flex-Mini). Make sure you're on the correct hardware variant, firmware is not cross-compatible between models.
-
3
Copy the firmware download linkRight-click the firmware download button for the version you want and select "Copy link address" (Chrome/Edge) or "Copy Link" (Firefox/Safari). Do not left-click, you need the direct URL, not the downloaded file.
The URL you've copied will look something like this:
https://dl.ui.com/unifi/firmware/U7PG2/6.6.62.14481/BZ.qca956x_6.6.62+14481.230912.1852.bin
Step 3, Run the Upgrade Command
⚡ UpgradeBack in your SSH session, run the upgrade command followed by the firmware URL you copied:
# Paste your firmware URL after the upgrade command
upgrade https://dl.ui.com/unifi/firmware/U7PG2/6.6.62.14481/BZ.qca956x_6.6.62+14481.230912.1852.bin
That's it. The device handles the rest automatically.
What happens next
Verifying the Upgrade
✅ VerificationOnce the device comes back online, SSH in again and check the firmware version to confirm the upgrade succeeded:
# Check the current firmware version
info
# Example output:
# Model: UAP-AC-Pro
# Version: 6.6.62.14481
# MAC Address: xx:xx:xx:xx:xx:xx
# IP Address: 192.168.1.x
The version number should match the firmware you flashed. You can also confirm it in the UniFi Network Application under Devices, the firmware version column will update once the device re-adopts.
Troubleshooting
"Connection refused" or SSH not responding
SSH is disabled by default on some UniFi device configurations. Enable it from the Network Application under Devices → [Device] → Settings → SSH, or enable it during initial setup. If the device is unreachable entirely, check it has a valid IP and is on the same network segment.
Upgrade command hangs or fails to download
The device downloads firmware directly from Ubiquiti's CDN, it needs internet access. If the device is on an isolated VLAN or behind a firewall that blocks outbound HTTPS, the download will fail. Either temporarily allow outbound access or host the firmware file on a local HTTP server and use that URL instead.
"Invalid firmware" or checksum error
You've likely got the wrong firmware for the device's hardware variant. Double-check the exact model on the device label and re-download the correct firmware from ui.com/download.
reboot, reboots the device cleanly from SSH
set-inform http://CONTROLLER-IP:8080/inform, re-adopts the device into a controller after upgrading