Due to mysterious, unsolvable Wifi issues, I decided to replace the
wpa_supplicant wifi daemon with iwd. iwd itself is excellent and a
definite improvement over wpa_supplicant. I can't find Fedora working on
this though. In the Fedora 33 template, it currently comes down to:
dnf remove wpa\_supplicant
echo -e "[device] \nwifi.backend=iwd" | tee -a
systemctl enable iwd\.service systemctl start iwd.service
$ systemctl restart NetworkManager
There are just two integration issues remaining that I hope people can
help me with. I am using the standard Qubes Fedora template, and want to
stay as close to it as possible, so I'm not interested in ditching
NetworkManager unless it is unavoidable.
1. /etc/dbus-1/system.d/org.freedesktop.GeoClue2.conf: this is the only
other file in /etc/ that mentions wpa_supplicant. It contains policy to
allow wpa_supplicant to be used for geolocation. Since I don't care for
geolocation, I just removed it (don't comment it out. But if someone
cares to adapt this to iwd, it would be nice.
2. Occasionally, NetworkManager says 'device not ready' under wifi, and
wifi stops working. It is solved temporarily by ``$ systemctl restart
iwd.service && systemctl restart NetworkManager.service`` in sys-net. I
don't get from the log what the exact issue is though.