Hi,

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
/etc/NetworkManager/NetworkManager.conf
$ 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.

----------

Resources:
- I used this howto from Josh Stoik as a starter:
https://blobfolio.com/2019/replacing-wpa-supplicant-with-iwd-in-ubuntu-eoan/
- https://wiki.archlinux.org/index.php/Iwd

GeoClue2 policy:

  <policy user="geoclue">
    <!-- Only allow geoclue to own the name on the bus -->
    <allow own="org.freedesktop.GeoClue2"/>

    <!-- Also give geoclue access to wpa_supplicant API -->
    <allow receive_sender="fi.w1.wpa_supplicant1"
           receive_type="signal"/>

    <allow send_destination="fi.w1.wpa_supplicant1"
           send_interface="org.freedesktop.DBus.Properties"
           send_member="Get"/>

    <allow send_destination="fi.w1.wpa_supplicant1"
           send_interface="org.freedesktop.DBus.Properties"
           send_member="GetAll"/>

    <allow send_destination="fi.w1.wpa_supplicant1"
           send_interface="org.freedesktop.DBus.Introspectable"/>

    <allow send_destination="fi.w1.wpa_supplicant1"
           send_interface="fi.w1.wpa_supplicant1.Interface"
           send_type="method_call"
           send_member="Scan"/>
  </policy>


-- 
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/a92da205-6c3d-5ae7-3a9e-78ad19cefaaa%40disroot.org.

Reply via email to