スリープ復帰後にハングアップ現象が解決した…?
うちのPC、Win7にしてから今のWin8.1の間の今まで
ずーっと悩まされていた事がありまして。
スリープ(というかスタンバイ)して復帰すると、途中まで使えているものの、数秒後でPCがいきなりエラーで落ちるのです。
しかも落ちるときの画面もよくあるブルースクリーンエラーなのだけど、画面の1/3ほど右に映像がずれて表示されるという…!
そして、再起動してログを見ようとしてもログがない…!
そして、再起動してログを見ようとしてもログがない…!
OS: Win8.1(しかし現象はWin7の頃から)
CPU: Core 2 Quadの何か
メモリ: 8GB (2GB*4枚)
マザー: Intel G33搭載のインテル純正ボード
拡張USBボード: ルネサスチップの4ポートのUSB3.0ボードと、同じくルネサスチップの2ポートのUSB3.0ボード
ビデオカード: RADEON HDの5550のチップ積んだやつ
分かっていたことは
- OSのクリーンインストールをもしても、治る気配がなかった。
- Win7でもWIn8でも起きる→ということはOSとデバイスまわりの相性だろうと思われる
- ネット上で調べてみると、USB周りがなにかおかしいのではという情報が見つかる
- 基本中の基本の対策らしい、セレクティブ・サスペンドの項目をいじるも変わらず
- 2枚ある、USB3.0カードをそれぞれ外して動かしてみるも、変わらず
- メモリがおかしいのかと疑ってみるも、めんどくさくてWin搭載のメモリテスト以外の対処せず
そんなわけで、スリープボタンを電源メニューから表示させないという本末転倒な方法で対処していました。
(スリープ無効もできたけど、もし対処法見つかった時にどこいじったかわからなくなるの嫌だったから深くはいじらなかった)
そして今日、日経BPの日経WinPC2014年春号についてる付録のバックナンバーを読んでいると
「Win7でスリープするとすぐ復帰しちゃう」というよくありがちな質問が。
でも「逆に、スリープ状態に移行出来ても復帰できないトラブルもあります」とあったので読んでみると
Intel 4 シリーズまでの環境で起きるらしいと書いてあったので、もしかしてビンゴじゃないですか!?これ。
その記事を読み進めていると、
- Intelの4シリーズまでのチップセットのUSBコントローラにはUHCI(USB1.1)とEHCI(USB2.0)が載っている
- 5シリーズ移行からは全部EHCIで動いているらしい。
- UHCIはスリープの解除機能を備えていないので、接続しているデバイス(説明ではマウス)によってはスリープ関連でトラブルになることがあるらしい。
ということが分かった。
しかし、スリープの解除機能備えていないなら、そもそもスリープ出来ないような気がするんだけど、うちの環境ではできているんだけどそれはなんでだ。まあいい。
とあった。
うちの環境でUHCIで動いてるものは、キーボード、マウスと、ペンタブ、USBスピーカー、USBヘッドセットのレシーバーだった。
スリープに関係ありそうな、キーボードとマウスだけいじってみることに。
まずは、USBマウスをPS/2変換アダプタ使ってPS/2ポートに挿した。
…電力不足なのか、マウスが動かなかった。センサーがピコピコ変な光り方してた。
ここで面倒になったので一度電源を切って、USBマウスとUSBキーボードをUSB3.0ポートに挿した。
そのままPCの電源を入れると、なんとBIOSで固まる。でもリセットボタンを押して、無事にWin8.1起動。(ヒヤヒヤした)
試しにスリープさせて、電源ボタンから復帰したら問題なく動く。お、これ治った!?
そうか、要するにマザーが古いのが原因だったか…
しかしその後、何の気なしにもともと挿していたマザーのUSBポートにマウスとキーボードを繋ぎ直したところ、こちらのポートでも問題なくスリープ復帰ができていた。
なんでやねん。
デバイスマネージャを見ると、そのUHCIのほうにマウスとキーボードは接続されている。
症状が発生する環境のはずなんだけど、問題は収まっているように見える。
何が原因なのかさっぱりわからんけど
このままちゃんと動いてくれるといいな…!
2014/03/08 0:10 追記
やっぱりだめだった、というか
USB3.0ポートに挿しても、デバイスマネージャからはUHCIで繋がってるし、やっぱり何度かやってみると落ちる!
PS/2しか方法なさそう…
と思ったら、挿すポート間違えてたりもうてんやわんやなので、とりあえず落ち着いてやります。
しかし、スリープの解除機能備えていないなら、そもそもスリープ出来ないような気がするんだけど、うちの環境ではできているんだけどそれはなんでだ。まあいい。
- とりあえず、対処法を読んでみる。デバイスマネージャ開いて、USBの「Universal Host Controller Interface」関連で出てくるデバイスを見つける。
- USB3.0ポートが空いているなら、そのデバイスをUSB3.0ポートに。
- USB3.0ポートにはxHCIというスリープ解除に対応したUSBコントローラが使われているらしく、それで解決するらしい。
- また、マウスなどはPS/2ポートで接続してもいい。
やっぱりだめだった、というか
USB3.0ポートに挿しても、デバイスマネージャからはUHCIで繋がってるし、やっぱり何度かやってみると落ちる!
PS/2しか方法なさそう…
と思ったら、挿すポート間違えてたりもうてんやわんやなので、とりあえず落ち着いてやります。