Lirc läuft plötzlich nicht mehr

  • Nachdem ich schon so viel Ärger mit der Fernbedienung hatte, jetzt auch das noch: Nach einigen Ubuntu-Updates läuft Lirc plötzlich nicht mehr. Ich tippe auf das letzte Kernel-Update, weil offenbar ein Kernel-Modul nicht mehr gefunden werden kann. Im Ordner /lib/modules ist ja für jeden Kernel ein eigener Ordner da wo alle Module drin sind. Meine These: Für den neuen Kernel fehlt das Modul für meinen Winbond-Empfänger.


    Hier die Indizien:


    Code
    1. # service lirc start
    2. * Loading LIRC modules [ OK ]
    3. * Unable to load LIRC kernel modules. Verify your
    4. * selected kernel modules in /etc/lirc/hardware.conf


    Die fragliche Datei sieht so aus (Ich hab erfolglos nochmal das Mythbuntu-Setup für den IR-Empfänger laufen lassen, um eine neue "saubere" hardware.conf für meinen Empfänger zu kriegen):



    Benutztes Betriebssystem: Mythbuntu 64 Bit (12.0.4.1) mit neuestem Kernel. Empfänger ist ein Winbond CIR, der auch als Acer Aspire 6530G bekannt ist. Beim manuellen Laden der beiden Module, die in der hardware.conf angegeben sind, findet Linux das erste Modul lirc_dev erfolgreich. Das zweite Modul lirc_wpc8769l kann aber nicht geladen werden.


    Code
    1. # modprobe lirc_wpc8769l
    2. FATAL: Module lirc_wpc8769l not found.


    Hab natürlich auch schon rumgegoogelt: Dieser Threat ist interessant, hat mir aber leider nichts gebracht. Neben drei roten Änderungen in der hardware.conf, die mir nicht halfen, steht da auch noch was von

    Quote

    dpkg-reconfigure lirc-modules-source

    das man als root im Terminal aufrufen kann. Leider führt das bei mir zu dem hier:


    Code
    1. # dpkg-reconfigure lirc-modules-source
    2. Paket »lirc-modules-source« ist nicht installiert und es ist keine Info verfügbar.
    3. Verwenden Sie dpkg --info (= dpkg-deb --info) zum Untersuchen von Archiven
    4. und dpkg --contents (= dpkg-deb --contents) zum Auflisten ihres Inhalts.
    5. /usr/sbin/dpkg-reconfigure: lirc-modules-source ist nicht installiert


    Hat jemand ne Ahnung was man da machen kann? Woher krieg ich das fehlende Modul für den aktuellen Kernel? Oder lieg ich vielleicht mit meiner These falsch? Ich war so froh, dass alles halbwegs funktionierte.

  • Könnte es sein, dass es mit dem neuesten Kernel (was sagt "uname -r"?) mittlerweile doch ein rc-core Gerät ist und daher das alte LIrc-Modul rausgefallen ist?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Tja, das ist mir jetzt echt ein bißchen peinlich nachdem ich vor ein paar Minuten erst gepostet hab - aber jetzt geht die FB plötzlich wieder.


    Code
    1. # uname -r
    2. 3.2.0-39-generic


    Ich hab nichtmal neu gebootet. Das Terminal ist noch offen - da steht immernoch der letzte Befehl


    Code
    1. # dpkg-reconfigure lirc-modules-source
    2. Paket »lirc-modules-source« ist nicht installiert und es ist keine Info verfügbar.
    3. Verwenden Sie dpkg --info (= dpkg-deb --info) zum Untersuchen von Archiven
    4. und dpkg --contents (= dpkg-deb --contents) zum Auflisten ihres Inhalts.
    5. /usr/sbin/dpkg-reconfigure: lirc-modules-source ist nicht installiert


    Auch irw zeigt brav alle Eingänge an. Wie kann das sein ohne Kernel-Module? Hat XBMC irgendwie eine eigene Empfänger-Geschichte laufen?


    Hier nochmal der letzte Aufruf vom Lirc-Service:


    Code
    1. # service lirc start
    2. * Loading LIRC modules [ OK ]
    3. * Unable to load LIRC kernel modules. Verify your
    4. * selected kernel modules in /etc/lirc/hardware.conf


    ..auch nochmal grad aus dem Terminal rauskopiert von vorhin. Ich hatte das aber schon öfter, dass einfach die Fernbedienung ausfiel - meist nach einem XBMC-Crash. Ich blick bei meinem eigenen Setup nicht durch!

  • Ich hab ein Aspire 5920G. Das hat den Winbond 8769L CIR port drin. Dafür gibt es leider noch ein kein rc-core Äquivalent.
    Ich hatte mich mal daran versucht den rc-core winbond-Treiber aufzubohren, aber das ist mir bis jetzt noch nicht gelungen (in den Kommentaren steht, dass es möglicherweise recht einfach gehen soll).
    Unter Archlinux gibts das lirc_wpc8769l Modul noch, aber ich hab damit auch so meine Probleme: https://bbs.archlinux.org/viewtopic.php?id=158343


    Bottomline: Momentan kann ich den Receiver auch nicht verwenden.
    Hmm bei dir scheint es ja wieder zu gehen. Dann werd ich wohl auch mal Mythbuntu testweise probieren.

  • Tja, ich kann Dir leider nicht sagen, ob's das Mythbuntu ist oder das XBMC, dass die Sache zum Laufen bringt. Hab ich das richtig verstanden, dass es normalerweise (außer für Arch) keine Möglichkeit gibt, den CIR mit Lirc an's Laufen zu kriegen? Bei Mythbuntu gab's halt so ne GUI wo ganz viele IR-Empfänger in einer Liste sind und dann alles richtig eingestellt wird. Link für Mythbuntu: Download hier .

  • Ich hab es jetzt auch gerade mal mit aktuellem Mythbuntu (Kernel 3.5.0-23-generic) per USB-Stick versucht. Wie du bereits geschrieben hast gibt es das Modul lirc_wpc8769l nicht. Das sind alle lirc-Module die ich finden konnte:


    Ich habe mal deine hardware.conf übernommen, weil die vernünftig aussieht. Wenn ich jetzt lirc wie du starte kommt bei mir:

    Code
    1. $ sudo service lirc start
    2. * Loading LIRC modules [ OK ]
    3. * Unable to load LIRC kernel modules. Verify your
    4. * selected kernel modules in /etc/lirc/hardware.conf
    5. find: `/sys/class/rc/*/': No such file or directory


    Sprich er findet verständlicherweise das zweite Modul nicht. Allerdings kommt bei mir in der letzten Zeile noch eine weitere Fehlermeldung. Kann es sein, dass du noch einen weiteren IR-Empfänger drin hast, der über rc-core erkannt wird (sprich hast du etwas in /sys/class/rc/)?
    Hast du wirklich ein /dev/lirc0? Das wird in Arch erst erstellt, wenn lirc_wpc8769l geladen ist.


    Da lirc nicht startet will irw natürlich auch nicht (bei dir scheint lirc ja zu starten?):

    Code
    1. $ irw
    2. connect: Connection refused


    Hab noch kurz probiert lirc_wpc8769l aus den aktuellen Quellen zu bauen, aber da in lirc ja nix mehr passiert, gabs da auch Fehlermeldungen.


    Hast du auch folgenden Eintrag im dmesg?

    Code
    1. $ dmesg | grep -i wec
    2. [ 1.602559] pnp 00:08: Plug and Play ACPI device, IDs WEC1020 (active)


    Hab ich das richtig verstanden, dass es normalerweise (außer für Arch) keine Möglichkeit gibt, den CIR mit Lirc an's Laufen zu kriegen?


    Als ich noch unter Ubuntu unterwegs war, hatte ich es am Laufen. Ich musste mir allerdings das Modul aus den Sourcen selber bauen, weil die das nicht mitbringen.


  • Hab noch kurz probiert lirc_wpc8769l aus den aktuellen Quellen zu bauen, aber da in lirc ja nix mehr passiert, gabs da auch Fehlermeldungen.


    Ich hab das Modul in Mythbuntu jetzt doch folgendermaßen bauen können:


    Damit erscheint dann auch /dev/lirc0. Allerdings hab ich dann dasselbe Problem wie in Arch Linux.
    Kannst du das bei dir mal versuchen?

  • Sorry, ich hab den Threat hier irgendwie aus den Augen verloren. Da ich jetzt ne tolle neue Fernbedienung hab und ein altes Problem mal wieder auftauchte, hab ich mit Google rumgesucht und hier jetzt meinen eigenen alten Threat wiedergefunden.


    Es kommt immer wieder vor, dass die Fernbedienung unter XBMC einfach plötzlich nicht mehr geht. Meist hilft nur noch ein Neustart. Wenn gerade eine Aufnahme im Hintergrund läuft geht das natürlich nicht sofort...nervige Sache.


    Zu der Sache mit dem Modul: Ich verstehe gar nicht, wieso die Fernbedienung ohne Kernel-Modul überhaupt funktioniert. Deshalb will ich da auch nicht mit einem selbst-kompilierten reinpfuschen. Im Grunde wäre ich schon Happy, wenn ich den Empfänger mit irgendeinem Befehl wieder anschmeißen könnte.


    Gerade hab ich wieder so einen Ausfall und kann nicht neu booten.


    Das Syslog enthält mehrfach die Zeilen:


    Code
    1. May 11 00:24:58 m3di4pc lircd-0.9.0[1048]: removed client
    2. May 11 00:24:59 m3di4pc lircd-0.9.0[1048]: accepted new client on /var/run/lirc/lircd


    Die gefragte Datei ist tatsächlich vorhanden. Es ist eine Socket-Datei. Trotzdem empfängt selbst irw nichts mehr. Daraufhin hab ich eingetippt:


    Code
    1. service lirc restart


    Daraufhin gab's Fehlermeldungen und irw startet nicht mehr. Vorher konnte ich irw zwar noch aufrufen, es registrierte aber keine Eingaben. Jetzt sagt irw:

    Code
    1. connect: Connection refused


    Die Fehlermeldung beim Lirc-Neustart lautet:


    Code
    1. # service lirc restart
    2. * Stopping remote control daemon(s): LIRC [fail]
    3. * Loading LIRC modules [ OK ]
    4. * Unable to load LIRC kernel modules. Verify your
    5. * selected kernel modules in /etc/lirc/hardware.conf


    Edit:


    Hab ganz vergessen auf die beiden Fragen zu antworten:


    Quote

    Hast du auch folgenden Eintrag im dmesg?

    Ja:


    Code
    1. dmesg | grep -i wec
    2. [ 0.417000] pnp 00:08: Plug and Play ACPI device, IDs WEC1022 (active)


    Quote

    Kann es sein, dass du noch einen weiteren IR-Empfänger drin hast, der
    über rc-core erkannt wird (sprich hast du etwas in /sys/class/rc/)?


    Hast du wirklich ein /dev/lirc0?

    Meines Wissens gibt es keinen weiteren IR-Empfänger im System. In fraglichem Pfad gibt es aber einen Softlink:


    Code
    1. #ll /sys/class/rc
    2. insgesamt 0
    3. drwxr-xr-x 2 root root 0 Mai 10 20:05 ./
    4. drwxr-xr-x 54 root root 0 Mai 10 20:04 ../
    5. lrwxrwxrwx 1 root root 0 Mai 10 20:05 rc0 -> ../../devices/pnp0/00:08/rc/rc0/


    Dieser Softlink verweist auf ein Verzeichnis, das folgendes enthält:




    Die Dati /dev/lirc0 existiert ebenfalls:


    Code
    1. # ll /dev/lirc*
    2. crw------- 1 root root 247, 0 Mai 10 20:05 /dev/lirc0
  • Warum muss man denn ein rc-core Gerät unbedingt mit Lirc nutzen? Wenn damit nur XBMC bedient werden soll kann man doch direkt das von den Treibern erzeugte Kernel Input Device nutzen...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich weiß gar nicht was ein rc-core-Gerät ist. Ich dachte alle Treiber funktionieren unter Linux per Kernel-Modul. Da es hier keins gibt, verstehe ich gar nicht warum der IR-Empfänger in XBMC und unter irw läuft.


    Wenn es auch anders üblich ist, wie Du scxhreibst, wo wird denn der Treiber wie geladen? Kann man das manuell anstoßen oder ist das irgendeine XBMC-interne Sache? Ich weiß ja nichtmal wo der Fehler zu suchen ist.

  • Es kommt immer wieder vor, dass die Fernbedienung unter XBMC einfach plötzlich nicht mehr geht. Meist hilft nur noch ein Neustart. Wenn gerade eine Aufnahme im Hintergrund läuft geht das natürlich nicht sofort...nervige Sache.


    Das Problem hatte ich auch mit lirc in Verbindung mit XBMC. Ich hab es gelöst, in dem ich lirc einfach nicht mehr verwenden und anstatt dessen den eventlircd. Dies kann man machen, wenn man einen Empfänger hat, der vom Kernel als rc-core device erkannt wird (bei dir /sys/class/rc/rc0).


    Mich ist nicht klar, warum du mit nur _einem_ Empfänger:
    1. Ein /dev/lirc0 ohne geladenes lirc_wpc8769l hast.
    2. Zur selben Zeit ein Empfänger als rc-core device erkannt wird.


    Deine TV Karte (Ist da überhaupt eine drin und wenn ja welche?) hat nicht zufällig noch einen Anschluss für einen IR-Empfänger? Was sagt den ir-keytable im Terminal?

  • In dem Rechner sind zwei Terratec Cinergy 1200 DVB-C Karten drin. Die haben keinen IR-Anschluss. Der Empfänger ist ein Intel CIR Empfänger, der per CIR-Schnittstelle am Mainboard hängt. Ich hab extra ein Intel-Board gekauft, wo dieser Anschluss drauf ist, weil man damit den Rechner per Fernbedienung einschalten kann. Es gibt weltweit nur einen Hersteller, der die CIR-Empfänger überhaupt baut und verkauft. Die meisten Leute basteln ihn sich selbst, um ihn an's Mainboard anzuschließen.


    Mich ist nicht klar, warum du mit nur _einem_ Empfänger:
    1. Ein /dev/lirc0 ohne geladenes lirc_wpc8769l hast.
    2. Zur selben Zeit ein Empfänger als rc-core device erkannt wird.

    Tja, mir auch nicht.


    Ich hab IR-mäßig halt nie was installieren müssen. Ich vermute, dass Mythbuntu-Setup hat den Empfänger so eingerichtet wie er ist. Es könnte natürlich auch was XBMC-internes sein, dass der normalerweise funktioniert. Einzig die Bootoption zum Abschalten des seriellen Anschlusses, um irgendeine Doppelbelegung zu vermeiden, hab ich manuell in die /etc/default/grub eingetragen. Sie lautet:


    Code
    1. GRUB_CMDLINE_LINUX_DEFAULT="8250.nr_uarts=1"


    ...hat aber bestimmt nichts mit meinem Problem zu tun.

  • Ich hab vielleicht einen neuen Hinweis:
    Als ich XBMC beendet und wieder gestartet habe ging die Fernbedienung mal wieder nicht. Daher hab ich XBMC mehrmals neu gestartet. Da hab ich mal in's Syslog geguckt. Jedesmal wenn XBMC neu gestartet wird gibt's diese Meldung:


    Quote

    lircd-0.9.0[1051]: removed client
    lircd-0.9.0[1051]: accepted new client on /var/run/lirc/lircd

    Das heißt doch, irgendwie läuft das doch mit Lirc, obwohl ich da gar keinen Kernel-dingsbums...Modul hab. Ist das Lirc doch irgendwie mit dem XBMC verknüpft?

  • Hast du dein Problem lösen können?

    Der Empfänger ist ein Intel CIR Empfänger, der per CIR-Schnittstelle am Mainboard hängt.

    Das hattest du vorher aber nicht erwähnt. Dann ist auch klar, dass du ein /sys/class/rc/rc0 hast. Die Intel CIR werden als rc-core eingebunden. Falls du wirklich zusätzlich ein Winbond CIR drin hast (was ich mir eigentlich nicht vorstellen kann), ignorier das einfach und verwende nur das Intel CIR.


    Dann brauchst du lirc auch gar nicht mehr verwenden, sonder nutzt lieber eventlircd oder inputlircd. Diese setzten dann die Signale vom Input Device auf den lirc-Socket (/var/run/lirc/lircd) um oder wenn du nur XBMC nutzt entsprechend seahawks Beschreibung.

  • Ich hab ein Aspire 5920G. Das hat den Winbond 8769L CIR port drin. Dafür gibt es leider noch ein kein rc-core Äquivalent.
    Ich hatte mich mal daran versucht den rc-core winbond-Treiber aufzubohren, aber das ist mir bis jetzt noch nicht gelungen (in den Kommentaren steht, dass es möglicherweise recht einfach gehen soll).
    Unter Archlinux gibts das lirc_wpc8769l Modul noch, aber ich hab damit auch so meine Probleme: https://bbs.archlinux.org/viewtopic.php?id=158343


    Bottomline: Momentan kann ich den Receiver auch nicht verwenden.


    Es hat sich ein neuer Maintainer für Lirc gefunden. Mit der neuen Lirc Version (0.9.1) funktioniert es jetzt unter Archlinux auch wieder. :)