iwd-architecture

Die neue WiFi-Erfahrung für Linux – iwd

Bild: iwd.wiki.kernel.org | Lizenz: Unbekannt

Inhaltsverzeichnis

1. Vorwort

WLAN wpa_supplicant vs. iwd
So lange ich mich erinnern kann, war es notwendig, ein Paket namens “wpa_supplicant” zu installieren, um einem Linux-System grundlegende Funktionen für drahtlose Netzwerke (WLAN) zu bieten. Während der frühen Tage war es ein bisschen haarig, dann aber lange Zeit „gut genug“.

Aus diesem Grund war ich fasziniert von Intels Arbeit an iwd, einem neuen Netzwerk-Daemon, der von Grund auf neu geschrieben wurde, um die modernen Anforderungen des drahtlosen Netzwerks zu erfüllen. Nicht überraschend, den der “wpa_supplicant” stammt, von seinen Anforderungen her, aus der Veröffentlichung von 2003.

Bild: Marcel Holtmann Youtube | Lizenz: CC-by-sa 3.0

Im Moment freue ich mich dass iwd – iNet Wireless Daemon viel besser ist! Die schlankere Codebasis führt zu früheren und schnelleren drahtlosen Netzwerkverbindungen. Ich kann nicht einmal anfangen zu zählen, wie viele Millisekunden Sekunden es mir spürbar erspart, obwohl ich vermuten würde, dass die Zahl bald in Minuten liegen wird.

Das Kernziel des Projekts ist es, die Ressourcennutzung zu Optimieren, indem es nicht von externen Bibliotheken abhängig ist und stattdessen die vom Linux-Kernel bereitgestellten Funktionen so weit wie möglich nutzt.

Projekt Start: 2014
Release Start v0.1: 10. Februar 2018
Release v1.0: 30. Oktober 2019

2. Zu den Vorteilen von iwd gehören:

  • Vereinfachung des Netzwerkmanagement
  • schnellere Netzwerkerkennung
  • schnelles und zuverlässiges Roaming
  • weniger Systemressourcen verbrauchen
  • Nutzung der vom Linux-Kernel angebotenen Funktionen
  • Unterstützung für Unternehmenssicherheitsmethoden wie EAP
  • Unterstützung für asymmetrische Kernel-Schlüsselringe und vertrauenswürdige Plattform Module (TPM)
  • Unterstützung für mehrere Konten/Nutzer

3. Vorträge von Marcel Holtmann:

3.1 Deutsch

Die neue WiFi-Erfahrung für Linux: iwd [Kielux 2018]
Dieses Video ansehen auf YouTube.
Erst durch "Klick auf Play" wird mit Youtube verbunden!

3.2 Englisch

The New Wi-Fi Experience for Linux - Marcel Holtmann, Intel
Dieses Video ansehen auf YouTube.
Erst durch "Klick auf Play" wird mit Youtube verbunden!

4. Inbetriebnahme bei Fedora

Installationiwd

dnf install iwd

Status des Daemoniwd?

systemctl status iwd

Configuration des NetworkManager für das iwd backend
Network Configuration Settings

sudo nano /etc/NetworkManager/NetworkManager.conf
# https://iwd.wiki.kernel.org/networkmanager#nm_configuration
[device]
wifi.backend=iwd

Stoppen des Daemonwpa_supplicant

sudo systemctl stop wpa_supplicant.service

Stoppen des DaemonNetworkManager

sudo systemctl stop NetworkManager.service

Start des Daemoniwd

sudo systemctl start iwd

Start des DaemonNetworkManager

sudo systemctl restart NetworkManager.service

Deaktivieren des Daemonwpa_supplicant

sudo systemctl disable wpa_supplicant.service

Aktivierung des Daemoniwd

sudo systemctl enable iwd

5. CLI Verwendung

Das iwd-Paket umfasst das Client-Programm iwctl, den Daemon iwd und das Wi-Fi-Monitoring-Tool iwmon.

Nach dem Starten/aktivieren von iwd.service, kannst du mit dem iwctl-Befehl alles steuern.

Um eine interaktive Eingabeaufforderung zu erhalten, reicht:

$ iwctl

Die interaktive Eingabeaufforderung wird dann mit dem Präfix [iwd]# angezeigt.

5.1 CLI Tipp

  • In der iwctl-Eingabeaufforderung kannst du Befehle und Gerätenamen durch Drücken der Tabulatortaste automatisch vervollständigen.
  • Um die interaktive Eingabeaufforderung zu verlassen, sende ein EOF durch Drücken von Strg+d.
  • Du kannst alle Befehle als Befehlszeilenargumente verwenden, ohne eine interaktive Eingabeaufforderung einzugeben.
    Zum Beispiel:
iwctl device wlan0 show

So listest Du alle verfügbaren Befehle auf:

[iwd]# help

Screenshots: CL | Lizenz: CC-by-sa 4.0

Weitere CLI Details: Connect to a network

6. Quellen:

https://iwd.wiki.kernel.org/
https://git.kernel.org/pub/scm/network/wireless/iwd.git/about/
https://wiki.archlinux.org/index.php/Iwd
https://wiki.gentoo.org/wiki/Iwd
https://wiki.debian.org/NetworkManager/iwd
https://wireless.wiki.kernel.org/en/users/Documentation/wpa_supplicant
https://w1.fi/wpa_supplicant/
https://w1.fi/wpa_supplicant/devel/