Antes de wpa_supplicant
poder hacer su trabajo, la interfaz de red debe estar disponible y el controlador para el dispositivo debe estar cargado. wpa_supplicant
permite especificar el controlador con el indicador "-D". He intentado esto en algunos sistemas, pero wpa_supplicant
nunca parece aceptar el controlador que he especificado. Por ejemplo:
T42 ~ # lspci -v -s 02:02.0
02:02.0 Network controller: Intel Corporation PRO/Wireless 2915ABG [Calexico2] Network Connection (rev 05)
Subsystem: Intel Corporation Device 1011
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at c0214000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [dc] Power Management version 2
Kernel driver in use: ipw2200
Kernel modules: ipw2200
T42 ~ # wpa_supplicant -D ipw2200 -i eth1 -c /root/wpafile
Unsupported driver 'ipw2200'.
T42 ~ #
Sin embargo, si empiezo wpa_supplicant
sin especificar el controlador como wpa_supplicant -i eth1 -c /root/wpafile
, entonces funciona perfectamente. ¿Por qué esto es tan? Además, ¿en qué caso es necesario especificar el controlador para wpa_supplicant
?
wpa-supplicant
Martín
fuente
fuente
aircrack
. Sin embargo, no entiendo desde el punto de vista arquitectónico, qué nivel representan esos controladores.Respuestas:
Está confundiendo los controladores de kernel y los controladores de espacio de usuario. En su caso, ciertamente puede usar WEXT, pero también nl80211 (creo).
WEXT (o WE = Extensiones inalámbricas) son las modificaciones introducidas al kernel de Linux en 1997 por Jean Tourrhiles. Según esta página web escrita por el propio Tourrhiles,
En otras palabras, WEXT se encuentra encima de su controlador y permite que wpa_supplicant interactúe con él. Observe que wpa_supplicant y el controlador pertenecen a diferentes reinos del kernel (el primero al espacio del usuario, el segundo al espacio del kernel), por lo tanto, se requiere una API capaz de actuar como intermediario. Este es el papel desempeñado por los llamados controladores mencionados por Bob.
Sin embargo, esta página web inalámbrica de Linux establece explícitamente que
y
De hecho, si una consulta mi wpa_supplicant directamente (es decir, no la página del manual, sino el comando
Recibo (en parte) esta respuesta:
En otras palabras, fiel a las palabras de Linux Wireless, el soporte para todos los demás controladores excepto Wext y nl80211 se ha eliminado, y el soporte para Wext se ha mantenido porque ...
Esto se aplica a Linux Kernel 3.11.1-031101-generic.
Aquellos de ustedes que han usado hostapd ya están, de alguna manera, informados de todo esto, porque el controlador estándar para hostapd es exactamente nl80211.
fuente