Ubuntu 19.10 won't connect to 2.4GHz wifi with TxBF, MU-MIMO enabled

Solution 1:

In my case disabling and enabling TxBF, MU-MIMO didn't change much. However, switching from wpa_supplicant to iwd fixed the problem.

This approach was originally proposed here: https://forums.linuxmint.com/viewtopic.php?p=1835081&sid=96653a1f3594e9c8aa1ea7934ba09a7c#p1835081

Solution 2:

New info. as of 25 Aug. 2021:

As of the latest automatic updates on Ubuntu 20.04 today, 24 Aug. 2021, my answer below broke my wifi completely and I had to undo it and go back to using wpa_supplicant.service instead of iwd.service. See my new Q&A here: Ubuntu 20.04 WiFi “No Networks” after latest automatic update today. Your results may vary. Try what I present below anyway, and respond whether it works in the comments, and what system you're using. If it temporarily breaks your system too, it's always really easy to undo, so just try out my answer below anyway and report back.


Original answer from 30 Aug. 2020:

Holy smokes! How infuriating! I just lost 3 hrs today trying to install and set up my brand new TP-Link Omada AC1200 Gigabit EAP225-Outdoor wireless Access Point (AP) (works awesome, by the way!--I get 10~20Mbps download and upload internet at the park 100 yards away now!) all because my stinking Ubuntu 20.04 machine wouldn't connect to the 2.4GHz hotspot during setup.

A google search for "ubuntu cannot authenticate on 2.4ghz" led me to this question as the #1 hit, and sure enough, this answer by @Jacajack solves my problem! I think this solution deserves a more thorough response, however, so that's what I'm adding here.

First off, let me say this:

  • My Ubuntu 18.04 machine worked perfectly on both the 2.4Ghz and 5Ghz hotspots.
  • My Android phone worked perfectly on both the 2.4Ghz and 5Ghz hotspots.
  • My Ubuntu 20.04 machine worked perfectly on the 5Ghz hotspot, but would repeatedly, again and again and again and again, ask for my hotspot connection password every 30 seconds or so when trying to connect to the 2.4Ghz hotspot, and it would NEVER successfully connect to it!

I thought it was my motherboard or wifi card going bad, since I can connect to my other networks just fine, but it turns out it's just an Ubuntu 19 / Ubuntu 20 software problem.

So, this is the solution for:

How to connect Ubuntu 19.10 / Ubuntu 20.04 to a 2.4GHz wifi hotspot when it says it "cannot authenticate" again and again:

(Tested on Ubuntu 20.04 Aug. 30 2020). UPDATE 24 AUG 2021: the latest automatic updates on Ubuntu 20.04 today just broke my wireless from working! I had to UNDO the instructions below and go back from iwd.service to wpa_supplicant.service, as I describe in my Q&A here: Ubuntu 20.04 WiFi "No Networks" after latest automatic update today So, consider that as you try the instructions below. For the latest version of Ubuntu 20.04, with updates on or after 24 Aug. 2021, iwd.service may no longer work at all.

(Back to my original instructions):

These instructions are copied almost verbatim from @cadu_sg here, from 27 June 2020, so he/she deserves the real credit!

The solution, essentially, is to disable wpa_supplicant and replace it with iwd. I don't have the slightest clue what this means, but it works perfectly for me!

  1. Install iwd

     sudo apt update
     sudo apt install iwd
    
  2. Create this file inside your NetworkManager configuration files directory

     sudo nano /etc/NetworkManager/conf.d/wifi_backend.conf
    
  3. Copy and paste into this file the following content, then save the file:

     [device]
     wifi.backend=iwd
    
  4. Stop and disable the wpa_supplicant service (note that disabling it is persistent after reboots)

     systemctl stop wpa_supplicant.service
     systemctl disable wpa_supplicant.service
    
  5. Enable and start iwd service (note that enabling it is persistent after reboots)

     sudo systemctl enable iwd.service
     sudo systemctl start iwd.service
    

    CAUTION: If you see the below error after running sudo systemctl start iwd.service, stop here, undo the steps you've done thus far, and go back to using wpa_supplicant.service instead! Read my other answer here: Ubuntu 20.04 WiFi "No Networks" after latest automatic update today.

    Job for iwd.service failed because the control process exited with error code.
    See "systemctl status iwd.service" and "journalctl -xe" for details.
    
  6. Restart NetworkManager service (this means you don't have to restart your computer for this to take effect--it just works immediately!)

     systemctl restart network-manager.service
    

Now, connect to the 2.4GHz wifi access point and it works perfectly! You type your password once, and it works just like it should! It continues working after reboots as well.

Thanks to all who contributed to this!

If anyone wants to explain what the heck I just did and what an iwd is and what wpa_supplicant is and why iwd works better, please do.

Note: my machine happens to be a high-end Dell Latitude 7490, but I don't think that matters. The access point is a TP-Link EAP225-Outdoor, which supports MU-MIMO, but I'm not entirely sure that matters either. My operating system is Ubuntu 20.04, which definitely does seem to matter. The entire problem seems to be in Ubuntu 20.04, not in my laptop hardware, and not in the EAP225-Outdoor access point.

Solution 3:

I also stumbled upon this problem with Ubuntu 20.04 LTS and then got another problem with no visible network in wifi so the steps I made:

  1. run journalctl -n 1000 -u NetworkManager -u wpa_supplicant

  2. Found this:

<error> [1633498154.0549] iwd-manager[0x559330ce2d20]: failed to acquire IWD Object Manager: Wi-Fi will not be available (Error calling StartService>
  1. Then I run nmcli device

  2. Got this:

DEVICE  TYPE      STATE      CONNECTION         
enp2s0  ethernet  connected  Wired connection 1 
wlan0   wifi      unavailable  --     
lo      loopback  unmanaged    --        
  1. Googled a bit and found this issue https://bugs.launchpad.net/ubuntu/+source/iwd/+bug/1938650
  2. Decided to try this out so I added the PPA to my system https://launchpad.net/~slyon/+archive/ubuntu/iwd+nm
sudo add-apt-repository ppa:slyon/iwd+nm
sudo apt-get update
  1. Added deb to sources.list by opening it with nano
sudo nano /etc/apt/sources.list

and pasting lines below at the end of the file

deb http://ppa.launchpad.net/slyon/iwd+nm/ubuntu YOUR_UBUNTU_VERSION_HERE main 
deb-src http://ppa.launchpad.net/slyon/iwd+nm/ubuntu YOUR_UBUNTU_VERSION_HERE main 
  1. Then according to https://discourse.ubuntu.com/t/call-for-testing-improved-wifi-via-iwd/17795 I run
sudo apt install iwd
sudo gedit /etc/NetworkManager/conf.d/iwd.conf

Added lines below to the file

[device]
wifi.backend=iwd

and run

sudo systemctl mask wpa_supplicant
sudo reboot

After the reboot my wi-fi networks were now visible and I could even connect to my TP-link Archer C6 2.4ghz network without the problem