LIRC Fernbedienung seit Version 2.6.2 keine Funktion mehr

  • Hallo,


    ich habe versucht meinen vdr von 2.6.1 auf 2.6.3 zu updaten, dabei ist mir aufgefallen, dass die Fernbedienung nicht mehr funktioniert.

    Nachdem ich ein bisschen in der Changelog geschaut habe habe ich diese Änderung entdeckt.


    Klaus Schmidinger's git trees - vdr.git/commit


    Leider konnte ich diese Änderung nicht bei Version 2.6.2 und 2.6.3 rückgängig machen. (vdr.c, lirc.h, lirc.c)


    Ich nutze nicht die kernel based LIRC Treiber sondern "smtlircd" welche es für die damalige Samsung SMT7020 gab.

    Bekomme auch nicht mehr 100% zusammen wie ich das damals eingebunden habe, jedoch mache ich unter /etc/init.d/vdrstarten kurz vorm starten des vdr folgendes:


    echo -n "lircd "

    touch /dev/lircd

    sudo /usr/sbin/smtlircd

    chown vdr:vdr /dev/lircd



    im Logfile erhalte ich beim starten des VDRs 2.6.1 dann nur folgendes:

    [498] remote control LIRC - keys known

    [517] LIRC remote control thread started (pid=498, tid=517, prio=high)


    im VDR 2.6.2

    [498] ERROR (lirc.c,187): /dev/lircd: Kein passendes Gerät bzw. keine passende Adresse gefunden

    [498] ERROR: remote control DEV_LIRC not ready!

    [516] LIRC remote control thread started (pid=498, tid=516, prio=high)

    [516] LIRC remote control thread ended (pid=498, tid=516)



    ich habe im Makefile folgendes entdeckt:


    ### The remote control:

    LIRC_DEVICE = /var/run/lirc/lircd

    ### Use this for kernel based driver:

    #LIRC_DEVICE = /dev/lirc0


    habe dort auch LIRC_DEVICE = /dev/lircd versucht das hilft auch nicht.


    mfg

    bacardi

  • touch /dev/lircd

    sudo /usr/sbin/smtlircd

    chown vdr:vdr /dev/lircd

    Den Sinn dahinter verstehe ich nicht - ein Lirc-kompatibler Sockel ist keine Datei, sondern ein Unix-Socket, insofern ist das touch da merkwürdig - smtlircd sollte sich darum kümmern den Socket anzulegen und die Verbindungen damit zu handeln. Der VDR muss nur davon lesen können. Du kannst dem VDR auch einen anderen Lirc-Socket in den Startargumenten mitgeben (z.B. --lirc=/dev/lircd), dafür musst du ihn nicht rekompilieren.


    Die Fehlermeldung besagt eigentlich nur, dass der VDR sich nicht mit dem erwarteten Unix-Socket verbinden kann (vermutlich weil unter dem Pfad immer noch die mit touch angelegte Datei liegt).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Den Sinn dahinter verstehe ich nicht - ein Lirc-kompatibler Sockel ist keine Datei, sondern ein Unix-Socket, insofern ist das touch da merkwürdig - smtlircd sollte sich darum kümmern den Socket anzulegen und die Verbindungen damit zu handeln. Der VDR muss nur davon lesen können. Du kannst dem VDR auch einen anderen Lirc-Socket in den Startargumenten mitgeben (z.B. --lirc=/dev/lircd), dafür musst du ihn nicht rekompilieren.


    Die Fehlermeldung besagt eigentlich nur, dass der VDR sich nicht mit dem erwarteten Unix-Socket verbinden kann (vermutlich weil unter dem Pfad immer noch die mit touch angelegte Datei liegt).

    Hallo,


    also es funktioniert auch ohne touch, ist wohl noch ein Überbleibsel vom testen damals.


    Der vdr bekommt schon --lirc=/dev/lircd übergeben.


    ich habe jetzt mal testweise die Version vor dem commit gebaut mit dieser funktioniert es noch:

    Klaus Schmidinger's git trees - vdr.git/commit


    nach dem commit funktioniert es nicht mehr:

    Klaus Schmidinger's git trees - vdr.git/commit


    zwischen den beiden Versionen habe ich nichts am startverhalten des vdrs geändert, dass er auf das richtige Interface zugreift sehe ich durch den Fehler im vdr 2.6.2 auch direkt, sonst müsste er doch default /dev/lirc0 nutzen oder?


    irgendwas kommt bei dieser Änderung wohl nicht mehr mit dem smtlirc klar



    Edit: also ich habe die lirc commits in der 2.6.3er version mal rückgängig gemacht,

    dann läuft auch diese version, hängt definitiv damit zusammen.

Jetzt mitmachen!

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