B23. 無線LAN接続設定のレジストリ修復

(2013- 3-15 初版)   2013- 4- 6更新

 最近、無線LANの通信速度が気になりNetTuneで設定をやり直したが、通信速度が変化するのはレジストリが壊れているらしいことに気付いた。 メインマシンのデスクトップPCの方は比較的正常な動きだがノートPCは802.11n(300Mbps)は性能が出ずに802.11a/g(54Mbps)とあまり通信速度が違わない、更にNetTuneでネットワーク アダプタが多重設定されているように見え重症だ。 ノートPCを再設定するのは時間がかかるのでレジストリを修正してハード構成をより正常にすることにした。 ノートPCは2006年の購入直後にパーティション設定をやり直してWinXPの再インストールなしで使い続けている。 無線LAN子機はこれまで 802.11b、802.11a/g/b、802.11n/g/bを使い、ルーターは802.11a/g+b と802.11n+g+bを使って複数の子機で何度も設定を繰り返しているのでレジストリがおかしくなったらしい。
(注) 無線LAN接続のレジストリの整合性をチェックするだけの場合はレジストリの整合性のチェック・修正へ。

1. 状 況
 レジストリを修正前に通信速度をチェックしたら802.11n(300Mbps)の方が802.11g(54Mbps)の半分ほどの通信速度で朝6時台とは思えない10Mbps以下の速度だった。 有線LAN側は最高63Mbpsが出て満足できる数字だったのでレジストリがおかしくなっていると判断した。 その前にもNetTuneでネットワーク アダプタが2重、3重に表示され空白のエントリがあった。

2.作業手順   レジストリの操作で作業ミスすると動かなくなるので復元可能な環境で作業する
 <ネットワーク アダプタ設定の削除>(注意点を参照
 レジストリを修正処理する前に過去に設定したネットワーク アダプタを付けてドライバ削除でネットワーク アダプタ無しの状態にしてレジストリのハードウェア構成を整理しやすくする。 これでネットワーク アダプタ設定があれば過去の設定の残骸(ごみ)ということになる。(ドライバの削除・再インストールは最小限にした方が良い
 この段階でのパーティション イメージを保存。(ネットワーク アダプタを削除した状態)

 <レジストリからネットワーク アダプタ設定の削除
 この操作はソフトの場合よりも一段と複雑な構造でレジストリ構造があまり壊れていないPCがないと構造を解読できません。 幸いにもデスクトップPCのレジストリが僅かしか壊れていなかったので参考になった。
 ハード構成定義のネットワーク アダプタ設定関係のごみを削除しただけでNetTuneのアダプタ表示が正常になったがソフトとのリンク情報部分にも沢山のごみ情報があった。 ワイヤレス ネットワークだけでなくローカル エリア ネットワークのハード構成があり後者のレジストリ・キー名は個々のPCでほぼ固定だが、ワイヤレス ネットワーク側はPCによってレジストリ・キーの名前が異なる。 接続サービス名(ServiceName、NetCfgInstanceId)はドライバの再インストールで英数字の組合せが別のものに変わってしまうことが多い。
 作業部分は主にHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetの中。 ControlSet001やControlSet003はCurrentControlSet側を修正することで反映されるので作業および内容チェックは不要。
 レジストリ構造の解読はネットワーク アダプタ名で検索してキーが何の情報かを調べて、キーの関係の規則を見つけること。 情報が多いのでこのようなテーブル構造についての知識がないと追いかけられません。 キーの組合せとキーの関係を検索機能を使って検索しまくると規則が見えてくる。 ワイヤレス ネットワークとローカル ネットワークの関係をハードウェア構成とソフトウェア構成のリンク構造にしているので出来の悪いソフトだと簡単に破綻が起きてしまう。
 この段階ではネットワーク アダプタ名で検索してエントリがなくなれば良しとする。
(参考情報) ネットワーク接続関係の主なレジストリ・キーの説明
 この段階でのパーティション イメージを保存。(レジストリ構造の整合性のとれた状態)

 <ドライバ インストールと無線lLANユーティリティの設定と整合性確保のチェック
 802.11a/g/bのNECとBUFFALOの子機のドライバ インストールは両社ともにユーティリティからインストールする方式。
 802.11nのNECの子機のドライバはWndowsの無線LAN機能を使うようになったのでドライバをインストールする方式。
 802.11a/g/bのNEC子機のドライバ インストールは無線LANユーティリティとの組合せなのでドライバをインストールしてから無線LANユーティリティをアンインストールした。(後で作業可能なようにドライバをインストールする部分を保存)
 <レジストリの整合性のチェック・修正
 この後、レジストリ内の無線LAN関係のエントリの整合性をチェック・修正する。(削除し過ぎないこと)
 レジストリ構造を解読できても削除は簡単だが当初の統一性を保つのは無理なので、破綻なく動けば良いということにする。(雑な作業をすると必要な部分まで削除する可能性があるので安全な範囲とする)
 その後のデスクトップPCでの作業と合せてレジストリ関係の情報を参考情報としてまとめた。
 無線LANアダプタ関係のレジストリ設定はあちこちにあり整合性を確保するのが難しく、関係のないおかしなデータが紛れ込んだりしているためパフォーマンス低下の要因になります。 LAN関係相互の機能からあり得ない組合せも存在します。 おかしいと思われるレジストリのエントリについてはレジストリ内を検索してどこにもリンクしないものは削除しても問題が起きないと推定できます。 一通りの作業が終わったら動作チェックして問題ないことを確認します。
(例.無線LANアダプタを2つ設定したのに片方だけのエントリでおかしいと思ったらDHCPが停止して作業ミスを発見、修正して正常になる
 この段階ではネットワーク アダプタの型番の検索だけでなく、サービス名(ServiceName、NetCfgInstanceIdなどの名前)でも検索する必要があります。
(参考情報) ネットワーク接続関係の主なレジストリ・キーの説明
(注) レジストリの長い文字列の修正にはメモ帳との間でコピペ可能(copy & paste)。 繰り返し参照する場所はお気に入り登録すると便利。
 この段階でのパーティション イメージを保存。(レジストリ修復作業後の状態)

3.作業結果 (ノートPC)
 有線LANは正午頃に最高63Mbpsが出てノートPCとしては満足できる結果になった。(MTU: 1448 RWIN: 64768)
 無線LANは同時刻に802.11nで最高36Mbps、ネット側が混雑するする状況では混雑状況に追従するような数値になる。 朝7時の速度チェックでルーター側の速度50〜62Mbpsで802.11nの無線LAN側で34〜42Mbpsになった。
 802.11gは最高16Mbps程度でネット負荷がかかると速度低下するような数値。
 802.11aは最高25Mbpsになる。(NEC製の無線LAN子機を使いSpuer AG機能(圧縮なし)が有効に働く)
 PC性能とそれぞれの無線LAN子機について仕様相応の通信速度が出るようになった。

4.その後 (デスクトップPC) 注意点を参照
 ノートPCでうまくできたのでデスクトップPCで作業した。 欲をかいてWinXPの再構成機能を利用してやったらと考えてドライバ削除・再インストール、ネットワーク関係の再構成、レジストリのチェックをした。 ドライバを削除してからレジストリ チェックをせず、ネットワーク関係の再構成で作業ミスしたのでレジストリが壊れてしまった。(再作業)
 更にデスクトップPC側がハード性能相応の通信速度が出ないのでTCP/IPのリセット、マザーボードBIOS変更をしてから無線LANアダプタのインストールとレジストリのチェックをしたら802.11n/g/bのNEC無線LANアダプタはまともに動いて802.11nで40Mbps超の通信速度が出たが、802.11a/g/bのBUFFALO無線LANアダプタのドライバのインストールが出来なくなった。 ドライバのインストールが完了しないので作業を12日朝のドライブ イメージからやり直した。
 ネット側の負荷がかかっていない時に802.11nで30Mbps台の通信速度が出るようになったので作業完了とした。 802.11gは今までほとんど使っていないが従来よりも通信速度が若干下がったようだ。
 40Mbps以上の通信速度を出すにはAFDの設定が重要でDefaultReceiveWindow、DefaultSendWindowをTCP Window Size (RWIN) と同じ値:129536に設定、LargeBufferSize: 65536、TransmitWorker: 32を設定した。
(注) 通信速度は一度だけ46、47、48、49Mbpsと順に上がったが、その後は再現せず 46Mbpsが最高。
 朝5時の速度チェックでルーター側の速度50〜63Mbpsで802.11nの無線LAN側で34〜46Mbpsになった。
 (親機) NEC WR8370N (子機) NEC WL300NU-GS を隣室との間で5mほど離して測定。

 
(注意点) [ブラウザのボタンで戻る]
まともに動いているならドライバ削除・再インストールはレジストリが壊れる可能性があるのでしない方が良い。
  レジストリの無線LAN子機に関連したキーの値がドライバの再インストールでずれたり位置が変わる。
TCP/IP リセットはできるが削除はできない。 TCP/IPは破損する場合があるとのこと。(下記ページ参照)
  (TCP/IP リセット) MSサポート インターネット プロトコル (TCP/IP) をリセットする方法
            (ログ ファイルのディレクトリ パスを指定する方法でルート ディレクトリにログ ファイルが作られた
  TCP/IP リセットで設定状態が良くなるとは限らないのでTCP/IP リセット前の設定を保存しておく。
  異常な状況でない場合はTCP/IP リセットはしない方が良い。
レジストリの変更作業そのものが危険な作業なのであまり欲張った作業をしない方が安全。
無線LANの通信速度は有線LAN側の通信速度が重要。 有線LAN側が50Mbps以上の高速の場合は7割程度出れば良い(目安)。 有線LAN側が30Mbps以下の場合下がり方が大きい。
複数の無線LANアダプタを全てうまく動かすのは難しい、最も重要な部分が満足できれば良しと妥協すべき。
 <電波干渉のある状況
2.4GHz帯の複数の無線LAN電波が干渉する場合は802.11nでも通信速度への影響が大きい。
  802.11nは複数のチャンネルを使って通信速度を出しているので沢山の無線LANが検出される状況では通信速度が落ちます。 リンク速度はあるのだが通信速度が出ない状況があります。 このような状況を判定する条件は他の無線LANチャンネルと電波の強さです。 こちらは商店街の中のマンションで電波強度のレベル表示がある時に電波干渉の影響がある。 夜10時から12時などの混雑する時間帯が問題。
  (参考記事)  無線LANのチャンネル干渉  (図解の 2.4GHz帯のチャンネル割当ての図が参考になる)
  クライエント マネージャ3での検索画面例  平日の午後  夜間の検索  (通信速度が低い時は10Mbps以下になる
  (参考) 通信速度が異常に低下した場合も無線LANアダプタを外して(ハードウェアの安全な取り外し)挿し直すことで改善する場合あり。

(参考1) NetTuneの設定でパラメータを調整したら混雑時の通信速度低下が少なくなった。
      
MTU :1448   Windows XP PPPoE : 設定せず   Default TTL : 64
      
PMTU Discovery : Enable   Black Hole Detection : Disable
      
Web Accelerator : 10 、10   TCP Window Size (RWIN) : 129536
      (
TCP Window Size (RWIN) タブ内のDuplicate ACKs =2、Selective ACK を設定)
      
AFD DefaultReceiveWindow:129536 DefaultSendWindow:129536
          LargeBufferSize:
65536  TransmitWorker: 32
      LargeBufferSizeとTransmitWorkerの設定で速い通信速度が安定して出るようになる。
     (MTUが重要だがNTT東日本HPのMTU=1454を設定したら速度が出なかった)
     (デスクトップPCは当初AFDが正常にレジストリに反映されなかったが、されるようになる)
     (ノートPC側は旅行用なので
TCP Window Size (RWIN) 64768、AFD 64768, 64768, 65536, 32)
(参考記事) 
ネットワークの調整  (MTU、RWIN、AFDの設定方法が参考になる)

(参考2) BUFFALOの無線LAN接続ユーティリティ(
クライアント マネージャ3)のプロファイル設定に
      「
APはANY拒否設定である(D)」という意味の良く分からない設定があるが、親機側に
      
SSIDステルス機能を設定しているというもの。 AP(親機)がSSIDを送信しないことで
      APへ接続させないようにする場合に使う。(
接続機器があるとAP表示されるとのページあり
      
SSIDステルス機能は自分の側も接続できないがAPはANY拒否設定であるを設定する
      ことでスタートアップ起動の設定で自動的にAPにつながるようになります。
       (設定しないとクライアント マネージャ3だけが起動してAPにはつながらない、)
       (いちいちプロファイルを指定して[接続]ボタンをクリックしてつなぐことになる)

   (以 上)


  更新履歴 (ブラウザのボタンで戻る)
 13- 4- 6: (参考1) NetTune設定AFD LargeBufferSize: 65536 TransmitWorker: 32に更新。
 13- 4- 4: (参考1) NetTune設定Default TTL 64に更新。(不要な説明を削除
       ネットワーク関係の主なレジストリ・キーの説明にTCP/IPとNBT情報リンクを追加。
 13- 3-28: 注意点の電波干渉のある状況を更新。
 13- 3-26: 注意点に電波干渉のある状況を追加。
 13- 3-23: ネットワーク関係の主なレジストリ・キーの説明を更新。
 13- 3-21: 記事を見直し。(注意点追加) ネットワーク関係の主なレジストリ・キーの説明を更新。
 13- 3-19: 記事の構成を見直し。 ネットワーク関係の主なレジストリ・キーの説明を更新。
 13- 3-17: ネットワーク関係の主なレジストリ・キーの説明を更新。 4.その後を追加。
 13- 3-16: ネットワーク関係の主なレジストリ・キーの説明を追加。
 13- 3-15: 初版

(Top)ぶらり旅行写真集