Difference between revisions of "Iwd"

From NixOS Wiki
Jump to: navigation, search
m
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 = [];
    };
  };
}