wpa_supplicantの下のドライバ(-D)オプション

wpa_supplicantの下のドライバ(-D)オプション

作業を完了するには、まず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だからです。

おすすめ記事