VDR4Arch Frage bezügl. Systemd

  • Hallo,


    erstmal vielen Dank an Copperhead für die Umsetzung für Arch :tup . Mit der Erfahrung aus YaVDR bin ich hier auch recht schnell ans Ziel gekommen und kann jetzt zumindest schonmal über VLC Streamdev-Verbindungen betrachten. Ich bin heute bei VDR4Arch gelandet, weil ich bei einem Virtualisierungssetup nicht weitergekommen bin. Zumal halte ich einen DVB-C Stream nicht für gefährlich und so habe ich jetzt gedacht, ich könnte den Server/Empfangskarten direkt in der Dom0 betreiben.
    Soweit so gut, ich habe jetzt erstmal mit einer alten TT Budgetkarte begonnen, bevor ich mich an die Octopus-devices wage.



    Nun zu meiner eigentlichen Frage:
    Wenn ich sysctl start vdr ausführe, dann sehe ich im syslog, dass er sehr lange wartet (scheinbar 90 sec timeout) auf die devices dev-dvb.adapterXYZ -> danach startet er aber ganz normal, lädt die Plugins und ich kann über das live-plugin umschalten, streamen etc. . Woran kann das liegen? Kann ich darauf Einfluss nehmen?

    VDR 1 - KVM-DomU: CineC2 durchgereicht, VDR4Arch (danke Copperhead)
    VDR 2 - Eisen: YaVDR Server, Hauppauge Nova HD-S2 (danke yaVDR Team)

  • Das bedeutet letztlich, dass deine DVB-Karte nicht aufgetaucht ist und der VDR nach dem Timeout ohne DVB-Karte gestartet wurde.


    Wenn es trotzdem läuft, dann macht deine Virtualisierung da irgendwas komisches. Ist die DVB-Karte wirklich verfügbar zu dem Zeitpunkt zu dem der VDR gestartet wird? Wenn ja: Wie sind die korrekten Device-Pfade?

  • Das sollte eigentlich nicht passieren.


    Ausgelöst wird das dadurch, dass beim Beenden den VDRs systemd dazu "zwingt" beim nächsten Start auf die bisher vorhandenen Devices zu warten. Die 90 Sekunden ist der Standard Timeout von systemd.


    Zeig mir mal dein /dev/dvb/frontend0 Verzeichnis --> ls -l
    Und den Inhalt der Datei, dessen Name ich gerade nicht auswendig kann, in /etc/systemd/system/vdr.service.d/


    Das ganze Warten ist mehr oder weniger ein Hack um den VDR überhaupt mit systemd starten zu können. Möglich, dass dort Fehler drin sind.


  • Code
    [root@Virtking vdr.service.d]# ls -la
    insgesamt 12
    drwxr-xr-x 2 root root 4096 20. Mär 00:32 .
    drwxr-xr-x 5 root root 4096 20. Mär 00:32 ..
    -rw-r--r-- 1 root root  301 20. Mär 06:18 wait-for-devices.conf


    Code
    [root@Virtking vdr.service.d]# cat wait-for-devices.conf 
    [Unit]
    Wants=dev-dvb-adapter0-demux0.device
    After=dev-dvb-adapter0-demux0.device
    Wants=dev-dvb-adapter0-dvr0.device
    After=dev-dvb-adapter0-dvr0.device
    Wants=dev-dvb-adapter0-frontend0.device
    After=dev-dvb-adapter0-frontend0.device
    Wants=dev-dvb-adapter0-net0.device
    After=dev-dvb-adapter0-net0.device



    Ich schätze mal, dass ich hier was anpassen muss?

    VDR 1 - KVM-DomU: CineC2 durchgereicht, VDR4Arch (danke Copperhead)
    VDR 2 - Eisen: YaVDR Server, Hauppauge Nova HD-S2 (danke yaVDR Team)

  • Nö. Das passt so schon.


    wait-for-cards.conf wird automatisch erzeugt.
    Die passt aber genau zu dem /dev/dvb Verzeichnis.


    Ich kann mir nicht erklären, warum es nicht funktioniert.
    Da ist irgendwas anderes kaputt.


    Möglicher Workaround (aber nicht zu empfehlen) /usr/lib/systemd/system/vdr.service nach /etc/systemd/system kopieren und das ExecStopPost entfernen und wait-for-cards.conf löschen.

  • Hm... also solange die Nummer rennt, mach ich dann einfach mal weiter wie bisher ;D . Im Idealfall starte ich den VDR ja eh nur einmal :) Wollte nur wissen, ob ich irgendwas verkorkst habe. Vielen Dank für deine Hilfe!

    VDR 1 - KVM-DomU: CineC2 durchgereicht, VDR4Arch (danke Copperhead)
    VDR 2 - Eisen: YaVDR Server, Hauppauge Nova HD-S2 (danke yaVDR Team)

  • Das löst sich spätestens von selbst, wenn mini73 Zeit hat den Patch zum dynamischen Erkennen von DVB-Devices fertig zu machen.
    Solange bin ich auf diesen Workaround angewiesen um sicher zu stellen, dass die DVB-Devices da sind. Auf einer SSD startet das ganze nämlich so schnell, dass die DVB-Devices noch nicht fertig initialisiert sind.


    Ich könnte dir aber anbieten, das Timeout zu verringern. 10sec z.B. (Sollte mehr als genug sein).


    Edit: Ich sehe gerade, dass ich auf dieses Timeout keinen Einfluss habe. Kann es also nicht reduzieren.

Jetzt mitmachen!

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