El libre pensamiento para un internet libre
No estas registrado.
iNet wireless daemon es un demonio de redes WiFi para Linux con características muy interesantes
Es una propuesta innovadora iniciada por Intel y que tiene mucho potencial,
He hablado de Intel pero olvidaros inmediatamente de este nombre: No es para tarjetas Intel, es para cualquier dispositivo Wifi en Linux.
Un demonio universal que podría llegar a ser un "game changer" en el ecosistema GNU-Linux.
El proyecto está estampillado "kernel.org", o sea: Está desarrollado en el seno de la mismísima fundación linux.
Ha llegado a madurez y forma ahora parte de los repositorios estables de Debian (desde debian 11 - aka bookworm)
Lo primero a destacar sobre iwd es la solidez del concepto base: iwd no depende de ninguna librería extra y utiliza únicamente (casi) elementos del núcleo linux (el kernel)
iNet Wireless Daemon (iwd) project aims to provide a comprehensive Wi-Fi connectivity solution for Linux based devices. The core goal of the project is to optimize resource utilization: storage, runtime memory and link-time costs. This is accomplished by not depending on any external libraries and utilizes features provided by the Linux Kernel to the maximum extent possible. The result is a self-contained environment that only depends on the Linux Kernel and the runtime C library.
wiki iwd - "Start" @ kernel.org
Tenemos a un programa increíblemente liviano tanto por su tamaño (menos de 2MB en debian - incluye la cli ) que por el uso de recursos
Lo segundo a destacar, y lo más asombroso, es todo lo que pueden hacer estos chiquitos 2 MB.
Señoras y señores, con iwd y su cli podemos:
Escanear redes
Conectarnos a una red wifi (podemos prescindir de wpa_suppliacnt))
Obtener la IP por dhcp (podemos prescindir de isc-dhcp-client)
Crear un hotspot (podemos prescindir de hostapd)
Hotspot que tiene su propio servicio casero para dhcp (podemos prescindir de dnsmasq)
Tiene soporte WPA3, WPS, ipv4y6...
...¡Lo único que podemos echar en falta es el soporte modo monitor!
Lo tercero a destacar, y es lo que vamos a ver ahora, es que usarlo es muy simple.
Está en los repositorios de debian
Package: iwd
Version: 2.3-1
Priority: optional
Section: net
Maintainer: Jonas Smedegaard <dr@jones.dk>
Installed-Size: 2.002 kB
Depends: init-system-helpers (>= 1.51), libc6 (>= 2.34), libell0 (>= 0.56), libreadline8 (>= 6.0)
Recommends: dbus | dbus-system-bus, wireless-regdb
Breaks: orphan-sysvinit-scripts (<< 0.11)
Homepage: https://iwd.wiki.kernel.org/
Download-Size: 491 kB
APT-Manual-Installed: yes
APT-Sources: https://deb.debian.org/debian sid/main amd64 Packages
Description: wireless daemon for Linux
iNet Wireless Daemon (iwd) is a minimalistic wireless daemon
that uses modern Linux interfaces
like cfg80211 and nl80211 (netlink).
The daemon provides a D-Bus API.
.
The daemon can be controlled from the command line
with the included iwctl client utility.
.
The included iwmon utility can be used
to monitor the 802.11 subsystem generic netlink commands and events.
It uses the nlmon kernel driver from Linux 3.10 and later.
.
Note that the package defaults
to relying on dbus activation to start.
If you want to use iwd standalone without any manager,
then you'll need to manually enable the system service.
Se instala con:
sudo apt install iwd
Si prefieres compilarlo tu mismo;
git clone https://git.kernel.org/pub/scm/network/wireless/iwd.git
Instrucción instalación manual
Instalando el paquete apt tendremos a un directorio /etc/iwd que aloja un fichero de configuración (main.conf)
Lo vamos a editar ahora para que iwd negocie la asignación automática de IP
sudo nano /etc/iwd/main.conf
"Des-comentamos" (quitamos la almohadilla en inicio de linea) la variable EnableNetworkConfiguration que quedará declarada con valor "true".
Guardamos con <Ctrl + O> , confirmamos el nombre del fichero con <Enter> y salimos de nano con <Ctrl + X>.
Esto hecho y antes de conectarnos con iwd, debemos detener wpa_supplicant y NetworK Manager para evitar conflictos.
Existe la opción de usar Network Manager con iwd en lugar de wpa_supplicant (fijaros en la primera imagen) pero se considera aún un poco "experimental"
Network Manager version 1.12 integrated a basic IWD-based wifi backend as an alternative to wpa_supplicant. To use Network Manager (NM) with the IWD backend one NM configuration change is necessary. Additionally the versions of the two software packages need to be compatible, this is because IWD's API and capabilities are evolving and the NM backend is adapting to those changes. IWD and the NM backend are work in progress and the capabilities are still limited.
iwd wiki "Network Manager" @ kernel.org
Detenemos Network Manager
sudo systemctl stop NetworkManager
Paramos wpa_supplicant
sudo systemctl --now disable wpa_supplicant
Arrancamos iwd
sudo systemctl --now enable iwd
Ahora lanzamos la consola interactiva de iwd: iwctl.
sudo iwctl
Podemos ver las opciones con help
iwctl version 2.3
--------------------------------------------------------------------------------
Usage
--------------------------------------------------------------------------------
iwctl [--options] [commands]
Available options
--------------------------------------------------------------------------------
Options Description
--------------------------------------------------------------------------------
--username Provide username
--password Provide password
--passphrase Provide passphrase
--dont-ask Don't ask for missing
credentials
--help Display help
Available commands
--------------------------------------------------------------------------------
Commands Description
--------------------------------------------------------------------------------
Adapters:
adapter list List adapters
adapter <phy> show Show adapter info
adapter <phy> set-property <name> <value> Set property
Ad-Hoc:
ad-hoc list List devices in Ad-hoc mode
ad-hoc <wlan> start <"network name"> <passphrase> Start or join an existing
Ad-Hoc network called "network
name" with a passphrase
ad-hoc <wlan> start_open <"network name"> Start or join an existing open
Ad-Hoc network called "network
name"
ad-hoc <wlan> stop Leave an Ad-Hoc network
Access Point:
ap list List devices in AP mode
ap <wlan> start <"network name"> <passphrase> Start an access point called
"network name" with a
passphrase
ap <wlan> start-profile <"network name"> Start an access point based on
a disk profile
ap <wlan> stop Stop a started access point
ap <wlan> show Show AP info
ap <wlan> scan Start an AP scan
ap <wlan> get-networks Get network list after
scanning
Devices:
device list List devices
device <wlan> show Show device info
device <wlan> set-property <name> <value> Set property
Known Networks:
known-networks list List known networks
known-networks <"network name"> forget Forget known network
known-networks <"network name"> show Show known network
known-networks <"network name"> set-property Set property
<name> <value>
WiFi Simple Configuration:
wsc list List WSC-capable devices
wsc <wlan> push-button PushButton mode
wsc <wlan> start-user-pin <PIN> PIN mode
wsc <wlan> start-pin PIN mode with generated 8
digit PIN
wsc <wlan> cancel Aborts WSC operations
Station:
station list List devices in Station mode
station <wlan> connect <"network name"> [security] Connect to network
station <wlan> connect-hidden <"network name"> Connect to hidden network
station <wlan> disconnect Disconnect
station <wlan> get-networks [rssi-dbms/rssi-bars] Get networks
station <wlan> get-hidden-access-points Get hidden APs
[rssi-dbms]
station <wlan> scan Scan for networks
station <wlan> show Show station info
Device Provisioning:
dpp list List DPP-capable devices
dpp <wlan> start-enrollee Starts a DPP Enrollee
dpp <wlan> start-configurator Starts a DPP Configurator
dpp <wlan> stop Aborts DPP operations
dpp <wlan> show Shows the DPP state
Station Debug:
debug <wlan> connect <bssid> Connect to a specific BSS
debug <wlan> roam <bssid> Roam to a BSS
debug <wlan> get-networks Get networks
debug <wlan> autoconnect on|off Set AutoConnect property
Miscellaneous:
version Display version
quit Quit program
Voy a ver si mi interfaz está detectada:
device list
Ups,,,
Cómo de costumbre, Network Manager ha "apagado" la interfaz cuando lo hemos parado. Es un mal educado de primera...
Abro otra consola y tecleo
sudo rfkill unblock wifi
Y de paso levanto la interfaz para estar seguro.
sudo ip l s wlan0 up
Notar en la captura anterior "Auto-refresh is disabled. Enlarge window width to at least 80 to enable"
Si queremos refrescar la vista en consola debemos tener una consola con una anchura superior a 80 caracteres.
- Empezamos con el Escaneo. Se hace con
station wlan0 scan
- Para ver los resultados
station wlan0 get-networks
- Para conectarnos a nuestra red debemos indicar su essid (1)
station wlan0 connect Nombredemired
- Y entrar la llave WPA (2)
Nos conectamos al instante sin necesidad de invocar un demonio dhcp para tener una IP.
Podemos comprobar el estado de la conexión con
station wlan0 show
La salida es agradable y limpia.
Además los datos se actualizan (calidad señal y tasa de transmisión) cada segundo.
Las sintaxis de iwd y iwctl me parecen lógicas y bien pensadas.
Por ejemplo hemos usado "show" para ver la información de nuestra conexión cómo cliente (station)
Si quiero ver la información sobre los drivers de la interfaz, usaré "show" pero esta vez sobre "adapter",
Para pasar la interfaz de un modo a otro lo haremos con "set-property". Si quiero hacer un soft ap:
device wlan0 set-property Mode ap
Una vez hecho configuraremos el repetidor wifi invocando esta vez ap:
A ver si lo adivinas:
ap wlan0 start "MyWiFi" 12345678
Es para crear una red llamada "MyWifi" con llave WPA 12345678.
exit wpa_supplicant, exit hiostapd, exit demonio dhcp...
¿A qué esperamos para pasarse del todo a iwd?
Para un usuario que quiere experimentar y quiere el poder total sobre sus interfaces wifi, iwd se queda corto,
No tiene ni la mitad de las opciones de wpa_supplicant o hostapd.
De momento está bien para operaciones básicas y es más eficaz que usar tres demonios diferentes.
Es perfecto para un pequeño dispositivo IOT linux o para una distribución "light",
O si hacemos un programa en un contenedor que no requiere funcionalidades wifi adelantadas
Habrá de seguir de cerca el tema de la compatibilidad con Network Manager porque sobre papel iwd es la mejor opción.
Desconectado
Tema | Respuestas | Vistas | Ultimo mensaje |
---|---|---|---|
|
26 | 7766 | 15-03-2023 16:57:32 por kcdtv |
Pegado: |
34 | 3806 | 12-03-2023 18:24:22 por Guybrush92 |
Pegado: |
436 | 63605 | 07-03-2023 12:35:27 por kcdtv |
0 | 420 | 23-02-2023 17:09:39 por kcdtv | |
114 | 258628 | 19-02-2023 17:36:14 por chuchof |
Ultimo usuario registrado: erpini
Usuarios registrados conectados: 0
Invitados conectados: 16
Número total de usuarios registrados: 2,432
Número total de temas: 1,632
Número total de mensajes: 15,528
Atom tema feed - Impulsado por FluxBB