Bevor wpa_supplicant
die Arbeit ausgeführt werden kann, muss die Netzwerkschnittstelle verfügbar sein und der Treiber für das Gerät muss geladen sein. wpa_supplicant
ermöglicht die Angabe eines Treibers mit dem Flag "-D". Ich habe dies auf einigen Systemen versucht, wpa_supplicant
scheint aber den von mir angegebenen Treiber nie zu akzeptieren. Beispielsweise:
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 ~ #
Wenn ich jedoch wpa_supplicant
ohne Angabe des Treibers beginne wpa_supplicant -i eth1 -c /root/wpafile
, funktioniert dies einwandfrei. Warum ist das so? In welchem Fall muss außerdem der Treiber für angegeben werden wpa_supplicant
?
wpa-supplicant
Martin
quelle
quelle
aircrack
. Aus architektonischer Sicht verstehe ich jedoch nicht, welche Ebene diese Treiber repräsentieren.Antworten:
Sie verwechseln Kerneltreiber und User-Space-Treiber. In Ihrem Fall können Sie sicherlich WEXT verwenden, aber auch nl80211 (glaube ich).
WEXT (oder WE = Wireless Extensions) ist die Modifikation, die Jean Tourrhiles 1997 für den Linux-Kernel eingeführt hat. Laut dieser von Tourrhiles selbst verfassten Webseite
Mit anderen Worten, WEXT befindet sich oben auf Ihrem Treiber und ermöglicht es wpa_supplicant, mit ihm zu interagieren. Beachten Sie, dass wpa_supplicant und der Treiber zu verschiedenen Kernelbereichen gehören (der erste zum Benutzerbereich, der zweite zum Kernelbereich). Daher ist eine API erforderlich, die als Vermittler fungieren kann. Dies ist die Rolle, die die von Bob erwähnten sogenannten Fahrer spielen.
Auf dieser Linux-Wireless-Webseite wird dies jedoch ausdrücklich angegeben
und
In der Tat, wenn eine Abfrage mein wpa_supplicant drectly (dh nicht die Manpage, sondern der Befehl
Ich bekomme (teilweise) diese Antwort:
Mit anderen Worten, getreu den Worten von Linux Wireless wurde die Unterstützung für alle anderen Treiber außer Wext und nl80211 eingestellt, und die Unterstützung für Wext wurde beibehalten, weil ...
Dies gilt für Linux Kernel 3.11.1-031101-generic.
Diejenigen von Ihnen, die hostapd verwendet haben, sind in gewisser Weise bereits darüber informiert, da der Standardtreiber für hostapd genau nl80211 ist.
quelle