[gelöst] Problem beim Erstellen von Lirc-Modulen

  • Möchte meine Fernbedienung (ATI Remote Control) unter ctvdr5 mit lirc zum Laufen bringen. Dazu steht in der hardware.conf als zu ladendes Modul lirc_atiusb. Beim Starten von Lirc (/etc/init.d/lirc start) kommt jedoch folgende Meldung:



    Daher wollte ich die fehlenden Lirc-Module erstellen. Dazu habe ich mit apt-get install lirc-modules-source die Datei lirc-modules.tar.gz in /usr/src erzeugt. Nach dem Entpacken habe ich folgenden Befehl (im Verzeichnis /usr/src/modules/lirc) benutzt: debian/rules KSRC=/usr/src/linux-2.6.16-ct-1 binary-modules. Dann erhalte ich aber leider:



    Dies sagt mir leider nichts, so dass ich hier um Hilfe bitte.

  • Das Modul lirc_atiusb lässt sich leider auch mit modprobe nicht laden:


    Zitat

    video:~# modprobe lirc_atiusb
    FATAL: Module lirc_atiusb not found.


    In der hardware.conf stehen die Module lirc_dev und lirc_atiusb.

  • Danke für diesen Tipp, damit konnte ich jetzt nach einigen Problemen mit meinen Compiler-Versionen die Lirc-Module erstellen.


    Beim Einbinden der beiden Module lirc_dev und lirc_atiusb über modprobe gibt es jetzt keine Fehlermeldung mehr.


    Auch der Aufruf /etc/init.d/lirc start bzw. restart bringt nur die Meldungen
    Stopping lirc daemon: lircmd lircd.
    Starting lirc daemon: lircd.


    Aber leider tut sich NICHTS beim Tastendrücken auf der Fernbedienung. Dies gilt sowohl für den vdr, irw als auch irrecord (bei vorherigem Stoppen von lircd).


    Da ich im Moment keine Ahnung habe, woran dies wieder liegen könnte wende ich mich nocheinmal mit der Bitte um Hilfe hierher.


    Für alle Fälle hier der Auszug über lirc aus /var/log/messages beim Boot-Vorgang:



    Hier auch noch meine hardware.conf:


  • Zitat

    Original von tubauwe
    Aber leider tut sich NICHTS beim Tastendrücken auf der Fernbedienung. Dies gilt sowohl für den vdr, irw als auch irrecord (bei vorherigem Stoppen von lircd).


    VDR interessiert noch keinen ;)


    LIRC stoppen, ev Module nochmals entladen:
    /etc/init.d/lirc stop
    modprobe -r lirc_dev
    modprobe -r lirc_atiusb


    Module neu laden:
    modprobe lirc_atiusb
    modprobe lirc_dev


    ls -ld /dev/lirc* # Ausgabe?


    irrecord -d /dev/lirc(0) meine_config.conf


    Falls das funkt die erstellte Config nach /etc/lirc/lircd.conf kopieren.


    Lirc starten:
    /etc/init.d/lirc start


    Testen mit irw.

  • Dank für den erneuten Tipp.


    Die Fernbedienung hat sich damit durch irrecord anlernen lassen. Dazu musste ich in der hardware.conf noch /dev/lirc in /dev/lirc0 ändern, da ls -ld /dev/lirc* nur ein solches geliefert hat.


    Das Programm irw hat dann auch jeden Tastendruck erkannt.


    Jedoch existiert /dev/lirc0 nach einem Reboot nicht mehr. Woran liegt dies jetzt?

  • Schau mal im log nach, sind Module geladen, kann er Module laden, ...


    also

    Code
    less /var/log/syslog
    lsmod | grep lirc
    lsmod | grep ati
    dmesg
    ls /dev/lirc*
  • Soweit ich das überblicken kann, sind die Module ordnungsgemäß geladen, aber es existiert nur /dev/lircd und kein /dev/lirc und/oder /dev/lirc0.


    Die Ausgabe von lsmod | grep lirc ist:

    Zitat

    lirc_atiusb 17440 0
    lirc_dev 14180 1 lirc_atiusb
    usbcore 119300 4 lirc_atiusb,uhci_hcd,ehci_hcd


    Und lsmod | grep ati liefert:

    Zitat

    lirc_atiusb 17440 0
    lirc_dev 14180 1 lirc_atiusb
    usbcore 119300 4 lirc_atiusb,uhci_hcd,ehci_hcd


    Hier zur Sicherheit hänge ich noch mein syslog an.

  • Noch ein Nachtrag:


    Sobald ich manuell die beiden Module lirc_atiusb und lirc_dev zunächst beende und neu starte. Das gleiche vorher mit lirc selbst tue, funktioniert die Fernbedienung (d.h. über irw) wieder tatellos.

  • Wie schaut denn deine /etc/lirc/hardware.conf aus?
    Syslog les ich nix verwertbares raus momentan.


    Was ist wenn du die Module über /etc/modules laden lässt?


    Musst du die Module entladen, neu laden, danach lirc?
    Oder reicht lirc alleine?

  • Meine hardware.conf ist 7 Beiträge zurück zu finden. Die einzige seitdem gemachte Änderung ist die von Device auf /dev/lirc0.


    Auch das Starten der Module über /etc/modules führt zu keiner Änderung.


    Die Fernbedienung funktioniert ohne Probleme, wenn ich folgende Befehlssequenz eingebe:
    (1) /etc/init.d/lirc stop
    (2) modprobe -r lirc_atiusb
    (3) modprobe -r lirc_dev
    (4) modprobe lirc_dev
    (5) modprobe lirc_atiusb
    (6) /etc/init.d/lirc start
    (7) /etc/init.d/vdr restart


    Danach funktioniert alles bestens und vdr will, dass die Fernbedienung angelernt wird. Dies lässt sich dann auch durchführen.

  • Reihenfolge ist egal, und auch so schaun die 2 Ausgaben fast gleich aus:


    Vorher:

    Code
    lirc_atiusb            17440  0 
    lirc_dev               14180  1 lirc_atiusb
    
    
    usbcore               119300  4 lirc_atiusb,uhci_hcd,ehci_hcd


    Nachher:

    Code
    lirc_atiusb            17440  1 
    lirc_dev               14180  1 lirc_atiusb
    
    
    usbcore               119300  4 lirc_atiusb,uhci_hcd,ehci_hcd


    Leider steht ja ned dabei von wem das lirc_atiusb da in der ersten Zeile benutzt wird :(

  • Das Problem war bisher, dass nach jedem Neustart /dev/lirc0 gefehlt hat. Wenn ich dies manuell angelegt habe, hat die Fernbedienung auch ohne Neuladen der Module funktioniert. Daher habe ich in die [I]/etc/rc.boot/S30ctvdr[I] die folgenden beiden Zeilen eingefügt:


    Zitat

    mknod /dev/lirc0 c 61 0
    chmod 0777 /dev/lirc0


    Jetzt funktioniert die Fernbedienung nach jedem Neustart. D.h. ich bin einen großen Schritt weiter, aber leider immer noch nicht ganz am Ziel:


    vdr will jetzt nach jedem Neustart die Fernbedienung wieder neu anlernen. Wie lässt sich dies beheben? Das kann meiner Meinung nach doch nicht mehr schwer sein.

  • Unsaubere Lösung, aber mir fällt im Moment auch nix besseres ein, ausser das ganze in /etc/init.d/lirc(d) unterzubringen, gehört eher da rein.


    Wegen anlernen:
    [list=1]
    [*]Bist du sicher dass er Lirc anlernen will (steht zu Beginn da)?
    [*]landet das Ergebnis in /var/lib/vdr/remote.conf?
    [*]Sichere /var/lib/vdr/remote.conf falls die Einstellungen drin sind.
    [*]lösche alles ausser LIRC aus der Sicherung
    [*]kopier die Datei nach /var/lib/vdr/remote.LIRC.conf
    [/list=1]

  • Zitat

    Original von wilderigel
    Unsaubere Lösung, aber mir fällt im Moment auch nix besseres ein, ausser das ganze in /etc/init.d/lirc(d) unterzubringen, gehört eher da rein.


    Man könnte das ganze auch in /etc/udev/links.conf eintragen:

    Code
    M lirc c 61 0
    M lirc0 c 61 0


    Allerdings sind dann die Rechte nur für root gesetzt.

    VDR 1.7.15 - Debian Squeeze/Kernel 2.6.32
    Rebach-Gehäuse, Intel Atom330, Extension HD, Technisat Cablestar2

Jetzt mitmachen!

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