Para quem não sabe e ficará sabendo, o iwd (iNet Wireless Daemon) é um daemon de rede responsável por gerenciar conexões Wi-Fi. Ele foi desenvolvido pela Intel com uma proposta diferente de soluções mais tradicionais, como o wpa_supplicant.
O iwd é um serviço que fica em segundo plano e conversa diretamente com o kernel Linux para controlar a interface Wi-Fi:
Ele cuida de tarefas como:
- procurar redes Wi-Fi;
- conectar e desconectar de redes;
- autenticar em redes protegidas;
- gerenciar redes salvas;
- lidar com roaming;
- configurar determinados aspectos da conexão sem fio;
- disponibilizar uma interface D-Bus para outros programas controlarem o daemon.
Um dos objetivos do projeto é reduzir dependências e o consumo de recursos, utilizando as funcionalidades oferecidas pelo próprio kernel Linux, sem depender de diversas bibliotecas externas. Abordagem que contribui para a criação de um componente relativamente pequeno, especializado e eficiente.
Essas características são particularmente interessantes em sistemas embarcados, distribuições minimalistas, servidores que utilizam Wi-Fi ocasionalmente e sistemas nos quais se busca reduzir a quantidade de processos e dependências.
E onde entra o NetworkManager?
O NetworkManager atua como interface para o gerenciamento das conexões de rede, e o iwd é o backend para o gerenciamento da conexão Wi-Fi. Nesse cenário, o usuário normalmente não precisa utilizá-lo diretamente para administrar a conexão.
Uma característica importante do iwd é sua utilização das interfaces disponibilizadas pelo kernel Linux, principalmente por meio do nl80211, evitando implementar de forma independente funcionalidades que já são fornecidas pelo próprio kernel.
Essa abordagem está alinhada à filosofia do projeto de oferecer um daemon Wi-Fi pequeno, especializado e com poucas dependências. Por essas características, o iwd é utilizado em distribuições e configurações Linux que valorizam a simplicidade, o baixo consumo de recursos e uma arquitetura modular.
Caso deseje utilizá-lo, veja como instalá-lo segundo o procedimento padrão de sua distro. Para utilizá-lo com obackend do NetworkManager, basta colocar as linhas abaixo no arquivo /etc/NetworkManager/NetworkManager.conf:
[device]
wifi.backend=iwd
E rodar o comando:
sudo systemctl restart NetworkManager
Você não notará nenhuma diferença! A vida continuará a mesma como sempre. E se você não tiver motivo para usá-lo, por continuar com o wpa_supplicant normalmente.
