[SOLVED] Lirc mit Suse 13.2 funktioniert nicht

  • Ich versuche gerade LIRC mit einem seriellen Empfänger auf Suse 13.2 zum laufen zu bekommen.


    Nachdem ich den für den selbstkompilierten Lirc 0.9.2a keine Anleitung gefunden habe, habe ich den deinstalliert und
    den Lirc 0.9.0 der Suse 13.2 beiliegt aktiviert bzw. es versucht.


    Es kommen folgende Meldungen:


    Code
    1. 2015-04-13T21:45:33.471779+02:00 linux-pwt9 lircd[908]: lircd-0.9.0[908]: accepted new client on /var/run/lirc/lircd
    2. 2015-04-13T21:45:33.471850+02:00 linux-pwt9 lircd[908]: lircd-0.9.0[908]: could not get file information for /dev/lirc
    3. 2015-04-13T21:45:33.471915+02:00 linux-pwt9 lircd[908]: lircd-0.9.0[908]: default_init(): No such file or directory
    4. 2015-04-13T21:45:33.471979+02:00 linux-pwt9 lircd[908]: lircd-0.9.0[908]: Failed to initialize hardware



    der lirc.service sieht so aus:








    Hat jemand eine Idee was falsch ist?


    cu
    gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

    The post was edited 1 time, last by gromit ().

  • could not get file information for /dev/lirc


    das dürfte das Problem sein.
    Gibt es das Devicefile? Nicht eher /dev/lirc0? Und wenn auch das nicht, dann müsstest du erst einmal dafür sorgen, dass das "entsteht".


    Ciao.
    Michael.

  • Nein, es gibt weder
    /dev/lirc noch
    /dev/lirc0


    Wann wird das Devicefile denn angelegt? bzw was muss ich tun damit das passiert?


    cu
    gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

  • Hi,


    versuch mal:



    modprobe lirc_dev
    modprobe lirc_serial


    das sollte das device anlegen. Evtl. hilft auch ein blick in die lirc hardware.conf um das permanent zu machen.


    Evtl. hilft auch das.


    bye
    Sven


    Link: Richtig fragen

  • Hi,
    inwiefern hat die hardware.conf etwas mit Lirc zu tun? In den Lirc Sourcen habe ich keinen Hinweis zur hardware.conf gefunden.


    Die Lirc installationsseite ist mir schon bekannt, ich habe auf einem älteren Kernel früher Lirc
    schon einmal erfolgreich mit


    modprobe lirc_dev
    modprobe lirc_serial


    installiert. Das funktioniert mir dem bei Suse 13.2 beiliegenden Lirc 0.9.0 nicht,
    das lirc_serial Modul scheint zu fehlen:



    Wie man sieht funktioniert das "modprobe lirc_dev" aber das "modprobe lirc_serial" nicht.




    Ich habe mal den neusten Lirc 0.9.2a manuell kompiliert, das hat zwar funktioniert,
    aber das lirc-setup bringt folgende (offenbar python-spezifische) Fehlermeldung:




    Die notwendigen Abhängigkeiten habe ich nach bestem Wissen und Gewissen installiert (u.a. python3),
    aber hier scheint etwas nicht zu stimmen, vielleicht mit der python Anbindung...


    Hat jemand eine Idee was das ist?



    Andere Frage:
    Hat jemand eine funktionierende serielle Anbindung eines seriellen Homebrew-Receivers gemacht?


    Wie und mit welcher Konfiguration?


    Es gibt wie ich gelesen habe jetzt auch eine Funktion im Kernel (3.17) die das handeln kann,
    habe darüber aber keine Infos gefunden wie man das einrichtet.



    cu
    gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

  • inwiefern hat die hardware.conf etwas mit Lirc zu tun? In den Lirc Sourcen habe ich keinen Hinweis zur hardware.conf gefunden.

    Das ist ja auch nur ein Hilfskonstrukt, das sich die Debianer einfallen haben lassen, um das Laden von benötigten Modulen vor dem Start von Lirc für den User einfacher zu machen :)

    Das modul lirc_serial müsste eigentlich aus den Kernel-Paketen stammen (nutzt du eventuell einen selbst gebauten Kernel oder selbst gebaute DVB-Treiber, die da dazwischenfunken?). Wenn das korrekt geladen wurde, sollte es ein neues Gerät unter /dev/lirc* geben, auf den die Pulse-/Pausensequenzen landen und lircd startet man dann mit lircd --driver=default


    Die notwendigen Abhängigkeiten habe ich nach bestem Wissen und Gewissen installiert (u.a. python3),
    aber hier scheint etwas nicht zu stimmen, vielleicht mit der python Anbindung...


    Hat jemand eine Idee was das ist?

    Der Ordner mit dem Python-Modul selectors.py ist vermutlich nicht in deinem PYTHONPATH enthalten (vermutlich passiert das durch das Prefix für die Installation nach /usr/local) - zeig mal, was da aktuell so drin steht:

    Code
    1. python -c "import sys; print(sys.path)"


    Laut http://sourceforge.net/p/lirc/tickets/8/#d80e müsste das vor der Ausführung des Befehls in der Shell helfen:

    Code
    1. export PYTHONPATH+=/usr/local/lib/python3.4/site-packages/lirc

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • seahawk hat natürlich recht, hardware.conf ist wohl Debian spezifisch.Habe mit Suse nur im beruflichen Umfeld zu tun und im RZ spielt Lirc eine eher untergeordnete Rolle. Den Link den ich oben eigentlich pasten wollte war der und nicht die lirc docu...einfach zu viele tabs ;).


    Such mal nach dem modul lirc_serial.ko und guck mal ob das die richtige Version ist oder noch ein Überbleibsel aus deiner manuellen installation. Das modul denke ich ist schon da sonst würde modprobe culd not find file sagen und nicht invalid argument.


    bye
    Sven


    Link: Richtig fragen

  • #1 LIRC 0.9.2a selbst kompiliert


    Probleme mit python pfad:
    Also


    linux-pwt9:~ # python -c "import sys; print(sys.path)"


    liefert:


    Code
    1. ['', '/usr/lib/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/local/lib64/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages']


    Wenn ich den neuen Pfad dann hinzufüge
    linux-pwt9:~ # export PYTHONPATH+=/usr/local/lib/python3.4/site-packages/lirc


    sieht so der Pfad aus:


    Code
    1. linux-pwt9:~ # python -c "import sys; print(sys.path)"
    2. ['', '/usr/local/lib/python3.4/site-packages/lirc', '/usr/lib/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/local/lib64/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages']


    Es funktioniert leider immer noch nicht:



    Ich habe festgestellt, dass ich zwei python Versionen installiert habe,
    hat das vielleicht etwas mit dem Fehler zu tun?


    /usr/lib/python2.7
    /usr/lib/python3.4


    ???
    ------------------------------------------------------------------------
    #2: LIRC aus Suse 13.2 Kernel


    Ich erinnere mich, dass ich mit dem Suse beiligenden Lirc (hier 0.9.0) oder dem Lirc im Kernel schon einmal das gleiche Problem hatte: LINK


    Wenn ich nach lirc auf meinen System suche kommt folgendes:




    Sind zwei original Suse Kernel und selbst kompilierte dvb-Treiber.


    cu
    gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

    The post was edited 4 times, last by gromit ().

  • Also alle Anleitungen bzgl. der hardware.conf kann ich unter Suse ignorieren weil diese nur unter debian funktioniert, richtig?


    #1 : selbstkompilierten lirc-0.9.2a


    Beim selbstkompilierten lirc-0.9.2a mit dem pythonpath Fehler bin ich nicht weiter gekommen,
    auch wenn ich dies momentan nicht brauche, da die andere Lösung funktioniert,
    interessiert es mich schon wie man den Python Fehler wegbekommt => Also wenn jemand die Lösung hat, bitte posten!
    -------------------------------------------------------------------------------------------------------
    #2 : Suse beiliegenden Lirc 0.9.0


    Habe es nun mir dem vorkompilierten bei Suse beiliegenden Lirc 0.9.0 geschafft,
    für alle Interessierten hier meine Lösung:



    SvenS hat schon recht, die Fehlermeldung "invalid argument" kommt weil verscheidene Lirc Module nicht zueinander passen.
    Ich verwende den original Suse Kernel (ist auch noch ein älterer drauf wie man sieht) und selbstkompilierte dvb-Treiber.


    Bei dem dvb-Treiber gibt es auch Bestandteile von Lirc, nachdem ich diese teilweise umbenannt habe (hätte sie natürlich auch löschen können)



    funktioniert nun


    modprobe lirc_dev
    modprobe lirc_serial



    Nach dem booten wird lirc_dev und lirc_serial bisher aber noch nicht automatisch geladen.


    Man muss ja bei einem seriellen Receiver verhindern, dass der serielle Port beim booten vom Kernel automatich
    belegt wird.


    In den (alten) Lirc Anleitungen steht dafür folgendes:


    Code
    1. Ein Eintrag in der /etc/modprobe.conf kann sinnvoll sein:
    2. alias char-major-61 lirc_serial
    3. options lirc_serial irq=4 io=0x3f8 #hier Standartwerte für COM1, an dem der Empfänger angeschlossen ist
    4. Bevor beim Booten die Module lirc_serial und lirc_dev geladen werden, muss der UART disabled werden:[1]
    5. setserial /dev/ttyS0 uart none


    Das muss man bei systemd wohl anders machen.
    Ich habe mir folgenden lircd.service geschrieben der funktioniert:


    /usr/lib/systemd/system/lircd.service



    :welle


    cu
    gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C