wpa_supplicant के तहत ड्राइवर (-D) विकल्प


11

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?


1
उपलब्ध ड्राइवरों की सूची में शामिल हैं (मैनुअल देखें): HostAP, Prism54, Madwifi, NDISWrapper, AMTEL, IPW (दोनों 2100 और 2200 ड्राइवर), WEXT (जेनेरिक लिनक्स वायरलेस एक्सटेंशन), ​​वायर्ड ईथरनेट। यदि आप उपयोग कर रहे हैं, तो सबसे दिलचस्प वेक्स हैं (जो कि 70% वाईफाई उपकरणों के लिए उपयोग में हैं), NDISWrapper, अगर आप विंडोज ड्राइवरों का उपयोग कर रहे हैं, तो लिनक्स संगतता परत और मैडविफी द्वारा लिपटे हुए हैं aircrack। हालांकि, मैं वास्तुकला के दृष्टिकोण से नहीं समझता, कि वे ड्राइवर किस स्तर का प्रतिनिधित्व करते हैं।
बोरिस बुर्कोव

जवाबों:


13

आप कर्नेल ड्राइवर और उपयोगकर्ता-स्थान ड्राइवर को भ्रमित कर रहे हैं। आपके मामले में, आप निश्चित रूप से WEXT का उपयोग कर सकते हैं, लेकिन यह भी nl80211 (मुझे लगता है)।

WEXT (या WE = वायरलेस एक्सटेंशन्स) 1997 में जीन टूरहाइल्स द्वारा लिनक्स कर्नेल में पेश किया गया संशोधन है। Tourrhiles द्वारा लिखे गए इस वेब पेज के अनुसार ,

वायरलेस एक्सटेंशन (WE) एक सामान्य एपीआई है जो एक ड्राइवर को सामान्य वायरलेस LANs के लिए विशिष्ट उपयोगकर्ता स्थान, कॉन्फ़िगरेशन और आंकड़ों को उजागर करने की अनुमति देता है। इसकी सुंदरता यह है कि उपकरण का एक सेट वायरलेस LANs के सभी रूपों का समर्थन कर सकता है, भले ही उनके प्रकार (ड्राइवर लंबे समय तक वायरलेस समर्थन का समर्थन करता है) की परवाह किए बिना। एक अन्य लाभ यह है कि ड्राइवर (या लिनक्स) को पुनरारंभ किए बिना इन मापदंडों को मक्खी पर बदला जा सकता है।

दूसरे शब्दों में, WEXT आपके ड्राइवर के ऊपर बैठता है, और wpa_supplicant को इसके साथ बातचीत करने की अनुमति देता है। ध्यान दें कि wpa_supplicant और ड्राइवर अलग-अलग कर्नेल स्थानों से संबंधित हैं, (उपयोगकर्ता-स्पेस के लिए पहला, कर्नेल-स्पेस के लिए दूसरा), इस प्रकार एक एपीआई जो गो-बीच के रूप में कार्य करने में सक्षम है। यह बॉब द्वारा उल्लिखित तथाकथित ड्राइवरों द्वारा निभाई गई भूमिका है।

हालाँकि, यह लिनक्स-वायरलेस वेब पेज स्पष्ट रूप से बताता है

क्या हमें और विकसित किया जा रहा है?

नहीं ऐसा नहीं है। WE के लिए केवल बग फिक्स स्वीकार किए जा रहे हैं।

तथा

वायरलेस-एक्सटेंशन्स क्या है?

नए विकास को cfg80211 और nl80211 पर केंद्रित किया जाना चाहिए।

वास्तव में, अगर एक क्वेरी मेरे wpa_supplicant सही ढंग से (यानी, मैन पेज नहीं, लेकिन कमांड

 wpa_supplicant -h

मुझे इसका उत्तर मिला (भाग में):

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

दूसरे शब्दों में, लिनक्स वायरलेस के शब्दों के प्रति वफादार, Wext और nl80211 को छोड़कर अन्य सभी ड्राइवरों को समर्थन छोड़ दिया गया है, और Wext को समर्थन बनाए रखा गया है क्योंकि ...

क्या हम अभी भी उपयोग करते हैं?

हां cfg80211 और nl80211 पर अभी भी काम किया जा रहा है इसलिए WEs का अभी भी उपयोग किया जा रहा है। सभी mac80211 ड्राइवर WE का समर्थन करते हैं क्योंकि mac80211 इसका उपयोग करता है। यह विचार धीरे-धीरे cfg80211 और nl80211 पर चीजों को स्थानांतरित करना शुरू कर रहा है जो अभी तक वहां नहीं हैं और उनके लिए भी कोई नई सुविधाएँ जोड़ें।

यह लिनक्स कर्नेल 3.11.1-031101-जेनेरिक पर लागू होता है।

आप में से जिन लोगों ने hostapd का उपयोग किया है, वे एक तरह से पहले से ही इस सब के बारे में सूचित कर चुके हैं, क्योंकि hostapd के लिए मानक ड्राइवर बिल्कुल nl80211 है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.