iwd, le daemon Wi-Fi qu’il vous faut

Il y a quelques jours j’ai découvert iwd (iNet wireless daemon) grâce à Présentation des Wireless Daemon sous Linux chez Linux Embedded que je vous invite à lire, iwd vise à remplacer wpa_supplicant.

Je l’ai installé dans la foulée, en temps normal j’aurais attendu plusieurs mois avant de vous faire un retour mais après un effet waouh, j’ai décidé de faire une exception. Concrètement les performances Wi-Fi sont carrément meilleures et la connexion au réseau bien plus rapide. Avant j’attendais de longues secondes pour que mon pc portable se connecte au Wi-Fi alors que je suis à 2 mètres de la box, maintenant j’ouvre la session, je suis connecté. Je suis passé de 6 Mb/s à 60 Mb/s. Je ne reviendrais en arrière pour rien au monde.

Installation

Si vous pouvez, vraiment testez-le mais auparavant consultez ici si iwd est compatible avec votre version de Network Manager (si vous l’utilisez) ainsi que le changelog de iwd par rapport à la version disponible sur votre distrib.

Pour ne rien gâcher il est extrêmement simple de tester, explications pour Debian Bullseye. On commence par sudo apt install iwd ensuite on édite sudo nano /etc/NetworkManager/NetworkManager.conf en ajoutant ceci à la fin.

[device]
wifi.backend=iwd

On désactive le service wpa_supplicant sudo systemctl mask --now wpa_supplicant et on restart NetworkManager sudo systemctl restart NetworkManager. Vous devriez avoir une demande de mot de passe pour le Wi-Fi sur lequel vous êtes, vous validez. Un petit reboot éventuellement pour tester dans des conditions idéales. La procédure chez Debian est ici.

Si vous souhaitez revenir en arrière, enlevez les lignes ajoutées dans /etc/NetworkManager/NetworkManager.conf, sudo systemctl unmask wpa_supplicant, sudo systemctl start wpa_supplicant puis sudo systemctl restart NetworkManager et enfin sudo apt remove iwd.

Le futur !

iwd est en version 1.8 actuellement, prometteur et activement maintenu. Si vous voulez en savoir plus, je vous recommande la documentation Arch et l’article de LWN.

Déjà 29 avis pertinents dans iwd, le daemon Wi-Fi qu’il vous faut

  • Petite note en passant, j’ai trouvé dans l’AUR un « overlay » pour la configuration d’iwd qui fait tout le job en un coup : https://aur.archlinux.org/packages/networkmanager-iwd-overlay/

    Changer la configuration du backend de NetworkManager :
    « `
    [device]
    wifi.backend=iwd
    « `

    Oblliger le service NetworkManager.service à démarrer après iwd.service qu’il requiert :
    « `
    [Unit]
    Wants=iwd.service
    After=iwd.service
    « `

    Obliger le service iwd.service à démarrer après systemd-udev.service et avant NetworkManager.service :
    « `
    [Unit]
    After=systemd-udevd.service
    Before=NetworkManager.service
    « `

    Un petit `systemctl daemon-reload; systemct restart NetworkManager` et tout fonctionne à merveille !

  • Je suis très étonné des vitesses, en Belgique, je suis à pratiquement 100 mb et je n’ai pas de latence de connexion. C’est la vitesse annoncée par mon Isp.
  • UnixMipfr
    Fedora_32:

    sudo dnf -y install iwd
    echo -e « [device]\nwifi.backend=iwd » >/etc/NetworkManager/conf.d/00_device_backend_iwd.conf
    sudo systemctl stop wpa_supplicant
    sudo systemctl restart iwd
    sudo systemctl restart NetworkManager

    # Pérénise la configuration après reboot
    sudo systemctl disable wpa_supplicant
    sudo systemctl enable iwd

  • frague
    J’ai fait pareil en lisant l’article de linuxembedded, et wouah ! pareil ;)
    En prime, mon wifi avait parfois tendance à se déconnecter des que je e chargeait un peu en téléchargement, mais là çà passe nickel…
    Super projet en tous cas !
  • jeanminux
    Mille excuses pour la question un peu bête mais comment on utilise network-manager-iwd-overlay ? On colle juste toutes les lignes données par Guillaume dans le fichier networkmanager.conf ?
  • jeanminux
    Sinon je crois qu’il y a une faute dans la dernière ligne: « systemct restart… au lieu de systemctl restart… ».
    A plus
  • Arnoch
    Hi, je suis sous Mint 20, mais je rencontre un problème, j’ai un réseau avec un SSID masqué en WPA2 et impossible de la faire reconnaître avec iwd, je vois les réseau autour mais impossible de me connecter au miens. Si quelqu’un à un début de solution
  • jeanminux
    iwd, suite et fin: ayant des problèmes avec networkmanager-iwd-overlay sur manjaro, j’ai essayé le paquet networmanager-iwd (AUR) et là ça marche nickel.
  • LinuxNoob Sven
    Dommage, iwd n’est pas dans les dépôts de LM19 – et je ne me sens pas encore de cloner un git pour bidouiller dans les entrailles de mon système de travail principal. Si quelqu’un a un lien vers un paquet *.deb ou un PPA ?
  • Merci pour cette découverte.
    > Ce n’est pas le cas pour Debian Buster
    Chez moi ça fonctionne as-is en buster avec NM. D’ailleurs sur le wiki Debian il est dit « since debian Buster / 10. Both ConnMan and NetworkManager has support for using iwd as a backend. ».
  • Djiko
    Je n’ai pas observé de gain ou de perte. Je suppose que je suis déjà dans des conditions optimales.

    Il manque une petite chose pour le retour arrière :
    sudo systemctl unmask –now wpa_supplicant (puis sudo systemctl enable –now wpa_supplicant si nécessaire)

  • Olivier Corrio
    Pareil pour moi cela va un peu plus vite, et latence réduite. Je passe de 2.8Mits à 3.3Mbits et latence je gagne plus de 100ms aussi. Quand je vais dans Networkmanager il m’indique que je suis connecté en wifi 65Mbits alors qu’avant le driver indiquait nettement moins (certes mon ADSL me bloque de toute façon).
  • Pour ceux qui sont sous Arch, changer la configuration du backend de network manager suffit, toutes les autres configurations (services systemd notamment) sont facultatives : NetworkManager déclenche tout seul le démarrage d’iwd quand il est configuré avec (tout comme il lance tout seul wpa_supplicant autrement). Je suppose que c’est parce que tout ce beau monde utilise dbus et qu’il doit y avoir des déclencheurs.
  • rimaille
    Je suis sous Arch, pas de soucis avec l’install/config d’iwd, mais je suis revenu avec wpa-supplicant : le ping était beaucoup moins stable, avec des pointes incompréhensibles, à 70ms sur le routeur de mon réseau local… à suivre.
  • gnjnkjn
    J’ai testé, je n’ai pas été convaincu mais par contre, quand j’essaye d’accéder à du prOn j’ai un 404 sur l’URL alors qu’avec un VPN ça passe et sur une connexion ethernet ça passe aussi.
    Une fois repassé avec wpa_supplicant, plus de souci pour les sites en carafes sans VPN.
    Qq1 a eu un souci équivalent ?
    Testable avec prOnhub :P
  • nihuihui
    Je n’ai qu’un seul réseau WiFi donc la question elle est vite répondue ;)
    Et je n’ai pas de filtrage autre que uBlock.
    Et vu que ça passe en wpa_supplicant…
    Je vais peut-être essayer avec Chromium (Linux) puis essayer avec Windows 10.
  • JP Vig
    Bonjour à tous,
    je suis confronté moi aussi à un wifi lent (6 Mb/s) et je n’arrive pas à installer correctement iwd sous Débian Buster. J’ai alors ma carte wifi qui passe en indisponible pour Network Manager. (Voir rendu du statut du service NetworkManager ci dessous). J’ai bien arrêté le service de wpa supplicant et démarré iwd avant NetworkManager. Des idées ?

    Merci !

    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6516] device (lo): carrier: link connected
    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6520] manager: (lo): new Generic device (/org/freedesktop/NetworkManager/Devices/1)
    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6532] manager: (enp1s0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/2)
    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6543] device (enp1s0): state change: unmanaged -> unavailable (reason ‘managed’, sys-iface-state: ‘external’)
    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6589] manager: (wlp2s0): new 802.11 WiFi device (/org/freedesktop/NetworkManager/Devices/3)
    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6599] device (wlp2s0): state change: unmanaged -> unavailable (reason ‘managed’, sys-iface-state: ‘external’)
    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6732] bluez: use BlueZ version 5
    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6734] modem-manager: ModemManager available
    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6751] agent-manager: req[0x5615d9bc5b70, :1.30/org.gnome.Shell.NetworkAgent/1000]: agent registered
    déc. 31 18:42:43 Dell NetworkManager[3689]: [1609436563.6788] bluez5: NAP: added interface 10:5B:AD:11:77:D0

Les commentaires sont fermés.