Squeeze-VDR Teil 5 - Die LIRC-Fernbedienung

Gott bin ich alt - ich kann mich noch an Fernseher ohne Fernbedienung erinnern! Und bis jetzt ist der neue Squeeze-VDR nicht viel besser dran. Dem kann aber schnell Abhilfe geschaffen werden.

remote control

Prinzipiell kann fast jede Infrarot-Fernbedienung für den VDR verwendet werden. Neben den Nummerntasten sollte die Fernbedienung lediglich auch Tasten für Menu, Ok, Exit, Pfeiltasten sowie vier Farbtasten haben. Die meisten Universalfernbedienungen genügen diesen Anforderungen. Außnahmen mag es vielleicht bei wirklich exotischen oder Uralt-Modellen geben.

Auf der VDR-Seite brauchst du einen Infrarotempfänger, der via USB oder serieller Schnittstelle angeschlossen wird. Einige DVB-Karten besitzen einen eigenen Infrarotempfänger.

Bei mir kommt ein IR-Empfänger Marke Eigenbau mit einem TSOP173 IR-Empfängermodul zum Einsatz. Wer einen Lötkolben sein eigen nennt, hat sich so einen Empfänger schnell zusammengebaut.

LIRC

Software-seitig sorgt LIRC (Linux Infrared Remote Control) dafür, das Signal des IR-Empfängers zu dekodieren. Das LIRC-Kernel-Modul kapselt dabei den Zugriff auf die Hardware, ein LIRC-Daemon übersetzt die IR-Signale in LIRC-Tasten-Codes und diese wiederum werden im VDR den entsprechenden Funktionen zugewiesen.

Am Anfang steht zunächst die Installation des LIRC-Kernel-Modules und der LIRC-Pakete:

sudo apt-get install module-assistant
sudo m-a a-i lirc
sudo apt-get install lirc setserial

Dann müssen noch einige LIRC-Kernel-Modul-Parameter konfiguriert werden mit sudo nano /etc/modprobe.d/lirc.conf:

options lirc_serial io=0x3f8 irq=4
install lirc_serial /bin/setserial /dev/ttyS0 uart none ; /sbin/modprobe --ignore-install lirc_serial

io=0x3f8 und irq=4 spezifizieren hierbei den RS232-Port COM1 (/dev/ttyS0).

Danach kann LIRC aktiviert werden:

sudo modprobe lirc_serial

Lirc sollte jetzt laufen (nachprüfbar mit lsmod | grep lirc oder dmesg). Wenn das soweit alles geklappt hat, kannst du LIRC nun die einzelnen Tasten beibringen. Starte dazu:

irrecord -n -d /dev/lirc0 /tmp/lircd.conf

... und folge den Anweisungen. Die Tasten benennst du z.B. "Ok", "Menu", "1", ..., "9" u.s.w.

Wenn du damit fertig bist, kopierst du die eben erstellte lircd.conf nach /etc/lirc (sudo cp /tmp/lircd.conf /etc/lirc). Jetzt musst du noch die Datei /etc/lirc/hardware.confeditieren und folgende Zeilen eintragen/ändern:

DEVICE="/dev/lirc0"
MODULES="lirc_serial"

Mit sudo service lirc start kannst du LIRC jetzt starten.

VDR

Nun bleibt nur noch übrig, die Tasten der Fernbedienung den VDR-Funktionen zuzuordnen. Damit der VDR den Lernmodus startet musst du die remote.conf zunächst verschieben und den VDR neu starten:

sudo mv /var/lib/vdr/remote.conf /tmp
sudo service vdr restart

Jetzt folgst wieder den Anweisungen des VDR. Bist du fertig, kannst du die alte remote.conf (mit der Xineliboutput-Tastaturbelegung) an die neue anhängen:

sudo service vdr stop
sudo sh -c "cat /tmp/remote.conf >>/var/lib/vdr/remote.conf"
sudo service vdr start

Und das war's auch schon. Der VDR sollte jetzt mit der Fernbedienung ansprechbar sein.

Verwendest du einen anderen IR-Empfänger, so ändern sich auch die LIRC-Parameter zu dem, was hier gezeigt wurde. Die LIRC-Konfiguration ist sicher nicht gerade einfach, aber Hilfe dazu findest du zuhauf im Netz!

Published on 23/10/2010 at 10:00 by , tags , , ,

  • bei gerdich 15/02/2011 at 13:57

    Workaround: Version von cvs kompiliert. Nimm lircd von /usr/local/sbin statt /usr/sbin Driver ist default.


  • bei gerdich 14/02/2011 at 21:13

    Nur bei mir geht es mal wieder nicht. Kompilieren abgebrochen mit: /usr/src/modules/lirc-modules/lirc_i2c.c:399: error: unknown field 'id' specified in initializer


  • bei gerdich 14/02/2011 at 21:12

    Nur bei mir geht es mal wieder nicht:

    Kompilieren abgebrochen mit:

    /usr/src/modules/lirc-modules/lirc_i2c.c:399: error: unknown field 'id'

                       │ specified in initializer
    

  • bei heinz57 18/12/2010 at 08:17

    für LIRC sollte man einen Blick ins Rechner-BIOS tun: Ist RS232-Port COM1/ttyS0 auf io=0x3f8 irq=4 aktiviert?

    Man sollte ruhig erwähnen, dass die Erstellung einer lircd.confmeist einige Geduld verlangt!

    Es ist nicht so sinnvoll remote.conf nach /tmp zu kopieren, wenn nämlich "service vdr start" nicht geht, ist remote.conf weg nach dem reboot. Ich habe es auf /home/benutzer/ kopiert, da hat man es auch, wenn man lircd.conf überarbeiten muß.

    Außerdem gibt es ja da auch noch TV-Karten mit Fernbedienungen, die richtig erkannt werden, so z.B. die "TeVii S464 DVB-S2 PC". Ich selbst bevorzuge LIRC. - Zur Vermeidung von Problemen mit den events solcher Geräte s. C´t 3, 2010, S 134ff


  • bei olaf 05/12/2010 at 18:21

    nun habe ich es auch geschafft! Allerdings nur weil ich mir eine fertige lircd.conf runtergladen habe. Da ich eine einfache Hauppauge Fernbedienung nehme (mir ist das nicht so wichtig und so schlecht finde ich die nicht) geht es nun. Der Hausfrieden ist wieder hergestellt. Jetzt kann ich mich um die anderen Baustellen kümmern, S3 geht noch nicht und der VDR wacht nicht auf. Mal sehen an was es liegt Einen schönen 2. Advent noch.


  • bei olaf 05/12/2010 at 12:49

    nun gibts keine Punkte mehr, vielleicht sollte ich eine fertige Distrinution nutzen. So ein Baukasten ist scheinbar eine Nummer zu groß für mich


  • bei olaf 05/12/2010 at 10:59

    wie trage ich denn dann das Igor plugin ein. Meiner meinung nach wird der USB dongle erkannt, aber mit der Fernbedienung klappts nicht wirklich. Lirc macht seine Punkte, aber ich kann nicht alle Tasten anlernen


  • bei e-tobi 05/12/2010 at 00:41

    Die debconf.Konfiguration der Lirc-Module gibt es nicht mehr. Es sollten standardmäßig alle Module gebaut werden, Die insserv-Warnungen kannst du ignorieren.


  • bei olaf 04/12/2010 at 23:41

    Ich hänge leider an der Lirc Konfiguration schon den ganzen Samtag. Ich kann dpkg reconfigure lirc nicht aufrufen bzw. erscheint der dialog nicht. http://pastie.org/1348191

    Weiss jemand rat?


  • bei olaf 01/12/2010 at 15:09

    ich würde licr gern mit einem usb power on Dongle betreiben. Hat damit jemand Erahrung kann mir bei den Einstellungen helfen?

    Grüße

    Olaf


  • bei e-tobi 20/11/2010 at 13:51

    z.B. so:

    Package: lirc
    Pin: release o=Debian
    Pin-Priority: 1002
    

  • bei Patrick 20/11/2010 at 13:27

    Hi Tobi,

    danke fuer dein Update, es hat keine 10 minuten gedauert und ein update auf vdr 1.7.16 mit xineliboutput+vdpau war geschehen und alles lief... naja, fast alles.

    Ich hatte probleme mit deinem lirc 0.8.6 . Ich muss aus DVB-Treibergruenden 2.6.36 nehmen (aus debian experimental) und kann mir deshalb eine manuelle Installation von lirc sparen. (lirc_serial ist bei 2.6.36 dabei).

    Allerdings ist diese nicht kompatibel mit lirc-0.8.6. Ich downgradete also auf 0.8.3 (von squeeze) und alles geht.

    Was ich nicht weiss, ist wie ich in der Zukunft lirc von squeeze den Vorzug geben kann bei Beibehaltung von "Priority: 1000" fuer e-tobi.net?

    Ansonsten super Arbeit.

    -- Patrick


  • bei Steffen 18/11/2010 at 11:46

    JO, da bin ich wieder ...

    Also jetzt habe ich das Problem dass ich nicht herausfinden kann welches device-file für meinen x10-Receiver angelegt wird ...

    nachdem hier: lrwxrwxrwx 1 root root 9 18. Nov 10:56 pci-0000:05:01.0-event-ir -> ../event5

    würde ich vermuten /dev/input/event5, aber wenn ich in der plugin.remote.conf "-i /dev/input/event5" eintrage startet der vdr und das Plugin zwar, aber es reagiert nicht auf Tasten ... und die funktionieren laut irw perfekt ...

    Ein /dev/lirc gibt es bei mir in keiner Form ... vielleicht hast Du da nochmal einen Tipp für mich, wäre toll!

    Dank im Voraus


  • bei Steffen 18/11/2010 at 11:11

    Erledigt. Hatte dein Repo zusätzlich noch in der sources.list und da hat er die Priorität wohl nicht richtig übernommen.

    Jetzt hat er sie und jetzt hat er auch das remote-plugin installiert!

    Vielen Dank ... ich melde mich wenn ich die nächsten Probs habe ;)


  • bei Steffen 18/11/2010 at 11:02

    Hallo,

    vdr-plugin-remote: Installiert: (keine) Kandidat: 0.4.0-20 Versionstabelle:

     0.4.0-20 0
        500 http://ftp.de.debian.org/debian/ squeeze/main i386 Packages
        500 http://http.us.debian.org/debian/ sid/main i386 Packages
        500 http://ftp.de.debian.org/debian/ sid/main i386 Packages
     0.4.0-20 0
        500 http://e-tobi.net/vdr-experimental/ squeeze/vdr-multipatch i386 Packages
    

    Die sind also gleichberechtigt! Ich werde das mal anpassen und mich dann nochmal melden! Danke für die schnelle Antwort!


  • bei e-tobi.net 18/11/2010 at 00:58

    Ich vermute mal, du hast in Teil 2 einen Schritt übersprungen und /etc/apt/preferences.d/e-tobi nicht installiert

    Wenn du apt-cache policy vdr-plugin-remote aufrufst, dann muss das Plugin für das e-tobi-Repo mit einer Priorität von 1001 erscheinen. Falls das nicht so ist, wird die Version aus Squeeze installiert und die ist für VDR 1.6.

    Zu der Meldung: VDR such standardmässig nach eine LIRC-Fernbedienung.


  • bei Steffen 17/11/2010 at 22:38

    Hallo e-tobi,

    ich habe da ein kleines Problem mit dem remote-plugin ...

    Es lässt sich aus den APT-Repos nicht installieren, da es nach der vdr-abi-1.6.0 sucht und ich die 1.7.16 habe.

    Nun wollte ich das gerne per Hand bauen und habe nicht herausfinden können wie ich die vdr-quellen installieren kann zu dem von dir empfohlenen VDR bzw. ich das mit der abi umgehen oder fixen kann ...

    Also habe ich das remote-plugin von den Debian-Repos geladen und einfach in mein System kopiert, umbenannt (von so.1.6.0 zu so.1.7.16) und den VDR neu gestartet, aber er startet das Plugin nicht mit.

    Dennoch ercheint im Syslog: [b]Nov 17 22:34:08 AmoksPC vdr: [24372] ERROR: /dev/lircd: Datei oder Verzeichnis nicht gefunden Nov 17 22:34:08 AmoksPC vdr: [24372] ERROR: remote control LIRC not ready![/b]

    Das ist auch kein Wunder, das Device heisst anders und ich nutze eine x10 und kein IR ... Es wundert mich nur wo die MEldung ohne laufendes remote-plugin herkommt.

    Vielleicht weisst Du rat, gerne auch per E-Mail!

    Danke und schönen Abend noch!


  • bei e-tobi 14/11/2010 at 21:08

    Das LIRC-Paket ist speziell fuer Squeeze also für 2.6.32. Evtl. werde ich noch irgendwann dieses Jahr auf Lirc 0.9 und Kernel 2.6.36. umstellen. Aber bis dahin bleibt dir nur 2.6.32 oder du bist auf dich allein gestellt.


  • bei duck 14/11/2010 at 20:06

    EDIT: Fehlermeldung ist eigentlich folgende:

    build module

    /usr/bin/make -C /usr/src/modules/lirc-modules KSRC=/usr/src/linux make[2]: Entering directory /usr/src/modules/lirc-modules' /usr/bin/make -C /usr/src/linux SUBDIRS=/usr/src/modules/lirc-modules modules make[3]: Entering directory/usr/src/linux-headers-2.6.35-02063508-generic' CC [M] /usr/src/modules/lirc-modules/lircdev.o /usr/src/modules/lirc-modules/lircdev.c:35:28: error: linux/autoconf.h: Datei oder Verzeichnis nicht gefunden make[4]: [/usr/src/modules/lirc-modules/lirc_dev.o] Fehler 1 make[3]: [module/usr/src/modules/lirc-modules] Fehler 2 make[3]: Leaving directory /usr/src/linux-headers-2.6.35-02063508-generic' make[2]: *** [all] Fehler 2 make[2]: Leaving directory/usr/src/modules/lirc-modules' make[1]: [binary-modules] Fehler 2 make[1]: Leaving directory `/usr/src/modules/lirc-modules' make: [kdist_build] Fehler

    dürfte ein problem mit "lirc_dev.c:35:28: error: linux/autoconf.h: Datei oder Verzeichnis nicht gefunden" geben :(

    was kann ich jetzt tun?? ne plan vielleicht? danke!


  • bei duck 14/11/2010 at 19:33

    EDIT: verwende eine Tevii S464 und würde gerne die fernbedienung oder zumindest den IR-receiver ...wird die Fernbedinung von den lirc-modules unterstützt? THX


  • bei duck 14/11/2010 at 19:31

    hi tobi,

    erst mal super anleitung...leider bekomme ich beim bauen des lirc-modules bei ca.27% einen fehler :( verwende den 2.6.35 kernel...liegt es daran?? was kann ich nun tun...

    folgende fehlermeldung erhalte ich :

    for templ in ; do \
    │ cp $templ echo $templ | sed -e 's/_KVERS_/2.6.35-02063508-generic/g'
    │ ; \
    │ done
    │ for templ in ls debian/*.modules.in ; do \
    │ test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in}
    │ ${templ%.modules.in}.backup 2>/dev/null || true; \
    │ sed -e 's/##KVERS##/2.6.35-02063508-generic/g
    │ ;s/#KVERS#/2.6.35-02063508-generic/g ; s/KVERS/2.6.35-02063508-generic/g
    │ ; s/##KDREV##/2.6.35-02063508.201010291110/g ;
    │ s/#KDREV#/2.6.35-02063508.201010291110/g ;
    │ s/KDREV/2.6.35-02063508.201010291110/g ' < $templ >
    │ ${templ%.modules.in}; \
    │ done
    │ dh_clean "


  • bei Piet 12/11/2010 at 10:55

    Also dann doch: ich war zu doof. Ich kann mir nur noch nicht erklären, wo ich den Fehler gemacht habe.

    Nächste Woche werde ich die Kiste nochmal von Null hochziehen, wenn ich's 'rausfinde, melde ich mich nochmal.

    Vielen Dank für Deine Mühe.


  • bei e-tobi 11/11/2010 at 23:38

    Ich hab die Installation nochmal auf i386 mit einem frischen Squeeze durchgespielt. Klappt vollkommen reibungslos!

    lirc_serial muss auch nicht in der Liste auftauchen. Das läuft über den "default" driver.


  • bei Piet 11/11/2010 at 20:58

    Ja, da Modul konnte ich auch laden, aber lircd beschwerte sich, daß er nicht mit lircserial kann. Beim Aufruf von lircd mit --driver=? (aus dem Gedächtnis) fehlte dann auch lircserial in der Liste.


  • bei e-tobi 11/11/2010 at 20:39

    Wüsste nicht, warum das unter i386 nicht funktionieren sollte.

    Hast du denn die Kernelmodule mit m-a a-i lirc gebaut und installiert?


  • bei Piet 11/11/2010 at 15:31

    Argh, leider Vergessen: es handelt sich um das i386-Paket.


  • bei Piet 11/11/2010 at 15:15

    Ich hatte Dein Paket installiert, und bekam beim Starten des Lircd die Meldung, daß der Treiber nicht unterstützt wird. Ein manueller Aufruf zum Anzeigen der unterstützten Treiber zeigte den lirc_serial auch nicht an.

    Ich hatte vorsichtshalber das Paket nochmal deinstalliert (mit purge) und neu installiert -> ging nicht.

    Habe mir dann das Paket aus dem yavdr-ppa gezogen, das ging auf Anhieb.

    War ich doch nur zu blöd ?


  • bei e-tobi 11/11/2010 at 15:10

    Was lässt dich das vermuten? Ich verwende selber auch lirc_serial.


  • bei Piet 11/11/2010 at 15:08

    Moin,

    kannst Du bitte das Lirc-Pakte mal prüfen, ich glaube es fehlt im lircd die Unterstützung für lirc_serial.

    Danke für Deine investierte Freizeit !


  • bei e-tobi 03/11/2010 at 13:28

    Kann auch sein dass ich es einfach vergessen habe.

    Hab's nun mit in den Artikel eingebaut. Danke für den Hinweis!


  • bei Gumbo 03/11/2010 at 13:16

    Jetzt, wo Du es sagst: bei mir war der module-assistant nicht installiert, daran ist es gescheitert. Scheint, unter Umständen, nicht automatisch bei der Standard-Installation dabei zu sein.


  • bei e-tobi 30/10/2010 at 21:04

    Freut mich wenn du was mit der Anleitung anfangen konntest. Ein paar Fortsetzungen wird es noch geben.

    Eigentlich sollte der module-assistant lirc-modules-source automatisch installieren.

    Hab's gerade nochmal getestet. "m-a a-i" zieht alle notwendigen Pakete, Würde mich echt wundern, wenn das bei dir nicht so ist.


  • bei Gumbo 30/10/2010 at 20:06

    Erstmal vielen Dank für die tolle Anleitung, ich hoffe auf noch viele Fortsetzungen :)

    Da ich derzeit alle Schritte nachvollziehe und so meinen neuen VDR aufsetze: mir ist hier ein evtl. fehlender Zwischenschritt aufgefallen. So musste ich erst noch lirc-modules-source installieren - ansonsten geht sudo m-a a-i lirc schief.


comment Squeeze-VDR Teil 5 - Die LIRC-Fernbedienung

Powered by Publify | Photo Startup stock photos