[0.3] Nach Wakeup startet der VDR zu früh / Tevii S480

  • Ich bin mir eigentlich sicher, dass ähnliche Probleme unter 0.2 schon mal gelöst worden sind, ich finde dazu nur nichts...


    Also, die Kiste wacht nun endlich flott auf und nach 15-20s kommt meistens das Bild. Leider nicht immer, denn oft fehlt der Empfang. ca von 3 Neustarts 2 mal ;(


    Wenn ich mir die Logs zu gemüte ziehe sieht es für mich aus, als wenn die Firmware nicht schell genug geladen wurde, denn das DVB Device ist ja vorhanden, aber es gibt kein Signal (femon zeigt nur Müll an).


    ich habe seit einigen Tagen über die force-reload-modules meinen Netzwerktreiber r8169 eingebaut, so dass nun nach dem Hochfahren der vdr nicht wegen fehlender Netzwerkverbindung neu startet, allerdings hatte ich bis davor immer nach dem Resume einwandfrei Empfang. Auch wenn manchmal es so war, dass kurz Bild&Ton da sind und dann der VDR neu startet. Das letztere Verhalten habe ich ja nun beseitigt bekommen, mit der Konsequenz, dass halt nun die Sat Karte nicht immer bereit ist.


    Früher musste man dazu irgendwo den upstart vom vdr bremsen, aber unter 0,3? Ich dachte da sollte das kein Thema mehr sein?


    Vielleicht kann mir jemand auf die Sprünge helfen.


    Thx

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

  • Wenn die Geräte im VDR sichtbar sind, aber no signal kommt weil zu früh auf die Karte zugegriffen wird, hat dies wenig mit dem alten Problem zu tun. Ich würde dies eher als Treiberproblem begreifen.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Hallo Steffen,
    das hatten wir ja schon mal, leider ist Igor anderer Ansicht, da es bei Ihm sauber funktioniert.
    messages:


    force-reload-modules.list:

    Code
    r8169
    dvb_usb_dw2102
    dvb_usb
    dvb_core
    ds3000


    beeinflusst eigentlich die Reihenfolge hier irgendwas, oder ist das egal?


    pmsuspend.log:

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

    Einmal editiert, zuletzt von Torsten73 ()

  • um es nicht aus dem log lesen zu müssen: Die Karte ist


    1.) nach S3 eingebunden in den VDR ?
    2.) in einem nicht funktionierenden Zustand wenn der VDR zu früh drauf zugreift.


    Wenn beide male ja, dann sollte der Treiber dafür sorgen das bei bestimmungsgemässen Gebrauch die Karte nicht abstürzt, sprich den Zugriff blockieren, solange sie noch initalisiert. Punkt.


    Als Workaround: Wenn ich mich recht erinner in /etc/init/vdr-exit-1.conf am Ende ein sleep 2 oder so einbauen.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • bedes kann ich mit ja beantworten. Und es reicht auch ein restart vdr um Empfang zu haben...
    ich habe mal die Datei um ein sleep 2 ergänzt, und die dvb module aus der force-reload-modules entfernt.
    Was mir dabei auffällt, vdr-exit-1.conf interessiert sich nicht für die Firmware in meinem Fall ds3000, das ist absicht, weil der DVB Treiber selber die Firmware laden muß?

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

  • Jop , ich meine in 0.3 werden alle module ermittelt die von dvb-core abhängen, diese werden dann entladen und am ende wieder geladen. Dann wird gewartet bis udev sich beruhigt hat und dann das skript beendet was wiederum den vdr startet. (Ist ja der Treiber reload der auch bei vdr exit status 1 passieren würde, daher der Name ;)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Das funktioniert nicht so ganz, verschlimmbessert eher. Aber Du hast das Script ja entwickelt ;) ...


    Dann zerpflücke ich das mal, damit ich das besser verstehe was da passiert :



    Dazu nun ein paar Fragen von einem Script Laien ;) :
    - Sehe ich das richtig, dass beim Wechsel in den Suspend die DVB Module im Speicher bleiben und erst nach dem Wakeup entfernt und nochmal neu geladen werden? Das ist aber eigentlich nicht im Sinne des Erfinders, normalerweise sollten kritische Module vor dem wechsel auf S3 entfernt werden und nach dem Wakeup neu geladen werden. Prinzipiell habt ihr doch dafür die force-reload modules, oder nicht? Korrigiere mich wenn ich Blödsinn schreibe ;)
    das hatte ich hier auch schon gelesen und so kenne ich das auch ...
    - ein sleep am Ende des Scripts ist noch schlechter vom Ergebniss, dann kommt meistens erst gar nicht der vdr zum Vorschein (bleibt beim Mauszeiger also openbox)
    - /lib/udev/dvbmon_helper || /bin/true prüft dass die dvb Module geladen sind? aber nicht ob die Firmware bereit ist, richtig? ich könnte mir vorstellen, das dort das Problem liegt, die Firmware laden dauert leider eine weile, wie kann man das um die Firmware ergänzen? einfach einen sturen sleep halte ich für höchstens eine Behelfslösung.




    PS:
    Das Script ist übersichtlicher, wenn die Schleifen als solche anhand der Formatierung (tabs) zu erkennen sind ;) aber das ist nur ne Schönheitssache...

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

  • Schon sehr gut verstanden. Warum das etwas verschlimmern sollte leuchtet mir nicht ein.


    - Ja siehst du richtig, wird nach dem Aufwachen neu geladen. Die damalige Annahme war das entgegen der landläufigen Annahme das so weniger Probleme bereitet.
    - leuchtet mir wie gesagt nicht ein, aber muss es ja auch nciht sofort, wenn es so laufen würde wie gedacht, hättest du kein Problem ;)
    - dvbmon_helper ... mal nachlesen ... macht /sbin/initctl emit --no-wait dvb-devices-complete auf das der vdr dann startet, also muss das sleep wenn dann hier davor :)


    Dein Problem liegt daran das


    udevadm settle [options]
    Watches the udev event queue, and exits if all current events are handled.


    Zu schnell fertig ist. Dein eigentliches Problem ist das die Geräteknoten da sind aber es nicht erkennbar ist wann sie benutzt werden dürfen. Sprich entweder sollten die Geräteknoten noch nicht durch udev angelegt werden oder man sorgt im treiber dafür das die Treiber nicht crashen wenn man sie anfässt, obwohl die Karte noch nicht fertig ist.


    Nochmal zurück zum unload/reload:
    In der nächsten yavdr:
    https://bugs.yavdr.com/project…/etc/init/dvb-driver.conf
    https://bugs.yavdr.com/project…r-base/usr/bin/dvb-driver


    Dürfte dir von der Einrückung auch besser gefallen ;)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Erstmal danke für Deine Gedult.


    dvb-devices-complete ist eine Funktion? wo die allerdings sdefiniert wurde, bzw in welchem Script habe ich nicht gefunden.
    Das ganze ist für einen Laien recht kompliziert, und als solchen betrachte ich mich, aber ich versuche Dir zu folgen .
    Wenn ich das vernünftig formulieren könnte, würde es ja durchaus Sinn machen mit Igor darüber zu kommunizieren, aber ich denke, es wäre hilfreich für Ihn die Ursache / Wirkung klar beschreiben zu können. UNd da hapert es vermutlich bei mir. Den seine Test hatten mit S3 funktioniert. Was aber ja nichts bedeuten muß, wer weiß welche schritte er dafür durchführt.
    Denkbar wäre natürlich auch noch, dass so wie ich ihn verstanden habe, es überhaupt nicht erforderlich ist die Treiber zu entladen, hier wird das aber kategorisch gemacht, da es keine Whitelist gibt.


    Da wäre ich schon bei meiner nächsten Idee, Vorschlag... Eine Whitelist zu verwenden, in der man DVB Module eintrgen kann die fehlerfrei ohne entladen arbeiten. Dies sind vermutlich die meisten vom Kernel unterstützten Devices, aber auch z.B. die TT S2-1600. Dies könnte in einem späteren Schritt durchaus im WebIF eingabefähig sein. Denn Module zu entladen die es gar nicht nötig haben verlängert demzufolge die wakeup Zeit.


    Ich hatte hier:
    vdr.conf

    Code
    export HOME=/var/lib/vdr
    
    
    #sleep 10
    exec /usr/bin/vdr -v $VIDEO_DIR -c $CFG_DIR -L $PLUGIN_DIR -r $REC_CMD -s $VDRSHUTDOWN -E $EPG_FILE -u $USER -g /tmp --port $SVDRP_PORT $OPTIONS
    end script


    mal getestet, das funktionierte auch gut.
    habe nun wie Du sagtest vor der dvbmon_helper jetzt mal ein sleep 10 gesetzt. Das teste ich nun gerade.
    Danach werde ich eiunfach mal das laden/entladen der DVB Module ausschalten, mal sehen ob meine Idee überhaupt was bringt.


    Edit:
    6 Resumes später ...
    1. vor dvbmon_helper brachte beim ersten Versuch schon kein Signal
    2. den kompletten Inhalt der else fi deaktiviert, d.h. DVB Treiber weden nun nicht mehr entladen/geladen ...


    Bingo hat bereits 5 mal sauber funktioniert. Wakupzeit zwar trotzdem 25s, aber das liegt noch am r8169 den ich force-reload habe. normnalerweise habe ich spätestens beim 3-4 mal kein Signal gehabt.


    Stellt sich die Frage, wo wird das script drin alles aufgerufen und kann ich nicht den Aufruf selbst besser komplett unterbinden.


    Zumindest scheint meine These zu stimmen und Igor hat offenbar eine sehr gute Arbeit geleistet, einer der wenigen Karten die einen Suspend überleben !

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

    Einmal editiert, zuletzt von Torsten73 ()

  • Zitat

    Original von Torsten73
    Dies könnte in einem späteren Schritt durchaus im WebIF eingabefähig sein.


    Da halte ich nicht viel von. Das Web-Interface ist ein Kompromiss, weil wir noch nicht alles automatisieren können. Es sollte dort eher weniger als mehr rein. Außerdem, wer wäre denn der Anwender dieses Webinterfaces?


    Ein Anwender der herausbekommt, dass sein Treiber den S3 überlebt ist erfahren genug um eine Datei zu editieren und uns das betreffende Kernel-Modul zu nennen, damit wir es in eine Whitelist eintragen können.


    Ein Anwender der das Webinterface braucht, weil er einen VI nicht bedienen kann, macht dann mit dem Web-Interface nur Blödsinn, weil er ohne Sinn und Verstand irgendwelche Kernel-Module eingeben kann.


    Außerdem dürfte die Anzahl der Kernel-Module sehr überschaubar sein. Soll wirklich jeder yaVDR-Anwender mit einem dieser DVB-Tuner immer dieselben Eingaben machen müssen?


    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

  • Nein jeder Automatismus mit benannten dvb Modulen die nicht entladen werden müssen wäre natürlich einem WebIF vorzuziehen.
    Aber ich bin ein Warmduscher und mag ein WebIF, aber es war ja auch nur eine Idee, ich bin nicht böse drum wenn Sie nicht angenommen wird ;) weil es was besseres gibt.
    Nur müssten die Module dann gesammelt werden und eingearbeitet werden, was wieder ein klein wenig mehr Arbeit für Euch bedeutet. Aber die hat man nur einmal.


    Für den aktuellen Stable werde ich wohl ein templeate mir erstellen. Sofern der Fehler in den nächsten Tagen nicht mehr auftritt und ich mir sicher bin, dass das jetzt nicht nur Zufall ist.


    vdr-exit-1.conf wird dann doch überhaupt nicht bei mir benötigt?, aber ich habe noch nicht das script gefunden, von wo aus es aufgerufen wird.

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

  • kompliziert .. naja. Wir versuchen halt die vorhandene Technologie auch zu nutzen ;)


    Zitat

    dvb-devices-complete ist eine Funktion?


    Nein ein signal an upstart. Auf Signale die man an upstart generiert können Jobs starten oder stoppen.


    Zitat

    Da wäre ich schon bei meiner nächsten Idee, Vorschlag... Eine Whitelist zu verwenden,


    An sowas habe ich auch schon gedacht. Eine Blacklist für Module wo gerne mal der Treiber wegstirbt (reload auf exit status 1) und eine Whitelist die S3 überleben.


    Zitat

    Dies sind vermutlich die meisten vom Kernel unterstützten Devices,


    Da glaub ich nicht daran. Da mangelt es mir aber an Hardware oder Feedback welche Karten dies unterstützen.


    Was das WebIF angeht, stimme ich Gerald zu.


    Zitat

    vdr-exit-1.conf wird dann doch überhaupt nicht bei mir benötigt?, aber ich habe noch nicht das script gefunden, von wo aus es aufgerufen wird.


    Es wird von upstart gestartet wenn der VDR sich mit exit status 1 beendet. Siehe "start on".


    Zitat

    Nur müssten die Module dann gesammelt werden und eingearbeitet werden, was wieder ein klein wenig mehr Arbeit für Euch bedeutet. Aber die hat man nur einmal.


    Das sehe ich ganz entspannt, wichtig ist das die Fähigkeit implementiert ist. Wenn erstmal nur ein Modul drin steht, macht es ja erstmal keinen Unterschied.


    Am einfachsten templatest du dir ein
    sbin/initctl emit --no-wait dvb-devices-complete
    exit 0
    an den Anfang der vdr-exit-1.conf



    Für die nächste Version wird der Teil deutlich anders sein, wie du ja schon gesehen hast. Es fehlt noch ein Teil beim neu Laden der Treiber um die Treiber der unterschiedlichen Karten im System seperat handhaben zu können. Aber ich bin auf dem Weg. :) Den Teil brauchen wir eh für eine andere Funktionalität. (Neu laden der Treiber für eine Karte wenn diese keine Daten mehr liefert. Hier soll vdr nicht mehr neu starten, sondern das Gerät aushängen und ein Skript aufrufen um die Treiber neu zu laden. )


    Wie gesagt: Kompliziert ist es nicht, nur anders.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Zitat

    Original von Torsten73
    Nur müssten die Module dann gesammelt werden und eingearbeitet werden, was wieder ein klein wenig mehr Arbeit für Euch bedeutet. Aber die hat man nur einmal.


    Na ja, ein Web-Interface baut sich auch nicht von selbst.


    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

  • Danke Ihr beiden. Bisher läuft es ohne Probleme.


    Dies sind die Module der S480:
    dvb_usb_dw2102
    dvb_usb
    dvb_core
    ds3000


    Vielleicht falle ich Euch ja ein, wenn Ihr eine Whiteliste oder ähnliches eingebaut habt.


    Bis ich selber in der Lage bin Scripte zu entwickeln ist es noch ein langer und weiter Weg und scheitert vermutlich an meiner Zeit, aber wer weiß.
    Aber zu verstehen wie etwas funktioniert ist auch wichtig, Fehler finden ist schließlich auch eine interessante Beschäftigung ;)

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue


  • Sehr gut, sollte aber hierhin bitte.


    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

  • mache ich, sobald meine Anmeldung am Bugtracker genehmigt ist.

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

Jetzt mitmachen!

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