Avant de wpa_supplicant
pouvoir faire son travail, l'interface réseau doit être disponible et le pilote du périphérique doit être chargé. wpa_supplicant
permet de spécifier le pilote avec l'indicateur "-D". J'ai essayé cela sur quelques systèmes, mais wpa_supplicant
ne semble jamais accepter le pilote que j'ai spécifié. Par exemple:
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 ~ #
Cependant, si je commence wpa_supplicant
sans spécifier le pilote comme wpa_supplicant -i eth1 -c /root/wpafile
, alors cela fonctionne parfaitement. Pourquoi cela est-il ainsi? De plus, dans quel cas faut-il spécifier un pilote pour wpa_supplicant
?
wpa-supplicant
Martin
la source
la source
aircrack
. Cependant, je ne comprends pas du point de vue architectural, quel niveau ces pilotes représentent.Réponses:
Vous confondez les pilotes du noyau et les pilotes de l'espace utilisateur. Dans votre cas, vous pouvez certainement utiliser WEXT, mais aussi nl80211 (je pense).
WEXT (ou WE = Wireless Extensions) est la modification introduite dans le noyau Linux en 1997 par Jean Tourrhiles. Selon cette page Web écrite par Tourrhiles lui-même,
En d'autres termes, WEXT se trouve au-dessus de votre pilote et permet à wpa_supplicant d'interagir avec lui. Notez que wpa_supplicant et le pilote appartiennent à des royaumes de noyau différents (le premier à l'espace utilisateur, le second à l'espace noyau), donc une API capable d'agir comme intermédiaire est requise. C'est le rôle joué par les soi-disant pilotes mentionnés par Bob.
Cependant, cette page Web Linux sans fil indique explicitement que
et
En fait, si une requête mon wpa_supplicant drectly (c'est-à-dire, pas la page de manuel, mais la commande
J'obtiens (en partie) cette réponse:
En d'autres termes, fidèle aux paroles de Linux Wireless, le support de tous les autres pilotes sauf Wext et nl80211 a été abandonné, et le support de Wext a été maintenu car ...
Cela s'applique à Linux Kernel 3.11.1-031101-generic.
Ceux d'entre vous qui ont utilisé hostapd sont en quelque sorte déjà informés de tout cela, car le pilote standard pour hostapd est exactement nl80211.
la source