[gelöst] Tvheadend und Standby

  • Ja, ich habe beim googeln schon einiges entdeckt. Bei einigen funktioniert es bei einigen nicht. So, bevor ich jetzt die Einstellungen poste, muss ich noch was sagen *schäm*...
    Als ich von OMV v2 auf v3 umgestiegen bin, habe ich natürlich auch all die Skripte im Zusammenhang mit TVH, die unter v2 einwandfrei gelaufen sind, gesichert und mit übernommen. Nachdem dies aber nicht funktioniert hat, habe ich diese gelöscht, zu meiner Schande aber nicht alle. Unter /etc/pm/sleep.d gab es noch zwei Skripte die ich anscheinend übersehen habe. Eines davon betraf den Restart von TVH nach dem Ruhezustand. Vielleicht sind sich diese beiden Skripte, also das übersehene in sleep.d und das "Service-Skript", in die Quere gekommen. Habe jetzt mal die beiden Überreste gelöscht und natürlich den Server neu gestartet.
    Ein Versuch mit dem manuellen Hibernate (bei aktiviertem ASP) verlief positiv. Ob es auch mit dem ASP funktioniert, wenn dieser den Rechner in den Ruhezustand schickt, kann ich erst morgen testen, da bis heute 23.00 Uhr der Server wach gehalten wird. Also ich werde weiter berichten.

    So, nun meine ASP Einstellungen:


    Ergänzend möchte ich noch hinzufügen, dass ich bis heute unter "Erweiterte Optionen" den Eintrag: TEMPPROCNAMES="-" eingetragen gehabt habe. Zuerst hatte ich diese Einstellung in Verdacht der Sündenbock zu sein, jedoch nach entfernen dieses, brachte auch keine Besserung. Ohne diesen Eintrag funktionierte ASP (dies war vor einigen Monaten) nicht und der Rechner bliebe immer eingeschalten. Vielleicht hat sich in der Zwischenzeit etwas getan und dieser Eintrag wurde obsolete. Jetzt lasse ich es einmal so.


    Edit: Nach Erstellen des Beitrages habe ich noch einen kleinen Test mit service dvbsky-sleep status gemacht und das Ergebnis sah so aus:


    Code
    root@HomeServer:~# service dvbsky-sleep status
    ● dvbsky-sleep.service - Restart tvheadend and dvbsky
       Loaded: loaded (/etc/systemd/system/dvbsky-sleep.service; enabled)
       Active: inactive (dead)
    root@HomeServer:~#

    Also, schaut es schon einmal ganz anders aus, als bei meinem Posting oben. Vielleicht lag es wirklich an den übersehenen Skripten und es funktioniert jetzt. Wie gesagt, ich werde morgen weiter testen. Außerhalb der ASP "Erzwungenen Zeit von 15.00-23.00 Uhr".

    Danke nochmals

    HTPC: 2x Apple TV 4K, 64GB, iOS (immer aktuell), MrMC-App (immer aktuell), gesteuert über Harmony 650 oder Apple Remote

    OMV-Server-HW: Fujitsu D3417-B2 (Intel-LAN), Intel Xeon E3-1245 v6 Kaby Lake (4x3.70GHz), 16GB-Ram ECC, 1x512GB SSD Samsung 850 Pro (30GB system, 4GB swap, rest - Daten), 1x 10TB WD Red Pro, 1x 3TB WD Red (basic setup) - Digibit R1 Sat-IP-Server mit SatIP-Axe-Firmware

    OMV-Server-SW: Debian 9 mit backports-Kernel, OMV v4, AutoShutdown-Plugin, Virtualbox (mit DSM 6.2.x), Docker: PlexMediaServer, TVH-Server v4.2.x (stable) und weitere

  • Guten Morgen,

    so, nach einem Test kann ich wirklich bestätigen, dass es die übersehenen Skripte waren, die dazwischen gefunkt haben. Nachdem ich diese gelöscht habe funktioniert es mit dem Skript/Service wunderbar.

    Sorry für die Umstände und danke fürs Helfen.

    Huberer

    HTPC: 2x Apple TV 4K, 64GB, iOS (immer aktuell), MrMC-App (immer aktuell), gesteuert über Harmony 650 oder Apple Remote

    OMV-Server-HW: Fujitsu D3417-B2 (Intel-LAN), Intel Xeon E3-1245 v6 Kaby Lake (4x3.70GHz), 16GB-Ram ECC, 1x512GB SSD Samsung 850 Pro (30GB system, 4GB swap, rest - Daten), 1x 10TB WD Red Pro, 1x 3TB WD Red (basic setup) - Digibit R1 Sat-IP-Server mit SatIP-Axe-Firmware

    OMV-Server-SW: Debian 9 mit backports-Kernel, OMV v4, AutoShutdown-Plugin, Virtualbox (mit DSM 6.2.x), Docker: PlexMediaServer, TVH-Server v4.2.x (stable) und weitere

  • Hallo Zusammen,

    ich würde mich auch mal hier gerne einklinken, da ich ein ähnliches Problem habe.

    Ich besitze eine TBS habe tvheadend im docker unter unraid Laufen. Ich verwende für die Treiber das unRAID DVB Edition Plugin mit den TBS (CrazyCat) DVB-S(2) & DVB-T(2) Treibern.

    Nach dem Standby wird der Adapter nicht mehr gefunden. Soweit ich ja nun gelesen habe müssen die Module ausgehängt werden vor dem Standby und danach wieder eingehängt. Nur nach langem probieren hat es immer noch nicht funktioniert. Vielleicht kann mir jemand helfen welche Module ich überhaupt aushängen muss?

    Das ist die Ausgabe von dmesg:

    Code
    [   20.812126] dvbdev: DVB: registering new adapter (cx23885[0])
    [   20.812223] cx23885 0000:02:00.0: DVB: registering adapter 0 frontend 0 (Conexant CX24117/CX24132)...
    [   20.813184] dvbdev: DVB: registering new adapter (cx23885[0])
    [   20.813295] cx23885 0000:02:00.0: DVB: registering adapter 1 frontend 0 (Conexant CX24117/CX24132)...
    [   36.344367] cx23885 0000:02:00.0: DVB: adapter 1 frontend 0 frequency 0 out of range (950000..2150000)
    [   36.412509] cx23885 0000:02:00.0: DVB: adapter 0 frontend 0 frequency 0 out of range (950000..2150000)

    Das sagt lsmod:


    Im Plugin S3 Sleep habe ich folgendes eingetragen (wobei ich schon einiges ausprobiert habe:

    Custom commands before sleep:
    /usr/bin/docker stop tvheadend
    sleep 3
    modprobe -v -r cx25840
    modprobe -v -r cx23885
    modprobe -v -r cx2341x
    modprobe -v -r cx24117

    Custom commands after wake-up:
    modprobe -v cx25840
    modprobe -v cx23885
    modprobe -v cx2341x
    modprobe -v cx24117
    sleep 3
    /usr/bin/docker start tvheadend


    Vielleicht könnt ihr mir helfen was ich falsch mache?

    Danke schon mal für die Hilfe,

    Grüße

  • du musst dir die Reihenfolge zusammenbauen,
    lsmod und dann gucken welche Module sich auf was beziehen (danke linux)
    du kannst aber kein Modul entladen was von einem anderen Modul benutzt wird -> Reihnfolge so wählen das immer nur ein "freies" entladen wird

    Dann trägst du das so ein, zum aufwachen solltest du die liste genau anders herum machen.

  • Vielen Dank für deine Antwort. Auch wenn ich mir nicht 100%ig sicher bin dass ich sie auch komplett verstanden habe ;)

    Ich habe nun die Module so entladen, dass sie von keinem anderen Modul in Abhängigkeiten stehen. Reihenfolge: cx23885 cx25840 cx24117

    Ich habe jetzt mal versucht ohne Standby die Module in umgekehrter Reihenfolge gleich wieder zu laden (keine Fehlermeldungen), aber nach dem Start von tvheadend findet er den Adapter wieder nicht.

    Hab ich den irgendwo einen Denkfehler und muss noch mehr gemacht werden außer Module entladen und laden?

  • die Module müssen sauber (ohne Fehler) zu entladen gehen und dann sauber zu laden gehen und am ende muss Tvh die Adapter wieder finde, wenn das geht ist alles okay

    am besten erst in der Konsole testen, zum "zurücksetzen" einfach mal neustarten

    Ziel ist es die Kette zu finden mit der man es ohne Fehlermeldung entladen kann

    Ich würde tippen das m88ds3103, altera_ci und tda18271 auch entladen werden müssen.
    Am besten
    ein modul entladen, lsmod und gucken was noch da ist, nächste modul entladen, lsmod gucken was noch da ist.

    Am ende müssten
    tveeprom
    m88ds3103
    altera_ci
    tda18271
    cx25840
    cx23885
    cx2341x
    cx24117
    dvb_core
    v4l2_common

    aus lsmod verschwunden sein (nicht jedes Modul muss/kann entladen werden, durch interne Abhängigkeiten wird evtl das eine odere andere automatisch beendet/gestartet).

  • OK, jetzt bin ich alles nochmal mehrfach durchgegangen.

    Wenn ich die Module in der Reihenfolge cx23885 cx25840 cx24117 in der Konsole entlade sind alle Module deiner Auflistung verschwunden, und es gibt keine Fehlermeldungen:

    So danach die Module wieder in umgekehrter Reihenfolge geladen. Alle entladenen Module sind auch danach wieder da und es gab auch keine Fehlermeldungen.


    Aber tvheadend findet die Adapter nach einem start nicht. Erst nach einem Neustart funktioniert wieder alles. Habe alles in der Konsole und ohne Standby zwischen ent- und laden getestet.

    Hast du noch eine Idee woran das liegen könnte?

  • Leider sieht das so aus als ob kein Modul fehlt:

    Vor dem entladen:


    Nach dem laden:


    Auch hier im verlauf werden die gleichen Module ent- und geladen:

    Das einzige was mir auffällt ist, dass das Modul cx23885 vor dem entladen während tvheadend noch läuft in Benutzung ist und nach dem start von tvheadend nicht mehr.

    EDIT:
    Hier noch die dmesg ausgabe vom laden der Module. Ich finde das sieht eigentlich auch gut aus?!


  • args
    probier mal folgendes
    1. stoppe tvh
    2. entlade deine module modprobe -r cx23885 cx25840 cx24117
    3. lade jedes modul einzeln
    modprobe cx23885
    dann machst du ein dmesg und guckst ob cx23885 ordentlich geladen wurde - sonst kommt da kann nicht gefunden werden
    dann modprobe cx25840 demsg und modprobe cx24117

    evtl kommt da irgend ein fehler in der dmesg

  • OK hab ich mal so gemacht, aber ich sehe keine Fehler!?

    Nach dem modprobe von cx23885 passiert dann in der dmesg nichts mehr. der Treiber lädt dann wohl die anderen automatisch. Aber auch in umgekehrter Reihenfolge sieht die dmesg identisch aus:


    Unter /dev/dvb/ sind auch ganz normal die beiden adapter 0 und 1 vorhanden. diese werden auch in der Dockereinstellung weitergereicht. Könnte aber dort der Fehler liegen obwohl es nach einem neustart ohne Probleme funktioniert?

  • Eigentlich nicht, wir hatten das bei @hackbird schon probiert und der hat auch das cx23885 Modul -> selbe Ergebnis. Alles sieht hübsch aus, Tuner werden sogar in Tvh gefunden, gehen nur nicht.

    Entweder ist da irgendwas faul am Treiber, oder ich weiß irgendwas noch nicht und wir tappen da alle rein :D

  • HA, ich habe das Problem gefunden!

    Aber wie ich es am besten löse weiß ich och nicht:

    Wie gerne mal bei Linux ist es eine Rechteproblem! vor dem entladen der Module gehören die Adapter unter /dev/dvb dem Besitzer nobody und der Gruppe users. Nach dem wieder laden dem Besitzer root und der Gruppe video. Desweegen hat der tvheadend keine Rechte mehr auf den adapter zuzugreifen:

    Vor dem Entladen (/dev/dvb/):

    Code
    crw-rw---- 1 nobody users 212, 1 Oct 11 15:37 demux0
    crw-rw---- 1 nobody users 212, 2 Oct 11 15:37 dvr0
    crw-rw---- 1 nobody users 212, 0 Oct 11 15:37 frontend0
    crw-rw---- 1 nobody users 212, 3 Oct 11 15:37 net0


    Nach dem wieder Laden der Module:

    Code
    crw-rw---- 1 root video 212, 1 Oct 11 15:27 demux0
    crw-rw---- 1 root video 212, 2 Oct 11 15:27 dvr0
    crw-rw---- 1 root video 212, 0 Oct 11 15:27 frontend0
    crw-rw---- 1 root video 212, 3 Oct 11 15:27 net0

    Jetzt hab ich von ein paar Lösungsmöglichkeiten gelesen, bin mir aber nciht sicher welche die Geschikteste ist:

    1. Im docker die PUID und PGID auf 0 setzen (das soll dem Docker dann root rechte geben)
    2. Mit chown -R nobody:users /dev/dvb könnte ich die Rechte dann wieder zurück ändern
    3. (wobei ich das im Netz nicht ganz verstanden habe) Man kann wohl Udev Regeln dafür anlegen

    Oder gibt es irgendwelche anderen Möglichkeiten bzw. welches ist den die Sauberste Lösung?

  • Hey zusammen,

    nach dem ich ja zuvor mit CvH viel probiert habe und dann die letzten Tage ebenfalls probiert und nochmals probiert habe hatte ich schon aufgegeben. Da CvH schreibt, dass die Bash nicht mehr funktioniert ab Ubuntu 14.04 (siehe Thread Anfang) habe ich diese auch nicht probiert und hab sofort mit ihm die systemd probiert. Leider erfolglos. Da ich mit omv3 schon bei 17.04 bin war für mich klar die BASH geht eh nicht.

    Nun habe ich heute morgen diese aber mal ausprobiert und muss sagen "es geht" :thumbup: Kanns gar ned glauben.

    Hier die BASH die für mich funktioniert. Es klappt wunderbar aus dem "suspend-hybrid".


Jetzt mitmachen!

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