Fix Unifi Adoption Failed with these Easy to Follow Steps

Adopting an Unifi Access Point in the controller should be really straightforward. But sometimes it just won’t work. You keep getting Adoption Failed, or maybe even not able to adopt your access point at all.

The first step is to make sure that the inform URL is set correctly in the access point. But if that is set correctly then we need to take a different approach to fix the Unifi Adoption Failed issue.

In this article, I will explain different solutions to will help you to fix the adoption issue.

Why is the Unifi Adoption Failing

First a little bit of background information about why the adoption could be failing. There are a couple of things required to successfully adopt an Unifi Access Point in your controller:

  • The access point must not be managed by another controller
  • Inform url should be set correctly – read more about it here
  • Access Point firmware version should not be to old
  • Controller should be up-to-date

The most common issue is a firmware mismatch. The access point is for example running the latest firmware version, but the controller is maybe 10 releases behind. This could cause problems with adopting the access point.

Fix Unifi Adoption Failed

Method 1 – Factory Reset the Access Point

To make sure that the access point isn’t managed by another (old) controller, we are first going to factory reset the access point. Make sure that the access point is powered on and press the reset button for 10 seconds.

Another way to reset the access point is remotely with SSH.

  1. Connect to the access point over SSH (using PowerShell for example)
  2. Enter the following command to factory reset the AP:
set-default

You can reconnect to the access point after the Clearing CFG (configuration) is done.

With the Access Point reset you can now check if you can adopt the access point in the controller.

Method 2 – Check IP Address of the Access Point

After you have factory reset the access point, you should at least see the access point in the controller. If you don’t see it at all, then it’s possible that the IP range of the access point doesn’t match with the controller.

They both need to be in the same IP Range to be able to communicate with each other. You can use the Unifi Discovery Tool to scan your whole network for the access point. This way you can determine which IP Address the access point has got.

Unifi Discovery Tool
Unifi Discovery Tool

You might need to click the Unifi Family button in the top right corner to switch to the correct view.

If the access point is in a different IP range, then double-check your router and Unifi Controller to be sure that only one them has DHCP enabled. Another good option is to connect the access point to the same switch as the controller.

Method 3 – Update the Unifi Controller

Before we update the firmware of the access point, we are first going to make sure that Unifi Controller is up-to-date.

If you have a Cloudkey or UDM (Pro)

  1. Open your Unifi OS
  2. Go to Settings > Updates
  3. Check the Network application is up-to-date
unifi adoption failed

If you are running the controller in a Docker container or on Windows then check the version that you are running in the settings screen:

  1. Open the network controller
  2. Click on Settings
  3. Note the version and check the latest available version here https://www.ui.com/download/unifi/
Unifi controller build number

After you have updated the Unifi Controller, try again to adopt the Access Point.

Method 4 – Update the firmware on the Access Point

If the firmware on the access point is outdated, then you also won’t be able to adopt the access point in the Unifi Controller. Normally you update the firmware through the controller, but there is another option.

We can manually download the Unifi firmware on the access point directly. To do this we are going to connect to the access point over SSH. You will need to know the IP Address of the access point, if you don’t see the IP Address in the controller, then use Advanced IP Scanner to look it up.

  1. Press Windows Key + X (or right-click the startmenu) and choose Windows PowerShell
  2. Connect to your access point. Replace the IP Adres below with the address of your access point:
# Connect to the access point, with username ubnt
ssh ubnt@192.168.1.142

# type yes on the following warning:
The authenticity of host '192.168.1.142 (192.168.1.142)' can't be established.
RSA key fingerprint is SHA256:dR0P62KnusGClIgPM1pfsx1QlH6HzrgTLxz0wDk2D4k.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
  1. Enter the password ubnt
  2. We now need to find the correct firmware URL. Open the Unifi download page and find the firmware for your access point.
  3. Click Download and accept the terms.
  4. Click Copy URL
Unifi firmware
  1. In the PowerShell Windows, type upgrade and paste the URL that we just copied:
upgrade https://dl.ui.com/unifi/firmware/U7PG2/5.43.56.12784/BZ.qca956x_5.43.56+12784.211209.2338.bin
Fix unifi adoption failed

The access point will download the firmware and upgrade it. During the upgrade, you won’t be able to connect to the access point. It can take a couple of minutes to complete.

You should be able to adopt the Unifi Access point when the upgrade is completed and the status light is solid white.

Adopt unifi access point

Wrapping Up

I hope this article helped you to fix the Unifi adoption failed issue. A factory reset is most of the time needed and make sure that you check your firmware versions. If you are running the controller in a docker container, then make sure that the appropriate ports are forwarded.

In docker, it can help to add the --net=host flag to the docker run command.

If you have any questions, just drop a comment below.

41 thoughts on “Fix Unifi Adoption Failed with these Easy to Follow Steps”

  1. Hi Rudy

    Thanks for all your articles and tip.

    I am trying to setup a multisite controller (Self-hosted 8.0.28). IP address 192.168.30.8

    Under Sytem=>Advanced=>Inform Host, I have unifi.mydomain.com

    unifi.mydomain.com points to my network’s external IP. MY firewall then forwards unifi.mydomain.com:8080 to 192.168.30.8:8080

    When I set the inform url, I get `Status: Timeout (http://unifi.mydomain.com:8080/inform)`

    There is no firewall on myunifi controller.

    I can ping unifi.mydomain.com and confirmed the port 8080 is open

  2. Hi Rudy!

    Thank you for your amazing articles! I think I went through every single one of them regarding the adoption of Ubiquiti devices..unfortunately they did not solve my problem. I will paint the picture below, perhaps you or someone else has any other ideas on how to fix my issue.

    The setup is as follows:

    Zyxel T56 Router —> Ubiquiti switch with PoE —> 3 Ubiquiti U6+ APs (wired with ethernet cables). Im using UniFi Network Controller on a Macbook Pro (no hardware controller).

    In the controller, I can see the switch and the APs. They are, however, stuck in an “adoption loop”, going from status “adoption” to “offline”.

    I tried connecting via WiFi, Ethernet, and SSH but nothing worked. All firmware are latest.

    Thanks again for your amazing articles and keep doing what you are doing!

    Best,

    Willem

      • Sorry, I missed the reply button. You can remove the other post if you like.

        Hi Rudy,

        I don’t see a reply option to respond to your comment so doing it this way. I am able to connect to the switch and the APs via SSH but they stay in an “adoption loop” on my UniFi Network Controller.. Whatever I do, they just won’t get adopted.

        • Ok, so you have checked the inform address in the access point. Are you able to ping the access point from your controller?

          Also make sure that you don’t have a firewall runnning on your Macbook Pro.

          • Correct, I used your articles to update the firmware on all the Ubiquiti devices using SSH. I am also able to ping them successfully. I have also disabled the firewall on my Macbook. Do you think buying a CloudKey would solve the issue? Thank you again very much!

          • Yes, it will work on the Cloudkey or UniFi Express (no guarantees of course, but can’t see a reason why it won’t work)

            I see that there are more issues with MacOS and the Unifi Network Controller, but can’t really find an specific solution.

  3. Please note that an access point may show up in the web console, with adoption shown as going on, but then the access point seems to go offline (while you’re still connected to it via ssh for example, so it’s clearly not offline).
    It drove me crazy. Eventually I found out it was the windows firewall which blocked the access point trying to get adopted. Turning off the firewall did the trick. I tried adding some rules to the firewall, but didn’t get it to work quickly – I need to spend a little more time on that, but the AP got adopted and works even if it cannot connect to the controller :-).

  4. Hi,
    I think I have a niche case. I used your article to backup the controller on my Odroid (version 6.5.55) and load it into the docker version on the NAS (version 7.3.83). With the restore backup version all 4 AP’s made it to the new site. Then on the 6.5.55 controller I switched the UI back to old style and started the site migration.. then my issue was introduced by myself. I used https://192.168.x.NASIP:28443/inform.. don’t ask.. not a great move.
    Obviously the AP’s didn’t make it to the new controller. After shutting down the new target controller, the devices are still ‘connected’ but also ‘migreren’ (Dutch interface).
    The controller or the device is remebering the action to migrate to the wrong inform URL.

    I now tell them this: ‘set-inform http://192.168.x.NASIP:8080/inform‘ pointing to the correct NAS Docker IP. (using SSH and command line on AP). The port seems open, AP’s reset, adopt, dissapear, resurfice, adopt againg.. total limbo state.
    I have seen a connected state to port http://192.168.x.NASIP:28443 (very odd) and a server reject on http://192.168.x.NASIP:28443/inform. But I used SSH and told the AP to go to the correct http://192.168.x.NASIP:8080/inform. Somewhere the bad migrate inform is remembered.
    I have VLAN definitions that I do no want to redo and I have 2 sets of similar devices (2 x AC-LR, 2 x AC Mesh). What is advised? 1-Factory reset and pick them up at the new controller (what happens to the 4 AP’s I already imported) (do I need to delete the target controller on the NAS also)? 2-restart the Ui based migration on the old controller (if even possible) or 3.. magic SSH command on the AP command line to clean the migrate inform that got stuck?

    • I think factory reset the AP’s that don’t want to connect is the best option. VLAN’s configuration is stored on your controller, so that won’t be an issue.

      • Worked like a charm. The Unifi controller on Asustor is a docker image so I still needed to override the ‘Host inform’ in ‘System’ –> ‘Advanced settings’. Give the IP of the machine the Docker container is running on (no http, no portnumber).
        After ‘Forget device’ the AP’s auto-adopted to the new controller after the factory reset, I guess because they were welcomed by the Site settings since I already migrated the site to the new Docker controller.
        One more note: The ‘migrate’ status can be reset in the old controller in the AP management.. scroll down in the menu to find something like cancel migration. Cheers.. coffee coming your way..

  5. I recently purchased a second-hand Ubiquiti UniFi UAP-AC-PRO-Dual Radio Access Point, but I’m encountering adoption issues. After attempting to reset the device and initiate the adoption process, it’s requesting the previous owner’s username and password, which I don’t have access to. Could someone assist me in successfully adopting this device?

  6. Hi Rudy

    i’m a newcommer to your fantasic blog.

    while i was starting to write this comment, meaning to ask for help i realized one thing a had not tryed yet. it worked.
    so instead i’d like to share the solution in case it’s not allready in here some where i havent looked yet.

    First of, my problem:
    “i am trying the hole docker concept for the first time and hit a bit of trouble with the inform configuration, resulting in failed adoption.

    the unifi docker container is running in OpenMediaVault and when i put in the ip, it returns with the docker network ip instead.

    UAP-AC-LR-BZ.6.5.62# set-inform http://192.168.8.80:8080/inform
    UAP-AC-LR-BZ.6.5.62# info

    Model: UAP-AC-LR
    Version: 6.5.62.14788
    MAC Address: f0:9f:c2:f3:db:d3
    IP Address: 192.168.8.2
    Hostname: UAP-AC-LR
    Uptime: 18607 seconds
    NTP: Synchronized

    Status: Timeout (http://10.10.10.2:8080/inform)”

    Second, my solution:
    i had allready prepared a proxymanager, and figured if i created a proxy host with the “domain” [http://10.10.10.2:8080/inform]
    and the destination [http://192.168.8.80:8080/inform]
    Maybe that would make way for the communikation?
    I was right, 10-15 seconds later, the AP was adopted and “online”.

  7. My access points in unifi controller doing adoption after some days , even after doing reset of the AP it works but after some days the same thing happens. This makes my internet connection to say that is connected but no internet ,
    Kindly help here since have got clients in the conference halls.

  8. Great article as per usual! Seems I’m always coming back to your blog for concise guides which you would otherwise have to trawl the UI forums for hours to ascertain.

    • Twice now 🙂
      I had two devices in adopting loop.

      What worked for me was to do a firmware upgrade

  9. Going to try the firmware tomorrow but it should be ok, the device was bought new a few weeks ago. I’m using the controller installed on a laptop, I don’t have any Ubiquiti devices other than access points.
    So far it’s not just failing to adopt, it’s not even showing up in the controller. The status LED on the access points flash a few times, then go solid white. Tried two different network switches just to be sure but no joy.
    Frustrating day. Previous experience with Ubiquiti had been great, plug and play and rock solid.

  10. Hi, thank you for your info; unfortunately id didn t worked for me. I reset several times the AP and the switch. I can see both on the controller but it can t be adopted. I updated the firmware over the ssh method. The controller is the last version. I restarted the controller several times(installed on ubuntu) Do you have any new ideas? Thank you for your support!

  11. I am trying to update my AP via ssh, but the password ubnt is denied. Is there a newer (or perhaps older password)? I also tried the password for the controller, but that wasn’t accepted either…

  12. This just saved our ass. Thank you for this thorough breakdown and step-by-step on doing the manual update, as our USG would not connect to our cloud key after a cloud key corruption. Would love to send you a tip for this!

  13. My power went out, therefore my internet went out. Power came back, but internet was delayed. I took advantage of this time to switch out a faulty access point but unfortunately, my ISP was still down. So it attempted to adopt and update without internet access. I tried to factory reset and it was stuck with adoption failed even after factory reset. Fortunately, restarting the controller after factory resetting appears to have the trick and is now letting me update properly with internet access. Just feedback in case someone else has the same problem.

  14. Bonjour

    j’ai re-initialisé ma borne, mis a jour avec SSH.
    mais toujours serveur reject.
    je n’ai plus d’idée et j’ai 3 borne que je ne peux pas gérer.
    pouvez-vous me donner une autre idée, s’il vous plait.
    cordialement
    Marie

  15. Thank you so insanely much for this. As a newcomer to Ubiquiti I was struggling a whole day. Your whole post helped get the adoption working.

  16. I had the same thign.
    i traced my steps back and remembered that the netwerk application was updated
    So rebooted the Cloudkey gen 2 and after that the adoption process was successful

  17. Adoption failed error when I changed my cloudkey to a different subnet and performed a set-inform. I can see in my logs that my dhcp server is issuing an IP address but the AP is not accepting so the dhcp just continues to re-issue the same address. The AP is in an awkward spot so I am trying to avoid have to perform a manual reset.

    I wish the Ubiquiti devs would just spend a little time updating the console to provide useful failure reasons. Adoption failed on its is own is unhelpful

  18. Try To download but This What Shown
    Invalid Head on[1] …
    Invalid Head on[2] …
    Storing Active[2] … [%100]
    cat: can’t open ‘/sys/class/net/up’: No such file or directory

  19. Thank you!

    After a nightmare struggle trying to adopt a USG to a Cloud Key Gen2, I found you excellent succinct post about it.

    Factory resets didn’t help until I upgraded the firmware via SSH as you suggested.

    What a relief! Thank you.

    Ubiquiti is completely insane @#$%, btw.

Leave a Comment

0 Shares
Tweet
Pin
Share
Share