作業を完了するには、まず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
カーネルドライバとユーザ空間ドライバを混同しています。あなたの場合はもちろんWEXTを使用できますが、nl80211も使用できます。
WEXT(またはWE = Wireless Extensions)は、Jean Tourrhilesが1997年にLinuxカーネルを修正したものです。 ~によるとこのページトゥリエルズが直接書いた、
WE(Wireless Extensions)は、ドライバが通常の無線LANに関連付けられている設定と統計をユーザースペースに公開できるようにする一般的なAPIです。利点は、1つのツールセットがタイプに関係なく(ドライバがワイヤレス拡張をサポートしている場合)、ワイヤレスLANのすべてのバリエーションをサポートできることです。もう1つの利点は、ドライバ(またはLinux)を再起動しなくても、これらのパラメータをすぐに変更できることです。
つまり、WEXTはドライバの上にあり、wpa_supplicantがドライバと対話できるようにします。 wpa_supplicantとドライバーは、異なるカーネル領域(最初のユーザースペース、2番目はカーネルスペース)に属するため、仲介者として機能するAPIが必要です。米が言及したいわゆるドライバーがする役割がまさにそれだ。
しかし、このLinuxワイヤレスWebページ特別に定義された
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:....
つまり、Linux Wireless では、Wex および nl80211 を除く他のすべてのドライバのサポートは削除され、Weext のサポートは維持されました。
まだWEを使用していますか?
はい、cfg80211 と nl80211 はまだ開発中なので、WE も引き続き使用中です。 mac80211はWEを使用しているため、すべてのmac80211ドライバはWEをサポートしています。アイデアは、まだ存在していないcfg80211とnl80211にアイテムをゆっくり移動し始め、ここに新機能を追加することです。
これはLinuxカーネル3.11.1-031101-genericに適用されます。
Hostapdを使ってみた人は、すでにこれらすべてをある程度知っています。なぜなら、Hostapdの標準ドライバが他のものではないnl80211だからです。