Zanim będzie wpa_supplicant
można wykonać swoją pracę, interfejs sieciowy musi być dostępny, a sterownik urządzenia musi zostać załadowany. wpa_supplicant
pozwala określić sterownik z flagą „-D”. Próbowałem tego na kilku systemach, ale wpa_supplicant
nigdy nie wydaje się akceptować sterownika, który określiłem. Na przykład:
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 ~ #
Jeśli jednak zacznę wpa_supplicant
bez określania sterownika wpa_supplicant -i eth1 -c /root/wpafile
, działa on bezbłędnie. Dlaczego tak jest? Ponadto w którym przypadku konieczne jest określenie sterownika wpa_supplicant
?
wpa-supplicant
Jaskółka oknówka
źródło
źródło
aircrack
. Chociaż nie rozumiem z architektonicznego punktu widzenia, jaki poziom reprezentują te sterowniki.Odpowiedzi:
Mylisz sterowniki jądra i sterowniki przestrzeni użytkownika. W twoim przypadku z pewnością możesz użyć WEXT, ale także nl80211 (tak myślę).
WEXT (lub WE = Wireless Extensions) to modyfikacja wprowadzona do jądra Linuksa w 1997 roku przez Jean Tourrhilesa. Według tej strony napisanej przez samego Tourrhilesa,
Innymi słowy, WEXT znajduje się na twoim sterowniku i umożliwia interakcję z nim wpa_supplicant. Zauważ, że wpa_supplicant i sterownik należą do różnych dziedzin jądra (pierwszy do przestrzeni użytkownika, drugi do przestrzeni jądra), dlatego wymagany jest interfejs API zdolny do działania jako pośrednik. Taką rolę odgrywają tak zwani kierowcy wspomniani przez Boba.
Jednak ta strona internetowa Linux-Wireless wyraźnie to stwierdza
i
W rzeczywistości, jeśli zapytanie poprawnie wpa_supplicant (tj. Nie strona man, ale polecenie
Otrzymuję (częściowo) tę odpowiedź:
Innymi słowy, wierny słowom Linux Wireless, wsparcie dla wszystkich innych sterowników oprócz Wext i nl80211 zostało odrzucone, a obsługa Wext została utrzymana, ponieważ ...
Dotyczy to jądra Linux 3.11.1-031101-generic.
Ci z was, którzy używali hostapd, są już w pewnym sensie poinformowani o tym wszystkim, ponieważ standardowy sterownik dla hostapd to dokładnie nl80211.
źródło