logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zablokować przesuwanie okien przy przełączaniu monitora w KVM DVI?

k0m0 27 Kwi 2024 18:47 1116 7
REKLAMA
MediaMarkt Black Week
  • Przełącznik DVI USB KVM z czterema portami USB i dwoma portami DVI.
    Witam wszystkich. Chciałbym przedstawić tutaj moją działającą modyfikacje chińskiego KVM ze złączem DVI. Do napisania tego postu pchnęło mnie to że w Internecie nie mogłem znaleźć jasno napisanego rozwiązania pewnej „upierdliwej cechy” używania KVM w pewnych konkretnych zastosowaniach. Mianowicie używam dwóch komputerów i dwóch monitorów ale KVM ma przełączać tylko jeden monitor (pomijam kwestie klawiatury i myszy bo jest chyba jasna) i tu pojawia się pewien problem ustawiam sobie okna na moim dwu monitorowym obszarze pracy. Tak bym mógł mieć jakiś arkusz z danymi na nie przełączalnym monitorze a na drugim przeglądarkę, radio i inne. W tym czasie przełączam KVM by pracować na drugim komputerze ale by mieć widok na arkusz dany z pierwszego komputera na nieprzełączalnym monitorze… i tu problem. Ponieważ system stwierdził że jeden z monitorów został odpięty i wszystkie okna upcha na jednym monitorze (i jak zwykle to co nas interesuje jest zasłonięte).
    Rozwiązaniem tego problemu jest zakup emulatora EDID. Na złącze DVI to koszt około 50zł z chin. Wystarczy go podpiąć szeregowo w złącze w komputerze i cały czas będzie mówił że jakiś monitor jest podpięty, potem ustawić rozdzielczości i chyba po problemie ale nie wiem nie kupiłem. Nie kupiłem ponieważ poszukałem i poczytałem jak to ma działać i za jedną eepromke 24C02… no nie dam.
    Więc do rzeczy, w monitorze znajduje się pamięć z która komunikujemy się przy pomocy magistrali I2C i protokołu DDC. Służy to do tego żeby komputer mógł wymienić informacje z monitorem w jakich trybach graficznych monitor pracuje i ewentualnie ustawić jakieś parametry wyświetlania na monitorze (spotkałem też monitory w których można w ten sposób wchodzić do menu monitora). Mnie interesuje pamięć z parametrami monitora służąca do jego identyfikacji i ustawienia trybu wyświetlania, nazywa się ona EDID. Po sprawdzeniu płyty głównej jakiegoś martwego monitora znalazłem na niej kostkę pamięci 24c02, była ona podłączona prawie bezpośrednio do złącza sygnału (akurat tu VGA). Odczytałem ją i faktycznie jest tam 128 bajtów zgodnych z standardem EDID. Więc już wiem jak to zrobię. Dodam jeszcze że w monitorze dla każdego złącza jest inny eeprom, zasilany przez diodę ze złącza sygnału, więc nawet wyłączony monitor może się przedstawić. By go odczytać rozciąłem kabel i podłączyłem go do programatora.
    Dla VGA:
    9 – VCC
    10 -- GND
    12 – SDA
    15 – SCL
    Dla DVI
    6 – SCL
    7 – SDA
    14 – VCC
    15 – GND
    Schemat pinów złącza DVI Diagram złącza VGA z opisanymi pinami
    Dla osób chcących zgłębić temat tego standardu danych odsyłam do pdf z dokładnym opisem każdego bita w tej pamięci:
    https://glenwing.github.io/docs/VESA-EEDID-A2.pdf
    Oraz dołączam dwa wsady z pamięci mojego monitora dla porównania:
    W internecie jest wiele dekoderów tego typu wsadów.
    philips 24..dvi.bin Download (256 bajtów) philips 24..vga.bin Download (256 bajtów)
    Wsad z wejścia DVI skopiowałem na jakąś kostkę 24C02 pozyskaną z elektrozłomu i podłączyłem do wyjścia KVM chcąc zobaczyć czy zasymuluje to monitor. I ku mojemu zaskoczeni nic się nie stało.
    Po pierwsze znalazłem kilka schematów i opisów w internecie które okazały się błędne po drugie w złączu DVI znajduje się jeden pin który nazywa się “Hot plug detect” (pin 16 HPD). Do pinu podłączyłem rezystor 1k (R4) do zasilania i monitor ruszył.
    Schemat elektryczny modyfikacji KVM z pamięcią 24C02
    Po rozebraniu KVM znalazłem przełączniki do których sygnał z monitorów jest kierowany, są to 3 układy SGM3157, wylutowałem je i podłączyłem tam swój układ. Załączam schemat bo zdjęcia są wykonane przed pierwszym uruchomieniem i jest tam pomylony SDA z SCL, również na płytce nie przewidziałem rezystorów do HPD i są na zdjęciu na pająka (opisy na zdjęciach są już prawidłowe). Dodałem tam jeszcze zworkę R3 by ułatwić sobie programowanie (później). Płytka jest podwójna ponieważ można w ten sposób emulować oba wejścia (teoretycznie mogłbym jeden połączyć z wyjściem monitora, ale zrobiłem tak).
    Modyfikacja płyty KVM z układami scalonymi i okablowaniem Zmodernizowana płyta główna KVM z DVI Zbliżenie na płytkę PCB z złączami DVI i VGA.
    Zbliżenie na płytkę elektroniczną z oznaczeniami DVI INPUT1 i opisanymi punktami połączeń.
    Jeżeli ktoś ma potrzebę użycia KVM DIV w podobny sposób jak ja to polecam zakup tego chińskiego urządzenia i praktycznie żadnym kosztem przerobienie sobie na dużo droższą wersję bez konieczności kupowania emulatora. Sądze że rozwiązanie zadziała równierz na HDMI i VGA (bez pinu HPD) dla DP nie analizowałem rozwiązania.

    Jeśli kogoś interesują koszty:
    KVM DVI 125zl z chin
    24C02 rezystory i kondensator 5zl
    Czas: jedno popołudnie

    Fajne? Ranking DIY
    O autorze
    k0m0
    Poziom 12  
    Offline 
    k0m0 napisał 25 postów o ocenie 15, pomógł 2 razy. Mieszka w mieście Bielsko-Biała. Jest z nami od 2006 roku.
  • REKLAMA
    MediaMarkt Black Week
  • #2 21062557
    gulson
    Administrator Systemowy
    Dziękuję za podzielenie się tym rozwiązaniem! Bardzo przydatna sprawa.
    Jak podasz mi paczkomat na PW, to wyślę mały upominek :)
  • REKLAMA
    MediaMarkt Black Week
  • #3 21062848
    Tommy82
    Poziom 41  
    Ubuntu można skonfigurować tak by używać jednej myszki i klawiatury a dwóch komputerach tak jak by dwa monitory podpięte do rożnych komputerów działały jak dwa pulpity jednego. Po prostu mysz przeskakuje z jednego monitora do drugiego.
  • #4 21063121
    NeoX
    Poziom 15  
    Tommy82 napisał:
    Ubuntu można skonfigurować tak by używać jednej myszki i klawiatury a dwóch komputerach tak jak by dwa monitory podpięte do rożnych komputerów działały jak dwa pulpity jednego. Po prostu mysz przeskakuje z jednego monitora do drugiego.


    Z ciekawości jest jakiś gotowy soft na ubuntu? czy masz na myśli jakieś bardziej customowe rozwiązanie?
  • #6 21063144
    NeoX
    Poziom 15  
    Tommy82 napisał:
    W zasadzie to i tak i tak
    ale
    https://github.com/debauchee/barrier


    Barrier znam (bardziej Synergy, z którego to zostało sforkowane) ale on służy tylko do współdzielenia myszki i klawiatury, nie kojarzę, aby dało się tam zrobić aby dwa ekrany z różnych komputerów połączyć w jeden.

    Chyba, że źle rozumiem "by dwa monitory podpięte do rożnych komputerów działały jak dwa pulpity jednego".
  • #7 21063149
    Tommy82
    Poziom 41  
    Chodziło mi o użycie jednej klawiatury na dwóch monitorach podpiętych do rożnych kompów.
  • #8 21063202
    omin172
    Poziom 15  
    Jak ktoś używa tylko Windows, to niezły jest też Input Director.
REKLAMA