改めて問題の整理。
ちなみに
前回までの話しで使用していたのはWin7PROのx64版。
今回、同32bit版の環境を用意し、下記の問題は双方で同様に発生した事、解決に至った手段の内容から察するに、32bitでも64bitでも同じ問題があるということになるかと。
[表面的な現象]
・Windows7のPCを再起動するとTCP/IPの通信が出来なくなる。(ネットが使えなくなる)
・電源OFFの状態から起動すると普通に使える場合が多い。
・再起動前は正常に動作している。
・正常動作していない状態の時、LANケーブルを抜いてしばらく待ち、再接続するとネットが使えるようになっている事もある。
[詳細な現象]
・Windows7に設定しているIPアドレスが重複していると判定され、APIPAにより「169.254.*.*」のアドレスが振られる。
・無論、実際には重複などしていない。現にIP設定を変更せず、LANケーブルを引っこ抜くかPCの電源を一旦OFFにすると、そのまま正常に使用できる。
・DHCPを使っても、静的IPを割り当てても全く同様の現象が起こる。
・3社のLANカードを使用しテストしたが現象は再現した。
[仮説と妄想]
・なんかHUB(というかスイッチ)が記憶してる「ポートに割り当てられたIP」を参照してるとか、そんなんじゃねーのかと。(根拠無し)
・coregaのギガビットスイッチに接続している場合のみ起こるのではないかという気がする。(BUFFARO製使ってる自宅では起きないが、それ使ってる会社では100%起きてるので)
・何はともあれ、ハードウェアに罪はない。(WinXPのPCは同じ物使って普通に使えてるし)
[対応方法]
・コントロールパネル「ネットワークと共有センター」を開く
・ローカルエリア接続のプロパティを表示
・「Link-Layer Topology Discovery Mapper I/O Driver」「Link-Layer Topology Discovery Responder」のチェックを外しOKを押して閉じる
・再起動
えーと。例によって、この行為自体の意味は私もよく解らんです。
とりあえず「Win7が何かしてやがる」「ハードには問題ない」「上記機能の説明がいかにも胡散臭かった」という理由でこのようなアクションに及んだわけですが、結果として問題は解決しました。何度再起動してもIPアドレスは正常に使用出来ましたし、逆に上記機能を有効にすると、途端に問題は再現しました。
「
Windows7 に関する覚書」で書いた問題も、ひょっとするとこいつが原因ではないかと勘ぐってます(まだ確認してない)。
なんというか・・・・・・糞みたいな機能追加してる暇があるなら基本的なとこをカッチりテストしとけと。マジで。
助けてGoogleさん!俺もうMS製品使うのヤダw