Iwd: Difference between revisions

From NixOS Wiki
imported>Yuu
No edit summary
imported>Yuu
mNo edit summary
Line 1: Line 1:
iwd (iNet wireless daemon) is a Linux-only wireless daemon aiming to decrease the time spent making connections.
iwd (iNet wireless daemon) is a Linux-only wireless daemon aiming to decrease the time spent making connections.


= Using iwd =
= Installation =


iwd can be enabled with the following snippet.
iwd can be enabled with the following snippet.
Line 10: Line 10:


Connections can be managed using the provided {{ic|iwctl}} tool.
Connections can be managed using the provided {{ic|iwctl}} tool.
= Configuration =


== iwd as backend for NetworkManager ==
== iwd as backend for NetworkManager ==
Line 29: Line 31:
Note that iwd is experimental and it does not have feature parity with the default backend, wpa_supplicant.
Note that iwd is experimental and it does not have feature parity with the default backend, wpa_supplicant.


== Troubleshooting ==
= Troubleshooting =


=== org.freedesktop.service failed ===
== org.freedesktop.service failed ==
When connecting to a protected network it could happen that no password window appears and the following message is written in the journal:
When connecting to a protected network it could happen that no password window appears and the following message is written in the journal:
<pre>
<pre>
Line 43: Line 45:
</syntaxHighlight>
</syntaxHighlight>


=== rfkill blocks wireless device ===
== rfkill blocks wireless device ==
If the wi-fi connection is blocked by rf-kill, it it is needed to unblock the the wireless device. A way to do that with Nix is by using  system.activationScripts.
If the wi-fi connection is blocked by rf-kill, it it is needed to unblock the the wireless device. A way to do that with Nix is by using  system.activationScripts.
<syntaxHighlight lang=nix>
<syntaxHighlight lang=nix>

Revision as of 16:10, 8 July 2021

iwd (iNet wireless daemon) is a Linux-only wireless daemon aiming to decrease the time spent making connections.

Installation

iwd can be enabled with the following snippet.

networking.wireless.iwd.enable = true;

Connections can be managed using the provided iwctl tool.

Configuration

iwd as backend for NetworkManager

If iwd is present, it can be used as a backend for NetworkManager through the following snippet.

networking.networkmanager.wifi.backend = "iwd";

iwd as backend for Connman

Iwd could be use as a backend for Connman too.

services.connman.wifi.backend = "iwd";

Note that iwd is experimental and it does not have feature parity with the default backend, wpa_supplicant.

Troubleshooting

org.freedesktop.service failed

When connecting to a protected network it could happen that no password window appears and the following message is written in the journal:

dbus-daemon[1732]: [session uid=9001 pid=1730] Activated service 'org.freedesktop.secrets' failed: Failed to execute program org.freedesktop.secrets: No such file or directory

Your desktop manager may not enable some secrets management service you may need to enable one:

{
  services.gnome3.gnome-keyring.enable = true;
}

rfkill blocks wireless device

If the wi-fi connection is blocked by rf-kill, it it is needed to unblock the the wireless device. A way to do that with Nix is by using system.activationScripts.

{
  system.activationScripts = {
    rfkillUnblockWlan = {
      text = ''
      rfkill unblock wlan
      '';
      deps = [];
    };
  };
}