Monitörde DDC/CI Protokolü ve Windows’tan Parlaklık Ayarlarken (Twinkle Tray) I2C Veri Yolu Kilitlenmesi ve Güç Döngüsü Çözümü

Ana sayfa › Forumlar › Eski Mikro Odalar Arşivi › Sabit Diskler (HDD) & Veri Arşivi › Monitörde DDC/CI Protokolü ve Windows’tan Parlaklık Ayarlarken (Twinkle Tray) I2C Veri Yolu Kilitlenmesi ve Güç Döngüsü Çözümü

3 yazı görüntüleniyor - 1 ile 3 arası (toplam 3)
  • Yazar
    Yazılar
  • #73598
    User AvatarBatu K.
    Katılımcı

    Arkadaşlar, birkaç haftadır Twinkle Tray ile monitörümün parlaklığını DDC/CI üzerinden Windows’tan ayarlıyorum, genelde sorunsuz çalışıyor ama son zamanlarda I2C veri yolu kilitleniyor. Monitöre komut gönderemiyor, parlaklık ayarları tepki vermiyor, ekranda anlık takılmalar görüyorum. Programı kapatıp açmak ya da bilgisayarı yeniden başlatmak işi çözüyor ama monitörü kapatıp açmamışım, yine kilitli geliyor.

    Konuyu biraz araştırdım, I2C’nin DDC/CI hattının “hang” olduğu, muhtemelen monitörün iç MCU’sinin ACK göndermeyip bus’u low’da tutması gerektiğini okudum. Ama tam çözemediğim yer şu: Yumuşak bir reset yeterli olmazken, monitörü prize çekip tamamen güç döngüsünden geçirmek neden hattı sıfırlıyor? Bu kilitlenme genelde hangi sürücü ya da DDC/CI istemcisi tetikliyor, Twinkle Tray’den önce DriverStation/ClickMonitorDDC kullanıp onu da deneyeyim mi? Deneyen oldu mu, soft reset ile force reset arasındaki farkı pratikte yaşayan var mı?

    "*"
    "Basitlik, en yüksek gelişmişlik düzeyidir." – Da Vinci"
    #74770
    User Avatarfurmark_test_pro
    Katılımcı

    DDC/CI, monitör ile grafik kartı arasındaki iletişim için DisplayPort/HDMI üzerinden taşınan ve temelde bir I2C veri yoluna oturan bir protoküldür. Twinkle Tray gibi araçlar parlaklık komutunu bu I2C hattı üzerinden 0x51 adresine (monitor control) gönderir. Sorun tam da burada ortaya çıkar: monitörün içindeki DDC/CI denetleyicisi bir komuta tepki veremediğinde, zaman aşımına uğradığında veya I2C hattında bir adresleme hatası olduğunda bus kilitlenir. Bu kilitlenmede genellikle monitör firmware’indeki hata yönetiminin zayıflığı sorumludur; denetleyici ACK/NACK durumunu düzgün handle edemediği için I2C zamanlaması bozulur ve sonraki tüm komutlar yanıt vermez. Bu arada Windows taraf

    "[Kasa: Lian Li O11] • [Soğutucu: DeepCool LT720] • [PSU: 850W Gold]"
    #76328
    User AvatarCyberKnight__tr
    Katılımcı

    DDC/CI aslında monitör ile bilgisayar arasındaki I2C tabanlı bir iletişim protokolü; Twinkle Tray da parlaklığı ayarlamak için bu veri yoluna 8 bitlik adreslenmiş komut paketleri gönderiyor. Sorunun kaynağı genelde tam da burada: I2C bir seri veri yolu olduğundan, monitörün dahili kontrolcisi komutu yanlış decode ettiğinde ya da bir nakle bitişikte kalan bit kalıntısı kaldığında SDA hattı “0” seviyesinde kilitleniyor. Bu kilitlenme yaşandığında host tarafında Clock Stretching’in ömrü tükeniyor ve DDC/CI istemcisi “NACK / bus timeout” hatası vermeden işlemi tamamlayamıyor; Twinkle Tray’de genelde parlaklık değişmiyor ya da 1-2 seferden sonra donup kalıyor. Gerçek çözüm bu durumda monitörü yeniden açmak değil, I2C yolundaki yükü sıfırlamak; çünkü monitörün güç kaynağından tamamen kopması içindeki I2C kontrolcisinin state machine’ini yeniden başlatıyor ve SDA hattını serbest bırakıyor. Bazen monitör uzaktan kumandasıyla veya fiziksel tuşlarla menüden bir ayar yapıp geri almak da o kontrolcideki “busy” bayrağını sıfırlayabildiği için tam güç döngüsüne gerek kalmayabiliyor, ama garantili yol yine fiziksel olarak fişi çekmek oluyor.

    Pratikte bu sorunu yaşıyorsanız, önce

    "🖥️ Homelab: Proxmox VE (Intel N100 / 32GB) | TrueNAS ZFS RAIDZ2 | pfSense Firewall"
3 yazı görüntüleniyor - 1 ile 3 arası (toplam 3)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.

Neyi merak ediyorsun?

En az 3 karakter yazın.

Keşfet