wpa_supplicant altındaki sürücü (-D) seçeneği


12

İşini yapmadan önce wpa_supplicant, ağ arabirimi mevcut olmalı ve aygıtın sürücüsü yüklenmelidir. wpa_supplicant"-D" işaretli bir sürücü belirtmenize izin verir. Bunu birkaç sistemde denedim, ancak wpa_supplicantbelirttiğim sürücüyü asla kabul etmiyor gibi görünüyor. Örneğin:

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 ~ # 

Ancak, wpa_supplicantsürücüyü böyle belirtmeden başlatırsam wpa_supplicant -i eth1 -c /root/wpafile, o zaman kusursuz çalışır. Bu neden böyle? Ayrıca, hangi durumda sürücünün belirtilmesi gerekir wpa_supplicant?


1
Kullanılabilir sürücülerin listesi (el kitabına bakın) içerir: HostAP, Prism54, Madwifi, NDISWrapper, AMTEL, IPW (hem 2100 hem de 2200 sürücü), WEXT (Genel Linux kablosuz uzantıları), Kablolu ethernet. Bunlardan en ilginç olanları WEXT (% 70 Wifi cihazları için kullanılıyor), Windows sürücüleri kullanıyorsanız NDISWrapper, Linux uyumluluk katmanı ile sarılmış ve kullanıyorsanız Madwifi aircrack. Yine de, mimari açıdan, bu sürücülerin hangi seviyeyi temsil ettiğini anlamıyorum.
Boris Burkov

Yanıtlar:


14

Çekirdek sürücüleri ve kullanıcı-alanı sürücüleri karıştırıyorsunuz. Sizin durumunuzda, kesinlikle WEXT kullanabilirsiniz, aynı zamanda nl80211 (sanırım).

WEXT (veya WE = Kablosuz Uzantılar), 1997'de Jean Tourrhiles tarafından Linux çekirdeğinde yapılan değişikliktir. Tourrhiles tarafından yazılan bu Web sayfasına göre ,

Kablosuz Uzantı (WE), sürücünün genel Kablosuz LAN'lara özgü kullanıcı alanına, yapılandırmaya ve istatistiklere maruz kalmasını sağlayan genel bir API'dir. Bunun güzelliği, tek bir araç setinin türüne bakılmaksızın (sürücü Kablosuz Uzantı'yı desteklediği sürece) tüm Kablosuz LAN çeşitlerini destekleyebilmesidir. Diğer bir avantaj, bu parametrelerin sürücüyü (veya Linux) yeniden başlatmadan anında değiştirilebilmesidir.

Başka bir deyişle, WEXT sürücünüzün üstünde oturur ve wpa_supplicant'ın onunla etkileşime girmesine izin verir. Wpa_supplicant ve sürücünün farklı çekirdek alemlerine (ilk olarak kullanıcı alanına, ikincisine çekirdek alanına) ait olduğunu ve bu nedenle bir arada hareket edebilen bir API'nin gerekli olduğuna dikkat edin. Bu, Bob'un bahsettiği sözde sürücüler tarafından oynanan roldür.

Ancak, bu Linux-Kablosuz Web sayfası açıkça

WE daha da geliştiriliyor mu?

Hayır öyle değil. WE için yalnızca hata düzeltmeleri kabul edilmektedir.

ve

Kablosuz Uzantıların değiştirilmesi nedir?

Yeni gelişme cfg80211 ve nl80211 üzerine odaklanmalıdır.

Aslında, bir sorgu benim wpa_supplicant doğru ise (yani, man sayfa değil, komut

 wpa_supplicant -h

Bu yanıtı (kısmen) alıyorum:

drivers:
  wext = Linux wireless extensions (generic)
  nl80211 = Linux nl80211/cfg80211
  wired = Wired Ethernet driver
  none = no driver (RADIUS server/WPS ER)
options:....

Başka bir deyişle, Linux Wireless'ın sözlerine sadık, Wext ve nl80211 dışındaki diğer tüm sürücülere destek bırakıldı ve Wext'e destek sağlandı çünkü ...

Hâlâ BİZ'i kullanıyor muyuz?

Evet cfg80211 ve nl80211 hala üzerinde çalışılıyor, bu yüzden WE'ler hala kullanılıyor. Tüm mac80211 sürücüleri WE80211'i kullandığından WE'leri destekler. Fikir, henüz orada olmayan cfg80211 ve nl80211 üzerine yavaşça bir şeyler taşımak ve onlara yeni özellikler eklemek.

Bu, Linux Çekirdeği 3.11.1-031101-jenerik için geçerlidir.

Hostapd kullananlarınız, bir şekilde, tüm bunlar hakkında zaten bilgilendirildiniz, çünkü hostapd için standart sürücü tam olarak nl80211'dir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.