DisplayPort Link Errore dopo il monitoraggio del sonno?


6

Ho appena aggiunto un terzo monitor al mio computer Windows 7 a 64 bit. Quando il monitor si addormenta, non si sveglia. Gli altri due monitor si svegliano bene (collegati tramite hdmi e DVI).

Il nuovo monitor che ho aggiunto (un Asus VS278Q-P) è collegato tramite DisplayPort. La mia scheda video è una scheda AMD Radeon HD 5830 con connessioni DVI, HDMI e DisplayPort che utilizzano la versione 15.20.1046 del driver Catalyst 15.7

Se accendo e spengo il monitor, otterrà un segnale ma quando il monitor si accende, tutte le finestre su quel monitor vengono spostate su un monitor diverso e viene visualizzato un messaggio di errore relativo a un errore di collegamento DisplayPort:

enter image description here

Alcuni forum suggeriscono che abbia a che fare con l'handshake di DisplayPort.

"Accendendo e spegnendo il monitor, si sta forzando il sistema operativo   e / o scheda video per reiniziare l'handshake DP "(fonte: https://www.sapphireforum.com/showthread.php?32467-Displayport-monitor-does-not-wake-from-sleep )

Devo notare che il mio computer è impostato per non dormire mai mentre i miei monitor sono in modalità di sospensione dopo X minuti. Ho visto persone sui forum che credono quando il computer è in stop, quindi quando il computer si sveglia invierà l'handshake di DisplayPort, ma se i monitor dormono e il computer non dorme, quando i monitor si svegliano la scheda video non invierà l'handshake di DisplayPort.

Qualche idea su come risolvere questo? Le due soluzioni alternative che riesco a pensare sono entrambe non ideali:

  1. Accendi / spegni manualmente il monitor ogni volta che va a dormire e riordina le finestre
  2. Imposta i monitor per non dormire mai.

AGGIORNARE

Pensavo che la risposta fosse semplicemente disabilitare DDC / CI come ho risposto di seguito, ma ero un po 'troppo veloce per ritenere che fosse la risposta. Se il monitor si addormenta, posso svegliarlo rapidamente e tutto va bene, ma se si dorme più a lungo di un minuto, non si sveglia. Il ciclo di accensione e spegnimento del monitor fornisce l'errore Errore di collegamento DisplayPort menzionato sopra.


@Psycogeek: nessun adattatore, cavo DP-DP diretto. Il monitor non ha MST o SST che io conosca.
User

Risposte:


8

In realtà penso di aver trovato una risposta a questo. Questo è stato sorprendentemente veloce considerando il numero di vicoli ciechi che ho visto sui forum. Utente nixda su una domanda diversa, La disattivazione del monitor DisplayPort disattiva completamente il monitor , dice:

Disattiva "DisplayData Channel Command Interface" (DDC / CI) nel tuo   impostazioni del monitor.

Per il mio monitor LED Asus ciò significava andare al menu delle impostazioni del monitor (utilizzando il pulsante fisico sul monitor) - & gt; Impostazioni di sistema - & gt; Impostazione OSD - & gt; DDC / CI e spegnendolo.

Sembra che funzioni finora aggiornerà se ciò cambia.

MODIFICARE

Ho pensato che quanto sopra ha risolto perché quando il monitor è andato a dormire (la luce di alimentazione è cambiata da blu ad arancione) ho potuto rapidamente svegliarlo senza problemi. Tuttavia, se il monitor è rimasto a dormire più a lungo (diciamo 1 minuto +), non si sarebbe svegliato. Ora non penso che il passaggio sopra sia necessario.

Ho trovato un post su un forum dell che mi ha portato alla soluzione:

Questa è una scheda video, driver di scheda video o alimentazione del sistema operativo   problema di gestione. Il monitor DP (DisplayPort) è passivo. Semplicemente   aspetta il segnale dalla scheda video per svegliarsi. Alimentando il   monitor off / on, stai forzando il sistema operativo e / o la scheda video   per reiniziare l'handshake DP. La Radeon HD 7790 ha otto potenze   gestione dichiara attraverso la sua tecnologia PowerTune. La mia ipotesi è   da qualche parte in quel software c'è la capacità di dirgli di aggiustare cosa   la carta sta facendo fino alla gestione della potenza. (fonte: http://en.community.dell.com/support-forums/desktop/f/3515/t/19520244 )

Altrove in quel thread è menzione del TriXX Tweak Utility ( collegamento diretto ) da Sapphire Technology (il creatore della mia scheda video). Questo ha un'impostazione Disable ULPS (ULPS = Ultra Low Power State). Ho installato quell'utilità e controllato il Disable ULPS impostazione e abbastanza sicuro quando il mio monitor è andato a dormire, ora potrei riattivarlo. Successo! Bene, quando ho riavviato il mio computer il problema è tornato e aprendo l'utilità TriXX ho potuto vedere che il Disable ULPS la casella di controllo era deselezionata. Per quanto posso dire, l'utilità TriXX non ha modo di fare in modo che il settaggio si attivi tra i riavvii (potrei sbagliarmi su questo).

Scavando ulteriormente ho trovato diversi forum che discutono di disabilitare l'ULPS (principalmente nel contesto dell'elaborazione di problemi di fuoco incrociato, ad es .: Come disabilitare ULPS ). In quei forum la procedura che raccomandano è la ricerca dell'intero registro EnableUlps e cambiando il valore di ogni occorrenza da 1 a 0 (in effetti vedrai diverse variazioni minori sulla procedura esatta ma questo è l'essenza di esso).

In particolare per me ho dovuto cambiare i seguenti tasti: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ amdkmdag - & gt; EnableUlps HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ services \ amdkmdag - & gt; EnableUlps HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet002 \ services \ amdkmdag - & gt; EnableUlps

(Il EnableUlps l'impostazione è apparso altrove ma era già impostata su 0. C'è anche un'altra impostazione EnableUlps_NA che non ho toccato)

Se sei come me, sarai riluttante a cambiare registro per risolvere un problema che sembra debba avere una soluzione prontamente disponibile. Ma mentre ti aggiri, penso che troverai che le soluzioni pronte attualmente non esistono (e batte il cavo DisplayPort con un nastro elettrico che è spesso una soluzione suggerita)

Ho apportato alcune modifiche al registro e ora sembra che funzioni correttamente anche dopo il riavvio.

Nota: la gente dice che sarà necessario ripetere le modifiche del registro ogni volta che si aggiornano i driver video.


In Windows 10, ho dovuto eseguire la ricerca del registro EnableUlps in più posti (cercando Key e Value ), ma una volta li ho impostati tutti 0, quindi sembra aver risolto il mio problema. Grazie!
pickypg

Ho parlato troppo presto. La questione è riemersa. Sto usando un D2715Q. In precedenza avevo provato a utilizzare il cavo mini-DP-DP fornito in dotazione, con la testina grande collegata al monitor e quella piccola sul mio vecchio PC. Con un nuovo PC, avevo anche un cavo DP-DP completo, che mostrava lo stesso problema. Tornando al mini-DP-to-DP, ma con la piccola testina collegata al monitor sembrava davvero risolvere il problema (ho lasciato il EnableUlps cambiare, quindi possono funzionare in tandem).
pickypg

@pickypg: sì, è un problema spinoso. Pensavo di averlo risolto ma non ho contrassegnato la mia risposta come accettata perché in realtà penso di averlo migliorato piuttosto che risolto. La mia soluzione ora è quella di impostare il mio monitor per dormire dopo 3 ore che, in combinazione con le modifiche di cui sopra. significa che non incontro il problema troppo spesso.
User

L'ho visto accadere una volta da quando ho apportato tutte le modifiche di cui sopra. Ugh. Per la cronaca, sono in esecuzione con una scheda AMD.
pickypg

1

grazie per questo thread - mi ha aiutato a risolvere il mio problema.

Mi sono imbattuto in un monitor "misc cinese industriale" con ingresso DP, che si è comportato in questo modo - e, in base alle informazioni disponibili, è colpa del monitor.

Nonostante le intenzioni originali alla base di DP (un singolo hop elettrico dal ponte sud al driver della matrice di visualizzazione), il monitor contiene una "scheda AD", dandogli la possibilità di selezionare tra più ingressi video (VGA, HDMI, DP ). È la "scheda AD" all'interno del monitor che guida il segnale HPD - e non è un semplice pull-up.

Sulla base delle informazioni limitate disponibili, l'HPD è normalmente solo un'indicazione basata sul livello statico (attivo alto), dal video sink alla sorgente video (da monitor a PC), che un video sink è collegato, in un particolare Display Presa di porta sulla sorgente video. Inoltre, presumibilmente può essere utilizzato dal monitor per "agganciare" il segnale HPD = per inviare un impulso di interrupt al PC, che è l'unico modo in cui il monitor deve chiedere al PC una "transazione bus AUX" (il protocollo AUX è apparentemente richiesta-risposta, master-slave, dove il PC è il master). Sulla base della mia esperienza pratica, dubito di quanta utilità abbia questa capacità di "interruzione" - forse non è essenziale.

Nel mio caso, dopo l'accensione a freddo (del display), il PC sembra risvegliare il display bene, ma quando il PC entra in S3 sleep (sospendi su RAM), qualcosa accade nel display, e non lo fa t si riattiva dopo che il PC si è riattivato. Più precisamente, dopo il risveglio da S3, il PC non rileva un display collegato alla presa DP. Perché: apparentemente perché il display non riesce a tirare il filo HPD in alto. È interessante notare che, se si spegne e riaccende il monitor mentre il PC è in modalità sleep, lo schermo si riattiva dopo che il PC si è riattivato dallo stato di sospensione S3. Inoltre, il problema non si verifica se il PC è configurato solo per spegnere il display per risparmiare energia (o retroilluminazione dello schermo) ma la CPU e il sistema operativo rimangono attivi e in esecuzione. Quindi potrebbe essere qualcosa come una "buona notte" che il PC dice al monitor tramite il carico utile AUX o DP durante la sequenza "PC andando a dormire S3", e il monitor risponde andando a dormire per sempre.

È interessante notare che, nel mio monitor colpevole, il segnale HPD è inattivo dopo un ciclo di spegnimento del monitor, con un aspetto pressoché identico a quello che è dopo che il PC host ha perso S3. Ma in qualche modo, il PC riattiva il diplay dopo l'accensione a freddo e l'HPD è in alto. Dopo un risveglio da S3 (non preceduto da un ciclo di accensione del monitor), l'HPD rimane basso. Come se fosse in corso un ulteriore handshaking - non sono sicuro se nel payload, il canale AUX o il segnale HPD stesso (non sono stati controllati con un "scope"). Ad ogni modo, sospetto qualche errore del firmware nel chip del controller della scheda AD del monitor.

Ho notato la parola chiave ULPS in questo dibattito e altrove, in genere nel contesto della grafica AMD. La mia scheda grafica è un Intel IGP (3rd gen = Ivy Bridge in questo caso). Una nota rara o due su ULPS nel contesto della grafica Intel può essere trovata in alcuni documenti hardware aperti, destinati a scrittori di driver open-source. Non serve molto in un ambiente Windows. Inoltre, le utility di configurazione dei driver IGP di intel erano più decenti di quanto non lo siano ora - specialmente l'IEGD era un eccellente pacchetto di driver modificabili, ma ora dobbiamo convivere con ciò che è disponibile. Ho provato a prolungare il DelayedDetectionForDP nel registro, che non ha avuto alcun effetto. E, nel config util e nelle proprietà del driver VGA, non c'è modo di "forzare la porta". (Né esiste un'opzione per disabilitare la dipendenza su DDC, ma la disponibilità di DDC / EDID sembra essere un problema separato, diverso dall'ingresso HPD o dalla misurazione dell'impedenza di carico VGA.)

In definitiva, ho fatto ricorso alla saldatura sulla scheda AD (all'interno del monitor). Per farla breve, fortunatamente c'era una traccia di PCB pulita che andava dal pin 18 sul retro della presa DP. Ho trovato una resistenza da 10 Ohm in serie con l'uscita gate che guida il segnale HPD, quindi l'ho rimosso. E ho collegato un pull-up da 1k a un condensatore vicino (MLCC) bloccando il rail di tensione standby + 3,3V. Ora la linea HPD è sempre tirata in alto, a condizione che il display sia collegato al muro. Apparentemente la possibilità teorica delle interruzioni da monitor a PC non è necessaria per il corretto funzionamento del monitor. Allego una foto solo per illustrazione. photo of an AD board hack, pulling up the HPD signal to +3.3Vstb No, non ho intenzione di menzionare il monitor o i produttori di schede AD. Una parola di cautela: non si può semplicemente accorciare la traccia HPD a + 3,3 V e farla con essa - nel mio caso, l'uscita gate (driver di linea HPD) misurata come 30 Ohms contro GND quando è bassa. Un corto a + 3,3 V farebbe saltare qualcosa (si sarebbe fortunati a friggere solo l'uscita del gate). Questo tipo di hack prende alcune precauzioni e "sa come" che appartengono a electronics.stackexchange.com. Per non parlare di alcuni strumenti di base: una penna saldante, un multimetro con sonde affilate e una forte lente d'ingrandimento. (E qualcosa per dissaldare in modo pulito il resistore di dimensioni seme di papavero ... alcuni userebbero un flusso sottile di aria calda, potrei preferire una pistola per saldatura vintage con un'asola a doppia punta personalizzata fatta di filo AWG24.)


0

Stavo andando a dare la risposta all'utente, ma non ha abbastanza reputazione. La combinazione che ha funzionato per me è stata:

  • Disabilitare "DisplayData Channel Command Interface" (DDC / CI) nelle impostazioni del monitor.
  • Rilevamento hot plug DP - Sempre attivo nelle impostazioni del monitor.

Il sistema:

  • Gigabyte GTX 970
  • Display HP z27q 5K (alimentato da due (!) Cavi DP).

Le due porte DP funzionanti (su 3) sono quelle più lontane dalla porta HDMI.

Ora FINALMENTE ottengo una foto dopo un risveglio e un avvio a freddo. Ora ci è voluto un po '...


-1

Ho avuto lo stesso problema con i miei due monitor Dell P2715Q e ho risolto il problema impostando su Off il PCI Express - Gestione dello stato del collegamento in Power Options. Ho Windows 10.

Il mio computer può andare in modalità di sospensione e svegliarsi senza problemi ora.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.