▼Wireless Intermediate Driverって何だろう▼

結論: よくわかんない。 (2015/04)


Windows 2000以降で、 Atheros チップを使っている Wi-Fi 通信カードの ドライバをインストールすると、 「Wireless Intermediate Driver」というネットワークアダプタ扱いのデバイスが追加されます。

[デバイス マネージャ]
既存NIC - Wireless Intermediate Driver ってなんだろう

ネットワーク アダプタが無線LANしかないのであればほうっておいていいんですが、 有線LANとかも抱えている機械だと、有線ネットワーク アダプタ が使用する プロトコルにこの Wireless Intermediate Driver がくっついてきて、 悪さをする、場合があります。 遅くなる、とか。

[ネットワーク アダプタ のプロパティ]
有線LANのプロパティにも現れる

有線LAN側にくっついてくるものは上記のようにチェックを外しても問題ありません。

無線LAN側にあるものは、チェックを外すと

といった悪さをします。 OSによっては問題ないのかもしれませんが。

なので、「無線アダプタが調子悪い、アクセスポイントを見失う」 トラブル時は、この Wireless Intermediate Driver が行方不明になっている、 場合もあります。

陽にインストールしなおす場合は、上のプロパティの [インストール(I)...] から DRIVERS\WIN\WLLANATH\IMDrv\wsimdp.inf のプロトコルを 入れるのです
が、 わざわざ陽にインストールしなくても、普通なら無線ネットワーク アダプタ の ドライバパッケージ (*.infではなく、InstallShieldで配られているもの) を 再インストールすれば勝手に直るはずです。 直らない場合は新しいドライバを試してみましょう。

Windows 2000では、「Windows 2000用」と書かれているドライバでは 古すぎることがあるので、ダメ元で Windows XP 用のドライバを入れてみましょう。 陽に記載がなくてもインストーラのほうでは対応していることがあります。 元は Atheros が書いているものなので、そうそうバリエーションがあるわけではないです。 (2000 と XP では無線の管理方法が違うので、本来はドライバの互換性は無い。 インストーラ頼りなので、闇雲な玉砕は勧めません)

複数のネットワーク アダプタがある機械だと、 デバイスマネージャでは 無線でないNICの名前 - Wireless Intermediate Driver と なっていることありますが、それ自体は問題ないようです。気になるようであれば無線LANだけ残してプロパティからチェックを外すと、 その無線LANの名前がつきます。 全アダプタのプロパティからチェックを外すと、 デバイスマネージャから Wireless Intermediate Driver そのものが消えます。

▼何をしているドライバなんだろう?

よくわかりません。

ただ、「フィルタドライバ」という種類のドライバなので、 たいした事はしていません。 単にネットワーク アダプタの状態変化をフックしたいだけ、かも。

NAT (「インターネット接続共有」)とかパケットキャプチャ (「ネットワークモニタ」)とは 関係なさそうです。

ドライバの *.inf ファイルくらいしか読める手がかりはないですが、 wsimd.inf には

; ----------------------------------------------------------------------
; Notes:
; 0. The term "filter" is used in this INF to refer to an NDIS IM driver that
;    implements a 1:1 relationship between upper and lower bindings.
;
; 1. Items specifically required for a filter have been marked with
;    "!!--Filter Specific--!!" keyword
; 2. In general a filter DOES NOT require a notify object for proper installation.
;    A notify object is only required if one wants to have better control
;    over binding operations or if one wants to receive notifications
;    when other components get installed/removed/bound/unbound.
;    Since Windows 2000 systems do not have support for CopyINF directive,
;    a notify object is required to programmatically copy the miniport INF  
;    file to the system INF directory. Previous versions of this INF file
;    erroneously used to copy the INF files directly by using the CopyFiles 
;    directive.
;    On Windows XP, you can install a filter IM without a notify object.
;    by following the instructions in (4).
とあります。 "NDIS IM driver" というのは NDIS InterMediate driver のこと。 昔のWindows ではNICの状態を拾うAPIが無くて、仕方なく フィルタドライバで実装した、のかも。
(ていうか 「以下の(4)」の(4)が無いんだが…)


かべ@sra-tohoku.co.jp