Fedora uses NetworkManager as the default for managing all the various different types of network. Underneath NetworkManager uses wpa_supplicant to connect to 802.11 based, AKA WiFi, wireless networks. There is an alternative called iwd which in a number of use cases works better, it also has the advantage that it offloads a bunch of things like crypto to the kernel interfaces which makes it smaller, and it’s under active development. iwd has a nice straight forward interface as well as being supported as an alternative NetworkManager so it just works in Fedora whether via nmcli or your chosen desktop environment.
So how do you make use of it in Fedora? Well it’s been packaged and supported for some time so it’s quite straight forward and there’s two ways to use it with NetworkManager. You can either swap it out for wpa_supplicant, or they can be installed side by side and you can change the NetworkManager default in a config to enable easy testing/swapping.
Option 1 (side by side):
sudo dnf install -y iwd sudo cat >> /etc/NetworkManager/conf.d/iwd.conf << EOF [device] wifi.backend=iwd EOF sudo systemctl restart NetworkManager
Option 2 (swap):
sudo dnf swap -y wpa_supplicant iwd sudo systemctl restart NetworkManager
You can now connect to WiFi networks a before with NetworkManager. Note it loses exciting configured WiFi networks.