Intels iNet wireless
daemon (iwd) schickt den wpa-supplicant in den wohlverdienten
Ruhestand. Nur ein Zehntel so groß und viel schneller, ist iwd der
Nachfolger. iwd funktioniert alleine oder zusammen mit NetworkManager,
systemd-networkd und Connman.
In seltenen Fällen treten mit iwd Verbindungsabbrüche auf. Dann bietet
es sich an zum
WPA-Supplicant zurück zu kehren.
Weiterführende Informationen bietet das Arch Linux wiki bzw. das debian wiki.
Seit siduction 2021.3.0 kommt iwd als Standard für den Verbindungsaufbau im WLAN zum Einsatz. Unsere Implementation läuft mit NetworkManager.
Seit siduction 2021.1.0 wurde iwd bereits in den Flavours Xorg und noX ausgeliefert. Wer möchte, kann iwd in den anderen Flavours installieren. Siehe weiter unten: IWD statt wpa_supplicant.
Vor siduction 2021.1.0: Auch bei einem etwas älteren Snapshot kann iwd installiert werden (getestet mit siduction 2018.3.0 und linux-image-5.15.12-1-siduction-amd64). Bitte ebenfalls der Anleitung unter IWD statt wpa_supplicant folgen.
plasma-nm
oder für gnome network-manager-gnome
und andere. Ihr Benutzung sollte selbsterklärend sein!iwd und NetworkManager
Der schnellste und einfachste Weg iwd mit dem NetworkManager zu nutzen ist eine Konsole zu öffnen und diesen Befehl einzugeben:
~$ nmtui
Es startet im Terminal eine textbasierte, graphische Oberfläche des NetworkManagers. Die Bedienung sollte selbsterklärend sein!
Das Kommandline-tool nmcli
des NetworkManagers
benutzen. Ausführliche Informationen hierzu finden sie auf unserer
Handbuchseite Network
Manager im Terminal
Ich beschreibe hier nur kurz den schnellsten Weg ein Netzwerk mit Hilfe des NetworkManagers in der Kommandozeile einzurichten. Vorausgesetzt man hat alle Informationen, reicht jener Einzeiler:
~$ nmcli dev wifi con "<ssid>" password password name "<name>"
“ssid” bezeichnet den Namen des Netzwerkes
Zum Beispiel:
nmcli dev wifi con "HomeOffice" password W1rkl1chS3hrG3h31m name "HomeOffice"
iwd standalone (ohne NetworkManager)
Intels iwd bringt ein eigenes Kommandline-tool Namens
iwctl
mit. Bitte iwctl nur benutzen, wenn der
NetworkManager und wpa_supplicant deinstalliert oder beide im systemd
maskiert wurden.
Als erstes sollte die Hilfe zu iwctl aufgerufen werden, um zu sehen
was alles möglich ist. Dafür geben wir im Terminal den Befehl
iwctl
ein, dann am Eingabe-Prompt help
.
Um heraus zu finden welche WiFi Schnittstelle wir nutzen geben wir folgenden Befehl ein.
[iwd]# device list
Devices *
---------------------------------------------------
Name Address Powered Adapter Mode
---------------------------------------------------
wlan0 00:01:02:03:04:05 on phy0 station
In diesem Falle ist es “wlan0” und es läuft (“Powered on”) im “station” mode.
Nun scannen wir nach einem aktiven Netzwerk
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
Jetzt können wir uns zu unserem Netzwerk verbinden.
[iwd]# station wlan0 connect SSID
“SSID” bezeichnet den Namen des Netzwerkes.
Es wird noch das Passwort abgefragt und wir sollten mit unserem Netzwerk verbunden sein, dies können wir mit “station list” oder “station wlan0 get-networks” Nachprüfen.
[iwd]# station list
Devices in Station Mode
-------------------------------
Name State Scanning
-------------------------------
wlan0 connected
Das ganze kann mit folgendem Befehl abgekürzt werden, so man alle nötigen Informationen hat!
iwctl --passphrase <passphrase> station device connect SSID
Zum Beispiel:
~$ iwctl --passphrase W1rkl1chS3hrG3h31m station wlan0 connect HomeOffice
Allen, die iwd als Ersatz für wpa_supplicant mit einem etwas älteren Snapshot als siduction 2021.3.0 nutzen möchten, richten sich bitte nach den folgenden Anweisungen.
Anmerkung:
Es ist möglich, dass nicht freie Firmware von einem
USB-Stick oder via LAN installiert werden muss! Debian installiert bei
Verwendung von apt den NetworkManager immer zusammen mit wpa_supplicant.
Um den wpa_supplicant los zu werden, gibt es zwei Möglichkeiten, wobei die zweite Möglichkeit die sinnvollere und einfachere ist.
Möchte man iwd ohne NetworkManager nutzen, so muss man sich darüber keine Gedanken machen, sondern den NetworkManager und wpa_supplicant mit
~# apt purge network-manager wpasupplicant
mitsamt seiner Konfiguration von der Platte putzen.
Vorgehensweise bei installiertem
NetworkManager
und iwd < 1.21-2
/etc/NetworkManager/conf.d/nm.conf
angelegen
und iwd dort eingetragen./etc/iwd/main.conf
anlegen und mit
entsprechendem Inhalt befüllen.Jetzt einfach die folgenden Befehle als root im Terminal ausführen, um iwd zu nutzen:
~# apt update
~# apt install iwd
~# systemctl stop NetworkManager.service
~# systemctl disable --now wpa_supplicant.service
~# echo -e '[device]\nwifi.backend=iwd' > /etc/NetworkManager/conf.d/nm.conf
~# touch /etc/iwd/main.conf
~# echo -e '[General]\nEnableNetworkConfiguration=true\n\n[Network]\nNameResolvingService=systemd' > /etc/iwd/main.conf
~# systemctl enable --now iwd.service
~# systemctl start NetworkManager.service
Schauen ob es geklappt hat
Wir lassen uns die beiden Konfigurationsdateien anzeigen.
~$ cat /etc/NetworkManager/conf.d/nm.conf
[device]
wiFi.backend=iwd
~$ cat /etc/iwd/main.conf
[General]
EnableNetworkConfiguration=true
[Network]
NameResolvingService=systemd
Vorgehensweise bei installiertem
NetworkManager
und iwd >= 1.21-2
Ab Version 1.21-2 bringt iwd eine eigene Konfigurationsdatei
/etc/iwd/main.conf
mit. Die Vorgehensweise gleicht der eben
genannten mit der Ausnahme, dass wir die Konfigurationsdatei nicht mehr
anlegen, sondern in ihr das Kommentarzeichen vor
“EnableNetworkConfiguration=true” entfernen.
Bitte die folgenden Befehle als root im Terminal ausführen:
~# apt update
~# apt install iwd
~# systemctl stop NetworkManager.service
~# systemctl disable --now wpa_supplicant.service
~# echo -e '[device]\nwifi.backend=iwd' > /etc/NetworkManager/conf.d/nm.conf
~# sed -i -E 's/#(EnableNetworkConfiguration=true)/\1/' /etc/iwd/main.conf
~# systemctl enable --now iwd.service
~# systemctl start NetworkManager.service
Schauen ob es geklappt hat
Wir lassen uns die beiden Konfigurationsdateien anzeigen.
~$ cat /etc/NetworkManager/conf.d/nm.conf
[device]
wiFi.backend=iwd
~$ cat /etc/iwd/main.conf
[...]
[General]
# iwd is capable of performing network configuration on its
# own, including DHCPv4 based address configuration.
# By default this behavior is disabled, and an external
# service such as NetworkManager, systemd-network or
# dhcpclient is required. Uncomment the following line if
# you want iwd to manage network interface configuration.
#
EnableNetworkConfiguration=true
#
[...]
Jetzt ist man in der Lage, sich im Terminal mit den oben
beschriebenen Befehlen nmtui,
nmcli oder iwctl WiFi Hardware
anzeigen zu lassen, sie zu konfigurieren und sich mit einem Netzwerk zu
verbinden.
Oder man benutzt den NetworkManager in der graphischen Oberfläche.
Siehe: Grafische
Konfigurationsprogramme
Vorausgesetzt der NetworkManager und wpa_supplicant sind installiert, benötigen wir folgende Arbeitsschritte:
/etc/NetworkManger/conf.d/nm.conf
umbenennen.~# systemctl stop NetworkManager.service
~# systemctl disable --now iwd.service
~# mv /etc/NetworkManager/conf.d/nm.conf /etc/NetworkManager/conf.d/nm.conf~
~# systemctl unmask wpa_supplicant.service
~# systemctl enable --now wpa_supplicant.service
~# systemctl start NetworkManager.service
Jetzt wird wieder der wpa_supplicant für die Verbindung mit der WiFi-Hardware benutzt.