35

Since today I have this very annoying issue that the WiFi on my HP ProBook is not authenticating anymore. I haven't changed any settings and my mobile phone connects to the WiFi fine. Also trying another WiFi access point (in fact, my mobile phone hotspot) doesn't work.

The scan seems to work, as SSIDs show up fine. Also, if no key is provided, it nicely asks for it. But then, I see this in dmesg:

[ 1854.199036] wlo1: authenticate with 92:68:c3:f4:ec:3a
[ 1854.201743] wlo1: send auth to 92:68:c3:f4:ec:3a (try 1/3)
[ 1854.275690] wlo1: send auth to 92:68:c3:f4:ec:3a (try 2/3)
[ 1854.334745] wlo1: send auth to 92:68:c3:f4:ec:3a (try 3/3)
[ 1854.393245] wlo1: authentication with 92:68:c3:f4:ec:3a timed out

I had the issue on Fedora 20, so I upgraded to 21. Problem remains the same. Even updated to 22 beta, with wpa_supplicant, version 2.3. Same problem.

In my attempts to resolve this issue I found some extras:

  • The adapter works fine in Windows 7, so my router and the hardware is fine.
  • I tried to use wpa_cli, but I get the message it cannot connect.
  • The ctrl_interface in wpa_supplicant.conf is not created

In the wpa_supplicant.log, I get this:

wlo1: SME: Trying to authenticate with 00:24:01:df:c2:fb (SSID='MYSSID' freq=2467 MHz)
wlo1: SME: Trying to authenticate with 00:24:01:df:c2:fb (SSID='MYSSID' freq=2467 MHz)
wlo1: SME: Trying to authenticate with 00:24:01:df:c2:fb (SSID='MYSSID' freq=2467 MHz)
wlo1: SME: Trying to authenticate with 00:24:01:df:c2:fb (SSID='MYSSID' freq=2467 MHz)
wlo1: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="MYSSID" auth_failures=1 duration=10 reason=CONN_FAILED

Update Even access points without any encryption are not associated.

2 Answers 2

25

I found the solution here:

echo "options iwlwifi 11n_disable=1 wd_disable=1" | sudo tee /etc/modprobe.d/iwlwifi.conf

Reboot, and it works again.

10
  • 7
    to add some clarification here the 802.11n/ac part can be dodgy disable them May 10, 2015 at 3:12
  • 4
    Curious why you didn't just say 'add this to the conf file' instead of the tee construct?
    – gws
    Oct 26, 2018 at 4:31
  • 2
    @gws, no idea exactly, but this is a quote from the source, plus this way people can easily copy and paste it into their terminal, instead of firing up an editor. Oct 26, 2018 at 13:35
  • 4
    For what it's worth, this is what got me out of trouble after upgrading to Ubuntu 20.04LTS, sadly. My Thinkpad laptop would no longer connect to a TP-Link router where it was still working with another router running OpenWRT. HTH. Jul 27, 2020 at 7:22
  • 3
    A few notes (@BartFriederichs please add some of that to the post). First: the wd_disable param no longer exists. The 11n_disable=1 did help me, but as others mentioned that somewhat decreases the speed. I'd advice you to try values different from 1, e.g. 11n_disable=8, etc. For allowed values and their meaning see modinfo iwlwifi. Another note: tinker with your router settings as well. E.g. my router has option to disable 802.11n. But what really helped me is making router never use 40Mh width. Only 20Mh made it work, so in the end I didn't have to disable 11n completely.
    – Hi-Angel
    Nov 12, 2022 at 13:21
9

I recommend you to switch to iwd as a replacement for wpa_supplicant if WiFi speeds are important to you, as disabling 802.11n (as recommended in the other answer with the 11n_disable option) may cause a decrease in network performance in 2.4GHz networks that support 802.11n.

I got this to work on my HP Elitebook 1030 running Manjaro GNOME and am very glad I now get to profit from the entire WiFi bandwidth my home network provides. Before, disabling 802.11n was the only option I knew of. Here goes a little guide on how to get iwd up and running instead of wpa_supplicant.

Installation & Setup

Install the required package:

sudo dnf install iwd

Edit the NetworkManager config (I'm assuming you're running NetworkManager):

sudo nano /etc/NetworkManager/NetworkManager.conf
# https://iwd.wiki.kernel.org/networkmanager#nm_configuration
[device]
wifi.backend=iwd

The above config will make NetworkManager use iwd instead of wpa_supplicant which you're having problems with.

We now need to start/stop/restart the required services to get the config loaded and applied.

sudo systemctl stop wpa_supplicant.service
sudo systemctl stop NetworkManager.service
sudo systemctl start iwd
sudo systemctl restart NetworkManager.service

And to make your changes permanent (by having the correct service start on boot and without interfering with the wrong one):

sudo systemctl disable wpa_supplicant.service
sudo systemctl enable iwd

You should now be able to connect to WiFi networks using the normal GUI. If connecting that way doesn't work for you, try using the iwctl command line interface. Connecting to the correct network should work that way. To get an IP-Address assigned, you may need to run the command dhclient.

Refer to the Arch Wiki Link below to learn more about iwd and iwctl. Also refer to the Arch Wiki if you're having issues like getting your password (PSK) to work.

If you can connect to networks successfully, try removing the /etc/modprobe.d/iwlwifi.conf file to re-activate 802.11n on next boot / module reload. This was the point of switching to iwd, after all.

sudo rm /etc/modprobe.d/iwlwifi.conf

Sources

Steps taken from linux-whv.de, ArchWiki on iwd

1
  • Didn't work for me, still "authentication timed out". And I wonder: did that really help to anyone? I find odd if it does, because most of wifi management, I presume, is done by kernel driver. I might be wrong, but this answer is opposed to 11n_disable kernel module parameter, so at least in that context it is opposing userspace to kernel driver.
    – Hi-Angel
    Nov 11, 2022 at 5:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .