Os pongo en situación, trabajo con un Lenovo Thinkpad X220 y Arch Linux, algunos pensaréis que este equipo está desfasado, pero para qué quiero más, si da más rendimiento del que necesito. Eso sí, le añadí RAM y sustituí el disco duro HDD por un SSD.
En este equipo siempre había trabajado con Debian, pero al cambiar el disco le opté por Arch, del cual estoy muy contento en rendimiento. Y es fácil de usar para todo tipo de usuarios, excepto la instalación que para usuarios principiantes en Linux puede ser compleja. Ahora vamos al grano, que me enrollo… Desde que le puse Arch usaba wpa_supplicant, y se me desconectaba repetidamente de la Wifi, algo muy molesto. Entoces opté por usar una alternativa, iwd. Un proceso sencillo.
Con wpa_supplicant dmesg me mostraba los siguientes mensajes
wlan0: authenticate with XX:XX:XX:XX:XX:XX
wlan0: send auth to XX:XX:XX:XX:XX:XX (try 1/3)
wlan0: send auth to XX:XX:XX:XX:XX:XX (try 2/3)
wlan0: send auth to XX:XX:XX:XX:XX:XX (try 3/3)
wlan0: authentication with XX:XX:XX:XX:XX:XX timed out
Los pasos para sustituir wpa_supplicant por iwd
Intalar iwd:
# pacman -Ss iwd
Editar la configuración de NetworkManager:
# nano /etc/NetworkManager/NetworkManager.conf
En mi caso el archivo solamente contenía estas dos líneas:
#Configuration file for NetworkManager.
#See "man 5 NetworkManager.conf" for details.
Ahí le añadí las siguientes:
[device] wifi.backend=iwd
Si la línea wifi.backend= contenía wpa_supplicant sustituirlo por iwd
Una vez cambiada la configuración el wpa_supplicant tenemos que parar e iniciar los servicios
# systemctl stop wpa_supplicant.service
# systemctl stop NetworkManager.service
# systemctl start iwd
# systemctl restart NetworkManager.service
Y hacer el cambio sea permanente:
# systemctl disable wpa_supplicant.service # systemctl enable iwd