Frage zu dbus2vdr (gelöst)

  • Hallo Community,


    da ich eine Funktion des Plugins dbus2vdr nutzen möchte, habe ich nun dieses Plugin hinzugefügt und vdr komplett neu kompiliert.


    Allerdings bringe ich das Plugin nicht so richtig zum laufen. Es scheint sich ständig neu mit dem Dbus zu verbinden:



    meine /etc/dbus-1/systemd.d/de.tvdr.vdr.conf sieht so aus:


    Ich führe vdr momentan als root aus, den nutzer vdr gibt es aktuell nicht


    der Plugin wird in vdr --help gelistet.


    Mein Aufruf in der runvdr sieht so habe ich um -P\"dbus2vdr --session --network --log=3\" ergänzt (auch mal ohne die 3 Optionen versucht) immer wird mein systemlog vollgespammt, dass die dbus2vdr unipue verbindet.


    Top zeigt, dass dBus und journalctl recht beschäftigt sind.


    Soblad ich das addon wieder aus der Runvdr entferne ist alles normal.


    Abfragen auf den dbus2vdr funktionieren nicht.


    *Ich nutze Vdr 2.4.1 mit den Standard Plugins + live + vnsiserver + streamdev-server + wirbelscan + vdr-manager + (dbus2vdr)

    System: Arch linux vdr 5.0.21-2-pve #1 SMP PVE 5.0.21-3 (Thu, 05 Sep 2019 13:56:01 +0200) x86_64 GNU/Linux in einem Proxmox privileged lxc container.

    Kompilliert habe ich mit der Option ONEDIR=1 alle files liegen in /video

    Ich habe den vdr service mehrfach neu gestartet


    Danke für Tips und Anregungen.


    Viele Grüße


    Kitsab

  • Mein Aufruf in der runvdr sieht so habe ich um -P\"dbus2vdr --session --network --log=3\" ergänzt (auch mal ohne die 3 Optionen versucht) immer wird mein systemlog vollgespammt, dass die dbus2vdr unipue verbindet.

    --session brauchst du nur, wenn du einen Session Bus für den Nutzer unter dem der VDR läuft gestartet hast (in dem Fall greift die von dir modifizierte Regel für den Zugriff auf den SystemBus nicht). --network brauchst du für einen einzelnen Rechner normalerweise auch nicht (wenn man die Option nutzen will, muss man einiges an zusätzlicher Konfiguration machen, vgl. https://github.com/flensrocker…r/blob/master/README#L487).


    Prinzipiell sollte das Plugin ohne Argumente startbar sein, dann verbindet es sich standardmäßig mit dem SystemBus.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    ich habe den Plugin auch versucht ohne Optionen zu starten, also die Plugin Befehlszeile um -P\"dbus2vdr\" erweitert.


    Das Problem war dadurch trotzdem vorhanden, wie kann ich das debuggen?


    mit --log=3 habe ich auch keine weiteren Einträge in journalctl gehabt außer dass sich dbus2vdr ständig verbindet.


    Danke


    Kitsab

  • Ich bin mir nicht sicher, ob mit --log=4 mehr Ausgaben kommen, das könntest du mal probieren.

    Aber --network und --session brauchst du sicherlich nicht.

  • Läuft denn Systemd als Init-System im Container?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,

    danke euch für die Antworten, war die Tage sehr beschäftigt und konnte mich nicht der Sache annehmen.
    Ich werde die die Sache mit --log=4 mal testen. Problem ist wir haben jeden Abend diverese Aufnahmen, ich muss immer abwarten bis der VDR mal Pause hat :).


    Im LXC Container läuft Arch Linux mit Systemd, man muss den Container als "nested" konfigurieren, da systemd sonst Rechte Probleme hat und diverse Dienste nicht zuverlässig laden, außerdem ist für die Berechtigung auf die TV-Kartezuzugreifen die Konfiguration eines "privileged" Containers notwendig.

    Das Dbus2vdr nutze ich zum ersten mal daher kann ich den Unterschied zwischen normaler installation bzw. vm/container nicht beurteilen.


    Im Container laufen aktuell die Addons live, streamdev, vnsiserver und wirbelscan Problemlos.


    Ich melde mich die Tage mit weiteren Testergebnissen.


    Danke schonmal.


    Kitsab

  • Hallo,


    nun hatte ich mal Zeit den dbus2vdr mit Loglevel 4 zu starten und nachzusehen was das Plugin macht ..

    Output ist journalctl -r (also reverse).

    Das Plugin registreirt und unregistered ständig Objetke, das geht etwa 6-8 Sekunden so (20000 Zeilen Logfile) danach steht nur noch

    "dbus2vdr: System: connected with unique name" über etwa 10000 Zeilen log. das alles auf ca 1 Minute aktivem vdr Dienst.

    Irgendwo in den Logzeilen zwischen 10000 und 30000 kommt in den Zeilen auch mal was von Kanal blockiert wegen Aufnahme (stimmt aber nicht)

    und meine Timer sind einmal gelistet beides innerhalb der dbus Meldungen. Kann aber auch normaler output des vdr sein.

    Ich habe das Ende vom VDR start dazu genommen, damit man sieht wo es anfängt.

    Das Problem ist wohl "on_name_lost de.tvdr.vdr". Nur wie löse ich das?

  • Ich kenne mich zu wenig mit dem Container aus, aber irgendwas wird dafür sorgen, dass es seine Verbindung zum dbus-Daemon nicht behalten kann, weshalb es versucht, eine neue Verbindung herzustellen.


    Läuft da ein dbus-daemon oder ist das kdbus und wie ist das Ding konfiguriert? Da musst du dich mal schlau machen...

  • Hallo Community,


    also aktuelle Erkenntnis, dbus redet nicht so gerne mit root :)


    Sprich aus Sicherheitstechnischen Gründen ist wohl der Root Account prinzipiell deaktiviert für dbus abfragen.

    Aktuell läuft mein vdr noch als root, ich werde den vdr also bald umkonfigurieren damit er als User vdr läuft, damit sollte das Problem behoben sein.

    Einfacher Test zu dBus:

    su root .... dbus-monitor

    bla ... blocked or no replay

    *irgendein user:

    dbus-monitor

    und schon ist der debugging listener aktiv.


    Danke für eure Tipps und Unterstützung. Ich werde nochmal ne Info dazu geben wenn das Problem komplett gelöst ist.


    *Update - inzwischen ist der VDR ausführende User "VDR" also in der runvdr wird die Option -u vdr gesetzt, und damit funktioniert dann auch dbus2vdr :)

    Kitsab

  • Muß den Thread mal kapern:

    Nach irgendeinem Update (System siehe Signatur) hab ich auch die endlosen "connect with unique name" (ansteigend)-Logzeilen.

    Start des dbus2vdr mit --log=3 liefert nur

    Code
    Nov 12 09:44:32 hdvdr2 vdr: [23237] dbus2vdr: System: register object /vdr with interface de.tvdr.vdr.vdr on id 132839
    Nov 12 09:44:32 hdvdr2 vdr: [23237] dbus2vdr: System: RegisterWatchers
    Nov 12 09:44:32 hdvdr2 vdr: [23237] dbus2vdr: System: on_name_lost de.tvdr.vdr
    Nov 12 09:44:32 hdvdr2 vdr: [23237] dbus2vdr: System: UnregisterWatchers
    Nov 12 09:44:32 hdvdr2 vdr: [23237] dbus2vdr: System: UnregisterObjects

    usw.


    Habe schon dbus2vdr gepurged und das ansible-script neu durchlaufen lassen, nützt nix.


    Wie krieg ich das wieder auf Schiene?

  • Was sagt denn vdr --showargs bei dir?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi, danke erstmal :)

    Das sieht so aus:

    Wobei ich ja den vdr-2.41

    verwende. Weiß jetzt gar net, wieso das dynamite da drin steht ...

  • Ach ja, habe mittlerweile das vdr-plugin-dbus2vdr wieder deinstalliert, drum ist es nicht in den showargs von eben ...

Jetzt mitmachen!

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