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.


= Installation =
== Installation ==


iwd can be enabled with the following snippet.
iwd can be enabled with the following snippet.
Line 9: Line 9:
</syntaxhighlight>
</syntaxhighlight>


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


= Configuration =
== Configuration ==


== iwd as backend for NetworkManager ==
=== iwd as backend for NetworkManager ===


If iwd is present, it can be used as a backend for NetworkManager through the following snippet.
If iwd is present, it can be used as a backend for NetworkManager through the following snippet.
Line 22: Line 22:
</syntaxhighlight>
</syntaxhighlight>


== iwd as backend for Connman ==
=== iwd as backend for Connman ===


Iwd could be use as a backend for Connman too.
Iwd could be use as a backend for Connman too.
Line 32: Line 32:
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 46: Line 46:
</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:50, 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;

Usage

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 = [];
    };
  };
}