web-dev-qa-db-ja.com

モニターのスリープ後のDisplayPortリンク障害?

Windows 7 64ビットコンピューターに3台目のモニターを追加しました。モニターがスリープ状態になっても、起動しません。他の2つのモニターは正常に起動します(hdmiおよびDVIを介して接続)。

追加した新しいモニター(Asus VS278Q-P)はDisplayPort経由で接続されています。私のビデオカードは、Catalyst 15.7ドライバーバージョン15.20.1046を使用してDVI、HDMI、DisplayPort接続を備えたAMD Radeon HD 5830カードです。

モニターの電源をオフにしてからオンにすると、信号が届きますが、モニターがオンになると、そのモニターのすべてのウィンドウが別のモニターに移動し、DisplayPort Link Failureに関するエラーメッセージが表示されます。

enter image description here

一部のフォーラムでは、これがDisplayPortハンドシェイクと関係があると示唆しています。

「モニターの電源をオフ/オンすることで、オペレーティングシステムやビデオカードにDPハンドシェイクを強制的に再開させます」(ソース: https://www.sapphireforum.com/showthread.php?32467-Displayport -monitor-does-not-wake-from-sleep

モニターがX分後にスリープするように設定されている間、コンピューターがスリープしないように設定されていることに注意してください。フォーラムで、コンピュータがスリープに設定されているときにコンピュータがウェイクするとDisplayPortハンドシェイクが送信されると信じていると人々が言うのを見たことがありますが、モニタがスリープし、コンピュータがスリープしない場合、モニタがビデオカードをウェイクするとDisplayPortハンドシェイクを送信しません。

これを解決する方法に関するアイデアはありますか?私が考えることができる2つの回避策はどちらも理想的ではありません。

  1. モニターがスリープ状態になるたびに手動でモニターのオン/オフを切り替え、ウィンドウを再配置する
  2. モニターをスリープしないように設定します。

[〜#〜]更新[〜#〜]

答えは、以下に答えるように、単にDDC/CIを無効にすることだと思いましたが、それが答えだと思い込むのは少し早かったです。モニターがスリープ状態になった場合、すぐに目を覚ますことができ、すべてが正常ですが、1分間以上スリープすると、目覚めません。モニターの電源を入れ直すと、上記のDisplayPort Link Failureエラーが発生します。

6
User

私は実際にこれに対する答えを見つけたと思います。フォーラムで見た行き止まりの数を考えると、これは驚くほど速かった。別の質問でユーザーnixda DisplayPortモニターをオフにすると、モニターが完全に無効になります と言う:

モニター設定で「DisplayData Channel Command Interface」(DDC/CI)を無効にします。

私のAsus LEDモニターの場合、これはモニター設定メニュー(モニターの物理ボタンを使用)->システム設定-> OSDセットアップ-> DDC/CIに移動してオフにすることを意味しました。

今のところ機能しているようで、変更があれば更新されます。

[〜#〜]編集[〜#〜]

モニターがスリープ状態になったとき(電源ライトが青からオレンジに変わった)、問題なくすばやく目覚めることができたので、上記で解決したと思いました。ただし、モニターのスリープ状態が長く続く(たとえば1分以上)と、スリープ状態が解除されません。今は上記の手順は必要ないと思います。

デルのフォーラムに投稿があり、解決策が見つかりました。

これは、ビデオカード、ビデオカードドライバー、またはオペレーティングシステムの電源管理の問題です。モニターDP(DisplayPort)はパッシブです。ビデオカードからの信号が目覚めるのを待つだけです。モニターの電源をオフ/オンすることにより、オペレーティングシステムやビデオカード、あるいはその両方にDPハンドシェイクを強制的に再開させます。 Radeon HD 7790には、PowerTuneテクノロジーによる8つの電源管理状態があります。私の推測では、ソフトウェアのどこかに、電源管理に関する限り、カードの動作を調整するように指示する機能があります。 (ソース: http://en.community.Dell.com/support-forums/desktop/f/3515/t/19520244

そのスレッドの他の場所では、Sapphire Technology(私のビデオカードのメーカー)の TriXX Tweak Utilitydirect link )について言及しています。これには設定Disable ULPS(ULPS =超低電力状態)。そのユーティリティをインストールして、Disable ULPS設定し、モニターがスリープ状態になったときに、それを元に戻すことができるようになりました。成功!まあ、コンピュータを再起動すると問題が再発し、TriXXユーティリティを開くと、Disable ULPSチェックボックスをオフにしました。私が知る限り、TriXXユーティリティには再起動間でその設定を維持する方法がありません(これについては間違っているかもしれません)。

さらに掘り下げて、ULPSの無効化について議論しているフォーラムをいくつか見つけました(主にクロスファイアの問題を解決するためのコンテキストで、例: LPSを無効にする方法 )。それらのフォーラムでは、彼らが推奨する手順は、レジストリ全体でEnableUlpsを検索し、各オカレンスの値を1から0に変更します(実際には、正確な手順にいくつかの小さなバリエーションがありますが、これはその要点です)。

特に私にとっては、次のキーを変更する必要がありました。

EnableUlps設定は別の場所にありましたが、すでに0に設定されていました。また、別の設定EnableUlps_NA触れなかった)

私のような場合は、レジストリを変更して、すぐに利用できる解決策があるように見える問題を修正することに消極的です。しかし、掘り下げてみると、すぐに使える解決策は現在存在しないことがわかると思います(そして、提案されている解決策であることが多い電気テープでDisplayPortケーブルを変更するよりも優れています)。

レジストリを微調整したところ、再起動しても正常に動作しているようです。

注:ビデオドライバーを更新するたびにレジストリの調整をやり直す必要があると言われています。

8
User

このスレッドに感謝-それは私自身の問題をデバッグするのに役立ちました。

このように動作するDP入力を備えた「その他の中国の工業用」モニターに出くわしました。入手可能な情報に基づいて、それはモニターの障害です。

DP(サウスブリッジからディスプレイマトリックスドライバーへの単一の電気ホップ)の背後にある当初の意図にもかかわらず、モニターには「ADボード」が含まれており、複数のビデオ入力(VGA、HDMI、DP)から選択することができます)。 HPD信号を駆動するのはモニター内部の「ADボード」であり、単純なプルアップではありません。

利用可能な限られた情報に基づくと、HPDは通常、ビデオシンクからビデオソースへ(モニターからPCへ)、特定のディスプレイにビデオシンクが接続されている静的レベルベース(アクティブ高)の単なる表示ですビデオソースのポートソケット。さらに、これはモニターがHPD信号を「フックフラッシュ」するために使用できるとされており、PCに割り込みパルスを送信するためにモニターに「AUXバストランザクション」を要求する唯一の方法です(AUXプロトコルは、明らかにPCがマスターである要求/応答、マスター/スレーブです)。私の実際の経験に基づいて、私はこの「割り込み」機能がどれだけ使用されているか疑問です-それはおそらく必須ではありません。

私の場合、(ディスプレイの)コールドパワーアップ後、PCはディスプレイを正常にウェイクアップするように見えますが、PCがS3スリープ(RAMへのサスペンド)に入ると、ディスプレイで何かが発生し、 t PCがウェイクアップした後にウェイクアップします。より正確には、S3からウェイクアップした後、PCはDPソケットに接続されたディスプレイを検出しません。理由:ディスプレイがHPDワイヤーを引き上げることができないためです。興味深いことに、PCがスリープ状態のときにモニターの電源を入れ直すと、PCがS3スリープから復帰した後にディスプレイが復帰します。また、PCがディスプレイをオフにして電力(または画面のバックライト)を節約するように構成されていても、CPUとOSは稼働したままであれば問題は発生しません。したがって、PCが「PCがS3スリープに移行する」シーケンス中にAUXまたはDPペイロードを介してモニターに伝える「おやすみ」のようなものであり、モニターは完全にスリープ状態になることで応答します。

興味深いことに、私の犯したモニターでは、モニターの電源を入れ直した後、HPD信号は非アクティブになり、ホストPCがS3をスリープ状態にした後の状態とほとんど同じに見えます。しかし、どういうわけか、PCはコールドパワーアップ後に表示を再開し、HPDが高くなります。 S3からのウェイクアップ後(モニターのパワーサイクルが先行しない)、HPDはローのままです。何らかの追加のハンドシェイクが行われているかのように-ペイロード、AUXチャネル、またはHPD信号自体(スコープで確認されていない)かどうかは不明です。どちらにしても、モニターのADボードのコントローラーチップにファームウェアのバグがあると思われます。

この議論やその他の場所、通常はAMDグラフィックスのコンテキストでULPSキーワードに気づきました。私のグラフィックアダプターはIntel IGP(この場合、第3世代= Ivy Bridge)です。 IntelグラフィックスのコンテキストにおけるULPSに関するまれな注意事項は、オープンソースのドライバー作成者を対象としたいくつかのオープンハードウェアのドキュメントに記載されています。 Windows環境ではあまり使用されません。また、インテルのIGPドライバー設定ユーティリティは、以前よりもまともでした-特にIEGDは、調整可能な優れたドライバーパッケージでしたが、今は、利用可能なものを使用する必要があります。レジストリでDelayedDetectionForDPを延長しようとしましたが、効果はありませんでした。また、config utilおよびVGAドライバーのプロパティでは、「ポートを強制的にアップ」する方法はありません。 (DDCへの依存を無効にするオプションはありませんが、DDC/EDIDの可用性は、HPD入力やVGA負荷インピーダンス測定とは異なり、別の問題のようです。)

最終的に、私はADボード(モニターの内側)にはんだ付けしました。長い話ですが、幸いなことに、DPソケットの背面のピン18からきちんとしたPCBトレースがありました。 HPD信号を駆動するゲート出力と直列に10オームの抵抗を見つけたので、それを削除しました。また、+ 3.3Vスタンバイ電圧レールをブロックする近くのコンデンサ(MLCC)に1kプルアップを取り付けました。これで、ディスプレイが壁に差し込まれている限り、HPDラインは常にHighになります。明らかに、モニターからPCへの割り込みの理論的な可能性は、モニターが適切に機能するための要件ではありません。イラストを貼るだけです photo of an AD board hack, pulling up the HPD signal to +3.3Vstb いいえモニターやADボードのメーカーについては触れません。注意:HPDトレースを+ 3.3Vに短絡するだけでは完了できません。私の場合、ゲート出力(HPDラインドライバー)は、LOWのときにGNDに対して30オームと測定されます。 + 3.3Vへの短絡は何かを吹き飛ばします(ゲート出力だけを揚げるのは幸運でしょう)。この種のハックは、electronics.stackexchange.comに属するいくつかの予防策と「方法を知る」ことです。いくつかの基本的なツールは言うまでもありません:はんだ付けペン、鋭いプローブを備えたマルチメーター、および強力な拡大鏡。 (そして、ケシの実のサイズの抵抗器をきれいにはんだ除去するための何か...熱風の薄い流れを使用するものもあり、AWG24ワイヤーで作られたカスタムのダブルチップループを備えたヴィンテージのはんだ付けガンを好むかもしれません。)

1
frr

ユーザーからの回答に便乗するつもりでしたが、十分な評判がありませんでした。私にとってうまくいった組み合わせは:

  • モニター設定で「DisplayData Channel Command Interface」(DDC/CI)を無効にします。
  • DPホットプラグ検出-モニター設定では常にアクティブです。

システム:

  • ギガバイトGTX 970
  • HP z27q 5Kディスプレイ(2本の(!)DPケーブルを使用)。

(3つのうち)機能した2つのDPポートは、HDMIポートから最も遠いポートです。

今、私は最後に目覚めた後とコールドブートで写真を取得します。しばらく時間がかかりました...

0
rothschild86