lircrc-Plugin binär inkompatibel


  • Das wieder die Geschichte mit der Reihenfolge im Makefile:


    Ah, der allseits beliebte gold linker schlägt wieder zu. Das Plugin ist dann wohl schon länger kaputt.


    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

  • Das Plugin ist dann wohl schon länger kaputt.


    Sieht so aus: http://www.easy-vdr.de/forum/i…12822.msg107466#msg107466

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • MPW: Die Pakete mit dem Patch sollten verfügbar sein (wenn die grünen Zahnräder durch Häkchen ersetzt wurden): https://launchpad.net/~yavdr/+archive/testing-vdr/+packages?field.name_filter=lircrc&field.status_filter=published&field.series_filter=

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Das Plugin ist dann wohl schon länger kaputt.

    Sicher, nur hat es tatsächlich niemand benötigt, getestet, bemerkt ..., bis gestern ... 8o


    Ich weiß immer noch nicht ob es da Vorteile gegenüber einer gut konfigurierten irexec/irxevent Umsetzung gibt, letztere hängt immerhin nicht davon ab ob der VDR läuft ...


    Regards
    fnu

    HowTo: APT pinning

  • Ich weiß immer noch nicht ob es da Vorteile gegenüber einer gut konfigurierten irexec/irxevent Umsetzung gibt, letztere hängt immerhin nicht davon ab ob der VDR läuft ...


    Im Gegensatz zu vielen hier, bin ich ja schon immer der Meinung, dass eine externe Lösung einem Plugin immer vorzuziehen ist. Dadurch wird der VDR stabiler und die Lösung ist generell flexibler. Mit der Meinung bin ich aber generell nicht alleine, auch Linus Torvalds versucht alles was geht aus dem Kernel in den Userspace zu verlagern. Siehe das Laden von Kernel-Modulen, wird mit Hilfe von Modprobe und Udev im Userspace erledigt.


    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

  • So jetzt startet es zumindest.


    Bleibt noch die Frage, wie man es eigentlich benutzt...im Wiki steht dazu nicht wirklich was.

    [VDR1] AS J3455M mit 2x2 Device Bonding Digital Devices DuoFlex L4M-Twin S2 ver. 6.2, Ubuntu 14.04 64bit mit yavdr-experimental-repo und xine-Ausgabe mit vaapi, vdr 2.0.6
    [VDR2] ASRock N3050B-ITX SoC mit TBS 6281 2x DVB-C und Easyvdr als Komplettsystem mit einer X10 an einem Fernseher

  • Bleibt noch die Frage, wie man es eigentlich benutzt...im Wiki steht dazu nicht wirklich was.

    :schiel
    Ich würde mal mit der README und der lircrc.demo bzw. dem vdr-remote-conf-to-lircrc Skript im Quellpaket anfangen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 ()

  • Ich weiß immer noch nicht ob es da Vorteile gegenüber einer gut konfigurierten irexec/irxevent Umsetzung gibt, letztere hängt immerhin nicht davon ab ob der VDR läuft ...

    Gerade dies sehe ich als Vorteil gegenüber allen anderen Lösungen...
    Anders als die VDR interne Integration belegt dieses Plugin nicht den Socket und lässt auch andere Programme connecten und lirc verwenden. (z.B XBMC)
    Auch das Mapping auf die Tasten sehe ich als Nachteil.
    Mit dieser Lösung bleiben alle Tasten der Tastatur frei und können für den Browser oder andere Sachen verwendet werden ohne das der VDR bedient/umgeschaltet wird.
    Einfach die Ausgabe des VDRs verkleinern, Browser starten und tippen.


    Zusätzlich Delay, Repeat und Macros die nur für den VDR gelten.


    Lirc läuft sowieso unabhängig. Ob VDR gestartet ist oder nicht spielt keine Rolle den es belegt nicht das Socket und das Plugin ist nur für VDR zuständig.


    Das Plugin wird meiner Meinung nach unterschätzt.


    Gruß

  • Hmm, also ich habe da kein Problem, VDR hört auf den Socket parallel zu inputlirc/EventLirc und irexec … und das ganze unabhängig ob der VDR läuft oder nicht …


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Hallo nochmal,


    also ich habe mir jetzt die .lircrc.demo angesehen, einmal per Hand eine .lircrc gebastelt und einmal mit dem beigelegten sed-Befehl aus der alten remote.conf geparst. Sieht am Ende identisch aus, funktioniert aber beides nicht.


    Fazit: Nach zwei Stunden Bastellei habe ich nicht einmal eine Eingabe durch das lircrc-Plugin hinbekommen. Irgendwo hängt da etwas ganz gewaltig. Entweder am Plugin oder in meinem Kopf :D. Ich weiß auch nicht, woran es noch liegen könnte.


    Muss ich für das Plugin etwa doch Einträge in der remote.conf vornehmen? Diese enthält jetzt nur noch die Tastaturbefehle. Oder muss da was rein? Auch wenn ich dort direkt die Remote-Befehle reinkopiere, also nicht über irxevent, sondern direkt an den VDR, passiert mit der Fernbedienung überhaupt nichts. Vllt. blockiert lircrc also die klassische lirc-vdr-Verbindung.



    Anders als die VDR interne Integration belegt dieses Plugin nicht den Socket und lässt auch andere Programme connecten und lirc verwenden. (z.B XBMC)


    Das stimmt so nicht, das läuft auch sonst parallel.



    Auch das Mapping auf die Tasten sehe ich als Nachteil.
    Mit dieser Lösung bleiben alle Tasten der Tastatur frei und können für den Browser oder andere Sachen verwendet werden ohne das der VDR bedient/umgeschaltet wird.
    Einfach die Ausgabe des VDRs verkleinern, Browser starten und tippen.


    Das geht auch mit irxevent oder dem klassischen Lirc+VDR.


    GetItAll: Hast du das Plugin denn in Betrieb?


    Oder sonst jemand? Es wäre mal interessant zu wissen, ob es a) kaputt ist, b) im Repo falsch kompiliert ist oder c) ich nur eine falsche Konfiguration habe.


    Grüße
    MPW


    /edit: Mir dämmert es gerade. Ich habe lirc ja absichtlich beim VDR abgeschaltet (umleiten auf /dev/null). Daran könnte es liegen....


    /edit2: Trotzdem kein Piep. Defekt :D.

    [VDR1] AS J3455M mit 2x2 Device Bonding Digital Devices DuoFlex L4M-Twin S2 ver. 6.2, Ubuntu 14.04 64bit mit yavdr-experimental-repo und xine-Ausgabe mit vaapi, vdr 2.0.6
    [VDR2] ASRock N3050B-ITX SoC mit TBS 6281 2x DVB-C und Easyvdr als Komplettsystem mit einer X10 an einem Fernseher

  • (umleiten auf /dev/null)


    Das macht man heutzutage nicht mehr (du benutzt vdr 2.0.6, richtig?), hast du da nicht zufällig Fehlermeldungen im vdr-log?
    Wenn der vdr kein Lirc benutzen soll, dann gibt man den Parameter "--lirc" einfach gar nicht an.
    Ansonsten wird er ständig versuchen, sich zu /dev/null zu verbinden, was natürlich nicht geht...


    Lars.

  • So, wie ich den Code verstehe, solltest du auf jeden Fall den vdr ohne "--lirc" starten, denn lircrc löscht das dazugehörige cRemote-Objekt sowieso wieder. Und um das zu unterbinden (unnötiges Ausführen von überflüssigem Code sollte man verhindern, dann kann auch nichts kaputt gehen), wie gesagt, den vdr ohne "--lirc" starten und das Plugin mit "-k", damit es nicht versucht, das vdr-Objekt zu löschen (was auch immer das für Folgen haben kann). Das "delete this" macht mir da auch etwas Sorgen...


    Ob noch LIRC-Einträge in der remote.conf sind oder nicht, spielt keine Rolle, da es kein cRemote-Objekt gibt, dass diese auswertet.


    Was in "config" steht wird dann von cKey::FromString in ein tKey umgewandelt und per cRemote::Put an den vdr verfüttert.


    Sonst musst du mal ein paar Debug-Ausgaben einbauen, um zu sehen, ob die Eingaben im Plugin ankommen und was es daraus macht.


    Lars.

  • Da sind so einige Stellen im Code, über die ich etwas stolpere.


    Beispiel:


    Falls du den Pfad zur .lircrc nicht dem Plugin per Kommandozeile mitgibst, will er sie aus $HOME/.lircrc lesen und baut deshalb den String in "pszLircrcFile" zusammen, um sich den Pointer dann in "m_pszLircrcFileArg" zu merken. Und danach wird "pszLircrcFile" freigegeben. Das ist nicht gut. Oder übersehe ich da was?


    Außerdem gibt es im Thread keine vernünftige Ausstiegsbedingung. Der Thread muss gekillt werden, anstatt dass er sich (z.B. bei vdr-Ende) sorgfältig beendet.
    Und die meisten Info-Meldungen werden als Fehler ins syslog geschrieben, schön ist das nicht.


    Das Plugin scheint mit der heißen Nadel gestrickt worden zu sein. Die Idee dahinter ist zwar nett, aber für meinen Geschmack leider nicht gut umgesetzt.


    Aber ich brauche kein lirc, deshalb ist es für mich nicht weiter interessant... :)


    Lars.

  • Argh, ich hatte die .lircrc im Home-Ordner. Aber in meinem und nicht in dem vom VDR-Benutzer. Wie dumm.


    Bzgl. "--lirc". Danke für den Tipp. Wenn ich das richtig verstehe, muss ich dazu das init-Skript editieren oder? Soweit ich das da sehe, wird "--lirc" nämlich immer übergeben. Hab jetzt mal $LIRC_OPT an der Stelle, wo wirklich gestartet wird, rausgenommen. Werde ich mir morgen ansehen, gerade läuft eine Aufnahme.

    [VDR1] AS J3455M mit 2x2 Device Bonding Digital Devices DuoFlex L4M-Twin S2 ver. 6.2, Ubuntu 14.04 64bit mit yavdr-experimental-repo und xine-Ausgabe mit vaapi, vdr 2.0.6
    [VDR2] ASRock N3050B-ITX SoC mit TBS 6281 2x DVB-C und Easyvdr als Komplettsystem mit einer X10 an einem Fernseher

  • Um --lirc zu deaktivieren, genügt es LIRC="" in der /etc/default/vdr zu setzen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich benutz(t)e plugin-loader2 und den Upstart-Job, vom Init-Script weiß ich nichts. Kann sein, dass LIRC_DEV (o.ä.) leer sein muss, keine Ahnung.
    Oder einfach mal mit den neuen conf.d-Möglichkeiten spielen und alle Parameter unter /etc/vdr/conf.d ablegen (bzw. in /etc/vdr/conf.local.d und dann nach conf.d verlinken). Dadurch bekommst du viel leichter eine Kontrolle über die Konfiguration deines vdr.


    Musst halt irgendwie in deinem Startmechanismus dafür sorgen, dass "--lirc" nicht an den vdr übergeben wird. :)
    Und du solltest überlegen, zum Upstart-Job überzugehen. Dann wird der Übergang zu systemd in zwei Jahren leichter.


    Lars.

  • Hmm, also ich habe da kein Problem, VDR hört auf den Socket parallel zu inputlirc/EventLirc und irexec … und das ganze unabhängig ob der VDR läuft oder nicht …


    Das stimmt so nicht, das läuft auch sonst parallel.

    Das geht auch mit irxevent oder dem klassischen Lirc+VDR.

    Ok, hatte ich anders in Erinnerung, sorry...



    Ich habe das Plugin seit Veröffentlichung in Betrieb.


    Grundvoraussetzung:
    Zunächst muß lirc vollkommen unabhängig vom VDR oder dem Plugin laufen.


    lircrc Config vom Plugin


    VDR Startup:

    Code
    -P lircrc --prog=VDR --kill /pfad/zu/lircrc


    Ob VDR mit --lirc startet oder nicht ist egal, da wie erwähnt der betreffende Teil deaktiviert wird.
    Schöner ist natürlich wenn er erst gar nicht gestartet wird.


    Das Plugin funktioniert bei mir einwandfrei.


    Gruß


    ps.: Mein lirc Socket erstelle ich unter "/var/run/lirc/lircd"

Jetzt mitmachen!

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