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(Generic Linuxワイヤレス拡張)、有線イーサネット。最も興味深いのは、WEXT(70%Wifiデバイスで使用中)、Windowsドライバーを使用してaircrackいる場合はNDISWrapper、Linux互換性レイヤーでラップされた場合はNDISWrapper、およびを使用している場合はMadwifiです。しかし、建築の観点からは、それらのドライバーがどのレベルを表しているのかわかりません。
Boris Burkov 2013年

回答:


13

カーネルドライバーとユーザースペースドライバーが混乱しています。あなたの場合、あなたは確かにWEXTを使用するかもしれませんが、nl80211(私は思う)も使用するかもしれません。

WEXT(またはWE = Wireless Extensions)は、1997年にJean TourrhilesによってLinuxカーネルに導入された変更です。Tourrhiles自身が作成したこのWebページによると、

ワイヤレス拡張(WE)は、ドライバーがユーザー空間、構成、および一般的なワイヤレスLANに固有の統計を公開できるようにする汎用APIです。その優れた点は、1つのツールセットで、種類に関係なく、ワイヤレスLANのすべてのバリエーションをサポートできることです(ドライバーがワイヤレス拡張をサポートしている限り)。別の利点は、ドライバー(またはLinux)を再起動せずに、これらのパラメーターをその場で変更できることです。

言い換えると、WEXTはドライバーの上にあり、wpa_supplicantがドライバーと対話できるようにします。wpa_supplicantとドライバーは異なるカーネルレルム(1つ目はユーザー空間、2つ目はカーネル空間)に属しているため、仲介役として機能するAPIが必要です。これは、ボブが言及したいわゆるドライバーが果たす役割です。

ただし、このLinux-Wireless Webページでは、

WEはさらに開発されていますか?

いいえそうではありません。WEはバグ修正のみを受け付けています。

そして

ワイヤレス拡張機能の交換とは何ですか?

新しい開発はcfg80211とnl80211に焦点を合わせる必要があります。

実際、クエリがwpa_supplicantを直接実行した場合(つまり、manページではなく、コマンド

 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の言葉に忠実であり、Wextとnl80211を除く他のすべてのドライバーへのサポートが削除され、Wextへのサポートが維持されたのは...

まだWEを使用していますか?

はいcfg80211とnl80211はまだ作業中なので、WEはまだ使用されています。すべてのmac80211ドライバーは、mac80211が使用するWEをサポートしています。アイデアは、まだまだ存在していないものをcfg80211とnl80211にゆっくりと移動し始め、それらに新しい機能を追加することです。

これはLinuxカーネル3.11.1-031101-genericに適用されます。

hostapdの標準ドライバは正確にnl80211であるため、hostapdを使用したことのある人は、ある意味で、これらすべてについてすでに通知されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.