Прежде чем wpa_supplicant
можно будет выполнять свою работу, должен быть доступен сетевой интерфейс и должен быть загружен драйвер для устройства. wpa_supplicant
позволяет указать драйвер с флагом "-D". Я пробовал это на нескольких системах, но, wpa_supplicant
кажется, никогда не принимает драйвер, который я указал. Например:
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 ~ #
Однако если я начну wpa_supplicant
без указания драйвера вроде wpa_supplicant -i eth1 -c /root/wpafile
, то он работает без нареканий. Почему это так? Кроме того, в каком случае необходимо указать драйвер для wpa_supplicant
?
wpa-supplicant
Мартин
источник
источник
aircrack
. Хотя я не понимаю с архитектурной точки зрения, какой уровень представляют эти драйверы.Ответы:
Вы путаете драйверы ядра и драйверы пространства пользователя. В вашем случае вы, конечно, можете использовать WEXT, но также nl80211 (я думаю).
WEXT (или WE = Wireless Extensions) - это модификация, введенная в ядро Linux в 1997 году Жаном Туррихесом. Согласно этой веб-странице, написанной самим Туррхилсом,
Другими словами, WEXT находится поверх вашего драйвера и позволяет wpa_supplicant взаимодействовать с ним. Обратите внимание, что wpa_supplicant и драйвер принадлежат к разным областям ядра (первое - к пространству пользователя, второе - к пространству ядра), поэтому требуется API, способный выступать в качестве посредника. Эту роль играют так называемые водители, упомянутые Бобом.
Тем не менее, эта веб-страница Linux-Wireless прямо говорит, что
и
На самом деле, если запрос мой wpa_supplicant прямо (т. Е. Не справочная страница, а команда
Я получаю (частично) этот ответ:
Другими словами, в соответствии со словами Linux Wireless, поддержка всех других драйверов, кроме Wext и nl80211, была прекращена, а поддержка Wext была поддержана, потому что ...
Это относится к ядру Linux 3.11.1-031101-generic.
Те из вас, кто использовал hostapd, в некотором роде уже проинформированы обо всем этом, потому что стандартный драйвер для hostapd - это точно nl80211.
источник