UniFi · Firmware recovery · Fix

Firmware update failed — device offline. Recover it the documented way

First published 20 October 2026 · Every procedure below is Ubiquiti's own, from its Recovery Mode, updating and backups documentation — read in full for this guide. Two popular beliefs are corrected on the record: no official update duration exists, and no official update order exists.

Do not fix the wrong thing first. Split the problem before touching hardware: “Update failed” (the device is alive in the controller, the update didn't apply — a retry problem) is a different disease from “device gone” (offline, unreachable, or stuck mid-state — a device-state problem). And if every device went “offline” at once, your suspect is the console's update, not a fleet of innocent devices.

Triage by state (Ubiquiti publishes no stopwatch — states are the clock)

What you observeReadingMove
Device online, “update failed”, will retryAlive; the push failedThe retry ladder below — incl. the documented Cache firmware retry
LED cycling through boot patternsStill working/bootingObserve; do not unplug mid-write — power loss during the write is the one self-inflicted brick
Device answers at its normal/DHCP address; console shows offlineManagement path broken (the inform path — TCP 8080 class), device itself upAdoption/isolated ladder, not recovery
LED steady in a recovery/isolated documented pattern; nothing answersDevice-state failureRecovery ladder, your device's class
Whole fleet “offline” after a console updateConsole state, not devicesConsole recovery (Class A) — and hands off the APs

The retry ladder (device alive)

  1. Reboot the device once (Ubiquiti's gate order starts here: reboot → reset → recovery → RMA).
  2. Retry the update; if it stalls again, use the controller's firmware Cache path (download once to the controller, then push from cache) — the documented remedy when direct downloads are the flaky part.
  3. Check the pair: the controller release notes' minimum device firmware vs the device's current version (see the provisioning guide for the version-pair discipline).
  4. Still failing on a live device → it's now a state problem: recovery ladder.

Recovery Mode — per device class (Ubiquiti's procedures)

Class A — consoles & gateways (UDM family, UCG-Ultra, Express, Dream Router/Wall, UNVR…)

  1. Hold Reset through power-on for ~5 seconds until the recovery state shows.
  2. Cable a computer to Port 1 (Dream Wall: port 18; EFG: port 2) and set it static in 192.168.1.0/24.
  3. Open the recovery UI at http://192.168.1.30 (HTTP, not HTTPS) → Firmware Update → choose the .bin for your exact model → apply, then reboot when it completes.

Class B — access points (TFTP)

  1. Hold Reset until the LED flashes white-blue-off: the AP now waits at 192.168.1.20.
  2. Computer static at e.g. 192.168.1.25, cabled directly.
  3. Send the firmware: Windows — Tftpd64; macOS/Linux terminal TFTP: connect 192.168.1.20 · binary · rexmt 1 · timeout 60 · put <firmware>.bin.
  4. The AP reboots itself. “Do not reboot it yourself.” (Ubiquiti's sentence, not ours.) Then re-adopt if needed.

Class C — Cloud Key Gen2/G2+

Hold reset ~10 s until the LCD shows RECOVERY MODE and an IP (fallback .30). Run Check Filesystem when offered. Know before you start: on Cloud Key, the recovery firmware restore also factory-resets — and if it fails repeatedly, Ubiquiti's own verdict is to replace the storage disk.

Class D — cameras: recovery is a rollback

There is no camera TFTP in Ubiquiti's documentation. The documented recovery: hold reset ≥10 s through a PoE reconnect until the LED flashes 3× — the camera reboots onto its previous firmware. Forward updates afterwards happen through the console — or, exceptionally, a support-supplied .bin in the camera's web UI.

Class E — switches (two methods guides constantly blend)

Most switches: the recovery web UI at 192.168.1.20 after a 5 s reset hold (recovery idles out with an automatic restart after ~10 minutes). Flex Mini / Switch Ultra are different: a built-in web server at 192.168.1.99 serving a file you must rename fwupdate.bin. That rename rule belongs to this method only — it is the true origin of the internet's “always rename the firmware” advice, and it does not apply to AP TFTP or the console recovery UI.

Terminal line (official): a device that cannot be recovered by its class procedure is an RMA case. That is Ubiquiti's ladder end, not a failure of yours. Also unstated by Ubiquiti, so plan for it: whether settings survive Recovery Mode is documented only for Cloud Key (they don't — it resets) — for everything else, have the backup ready to restore and be pleasantly surprised if you don't need it.

Update practice — what's actually official

BeliefOn the record
“Update the controller first, always”Not an official rule. Ubiquiti's update docs prescribe no universal sequence. Official constraints are: per-release minimum device firmware floors, the reprovision warning, and backups-before-upgrading. (When restoring a backup to a new console, the new application must be up to date first — that one is documented, in the migration context.)
“Back up before big updates”Official — and partially automatic: backups fire weekly and before each major update when enabled. Verify yours exist before relying on them.
“Just SSH the firmware in”Ubiquiti documents the commands (upgrade <url>, syswrapper.sh upgrade2 & on APs; ubnt-systool fwupdate on consoles) and wraps them: SSH updating is “not an officially supported process… only do this at the request of UI Support.” Both halves or neither.
Canary + windowPractice, labelled: one device first, in a maintenance window, fleet after. No Ubiquiti citation — and none needed; it's your risk policy, not their instruction.

FAQ

It says offline but the Wi-Fi still works.

Data plane alive, management plane lost — the device passes traffic but can't report in. That's an inform/reachability fault (see the adoption ladder), not a brick and not a recovery candidate. Rebooting the console side or repairing the path is the usual resolution; TFTP would be vandalism.

Power died mid-update. Is it bricked?

Not necessarily — many devices resume or sit in a documented state. Triage by the table: if it lands in a recovery pattern, run its class procedure; the procedures exist precisely for interrupted writes.

The update “failed” instantly, three times.

Cache the firmware on the controller and push from cache (the documented branch), then check the version pair's floors. Instant-fail loops are usually a path or pairing problem, not a device problem.

Sources

Ubiquiti Help Center — Recovery Mode (per-class procedures, addresses, TFTP block, camera rollback, Cloud Key filesystem branch), Advanced Updating Techniques (cache flow, SSH commands with their support-only warning), UniFi Updates (failure checklist, reboot→reset→recovery→RMA order), LED reference, Backups and Migration (weekly + pre-update backups, restore preconditions).

Verification note: procedures and parameters were read from Ubiquiti's documentation on 20 October 2026. No official update duration, universal update order, or general “insufficient storage” failure cause exists in the current text — this guide flags all three absences rather than repeating the folklore that fills them.