無線 LAN 子機 WLI-UC-GN を 64bit 版 Windows で使用する#3   2009/10/11 (Sun)  01:07  [Mess With]

BUFFALO の USB タイプの無線 LAN 子機 WLI-UC-GN を メーカーサポート対象外の 64bit 版 Windows で使用するための方法です。当然メーカー保証はないので、すべて自己責任で行ってください。
なお、私の環境では、接続可能な無線 LAN 親機がないため、WLI-UC-GN の子機としての動作(XLink Kaiを含む)はテストしていません。

第3弾。親機として動作させるには、第2弾の方法でも十分かもしれませんが、もうちょっとユーティリティは使い勝手がいいものを、ということで、今回は第2弾とは異なる製品のユーティリティを使用することを目的としています。
この方法の特徴は以下の通りです。

  • チップが同じと見られる PLANEX 社の製品のドライバとユーティリティを利用
  • 親機として WEP、WPA(TKIP/AES)、WPA2(TKIP/AES) といった様々なセキュリティ設定で動作可能
  • ユーティリティはシンプルでわかりやすい
  • 手順は少し面倒

WLI-UC-GN が親機モードになっている場合は、あらかじめ BUFFALO のユーティリティの親機子機切り替えツールで子機モードにしておきます。

あらかじめ WLI-UC-GN を USB ポートに差しておきます。64bit 版 Windows7 では、WLI-UC-GN 用のドライバが OS に同梱されているため、WLI-UC-GN を USB ポートに差すだけで認識されますが、このまま作業を行っていきます。

PLANEX 社のホームページから、GW-USMicroN-G 用のクライアント・マネージャをダウンロードしておきます。第2弾で使用した GW-USMicroN とは異なり、GW-USMicroN-G には、XLink Kai 用のドライバも同梱されています。今回も、XLink Kai の動作確認はできていないのですが、多分動くと思われる方法については触れてみました。

まずはクライアント・マネージャをインストールします。インストール完了時にユーティリティが起動しますがそのまま終了します。

以下の5ファイルに、現在のログインユーザに対する書き込み権限を付与します。面倒ならば、Users に対して書き込み権限を付与してもかまいません。

  • C:\Program Files (x86)\PLANEX ClientManager\Driver\VISTA64_WIN\netr28ux.inf
  • C:\Program Files (x86)\PLANEX ClientManager\Driver\VISTA64_XLINK\rt2870.inf
  • C:\Program Files (x86)\PLANEX ClientManager\Driver\DriverInfo.txt
  • C:\Program Files (x86)\PLANEX ClientManager\SoftAP.ini
  • C:\Program Files (x86)\PLANEX ClientManager\InfraST.exe
書き込み権限の付与

各ファイルを以下のように修正します。

netr28ux.inf は [Planex.NTamd64.6.0] セクションの最後に1行追加して

[Planex.NTamd64.6.0]
; DisplayName               Section                 DeviceID
; -----------               -------                 --------
%Generic.DeviceDesc%        = RTWLAN.ndi,           USB\VID_148F&PID_2870
%Generic.DeviceDesc%        = RTWLANR.ndi,          USB\VID_148F&PID_2770
%GenericWLAN.DeviceDesc%    = RTWLAND.ndi,          USB\VID_148F&PID_2070
%GenericWLAN.DeviceDesc%    = RTWLAN.ndi,           USB\VID_148F&PID_3070
%Generic.DeviceDesc%        = RTWLAN.ndi,           USB\VID_148F&PID_3071
%Generic.DeviceDesc%        = RTWLAN.ndi,           USB\VID_148F&PID_3072
%GenericWLAN.DeviceDesc%    = RTWLAN.ndi,           USB\VID_2019&PID_ED14
%Generic.DeviceDesc%        = RTWLAN.ndi,           USB\VID_0411&PID_015D

といったように修正します。WLI-UC-GN のベンダID が 0411、プロダクトID が 015D のため、このデバイスを認識させるために DeviceID を追加しています。

rt2870.inf は [Planex.NTamd64] セクションの最後に1行追加して

[Planex.NTamd64]
; DisplayName               Section                 DeviceID
; -----------               -------                 --------
%Generic.DeviceDesc%        = Planex.ndi,           USB\VID_148F&PID_2870
%Generic.DeviceDesc%        = Planex.ndi,           USB\VID_2019&PID_ED10
%Generic.DeviceDesc%        = Planex.ndi,           USB\VID_2019&PID_ED06
%Generic.DeviceDesc%        = Planex_2770.ndi,      USB\VID_148F&PID_2770
%GenericWLAN.DeviceDesc%    = Planex_2070.ndi,      USB\VID_148F&PID_2070
%GenericWLAN.DeviceDesc%    = Planex_3070.ndi,      USB\VID_148F&PID_3070
%GenericWLAN.DeviceDesc%    = Planex_3070.ndi,      USB\VID_2019&PID_ED14
%Generic.DeviceDesc%        = Planex.ndi,           USB\VID_0411&PID_015D

といったように修正します。これは XLink Kai 用のドライバ用の修正です。

DriverInfo.txt は、HWID で始まる行を以下のように修正します。

HWID=USB\VID_0411&PID_015D&REV_0101

クライアント・マネージャ接続ウィザード(WizApp.exe)から設定を行う場合、この HWID を参照してデバイスが接続されているかどうか判断しているようで、対象のデバイスが WLI-UC-GN になるようにしています。

SoftAP.ini は [RT2870] セクションの最後に1行追加して

[RT2870]
DeviceID_1=USB\VID_148F&PID_2870
DeviceID_2=USB\VID_0B05&PID_1731
DeviceID_3=USB\VID_0B05&PID_1732
・
・
・
DeviceID_59=USB\VID_1D4D&PID_0002
DeviceID_60=USB\VID_1740&PID_0605
DeviceID_61=USB\VID_1740&PID_0615
DeviceID_62=USB\VID_0411&PID_015D

[RT2070]
DeviceID_1=USB\VID_148F&PID_2070

[RT3070]
DeviceID_1=USB\VID_148F&PID_3070
DeviceID_2=USB\VID_2019&PID_AB25
・
・
・

といったように修正します。SoftAp.exe が対応デバイスが接続されているかどうかを確認するために使用していると思われる設定ファイルで、WLI-UC-GN も対応していると思わせるために、DeviceID を追加しています。

InfraST.exe は、バイナリエディタ等で以下のように修正します。

0002EE98: 32 30
0002EE9A: 30 34
0002EE9E: 39 31
0002EEAA: 45 30
0002EEAC: 44 31
0002EEAE: 31 35
0002EEB0: 34 44

修正する意味があるかどうかはよく分からないのですが、デコンパイル、リバースエンジニアリング、逆アセンブルは使用許諾で禁止となっているので(笑)、もちろんやりません。ただ、SoftAP.exe には設定ファイルがあるのに、InfraST.exe (子機として使用する際の接続先設定を行うユーティリティ)には設定ファイルがないので、バイナリ検索してみたところ、VID_2019&PID_ED14 とあるのが気になりました。これを VID_0411&PID_015D になるように修正しておきます。対応デバイスが接続されているかどうかを確認する際に参照されているのではないかと勝手に想像しています。

WLI-UC-GN 用の DeviceID を追加したのでドライバを更新します。デバイスマネージャから BUFFALO WLI-UC-GN Wireless LAN Adapter のドライバを手動更新し、ディスク使用で C:\Program Files (x86)\PLANEX ClientManager\Driver\VISTA64_WIN\netr28ux.inf を指定します。XLink Kai 用の場合は、C:\Program Files (x86)\PLANEX ClientManager\Driver\VISTA64_XLINK\rt2870.inf を指定します。

C:\Program Files (x86)\PLANEX ClientManager\WizApp.exe を実行します。ウィザードに従って設定を行うことになりますが、ここでは親機として設定するため、ゲームをする → Wi-Fi対応ゲーム機などをネットに接続する、とメニューを選択し、以下、セキュリティ設定を行います。
なお、ドライバ更新前に SoftAP.exe を起動して、アクセスポイントのセキュリティ設定を行ってしまった場合、SoftAP.exe を実行しても固まったようになって親機として正しく動作しません。この場合は、タスクマネージャから SoftAP.exe を強制終了した上で、WizApp.exe を実行し、セキュリティ設定で SSID を変更するなどして設定を保存し直すと正しく動作するようになります。
(余談:手順を確立するにあたって、ドライバ更新が必要か否かを判断するために、ドライバ更新前に SoftAP.exe を実行してみたりしていたのですが、このせいで動作しなくなってしまいかなり試行錯誤しました(汗)。それまでに2度子機の接続確認まで取れていなければ、第3弾(本稿)はなくなっていたかもしれません(笑)。)

親機/子機のモード選択
XLink Kai か否かを選択
セキュリティ設定

親機として正常に動作すると、タスクトレイのアイコンが、USB アダプタのアイコンから電波のアイコンに変化します。コントロールパネルのネットワーク接続で、ワイヤレスネットワーク接続も接続状態になるため、こちらも判断材料として有効です。

ネットワーク接続

最後に、Windowsファイアウォールを使用している場合は、SoftAP.exe に対してアクセスを許可しておきます。これで親機の設定は完了です。適当な子機から接続してみてください。なお、ユーティリティの使用方法については、GW-USMicroN-G のマニュアルがドライバと同じページに公開されているので、それを参考にしてください。

おまけ?
親機として動作させるには、SoftAP.exe を実行するか、InfraST.exe を実行してタスクトレイのアイコンからアクセスポイントモードに切り替えればいいのですが、Windows を起動するたびにこれをやるのは面倒です。第2弾の方法なら Windows 起動時に勝手に親機として動作してくれるのですが、第3弾の方法はそうではありません。実はスタートアップにはクライアント・マネージャが登録されているのですが、UAC の関係で起動に失敗しているのです。これを何とかします。

管理者として実行したコマンドプロンプトから以下のコマンドを実行し、クライアント・マネージャをタスクとして登録します(情報元)。コマンド実行後、スタートアップのクライアント・マネージャのショートカットについては削除してかまいません。

schtasks /Create /tn クライアント・マネージャ /tr "\"C:\Program Files (x86)\PLANEX ClientManager\KickCM.exe\"" /sc ONLOGON /RL HIGHEST /F

ちなみにタスクを解除したい場合は、以下のコマンドを実行します。

schtasks /Delete /tn クライアント・マネージャ /F

KickCM.exe は、現在の設定に合わせて、SoftAP.exe か InfraST.exe のどちらかを起動するアプリケーションなのでしょう。KickCM.exe をタスクとして登録する際、スケジュールの頻度をログオン時にし、レベルを最上位の特権にすることで、UAC を回避しています。

第2弾でも触れましたが、第3弾の方法も WLI-UC-GN に限らず、RT2870 のチップを持つ他の製品についても同じ方法が使えるのではないかと思います。その際は、ベンダID と プロダクトID を該当製品のものに読み替える必要があります。

これにて Wifi 関連は終了。

wikieditish message: Ready to edit this entry.