WiFi stopped working after an upgrade. Culprit seems to be wpa_supplicant

Hello, all. This is my first post; I hope I’m not making a fool of myself.

I have been running F35 successfully on my Dell Latitude E6530 for a few months now. When I recently did an upgrade, my WiFi stopped connecting. After some fooling around, I found that if I downgraded wpa_supplicant to 2.9-13.fc35, WiFi started working again. But when I upgraded back to 2.10-2.fc35, WiFi again stopped connecting.

I also booted up Live F36 on a USB stick, and WiFi did not work at all. It turns out that the only version of wpa_supplicant for F36 is 2.10-4.fc36, so it’s definitely looking like something happened between versions 2.9 and 2.10.

The wireless controller is an Intel Centrino Ultimate-N 6300, by the way.

I have about 300 lines of syslog entries that seem to show what’s going on, but I don’t really understand what it means. I’m quite willing to share the partial syslog, but the forum UI only allows uploading of images.

I’m open to suggestions that any of you might have regarding wpa_supplicant, and also how I could make those syslog entries available to everyone.

Looking forward to seeing your ideas.
Ken

Hi Ken,

Have you tried to download the firmware from iNTEL ?

iNTEL proposes 3 microcodes for Linux concerning Intel® Centrino® Ultimate-N 6300
iwlwifi-6000-ucode-9.176.4.1.tgz
iwlwifi-6000-ucode-9.193.4.1.tgz
iwlwifi-6000-ucode-9.221.4.1.tgz

For instance : I choosed the lastest one
su -c ' cd Downloads; wget https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi-6000-ucode-9.221.4.1.tgz; cp iwlwifi-6000-ucode-9.221.4.1.tgz /lib/firmware/ ';

Then you can check again if it is OK …

you can easely revert this modification by :
rm /lib/firmware/iwlwifi-6000-ucode-9.221.4.1.tgz
( yes + ENTER )

Best regards

Thanks so much for the quick response! I tried all three drivers (one at a time). Unfortunately, none of them helped. But thank you for showing me how to update a driver; I hadn’t known how that worked before.

I’ve uploaded the syslog excerpt to Dropbox. I hope somebody can make sense of it and explain what’s going wrong and how to fix it. Here’s the link:

Thanks
-Ken

Have you tried connecting via terminal with wpa_cli or wpa_passphrase to see if it tells you anything more?

I’m not the most well versed, but looking at the logs it looks like you successfully authenticate -

Jun 02 21:04:09 lat6530 wpa_supplicant[1115]: wlp3s0: Trying to associate with 5c:a5:bc:87:d8:26 (SSID='TheAlchemyLab' freq=5785 MHz)
Jun 02 21:04:09 lat6530 kernel: wlp3s0: authenticated

But your network is rejecting you anyway, and it looks like wpa_supplicant just keeps sending requests attempting to make the connection. What security are you using on the network, WPA2 or WPA3?

My network uses “WPA/WPA2 Personal” security.

I took a look at wpa_cli --help, and good grief! That’s overwhelming. It looked like maybe getting the current status might help figure out what some of the options were, but:

[ken@lat6530 ~]$ wpa_cli status
Failed to connect to non-global ctrl_ifname: (nil) error: No such file or directory.

The help output also said the default path was: /var/run/wpa_supplicant, but that doesn’t exist. (Default path to what, by the way?) I also tracked down what appears to be the main config file, but that just added to the confusion…

[ken@lat6530 wpa_supplicant]$ pwd
/etc/wpa_supplicant
[ken@lat6530 wpa_supplicant]$ sudo cat wpa_supplicant.conf
[sudo] password for ken:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel

[ken@lat6530 wpa_supplicant]$ cd /var/run
ken@lat6530 run]$ ls wpa_supplicant
ls: cannot access ‘wpa_supplicant’: No such file or directory

So then I went back to the 2.9 version of wpa_supplicant, to get back on line. I looked at /etc/wpa_supplicant/wpa_supplicant.conf to see what it looked like when things were working, and … it hadn’t changed. So okay, let’s look at what this /var/run/wpa_supplicant looks like. And it’s still not there!

So as it stands, the config file in /etc is the same for both versions of wpa_supplicant, and the the file in /var/run/ pointed to by the config doesn’t exist for either version of wpa_supplicant. And I still have no idea how to use the wpa_cli command to connect to my wifi network. This is the most complicated aspect of Linux that I have faced thus far, and I admit that it is winning.

As for the wpa_passphrase command, that just turns an ascii passphrase into a PSK, which is supposed to go into wpa_supplicant.conf. But since there’s no PSK in the conf file when wpa_supplicant version 2.9 is running (and working) I doubt that’s where I need to focus.

Thanks for listening to my whining. While I would, of course, love to have someone just wave a magic wand and make it all better, I’m willing to study this beast myself, but I’d appreciate some guidance as to how to approach it. Is there, perhaps, a good overview of how wifi, supplicants, drivers, and other things I haven’t heard of yet all fit together to make a connection?

Thanks!

  • Ken

Concerning the microcode : Did you reboot before check ?

Just to be sure :
You can ask to Linux about wifi

nmcli dev wifi

nmtui

  • Select activate
  • Select wifi ( if there is some )
  • Select the good wifi channel ( if present )
  • ENTER
  • Tape the wep
  • Select Validate

Yes, I rebooted each time I made any change.

The nmcli dev wifi command gave a normal response (list of available ESSIDs)

The nmtui command was not able to connect…

nmtui-msg

I assume that “secrets” here means the WiFi password. The nmtui command does successfully connect with wpa_supplicant 2.9, with no other changes, but as you see above, fails with version 2.10.

Just to be sure, I used nmtui to edit my connection, and the correct password is still there.

Embarrasing …

Can you send the results of :
echo $XDG_CURRENT_DESKTOP
dnf info NetworkManager
yum list installed | grep Network*

What’s embarrasing? Does my desktop environment matter?

Here ya go …

####### Results are the same whether running #####
####### wpa_supplicant Version 2.9 or 2.10   #####
####### (Except for the metadata date check) #####

[ken@lat6530 ~]$ echo $XDG_CURRENT_DESKTOP
XFCE
[ken@lat6530 ~]$ dnf info NetworkManager
Last metadata expiration check: 0:01:50 ago on Sat 04 Jun 2022 06:38:27 PM EDT.
Installed Packages
Name         : NetworkManager
Epoch        : 1
Version      : 1.32.12
Release      : 2.fc35
Architecture : x86_64
Size         : 6.8 M
Source       : NetworkManager-1.32.12-2.fc35.src.rpm
Repository   : @System
From repo    : updates
Summary      : Network connection manager and user applications
URL          : https://networkmanager.dev/
License      : GPLv2+ and LGPLv2+
Description  : NetworkManager is a system service that manages network
             : interfaces and connections based on user or automatic
             : configuration. It supports Ethernet, Bridge, Bond, VLAN, Team,
             : InfiniBand, Wi-Fi, mobile broadband (WWAN), PPPoE and other
             : devices, and supports a variety of different VPN services.

[ken@lat6530 ~]$ yum list installed | grep Network*
NetworkManager.x86_64                       1:1.32.12-2.fc35                    @updates                  
NetworkManager-adsl.x86_64                  1:1.32.12-2.fc35                    @updates                  
NetworkManager-bluetooth.x86_64             1:1.32.12-2.fc35                    @updates                  
NetworkManager-fortisslvpn.x86_64           1.3.90-12.fc35                      @anaconda                 
NetworkManager-fortisslvpn-gnome.x86_64     1.3.90-12.fc35                      @anaconda                 
NetworkManager-iodine.x86_64                1.2.0-14.fc35                       @anaconda                 
NetworkManager-iodine-gnome.x86_64          1.2.0-14.fc35                       @anaconda                 
NetworkManager-l2tp.x86_64                  1.20.4-1.fc35                       @updates                  
NetworkManager-l2tp-gnome.x86_64            1.20.4-1.fc35                       @updates                  
NetworkManager-libnm.x86_64                 1:1.32.12-2.fc35                    @updates                  
NetworkManager-libreswan.x86_64             1.2.14-3.fc35                       @anaconda                 
NetworkManager-libreswan-gnome.x86_64       1.2.14-3.fc35                       @anaconda                 
NetworkManager-openconnect.x86_64           1.2.6-8.fc35                        @anaconda                 
NetworkManager-openconnect-gnome.x86_64     1.2.6-8.fc35                        @anaconda                 
NetworkManager-openvpn.x86_64               1:1.8.16-1.fc35                     @anaconda                 
NetworkManager-openvpn-gnome.x86_64         1:1.8.16-1.fc35                     @anaconda                 
NetworkManager-ppp.x86_64                   1:1.32.12-2.fc35                    @updates                  
NetworkManager-pptp.x86_64                  1:1.2.8-4.fc35                      @anaconda                 
NetworkManager-pptp-gnome.x86_64            1:1.2.8-4.fc35                      @anaconda                 
NetworkManager-ssh.x86_64                   1.2.12-2.fc35                       @anaconda                 
NetworkManager-ssh-gnome.x86_64             1.2.12-2.fc35                       @anaconda                 
NetworkManager-sstp.x86_64                  1:1.3.0-3.fc35                      @updates                  
NetworkManager-sstp-gnome.x86_64            1:1.3.0-3.fc35                      @updates                  
NetworkManager-strongswan.x86_64            1.5.2-1.fc35                        @updates                  
NetworkManager-strongswan-gnome.x86_64      1.5.2-1.fc35                        @updates                  
NetworkManager-team.x86_64                  1:1.32.12-2.fc35                    @updates                  
NetworkManager-tui.x86_64                   1:1.32.12-2.fc35                    @updates                  
NetworkManager-vpnc.x86_64                  1:1.2.6-8.fc35                      @anaconda                 
NetworkManager-vpnc-gnome.x86_64            1:1.2.6-8.fc35                      @anaconda                 
NetworkManager-wifi.x86_64                  1:1.32.12-2.fc35                    @updates                  
NetworkManager-wwan.x86_64                  1:1.32.12-2.fc35                    @updates                  
[ken@lat6530 ~]$

DE
Usually xFce is known to have some issues with wifi specially when the DE uses wicd as NetworkManager ( I had issues with CentOS 7 installed with yumex and RHEL 8 : no applets and need to reconfig chronically with nmtui and I switched back to Gnome DE ) You can check on https://forum.xfce.org/

Upgrade to fc36 should give as result :

dnf info NetworkManager 
Source       : NetworkManager-1.38.0-1.fc36.src.rpm
yum list installed | grep Network*
NetworkManager.x86_64                                1:1.38.0-1.fc36                         @updates                  
NetworkManager-adsl.x86_64                           1:1.38.0-1.fc36                         @updates                  
NetworkManager-bluetooth.x86_64                      1:1.38.0-1.fc36                         @updates                  
NetworkManager-config-connectivity-fedora.noarch     1:1.38.0-1.fc36                         @updates                  
NetworkManager-iodine.x86_64                         1.2.0-15.fc36                           @fedora                   
NetworkManager-iodine-gnome.x86_64                   1.2.0-15.fc36                           @fedora                   
NetworkManager-l2tp.x86_64                           1.20.4-1.fc36                           @updates                  
NetworkManager-l2tp-gnome.x86_64                     1.20.4-1.fc36                           @updates                  
NetworkManager-libnm.x86_64                          1:1.38.0-1.fc36                         @updates                  
NetworkManager-libreswan.x86_64                      1.2.16-1.fc36                           @fedora                   
NetworkManager-libreswan-gnome.x86_64                1.2.16-1.fc36                           @fedora                   
NetworkManager-openconnect.x86_64                    1.2.8-1.fc36                            @anaconda                 
NetworkManager-openconnect-gnome.x86_64              1.2.8-1.fc36                            @anaconda                 
NetworkManager-openvpn.x86_64                        1:1.8.18-1.fc36                         @anaconda                 
NetworkManager-openvpn-gnome.x86_64                  1:1.8.18-1.fc36                         @anaconda                 
NetworkManager-ppp.x86_64                            1:1.38.0-1.fc36                         @updates                  
NetworkManager-pptp.x86_64                           1:1.2.10-1.fc36                         @anaconda                 
NetworkManager-pptp-gnome.x86_64                     1:1.2.10-1.fc36                         @anaconda                 
NetworkManager-ssh.x86_64                            1.2.12-3.fc36                           @anaconda                 
NetworkManager-ssh-gnome.x86_64                      1.2.12-3.fc36                           @anaconda                 
NetworkManager-team.x86_64                           1:1.38.0-1.fc36                         @updates                  
NetworkManager-tui.x86_64                            1:1.38.0-1.fc36                         @updates                  
NetworkManager-vpnc.x86_64                           1:1.2.8-1.fc36                          @anaconda                 
NetworkManager-vpnc-gnome.x86_64                     1:1.2.8-1.fc36                          @anaconda                 
NetworkManager-wifi.x86_64                           1:1.38.0-1.fc36                         @updates                  
NetworkManager-wwan.x86_64                           1:1.38.0-1.fc36                         @updates

In that case, I would
dnf reinstall NetworkManager
if dnf update NetworkManager does not work to obtain fc36

But to be frank I never upgrade Fedora ( I do it for Ubuntu and openSUSE Leap ) but for Fedora I make a fresh install since fc29 ( so fast and so easy to install and I have made a script which install and groupinstall everything and shutdown automatically after all my programms are installed )

Then sorry but It seems that I can’t help you anymore

It’s not just xfce. I tried the standard F36 gnome-based workstation release as well as every one of the F36 spins…

Fedora-Cinnamon-Live-x86_64-36-1.5.iso
Fedora-i3-Live-x86_64-36-1.5.iso
Fedora-KDE-Live-x86_64-36-1.5.iso
Fedora-LXDE-Live-x86_64-36-1.5.iso
Fedora-LXQt-Live-x86_64-36-1.5.iso
Fedora-MATE_Compiz-Live-x86_64-36-1.5.iso
Fedora-SoaS-Live-x86_64-36-1.5.iso
Fedora-Workstation-Live-x86_64-36-1.5.iso
Fedora-Xfce-Live-x86_64-36-1.5.iso

With one exception, all of the above exhibited the same symptoms; my Latitude E6530 will not connect to my WiFi network (using WPA2 Personal security). The exception was the KDE live image; after it had booted and displayed the desktop, it completely froze: neither keyboard nor touchpad did anything. The only thing that responded to was a long hold on the power button, which of course put it out of its misery.

I also tried the F35 live iso for the Xfce spin (Fedora-Xfce-Live-x86_64-35-1.2.iso) again, and that still worked fine. So, at this point, I guess I’m stuck on F35 unless maybe a new version of wpa_supplicant shows up. If I’m still stuck on F35 when it goes EOL, I guess I’ll be forced to switch to another distro, even though I really want to stick with Fedora.

Even though it didn’t work out, I truly appreciate your efforts to help. I learned a lot. Thank you!

Perso I’m using many distros including Rolling as Arch Linux, Solus and iNTEL Clear Linux OS but I have to admit that Fedora is a distro that you can’t forget for its complete solution all-in-one-distro ( as we are using openSUSE when stability is needed ).

Why don’t you use gparted on your live usb to reduce your exisiting patitions of Fedora 35 and simply make a fresh ( working ) install of Fedora 36 on your new paritions … After an update, You will be able to test fc36 and I’m sure you will solve current problems…
( sudo dnf -y install gparted if he Live usb Fedora Workstation edition or xfce )

Then You can copy/paste your data from old paritions then delete it and resize your new partitions …

Don’t give up : Fedora is a great adventure, you will be ‘FEDORAholic’ soon.

I’ve not been brave enough to try setting up a multi-boot system yet. Will the F36 install process make that reasonably fool-proof?

I’m well acquainted with gparted. My current configuration has separate boot, system, and home partitions. Would it be less risky/complicated if I first merged /boot and /home into the system partition?

Once the multi-boot is set up, I guess I’d have to update the F36 system using a cable, since WiFi is broken, right? Or is there some crazy way to jury rig the F36 side to use F35’s WiFi? That sounds pretty bonkers to me, but admittedly I still have a LOT to learn.

Don’t break partitions, not a good idea.

  1. simply reduce root and home ( leave 3 to 5 G free on each partitions )
  2. then move left home
  3. you can reduce swap to 1G if you have a swap partition but that seems not the case.

For encrypted partitions :
if luks :

  1. First open encryption,
  2. then reduce partitions,
  3. then check partitions.
  4. If partitions are OK ,
  5. Close encryption
  6. move partitions (home near root for instance )
    Done.

Using usb network adapter if no RJ45 outlet is a good idea.

After fc36 installed, make a full update & upgrade, reboot and full update & upgrade again since dnf does not propose you anything more…
Wifi should be ok as live usb do not always have all packages compare to a real install.

Difficult to keep old packages on new version, they will be deleted once during update for sure…

( My worst case was on openSUSE since I made a script which force resolution to have update/upgrade and then with auto-reinstall of not officially supported pacakge zypper up --no-allow-vendor-change --force-resolution --no-confirm ; zypper dup --no-allow-vendor-change --force-resolution --no-confirm ; zypper dup --from packman --allow-vendor-change --force-resolution --no-confirm ; )

Not to derail the topic, but it’s a shame that SUSE is going to discontinue their Leap branch. Don’t remember the exact details, but something to do with them rebranding/realigning with SLE. As far as I know Tumbleweed will still have the same offerings, but Leap won’t be around too much longer.

“Or is there some crazy way to jury rig the F36 side to use F35’s WiFi? That sounds pretty bonkers to me, but admittedly I still have a LOT to learn.” - This does give me an idea, is there a way you could potentially manually/force install the old version of wpa_supplicant on your F36 system, and then tell DNF to ignore the package so it doesn’t update it? You should be able to download the .rpm package of the older wpa_supplicant, and install it the normal way by doing “sudo dnf install (RPM local package path)” - but I’m not sure if DNF would make you jump through some hoops to allow that install to happen (if it would complain about trying to install an older wpa_supplicant over a newer one) but I’m sure you could do it.

sudo dnf update --exclude=wpa_supplicant to ignore the package for future updates and keep your older version. I’m not sure if you’d have to edit dnf.conf to make the change persistent. Honestly, I’d try this out and see how it works.

https://docs.fedoraproject.org/en-US/quick-docs/dnf/#exclude-package

No worry Leap is just going more closer to SLE since Leap 15.3 and this is a real gain of stability …

In fact It started 5 years ago when openSUSE Leap 42.3 suddenly move to … openSUSE Leap 15 … the same way that Tumbleweed went closer to factory …
( 15.4 is faboulus :grinning: )

A brand new way of building openSUSE and a new type of a hybrid Linux distribution

Leap uses source from SUSE Linux Enterprise (SLE), which gives Leap a level of stability unmatched by other Linux distributions, and combines that with community developments to give users, developers and sysadmins the best stable Linux experience available

Quite dangerous specialy with device dealing with the inet… Perso, I would be scared to do that… :face_with_diagonal_mouth:

( And the package fc35 should not be maintained for long as the EOL of fc35 is 2022-12-07 )

Hi, try to replace wpa_supplicant with iwd:

dnf install iwd
echo -e "[device] \nwifi.backend=iwd" | tee -a /etc/NetworkManager/NetworkManager.conf
reboot

You’ll have to type in wifi passwords again. If it starts working, remove wpa_supplicant:

dnf remove wpa_supplicant

EPILOGUE

I tried it, but it didn’t work (or maybe I’m just missing a step). When I made the change and rebooted, the wifi was, as expected, not connected. But when I tried to set up the connection, it said “Network Manager not running.”

Moving on… F36 has fully replaced F35 on my laptop and WiFi is working – with a little help from a wired connection to do that first update. I’m a bit annoyed that the wired connection was needed for F36, since I was able to everything via WiFi when I installed F35. But oh well, it is what it is. :man_shrugging:

Thanks for all of your help and suggestions, everyone – especially GEPLinux!

1 Like

You right it means that when [DRPM] is too big you are comdamned to either use a usb network adapter if no RJ45 outlet or may be to wait for the new version of Fedora live iso ( that was the ’Embarrasing’ : the fact that there is no Offline Iso Image )

Great news ! You went ahead and You won !