Ausgeschalteter TV wird an Receiver nicht erkannt

  • Nein er hat Probleme wenn der TV beim start aus ist...LESEN!


    Das HDMI durchschleifen im Standby geht fehlerfrei, der TV kriegt aber kein Handshake vom VDR...

    Client 1 Hardware : MSI Z87-G43, I5-4570, 4 GB Ram (oversized aber war über :) ),Zotac NVidia GT630 (25 Watt),Thermaltake DH202 mit iMon-LCD ( 0038 ) und vdr-plugin-imon
    Software : yaVDR 0.6,sofhhddevice @ 1920x1080@50Hz
    Server Hardware : MSI Z87-G43, I7-4790, 16 GB RAM, 5x3 TB WD Red, Digibit-R1 (2 Devices)
    Software : Ubuntu 16.04 LTS mit yavdr-Paketen,virtualbox,diverse VM's


    Yoda: Dunkel die andere Seite ist...sehr dunkel!
    Obi-Wan: Mecker nicht, sondern iss endlich dein Toast ...

  • Mit folgendem Script lässt sich die aktuelle Edid auslesen:

    Leider ändert sich die erst nach "restart xorg-launcher". Auch die Erkennung im WebIf von yaVDR startet X einmal neu. So bekommt man also weder mit ob der TV ein- noch ob er ausgeschaltet wird. Ständig X neu zu starten ist ja wohl keine Lösung.


    Ich habe nun auch einen alten Thread (Wie werden Display + Device -Info im WFE ermittelt?) gefunden. Aber nach ersten Lösungsversuchen kommt man hier auch nicht weiter und die Beträge driften ab.


    Man müsste also wohl mal schauen was X beim Start tolles macht, um den Monitor zu erkennen.


    Wer zu diesem Thema noch Tipps hat schreibe die gerne. So ganz will ich noch nicht aufgeben, aber wenn ich über HDMI nicht weiterkomme, werde ich als Notlösung mit PING arbeiten. Aber bitte nicht auch hier in solche oder Hardwarelösungen abdriften. ;D


    Frank

  • Der Versuch die EDID mit folgendem Befehl auszulesen klappt leider auch nicht:

    Hat dazu jemand eine Idee?
    Klappt das bei euch?


    Frank

  • Die möchtest ja nicht in "Hardwarelösungen abdriften", aber ich mache das ganz simpel mit einen CEC-Adapter.


    TV aus:

    Code
    vdr01_64 ~ # echo pow 0 | cec-client -s -d 1
    opening a connection to the CEC adapter...
    power status: standby
    vdr01_64 ~ #


    TV während des Einschaltens:

    Code
    vdr01_64 ~ # echo pow 0 | cec-client -s -d 1
    opening a connection to the CEC adapter...
    power status: in transition from standby to on
    vdr01_64 ~ #


    TV eingeschaltet:

    Code
    vdr01_64 ~ # echo pow 0 | cec-client -s -d 1
    opening a connection to the CEC adapter...
    power status: on
    vdr01_64 ~ #
  • Hat dazu jemand eine Idee?
    Klappt das bei euch?

    Dem X-Server darf keine EDID aufgezwungen worden sein, wenn man die auslesen will - bei yaVDR gibt es dafür eine eigene minimale X-config, die genutzt wird, wenn man die Bildschirme übers WFE neu erkennen lässt: https://github.com/yavdr/yavdr…rg.conf.rescan/100_rescan


    Ich denke es ist sinnvoller den X-Server damit zu starten und dann mit nvidia-xconfig die EDID auszulesen und in eine Datei zu schreiben - das müsste in etwa so gehen:

    Code
    export DISPLAY=:1
    sudo stop xorg-launcher
    sudo stop vdr
    sudo process-template /etc/X11/xorg.conf.rescan
    sudo start xorg-launcher XORGCONFIG=/etc/X11/xorg.conf.rescan
    # ein paar Sekunden warten
    sudo stop xorg-launcher
    nvidia-xconfig --extract-edids-from-file=/var/log/Xorg.1.log --extract-edids-output-file=/etc/X11/my-edid.bin
    sudo start vdr
    sudo start xorg-launcher

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • 3PO: Genausowas stelle ich mir vor aber ohne Hardware für 40EUR kaufen zu müssen, die ich ansonsten nicht brauche.
    Ich hatte gehofft get-edid kann sowas, aber das klappt zumindest bei mir nicht.


    Habe auch mal Alexanders Sachen gemacht. Es wird aber immer /etc/X11/xorg.conf.yavdr genommen. Also habe ich /etc/X11/xorg.conf.rescan entsprechend umbenannt. Aber es kommt keine EDID raus.


    So recht weis ich nicht, was ich damit erreichen soll. Meinst du das get-edid ohne diese feste EDID funktioniert?


    Frank

  • Geht es eventuell so, wenn man den Loglevel des X-Server hochdreht? http://kodi.wiki/view/Creating…rating_.26_using_edid.bin

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • So richtig habe ich noch nicht verstanden, was Du mit den EDID Daten anfangen willst?
    Du willst doch den TV via HDMI ein- bzw. ausschalten, oder habe ich das falsch verstanden?


    Das was Du brauchst, ist eine Steuerung via CEC. Leider aber können das Nvidia Karten nicht, auch die ganz aktuellen mit HDMI 2.0 nicht.


    Deshalb wirst Du wohl einen CEC Adapter brauchen, oder eine Grafikkarte von einem Hersteller, der CEC unterstützt.


    Ich habe das bei mir ein paar kleinen Script so gelöst, dass wenn der VDR eingeschaltet wird, der TV auch mit startet, jedoch nicht, wenn es sich um einen Timerstart, z.B. zur Aufnahme handelt.
    Beim Herunterfahren, wird dann der TV auch mit ausgeschaltet.

  • Zitat

    mein TV von LG ist seit einiger Zeit (erst yaVDR 0.5 jetzt 0.6.1) nicht mehr direkt sondern über einen Yamaha RX-V475 an den VDR (siehe Signatur) angeschlossen.
    TV <- HDMI -> Receiver <- HDMI -> VDR
    Seit dem habe ich folgendes Problem. Der Receiver läßt das HDMI-Signal auch in ausgeschaltetem Zustand durch. Außer bei Filmen bleibt er dies in der Regel auch. Wenn der TV vor dem VDR eingeschaltet wurde ist alles gut und es kommt ganz normal ab dem Booten ein Bild. Wenn der TV beim Hochfahren des VDR aus war, bleibt das Bild nach dem Einschalten des TVs schwarz.


    Den TV möchte ich wie bisher per IR einschalten.
    Ich muss nur irgendwie erkennen, ob der TV ein- oder ausgeschaltet ist, um den X-Server neu zu starten.


    Ist der TV aus kommt die EDID vom Receiver.
    Ist der TV an kommt die EDID vom TV.


    Macht aber natürlich keinen Sinn, wenn ich X neu starten muss, um an die EDID zu kommen.


    Frank

  • ohne Hardware für 40EUR kaufen zu müssen, die ich ansonsten nicht brauche

    Es erhöht aber den WAF ungemein, wenn man den VDR (z.B. auch mit Fernbedienung) einschaltet und über CEC wird der TV eingeschaltet und auf den Eingang umgeschaltet, an dem der VDR hängt. Ich habe das ähnlich wie 3PO gelöst.
    Edit: Voraussetzung ist natürlich, dass Dein Receiver im Standy das HDMI-Signal (mit CEC) durchlässt.


    Eine andere Möglichkeit wäre vielleicht, mit einer Universalfernbedienung gleichzeitig VDR und TV ein-/umzuschalten (Makros). Das habe ich selbst noch nicht probiert.

    Software: yaVDR0.7-Ansible Ubuntu 22.04 (jammy) mit vdr-2.6.6
    Fernseher: SONY KDL-32D3000


  • Eine andere Möglichkeit wäre vielleicht, mit einer Universalfernbedienung gleichzeitig VDR und TV ein-/umzuschalten (Makros). Das habe ich selbst noch nicht probiert.


    Habe ich früher auch so gemacht. Inzwischen suche ich mir den Film den ich sehen möchte auf Smartphone, oder Tablet aus und caste ihn zum Client. Der schaltet TV und AVR an und spielt den Film ab.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Alles richtig. Aber ich nutze den TV nur als dummen Monitor. Außer dem Einschalter, der auf eine freie Taste der Universal-Fernbedienung programmiert ist, brauchen wir da nichts.
    Nur gibt der TV eben kein Bild aus, wenn er nach dem VDR gestartet wird, weil der VDR wegen einer Aufnahme schon läuft.


    Warum die Beschaffung der EDID nur durch Neustart des X-Servers funktioniert, hat sich mir noch nicht erschlossen.
    Oder geht das generell nur, wenn der X-Server nicht läuft.


    Frank

  • Alles richtig. Aber ich nutze den TV nur als dummen Monitor. Außer dem Einschalter, der auf eine freie Taste der Universal-Fernbedienung programmiert ist, brauchen wir da nichts.


    Ich doch auch, ich brauche ja noch nicht mal den Einschalter. ;)


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Hi !


    Also eine aehnliche Kombi habe ich auch (Onkyo Receiver und Samsung TV) aber der VDR nimmt die edid vom Receiver und nicht die vom TV .... den Receiver hab ich eingestellt das er immer 1080p ausgibt.
    Und bei der Erkennung im WF steht dort auch was mit dem Onkyo und nicht mit dem Samsung TV. Aber ich verstehe sinn und Zweck der Übung nicht mal den Receiver an und mal aus zu lassen, wozu hab ich ihn bzw. wozu lass ich ihn aus ?
    Der VDR kann sich ja nur auf ein edid einschiessen.


    Gruss Gerd

    vdr => p8b75-m lx / pentium g2020t / 8 GB Ram / zotac gt 630 / cine S2 V5.5 / 60 gb ocz ssd / 640 gb wd scorpio blue / display noritake 256x64-3900 / chenbro PC71023 gehaeuse / yavdr stable / softhddevice


    spielsystem => p8b75-m le / intel core i3 3220T / ubuntu lts 14.04 / 16 GB ram / zotac gt 630 / cine S2 V6.2 / yavdr stable pakete / softhddevice / pulseaudio+alsa


    spielwiese => Zotac Zbox ID45 / 120 GB mSATA / via Satip => Octopus Net / yavdr stable / softhddevice

  • Nur mal so am Rande...vielleicht liest ja auch wer den Eingangspost...


    Der TV zeigt kein Bild wenn der TV erst nach dem Start des VDR angeschaltet wird...unabhängig davon ob der Reciever aus oder an ist!



    Und Sinn hat das schon den Reciever zum einfachem TV gucken aus zu lassen. Nachrichten klingen auch über 5.1 nicht besser und auch wenn Helene Fischer im TV leiert macht der Reciever dadurch die Musik nicht erträglicher...


    Kurzum: der Mann hat ein Problem mit der Firmware des TVs welches es zu lösen gilt...ich muss mich da ausklinken da ich nicht so weit in die Configs reinblicke.

    Client 1 Hardware : MSI Z87-G43, I5-4570, 4 GB Ram (oversized aber war über :) ),Zotac NVidia GT630 (25 Watt),Thermaltake DH202 mit iMon-LCD ( 0038 ) und vdr-plugin-imon
    Software : yaVDR 0.6,sofhhddevice @ 1920x1080@50Hz
    Server Hardware : MSI Z87-G43, I7-4790, 16 GB RAM, 5x3 TB WD Red, Digibit-R1 (2 Devices)
    Software : Ubuntu 16.04 LTS mit yavdr-Paketen,virtualbox,diverse VM's


    Yoda: Dunkel die andere Seite ist...sehr dunkel!
    Obi-Wan: Mecker nicht, sondern iss endlich dein Toast ...

  • Dem X-Server darf keine EDID aufgezwungen worden sein, wenn man die auslesen will

    Vielleicht ist dies der entscheidene Hinweis.


    Ich habe mal im WebIf die Erkennung ohne TV laufen lassen und abgespeichert. Dann habe ich die feste EDID einfach auskommentiert.


    Damit läuft alles wie bisher aber nun kann ich mit dem Befehl getNVdisplays den Status des TV abfragen.
    TV an: 0:TV-1:0x00000200:LG Electronics LG TV
    TV aus: 0:TV-1:0x00000200:Yamaha Corporation RX-V475


    Damit habe ich mir ein kleines Script geschrieben, was nach dem X-Server gestartet wird:



    Damit komme ich erstmal klar.


    Eine Sache macht mich allerdings noch stutzig. Wenn ich den TV bei laufendem VDR aus- und wieder einschalte ist das Bild weg (mit dem Script kommt es dann nach 5 Sekunden wieder).
    Wenn ich das gleiche in Kodi mache ist das Bild ohne Hilfe wieder da. Hat Kodi da eigene X-Einstellungen? Wieso gibt es da kein Problem?


    Frank

  • Hallo,


    da ich nun auf yaVDR Ansible umsteige brauche ich mal wieder Hilfe bei der Anpassung der obigen Scripte.

    Gibt es eine Alternative zu /usr/bin/getNVdisplays? Das gibt es bei yaVDR Ansible leider nicht.

    Weis jemand was besseres als systemctl restart x@vt7.service statt restart xorg-launcher? Das funktioniert zwar, aber scheint mir doch eine relativ große Keule.

    Wie baue ich das Script bei SystemD ein?

  • Gibt es eine Alternative zu /usr/bin/getNVdisplays?

    Soweit ich das sehe brauchst du für das Skript nur den Namen der Displays aus den EDID-Infos - die kann man sich mit nvidia-xconfig holen (das arbeitet unabhängig von einem laufenden X-Server und stört sich auch nicht daran, wenn man für den X-Server eine EDID geladen hat, d.h. es zeigt immer den Ist-Zustand, nicht die erzwungene Monitor-Konfiguration):nvidia-xconfig --query-gpu-info | awk -F ': ' '/EDID Name/ {print $2}'

    Weis jemand was besseres als systemctl restart x@vt7.service statt restart xorg-launcher? Das funktioniert zwar, aber scheint mir doch eine relativ große Keule.

    Beide Befehle starten jeweils den X-Server neu. Solange du keinen anderen Weg findest, um den TV/Receiver dazu zu bringen etwas anzuzeigen (hast du mal Versucht mit xrandr oder nvidia-settings den Mode neu zu setzen?) wüsste ich nicht, wie man den Neustart des X-Servers umgehen kann.

    Wie baue ich das Script bei SystemD ein?

    Zum Beispiel als Systemd-Unit, die von x@vt7.service abhängt.

    Code: /etc/systemd/system/wuergaround.service
    [Unit]
    Description=Restart X-Server if connected Display has changed
    After=x@vt7.service
    
    [Service]
    ExecStart=/usr/local/sbin/checktv
    
    [Install]
    WantedBy=multi-user.target

    Und dann noch mit systemctl enable --now wuergaround.service aktivieren.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 ()

  • Mann, bist du immer schnell.

    Ich bin auf folgende Lösung gekommen: get-edid 2>/dev/null|parse-edid 2>/dev/null|grep ModelName. Das liefert entweder ModelName "RX-V475" oder ModelName "LG TV".

    Das Script sieht damit so aus: /usr/local/sbin/checktv

    Leider funktioniert xrandr --output HDMI-0 --auto meist nur einmal. Also bin ich doch wieder bei systemctl restart x@vt7.service gelandet. Der lässt allerdings den yavdr-frontend abstürzen, was den VDR mit riss. Daher habe ich den VDR dann noch detached vor dem Restart. Das Frontend stürzt immer noch ab, aber der VDR überlebt es (siehe syslog.txt)


    Einbinden in SystemD hat auch funktioniert und das Bild kommt trotz der "großen Keule" innerhalb von 1-2 Sekunden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!