Ubiquity UniFi SDN – Server status “UniFi Controller is starting up… Please wait a moment”
Posted by jpluimers on 2019/02/22
When your UniFi Cloud Key web interface shows this [Archive.is] after upgrading:
UniFi Controller is starting up…
Please wait a moment
Then you just ran into a bug which seems to occur most with 5.9.29 of the UniFi software: [Archive.is] “UniFi Controller is starting up…” “Please wait a moment” “5.9.29” – Google Search
The easiest way is to restore from a backup: this usually works.
For that you need ssh access, which usually is with the ubnt
user. But you could have made life more complicated when you followed these:
- [WayBack] UniFi – Accounts and Passwords for Controller, Cloud Key, and Other Devices – Ubiquiti Networks Support and Help Center: UniFi Device Authentication Password
- [WayBack] UniFi – Accounts and Passwords for Controller, Cloud Key, and Other Devices – Ubiquiti Networks Support and Help Center: UniFi Controller Password
- [WayBack] UniFi – Accounts and Passwords for Controller, Cloud Key, and Other Devices – Ubiquiti Networks Support and Help Center: UniFi SSH and Cloud Key Password
Steps from [WayBack] UniFi Controller is starting up… Please Wait A Moment – Ubiquiti Networks Community (thanks [Archive.is] About mrfoxdk – Ubiquiti Networks Community!):
- SSH to the Unifi CloudKey
dpkg -P unifi
- Open a browser and browse the URL of CloudKey
- Login
- Press “Install” under UniFi
- Wait for the process to complete, and then wait a bit for the service to be brought online.
- Recover the configuration backup from the latest backup
Removing and reinstalling the UniFi software, then restore from backup
Step 2 above will purge the unifi software of the cloud key as per dpkg --help
:
root@UniFi-CloudKey:~# dpkg --help Usage: dpkg [<option> ...] <command> Commands: -i|--install <.deb file name> ... | -R|--recursive <directory> ... --unpack <.deb file name> ... | -R|--recursive <directory> ... -A|--record-avail <.deb file name> ... | -R|--recursive <directory> ... --configure <package> ... | -a|--pending --triggers-only <package> ... | -a|--pending -r|--remove <package> ... | -a|--pending -P|--purge <package> ... | -a|--pending -V|--verify ... Verify the integrity of package(s). --get-selections [<pattern> ...] Get list of selections to stdout. --set-selections Set package selections from stdin. --clear-selections Deselect every non-essential package. --update-avail [<Packages-file>] Replace available packages info. --merge-avail [<Packages-file>] Merge with info from file. --clear-avail Erase existing available info. --forget-old-unavail Forget uninstalled unavailable pkgs. -s|--status <package> ... Display package status details. -p|--print-avail <package> ... Display available version details. -L|--listfiles <package> ... List files `owned' by package(s). -l|--list [<pattern> ...] List packages concisely. -S|--search <pattern> ... Find package(s) owning file(s). -C|--audit [<package> ...] Check for broken package(s). --add-architecture <arch> Add <arch> to the list of architectures. --remove-architecture <arch> Remove <arch> from the list of architectures. --print-architecture Print dpkg architecture. --print-foreign-architectures Print allowed foreign architectures. --compare-versions <a> <op> <b> Compare version numbers - see below. --force-help Show help on forcing. -Dh|--debug=help Show help on debugging. -?, --help Show this help message. --version Show the version. Use dpkg -b|--build|-c|--contents|-e|--control|-I|--info|-f|--field| -x|--extract|-X|--vextract|--fsys-tarfile on archives (type dpkg-deb --help). For internal use: dpkg --assert-support-predepends | --predep-package | --assert-working-epoch | --assert-long-filenames | --assert-multi-conrep | --assert-multi-arch | --assert-versioned-provides. Options: --admindir=<directory> Use <directory> instead of /var/lib/dpkg. --root=<directory> Install on a different root directory. --instdir=<directory> Change installation dir without changing admin dir. --path-exclude=<pattern> Do not install paths which match a shell pattern. --path-include=<pattern> Re-include a pattern after a previous exclusion. -O|--selected-only Skip packages not selected for install/upgrade. -E|--skip-same-version Skip packages whose same version is installed. -G|--refuse-downgrade Skip packages with earlier version than installed. -B|--auto-deconfigure Install even if it would break some other package. --[no-]triggers Skip or force consequential trigger processing. --verify-format=<format> Verify output format (supported: 'rpm'). --no-debsig Do not try to verify package signatures. --no-act|--dry-run|--simulate Just say what we would do - don't do it. -D|--debug=<octal> Enable debugging (see -Dhelp or --debug=help). --status-fd <n> Send status change updates to file descriptor <n>. --status-logger=<command> Send status change updates to <command>'s stdin. --log=<filename> Log status changes and actions to <filename>. --ignore-depends=,<package>... Ignore dependencies involving <package>. --force-... Override problems (see --force-help). --no-force-...|--refuse-... Stop when problems encountered. --abort-after <n> Abort after encountering <n> errors. Comparison operators for --compare-versions are: lt le eq ne ge gt (treat empty version as earlier than any version); lt-nl le-nl ge-nl gt-nl (treat empty version as later than any version); < << <= = >= >> > (only for compatibility with control file syntax). Use 'apt' or 'aptitude' for user-friendly package management.
It will show you output like this:
root@UniFi-CloudKey:~# dpkg -P unifi (Reading database ... 21238 files and directories currently installed.) Removing unifi (5.9.29-11384-1) ... Purging configuration files for unifi (5.9.29-11384-1) ... Removing user `unifi' ... Warning: group `unifi' has no more members. Done. dpkg: warning: while removing unifi, directory '/usr/lib/unifi' not empty so not removed Processing triggers for systemd (215-17+deb8u9) ...
Now you need the UniFi Cloud Key IP address:
root@UniFi-CloudKey:~# ip route get 8.8.8.8 | awk '{print $NF; exit}' 192.168.71.50
Finally, load that IP address in your browser: with either these steps:
- Longer
- Load
https://192.168.71.50
- Click on the “Configure” button (see screenshot on the right)
- Load
- Shorter: Load
https://192.168.71.50/login
Now you can enter the same credentials (usually username ubnt
) to logon, to end up in https://192.168.71.50/manage/main
, then follow these steps:
- On the left size, click “Maintenance” or browse to
https://192.168.71.50/manage/maintenance
:
- Now click on “Install”, then on “Confirm” to start the instalation:
- Now wait for this prompt to disappear:
- It will return to the page with an updated UniFi software installation:
- As a preparation to restore the most recent back-up, you now can “Stop UnFi”:
- Finally, you can restore the most recent firmware back-up:
- Like the “Install”, you also have to “Confirm” this:
- Now wait during the restore process:
Sometimes you are out of luck:
If that happens, try [WayBack] Solved: Re: Cloud Key Offline, can’t login – Ubiquiti Networks Community:
Updating the firmware
- “Start” the UniFi software:
- Verify the firmware version:
- Verify on-line if there is a newer version (I usually start with [Archive.is] cloudkey firmware – Google Search)
- Sometimes the UI can upgrade, but usually it cannot:
- Go back to the main page at
https://192.168.71.50
(as you cannot - Click on the “Manage” button or go to port https port 8443
https://192.168.71.50:8443
:
- This will redirect to
https://192.168.71.50:8443/manage/wizard
:
- Wait for the firmware to update:
- Wait for the device to reboot
- Re-logon at
https://192.168.71.50/manage/main
- “Stop” the UniFi
- “Restore” the most recent Backup
- Wait for the restore process to finish which can take up to 5 minutes:
- “Start” the UniFi
- Wait up to 2 minutes until it has started and the “Stop” button appears (do not click it)
- Now the device should be on-line at https://unifi.ubnt.com/#/controllers
–jeroen
Leave a Reply