Linux und Ich

Blog über Ubuntu, Linux, Android und IT

PC-Funkfernbedienung X10 unter Ubuntu mit Lirc

PC-Funkfernbedienung X10 unter Ubuntu mit Lirc

| 63 Kommentare

Ich plane meine gute alte schnurlose Tastatur in den Ruhezustand zu schicken und auf die aktuelle Tastatur von Apple aus Alu umzusteigen. Einen Haken hat die Sache jedoch, ich möchte weiterhin den PC von der Couch aus bedienen können, und das geht mit einer kabelgebundenen Tastatur nun einmal schlecht.

Nachdem meine Versuche einen seriellen IR-Adapter von Tekram zum Laufen zu bewegen erfolglos blieben, habe ich mich für eine PC-Funkfernbedienung X10 von Pollin entschieden. Billiger geht’s nicht mehr ;) Und das Gute? Sie funktioniert unter Linux… und das dank Funk sogar durch Wände hindurch. [UPDATE 01.02.2012: Von der X10 gibt es mittlerweile einen Nachfolger, dieser funktioniert ebenso gut, die hier vorgestellten Skripte lassen sich direkt übernehmen.]

Es gäbe auch noch weitere Alternativen wie die Hama MCE Remote Control, Speed-Link SL-6399 Media Remote Control oder die schweineteure Logitech Harmony, doch laut serenity’s blog braucht man für die Harmony noch Software, die stark in der Entwicklung ist und zu den anderen Fernbedienungen konnte ich keine Infos zu Linux finden. Außerdem finde ich die Preise für diese Produkte einfach zu hoch.

Die PC-Funkfernbedienung X10 von Pollin

Lirc installieren

Die Fernbedienung wird eigentlich von Haus aus über das Kernel-Modul ati_remote unterstützt. Allerdings hat das Modul ein paar Nachteile. So ist es beispielsweise nicht möglich die Tasten individuell zu belegen. Daher empfehle ich auf das gute alte Lirc zurückzugreifen. Dieses kann man über

$ sudo apt-get install lirc lirc-x xmacro

aus der Paketverwaltung nachinstallieren. Das Paket lirc-x empfehle ich, um später “normale” Tastendrücke über die Fernbedienung ausführen zu können. Die richtige Auswahl im Dialog für die Konfiguration von Lirc ist ATI/NVidia X10 RF (userspace). Im zweiten Dialog kann man None stehen lassen.

Die Auswahl der richtigen Konfiguration für Lirc

Sollte man sich hier geirrt haben, so kann man Lirc über

$ sudo dpkg-reconfigure lirc

neu konfigurieren lassen. Falls man die Fernbedienung bereits angesteckt hat, so wurde dabei das Kernelmodul für sie geladen. Dieses muss man nun einmal entladen und Lirc neu starten lassen. Sonst kommen sich das Kernel-Modul und Lirc in die Quere.

$ sudo rmmod ati_remote
$ sudo /etc/init.d/lirc restart

In Zukunft lässt der Kernel die Finger von der Fernbedienung, weil bei der Installation von Lirc automatisch die Datei /etc/modprobe.d/lirc-blacklist erstellt wurde, die verhindert, dass das Kernelmodul geladen wird.

Fernbedienung konfigurieren

Nun geht es an das eingemachte und den wohl aufwändigsten Teil der Aktion. Die bei der Installation mitgelieferte /etc/lirc/lircd.conf bindet die Datei /usr/share/lirc/remotes/atiusb/lircd.conf.atilibusb ein. Diese Datei beinhaltet die Verknüpfung des Codes einer Taste der Fernbedienung zu einem Namen im Klartext. Des weiteren enthält sie wichtige Konfigurationen zur Fernbedienung.

Eine eigene lircd.conf erstellen

Die automatisch installierte lircd.conf hat bei mir nur teilweise funktioniert. So funktionierten manche Tasten gar nicht, andere Tasten mussten zwei mal gedrückt werden damit die Aktion ausgeführt wird und die automatische Wiederholung (bspw. zum Ändern der Lautstärke) funktionierte überhaupt nicht.

Daher empfehle ich eine eigene lircd.conf anzulegen und auch nicht nach passenden lircd.conf im Internet zu suchen. Ich habs probiert und hätte mir viel Zeit erspart, wenn ich mir kurz die Mühe gemacht hätte selber eine lircd.conf zu erstellen. Die Suche und die Probiererei hat deutlich mehr Zeit gekostet als das Erstellen einer eigenen lircd.conf… Dieses geschieht nun über den Befehl

$ sudo /etc/init.d/lirc stop
$ irrecord -H atilibusb ~/lircd.conf

Der Verlauf dieser Aktion ist eigentlich selbsterklärend. Wichtig ist es die Anweisungen genau zu lesen und zu befolgen, dann kann nicht viel schief gehen. Bei der Wahl der Namen für die Tasten ist man frei, man kann beliebigen Namen wählen. Hat man den Assistenten beendet, so kann man über

$ sudo mv /etc/lirc/lircd.conf /etc/lirc/lircd.conf.orig
$ sudo cp ~/lircd.conf /etc/lirc/lircd.conf
$ sudo /etc/init.d/lirc start

die Konfiguration kopieren und Lirc neu starten. Wer sich die selbe Fernbedienung von Pollin gekauft hat, der müsste auch meine lircd.conf benutzen können. Besitzer der “PC-Funkfernbedienung X10″ von Pollin führen daher einfach nur

$ wget http://christoph-langner.de/static/lircd.conf.txt
$ sudo mv /etc/lirc/lircd.conf /etc/lirc/lircd.conf.orig
$ sudo cp lircd.conf.txt /etc/lirc/lircd.conf
$ sudo /etc/init.d/lirc restart

aus und ersparen sich so den Assistenten. Nun müsste die Fernbedienung vollständig konfiguriert sein. Man kann dies über

$ irw
00000014709b0000 00 world x10
00000014709b0000 01 world x10
[...]

austesten. Jede Taste sollte nun eine Ausgabe bewirken. Ist dies der Fall, so ist die Fernbedienung korrekt konfiguriert und man kann sich dem Einrichten von Lirc widmen.

Lirc funktioniert nach Neustart nicht

Es gibt einen Bug im Lirc-Paket, wonach Lirc nach einem Neustart nicht funktioniert. Obwohl der Dienst läuft ergibt irw bspw. keine Ausgabe. Ich helfe mir hier mit einer Quick&Dirty-Lösung. Ich trage einfach

# Fix for https://bugs.launchpad.net/ubuntu/+source/lirc/+bug/334144
/etc/init.d/lirc restart

in die /etc/rc.local ein. Diese Datei wird automatisch am Ende eines jeden Boot-Vorganges ausgeführt und “löst” somit das Problem…

Lirc einrichten

Nun empfängt Lirc die Signale der Fernbedienung, allerdings weiß Lirc noch nicht was es denn machen soll, wenn eine der Tasten gedrückt wird. Man muss also Tastendrücke mit Aktionen verknüpfen. Diese Verknüpfungen kann jeder Benutzer über die Datei ~/.lircrc vornehmen.

Die Konfigurationsdateien

Man kann jetzt keine Kochrezepte nennen, denn jeder Anwender wird wohl andere Programme benutzen und unterschiedliche Belegungen verwenden wollen. Ich gebe einfach ein nur ein paar Beispiele zur Bedienung der Medientasten, von tvtime und Totem sowie dem Herunterfahren des Rechners über die Fernbedienung an. Weitere ausführliche Erklärungen bekommt man bspw. im Wiki von ubuntuusers.de unter Lirc/Tasten mit Funktionen belegen.

Im Folgenden zeige ich die lirc-Konfigurationen, die ich für mein System benutze. Ob man diese Beispiele 1:1 übernehmen kann hängt davon ab welche Bezeichnungen man für die Knöpfe der Fernbedienung man in der lircd.conf benutzt. Eventuell muss man noch die Zeilen mit button anpassen. Letztendlich sollen die Beispiele nur als Anregung für Euch dienen…

~/.lircrc

## MediaKeys
include ~/.lirc/mediakeys

### Totem
include ~/.lirc/totem

### Tvtime
begin
        prog   = irexec
        button = livetv
        config = if [ -z $(pgrep tvtime) ]; then (tvtime --device /dev/vbi0 &); fi
        mode   = tvtime
end
include ~/.lirc/tvtime

### Tvtime
begin
        prog   = irexec
        button = music
        config = if [ -n $(pgrep -f quodlibet) ]; then (quodlibet &); fi
        mode   = quodlibet
end
include ~/.lirc/quodlibet

### Session
begin
        prog = irexec
        button = off
        config = gnome-session-save --shutdown-dialog --gui
        mode = gnome-session-save
end
include ~/.lirc/gnome-session-save

~/.lirc/totem

### Totem
begin totem
        begin
                prog   = Totem
                button = off
                config = quit
                flags = quit mode
        end
        begin
                prog   = Totem
                button = forward
                config = seek_forward
                repeat = 3
        end
        begin
                prog   = Totem
                button = rewind
                config = seek_backward
                repeat = 3
        end
        begin
                prog   = Totem
                button = right
                config = volume_up
                repeat = 1
        end
        begin
                prog   = Totem
                button = left
                config = volume_down
                repeat = 1
        end
        begin
                prog   = Totem
                button = angle
                config = fullscreen
        end
end totem

~/.lirc/mediakeys

### MediaKeys
begin
        prog = irexec
        button = volume+
        repeat = 1
        delay = 5
        config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease XF86AudioRaiseVolume | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = volume-
        repeat = 1
        delay = 5
        config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = mute
        repeat = 0
        config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = play
        config = echo KeyStrPress XF86AudioPlay KeyStrRelease XF86AudioPlay | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = pause
        config = echo KeyStrPress XF86AudioPause KeyStrRelease XF86AudioPause | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = next
        config = echo KeyStrPress XF86AudioNext KeyStrRelease XF86AudioNext | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = previous
        config = echo KeyStrPress XF86AudioPrev KeyStrRelease XF86AudioPrev | xmacroplay $DISPLAY
end
begin

~/.lirc/tvtime

## TVTIME ##
begin tvtime
	begin
		prog = irexec
		button = off
		config = tvtime-command QUIT
		flags = quit mode
	end
	begin
		prog = irexec
		button = world
		config = tvtime-command DISPLAY_INFO
	end
	begin
		prog = irexec
		button = angle
		config = tvtime-command TOGGLE_FULLSCREEN
	end
	begin
		prog = irexec
		button = mute
		config = tvtime-command TOGGLE_MUTE
	end
	begin
		prog = irexec
		button = up
		config = tvtime-command UP
	end
	begin
		prog = irexec
		button = down
		config = tvtime-command DOWN
	end
	begin
		prog = irexec
		button = right
		config = tvtime-command RIGHT
		repeat = 1
	end
	begin
		prog = irexec
		button = left
		config = tvtime-command LEFT
		repeat = 1
	end
	begin
		prog = irexec
		button = program+
		config = tvtime-command CHANNEL_UP
	end
	begin
		prog = irexec
		button = program-
		config = tvtime-command CHANNEL_DOWN
	end
	begin
		prog = irexec
		button = back
		config = tvtime-command CHANNEL_JUMP
	end
	begin
		prog   = irexec
		button = 1
		config = tvtime-command CHANNEL_1
	end
	begin
		prog   = irexec
		button = 2
		config = tvtime-command CHANNEL_2
	end
	begin
		prog   = irexec
		button = 3
		config = tvtime-command CHANNEL_3
	end
	begin
		prog   = irexec
		button = 4
		config = tvtime-command CHANNEL_4
	end
	begin
		prog   = irexec
		button = 5
		config = tvtime-command CHANNEL_5
	end
	begin
		prog   = irexec
		button = 6
		config = tvtime-command CHANNEL_6
	end
	begin
		prog   = irexec
		button = 7
		config = tvtime-command CHANNEL_7
	end
	begin
		prog   = irexec
		button = 8
		config = tvtime-command CHANNEL_8
	end
	begin
		prog   = irexec
		button = 9
		config = tvtime-command CHANNEL_9
	end
	begin
		prog   = irexec
		button = 0
		config = tvtime-command CHANNEL_0
	end
	begin
		prog = irexec
		button = OK
		config = tvtime-command ENTER
	end
end tvtime

~/.lirc/gnome-session-save

begin gnome-session-save
        begin
                prog = irxevent
                button = up
                config = Key Up CurrentWindow
        end
        begin
                prog = irxevent
                button = down
                config = Key Down CurrentWindow
        end
        begin
                prog = irxevent
                button = ok
                config = Key Return CurrentWindow
        end
end gnome-session-save

Wer die Copy&Paste-Aktion scheut, der kann all diese Beispiel über das Archiv lirc.zip herunterladen und im Homeverzeichnis entpacken.

Totem

Totem bringt von Haus aus Support für Lirc über ein Plugin mit. Allerdings muss man dieses erst über “Bearbeiten > Plugins -> Infrarot-Fernbedienung” aktivieren. Macht man dies nicht, so tut sich bei Totem nichts.

irexec

Fehlt nur noch irexec. Dieses Programm lauscht im Hintergrund auf lirc und führt Aktionen aus, wenn diese bei lirc eingehen. Das Programm wird automatisch zusammen mit Lirc installiert. Zusätzlich ist noch irxevent relevant. Dieses Programm kann Tasteneingaben der Tastatur emulieren. So kann man über die Fernbedienung bspw. die Tasten Hoch/Runter benutzen und so Anwendungen steuern. Ich benutze dies bspw. beim Steuern des Shutdown-Dialoges von GNOME.

Testen

Zum Testen ruft man beide Programm am besten in zwei Terminal ohne Optionen auf.

$ irexec
$ irxevent

Starten

Klappt alles zur vollsten Zufriedenheit so kann man die Programme als Daemon starten. So laufen sie im Hintergrund.

$ irexec -d
$ irxevent -d

Autostart

Damit die beiden Dienste automatisch beim Einloggen gestartet werden, sollte man sie in “System -> Einstellungen -> Startprogramme” eintragen. Dazu fügt man einfach zwei neue Einträge mit den zuletzt genannten Befehlen hinzu.

Autor: Christoph

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

63 Kommentare

  1. Die Software für die Harmony ist noch unter Entwicklung, aber bietet schon alle Funktionen die man braucht. Selbst das manuelle Anlernen von unbekannten Fernbedienungen funktioniert mittlerweile.

    Gruß, serenity

  2. Danke für den Hinweis. Bleibt der stolze Preis ;)

  3. Das stimmt. Ich habe ein kleines Modell und die hat ca 50 Euro gekostet. Die Harmony hat auch einen anderen Ansatz. Sie ersetzt bestehende Fernbedienungen im Haushalt und erleichtert die Bedienung durch selbst programmierbare Markros. Zum Steuern eines Rechners reicht lirc und ein beliebiges Standardgerät hin.

  4. Schöner Artikel wieder! Ich habe in der letzten Zeit versucht, eine normale Fernbedienung über den eingebauten Fast-IR-Port meines Laptops mit Lirc an’s Laufen zu bekommen, leider ohne Erfolg. Die Doku von Lirc ist da auch nicht ganz eindeutig, aber ich glaube inzwischen, das geht auch gar nicht.

    Habe mir jedenfalls auch diese Fernbedienung gekauft, für 8 Euro kann man echt nix falsch machen!

  5. Ich habe mir einen neuen PC zusammengestellt, dabei wurde dem Barebone P4 P5N9300 von ASUS eine IR-Fernbedienung mit einer zusätzlichen sonderbaren Windows-Taste, beigelegt – wohl für Vista Multimedia gedacht. Jedoch musste ich feststellen, dass der ITE-Chipsatz IT8720F vom IR-Receiver (auf Motherboard) noch nicht im Kernel 2.6.28.x von Jaunty Jackalope 9.04 enthalten ist – wohl erst im Kernel 2.6.29 unterstützt wird. Hier zeigt sich immer mal mehr wie schwierig es ist, Linux-Software out-off-the-box auf neuster Hardware zum laufen zu bringen. Wenn ich Pech habe – und der Kernel nicht dabei ist, muss ich wohl bis Ubuntu 9.10 warten. ;-(

    Die Idee mit Deiner Alternativ-Fernbedienung finde ich gut.

  6. @TFT
    Du kannst den 2.6.29 aus einem PPA der Ubuntu Kernel-Entwickler recht einfach installieren. Er enthält zwar nicht die Patche, die Ubuntu normalerweise in den Kernel integriert, aber vielleicht hilfts dir. Siehe http://wiki.ubuntuusers.de/Mainline-Kernel

  7. Hallo,

    tolle Anleitung! Das ist viel anschaulicher als in den meisten Foren zu finden. Leider kimme ich ab irw nicht mehr weiter. Das lässt sich zu keiner Ausgabe bewegen. Die Erstellung der lircd.conf klappt ohne Probleme, die Fernbedienung (die gleiche X10 von Pollin) wird erkannt. Hab auch schon mit der hardware.conf gespielt, leider ohne Erfolg. Hast du noch einen Tip???

    Grüße
    calim

  8. Also, wenn irrecord funktioniert hat, dann muss eigentlich auch irw klappen. Hast du alle Dateien richtig kopiert und dann lirc neu gestartet?

  9. Ich hab alles Schritt-für-Schritt nach deiner Anleitung gemacht. Hab auch schon mehrmals mit Neustart und auch mit stop-start und restart des Dienstes. Ich habe die lirc Pakete auch schon (mit Configuration) deinstalliert und wieder neu installiert (nachdem ich auch das Verzeichnis /etc/lirc gelöscht habe). Leider alles bisher ohne Erfolg. Vielleicht warte ich einfach mal auf 9.04, das kommt sowieso drauf sobald es raus ist. Womöglich funktionieren dann auch ein paar andere Dinge wieder die unter 8.04 liefen, unter 8.10 aber Probleme machen.

  10. Hi Calim, ich bin mir nicht SEHR sicher, aber ich meine unter Hardy haben viele Sachen was Lirc betrifft nicht wirklich gut funktioniert. Den Artikel hier habe ich jedenfalls mit Jaunty erarbeitet.

  11. Dann hoffe ich mal das es bei mir unter Jaunty klappt. Sind nur noch 8 Tage. Die werde ich noch bis zur offiziellen Freigabe der stable warten. ;-) Danke schon mal…

  12. Weißt du zufällig ob man MythTV und XBMC problemlos mit der X10 Fernbedingung steuern kann?
    Dann wäre die wirklich perfekt für einen HTPC ;)

  13. LinuxHobby, das müsste möglich sein. Man muss nur Lirc entsprechend einrichten. Letztenendes kannst du jedes Programm mit Lirc bedienen. Vorraussetzung ist dass die Fernbedienung mit Lirc will.

  14. Hab mir auch die X10 gekauft, danke für den hilfreichen Artikel!

    Also ich hab alles nach Deinem Artikel eingerichtet und ein paar Fehler gefunden. Die Datei muss “.lircrc” und das Verzeichnis “.lirc” nicht “.lircrc/..”

    Außerdem ist xmacro, wozu xmarcoplay gehört unter Hardy nicht standardmäßig installiert.

    Soweit klappt bei mir unter Hardy alles, nur werden die von Dir verwendeten Symbole anscheinend nicht gefunden:

    KeyStrPress: XF86AudioStop
    No keycode on remote display found for ‘XF86AudioStop': 269025045
    KeyStrRelease: XF86AudioStop
    No keycode on remote display found for ‘XF86AudioStop': 269025045
    Unknown tag: XF86AudioStop
    xmacroplay: pointer and keyboard released.

    Ich habe eine Multimediatastatur von Logitech, deren Tasten funktionieren unter Hardy schon immer out-of-the-box. Wie finde ich heraus, welche Tastencodes diese benutzt? xev gibt leider keinen code aus, wenn ich sie drücke!?

    FocusOut event, serial 31, synthetic NO, window 0x2400001,
    mode NotifyGrab, detail NotifyAncestor

    FocusIn event, serial 31, synthetic NO, window 0x2400001,
    mode NotifyUngrab, detail NotifyAncestor

    KeymapNotify event, serial 31, synthetic NO, window 0x0,
    keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    FocusOut event, serial 31, synthetic NO, window 0x2400001,
    mode NotifyNormal, detail NotifyNonlinear

    Kannst Du mir einen Tipp geben?

  15. > Also ich hab alles nach Deinem Artikel eingerichtet und ein paar Fehler gefunden. Die Datei muss “.lircrc” und das Verzeichnis “.lirc” nicht “.lircrc/..”

    Danke für den Hinweis, habs geändert.

    > Soweit klappt bei mir unter Hardy alles, nur werden die von Dir verwendeten Symbole anscheinend nicht gefunden:

    Ist das unter Hardy vielleicht noch nicht vorhanden? Vielleicht hilft dir das Wiki von uu.de weiter http://wiki.ubuntuusers.de/Xmodmap

  16. Leider bin ich mit den Mediatasten Volume+ und Volume- noch nicht weitergekommen.

    Aber VLC (den benutz ich lieber als Totem) hab ich inzwischen hinzugefügt und VLC kann ich jetzt steuern:

    einfach folgendes als ~/.lirc/vlc speichern.

    ### VLC
    begin
        remote = x10
        prog = vlc
        button = down
        config = key-nav-down
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = play
        config = key-play-pause
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = pause
        config = key-play-pause
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = ok
        config = key-nav-activate
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = mute
        config = key-vol-mute
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = volume-
        config = key-vol-down
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = dvdmenu
        config = key-disc-menu
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = stop
        config = key-quit
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = up
        config = key-nav-up
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = volume+
        config = key-vol-up
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = right
        config = key-nav-right
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = rewind
        config = key-slower
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = forward
        config = key-faster
        repeat = 0
        delay = 0
    end
    
    begin
        remote = x10
        prog = vlc
        button = left
        config = key-nav-left
        repeat = 0
        delay = 0
    end
    begin
        remote = x10
        prog = vlc
        button = angle
        config = key-fullscreen
        repeat = 0
        delay = 0
    end
    begin
        remote = x10
        prog = vlc
        button = previous
        config = key-jump-medium
        repeat = 0
        delay = 0
    end
    begin
        remote = x10
        prog = vlc
        button = next
        config = key-jump+medium
        repeat = 0
        delay = 0
    end
    

    Vielleicht findet das jemand nützlich. (Leider sind die Einrückungen verloren gegangen…)

    //Edit by Christoph: Hab pre-Tags gesetzt :)

    Natürlich muss man vorher noch in der ~/.lircrc die Zeile

    include ~/.lirc/vlc

    einfügen.

  17. Inzwischen ist mir leider aufgefallen, dass nach einem Neustart der Empfänger einmal ausgesteckt und danach Lirc neugestartet werden muss, damit Lirc die Befehle der Fernbedienung wieder empfängt.

    Vielleicht muss ich demnächst dann doch mal auf Intrepid updaten und in der Folge wohl auf Jaunty. Schade eigentlich bisher lief Hardy so gut, dass ich keinen Grund zum Update sah.

  18. Schau dir mal die Ausgabe von

    lsmod
    

    an bevor du die Ferndienung einmal ab und wieder angestöpselst und lirc neugestartet hast. Vielleicht muss ein Kernelmodul von Hand geladen werden.

  19. Mal eine echt gute Anleitung. Ich habe auch die X10 von pollin. Allerdings hab ich erst mein Glück damit unter XP versucht. Das dazugehörige Programm Eventghost ist ziemlich komplex und meiner Meinung auch schlecht dokumentiert (und wenn dann doch nur englisch). Hab ganze 2 Tage gebaucht, bis ich es verstanden habe den GOM Player mit X10 auf XP zum Laufen zu bringen.

    Bevor ich es nun mit Linux versuche, wollte mal fragen, ist es auch da so schwer. Will mir nur tagelange Arbeit ersparen.

  20. @Heiko, also wenn man Lirc einmal verstanden hat, dann ist es nicht schwer. Folge meinem Guide, dann sollte das schon klappen :)

  21. Moin.

    Habe das unter Ubuntu 9.04 zum Laufen gekriegt. Man muss das Paket “xmacro” installieren, sonst läuft irexec nicht, “xmacroplay” wurde schließlich irgendwo in ~/.lirc/* verwendet. Weiterhin musste ich aus einem für mich unverständlichen Grund “irexec -d /home//.lircrc” als Autostartbefehl nehmen und nicht nur “irexec -d”. Bei “irxevent” analog.

  22. Korrektur: /home/username/.lircrc sollte das natürlich sein :-)

  23. Bin grade begeistert von deinem Beitrag!
    Hab mir eben die passende FB bestellt und hoffe es wird alles bei mir klappen, falls nein hoffe ich es ist nicht so schlimm wenn ich hier nochmal nachfrage.

    Es soll überwiegend Amarok gesteuert werden. Bisher fand ich nur folgende Seite fuer Amarok befehle:

    http://amarok.kde.org/wiki/RemoteControl

    weiß vielleicht jemand wo man weitere finden kann?
    Danke vorweg

    Gruß Yann

  24. Bin leider kein KDEler oder Amarok-Benutzer. Aber Amarok sollte sich doch steuern lassen, wenn du die Medientasten via Lirc einrichten (siehe oben, Stichwort “MediaKeys”).

  25. Pingback: /dev/blog » RF remote with Fedora 10

  26. Mit Amarok klappt das auch. Man muss aber manchmal die XF86Audiobla Events noch zuweisen. Unter KDE tut man das irgendwo in ‘systemsettings’, unter Gnome: System -> Einstellungen -> Tastenkombinationen. Unter Gnome braucht man außerdem das Amarok-Skript “Gnome Multimedia Keys 2″. Die Skriptverwaltung ist in Amarok über das Menü “Extras” zu erreichen.

  27. Hallo.

    Erst einmal vielen Dank für die Anleitung. Ich beise mir hier schon seit Wochen die Zähne an der X10 von Pollin aus.
    Ich habe die Anleitung genau so abgearbeitet. Am Punkt irxevent bekomm ich jedoch die Fehlermeldung Can´t open Display.
    Hat da vielleicht jemand eine Idee wie ich da weiter komme?

    Vielen Dank für eine Hilfe.

    Gruß vom verzweifelten
    Marko

    Acer Revo N330
    XBMC Live Installation
    X10 von Pollin

  28. Hallo Marko, läuft auf deinem Rechner kein Xserver?

  29. Moin.

    Ich hab die XBMC Live Version hier auf einem Acer revo installiert. Da kommt ja nur ein eingeschränktes Ubuntu mit. Ein X Server muss ja laufen, da ich bei “sudo dpkg-reconfigure lirc” ja eine grafische Ausgabe bekomme.

    Gruß
    Marko

  30. Mhhhm, auf Jaunty hat alles gut geklappt.
    habe nun vor ein paar tagen zu Karmic gewechselt, alles nochmals wie beschrieben durchgefuehrt. Mit irw werden alle tasten erkannt nur werden die befehle aus meiner .lircrc nicht ausgefuehrt?!

    was mach ich falsch?

    sie sieht uebrigens so aus:

    begin
     prog = irexec
     button = record
     config = amarok
    end


    begin
     prog = irexec
     button = play
     config = dcop amarok player play
    end

    begin
     prog = irexec
     button = stop
     config = dcop amarok player stop
    end

    begin
     prog = irexec

     button = pause
     config = dcop amarok player playPause
    end

    begin
     prog = irexec
     button = volume-
     repeat = 2
     config = dcop amarok player volumeDown
    end

    begin
     prog = irexec
     button = volume+
     repeat = 2
     config = dcop amarok player volumeUp
    end


    begin
     prog = irexec
     button = next
     repeat = 3
     config = dcop amarok player next
    end

    begin
     prog = irexec
     button = previous
     repeat = 3
     config = dcop amarok player prev
    end

    begin
     prog = irexec
     button = mute
     config = dcop amarok player mute
    end

    begin
     prog = irexec
     button = info
     repeat = 3
     config = dcop amarok player showOSD
    end
  31. Hallo.

    Also ich habe den Fehler gefunden, warum es bei mir bisher nicht funktioniert hat.
    Um die Tasteninformationen der Fernbedienung auch an das XBMC weiter zureichen, benötigt man zum lirc noch die beiden Dateien keymap.xml und Lircmap.xml. Diese müssen nach ~/.xbmc/userdata/ kopiert werden. Da ist XBMC etwas “anders”…:)

    Gruß
    Marko

  32. Ich wollte mal fragen, olb das normal ist, dass * und # auf der Fernbedienung nicht funktionieren. Außerdem hab ich bei der Asugabe mit irw festgestellt, wenn eine Taste gedrückt wird, gleich 5 Zeilen für einen Tastendruck in der Console mit irw auftauchen. Hab schon mit lsmod nachgeschaut, aber da läuft nur der USB HID Treiber.

    Vielleicht ist das auch normal,für eine Antwort wäre ich froh.

  33. Hallo Heiko.
    Bei mir das gleiche. Ich habe die X10 erfolgreich nach dieser Anleitung installiert. Zwar reagiert sie nicht auf “mode2″ aber immerhin zeigt mir “irw” an, welche Taste ich gerade drücke. Dort erscheint bei mir allerdinds auch jeder Tastendruck 4-fach! Ich habe schon an allen möglichen Parametern herumgespielt aber es hilft nichts. Als pre_data MUSS ich 0x14 nehmen, da sonst gar nichtts funktioniert. Bei gap und toggle_bit_mask habe ich schon einiges Dinge erfolglos ausprobiert. Wäre super, wenn jemand noch eine Idee hat, wo man das Verhalten der X10 umstellen kann. Ich kann jedenfalls mythTV *so* nicht steuern, da ich durch die mehrfachen Tastendrücke gar nicht alle Menupunkte erreichen kann…

  34. Hi, bin gerade dabei deine Anleitung zu lesen uns auszuführen – vielen Dank dafür, bislang (einrichten von Lirc mir deiner conf) funktioniert es bestens!

    *Daumen hoch*

  35. Danke für diese wundervolle Anleitung! Ich habe ebenfalls die X10 von Pollin (hervorragend und sehr günstig, hab mir gleich 2 gekauft) und so bei der Einrichtung einen schnellen Erfolg erzielen können :-)

    Habe die lircd.conf von dir übernommen. Aber leider reagiert jede Taste erst beim zweiten Tastendruck; irw zeigt sie aber beide Male an. Hast du eine Ahnung woran das liegt?

  36. White Rabbit, es ist normal dass irw Eingaben mehrfach anzeigt. Passiert bei mir auch. Siehe bspw…

    $ irw
    00000014f21d0000 00 left x10
    00000014f21d0000 01 left x10
    00000014f21d0000 02 left x10
    00000014f21d0000 03 left x10
    00000014f21d0000 04 left x10
    00000014749f0000 00 right x10
    00000014749f0000 01 right x10
    00000014749f0000 02 right x10
    00000014749f0000 03 right x10
    00000014749f0000 04 right x10
    

    Tvtime und alle meine anderen Anwendungen, die ich mit der X10 steuere haben damit keine Probleme. Ich meine dazu auch schon mal irgendwas gelesen zu haben.

    Letztendlich entscheidet Lirc, was es mit wiederholt gesendeten Signalen macht. Lirc unterscheidet zwischen Tasten die länger gedrückt werden und Tasten, die nur einmal gedrückt werden über die “repeat” Option.

    Drückst du bspw. auf die Zifferntaste “9”, so willst du dass nur einmal die mit der 9 verknüpften Aktion ausgeführt wird. “repeat” wird daher auf “0” gesetzt, was der Standard ist. Drückst du dagegen auf Lauter, so es immer lauter werden, je länger du die Taste hältst. Dazu wird “repeat” auf “1” gesetzt.

    • Hi Christoph,
      hm, bist du sicher, dass das normal ist? Was sagt denn bei dir
      ps aux |grep lirc ?
      Bei mir läuft seltsamerweise lircd und irexec jeweils zweimal, wobei
      ich nicht weiß, weshalb das so ist oder ob es sogar so es sein muss??

      Ich will mit der X10 mein mythbuntu 9.04 steuern und mythTV kommt mit der wiederholten Tasteneingabe nicht klar. Wenn ich den Pfeil nach unten
      druecke, um im Menu einen Punkt weiter nach unten zu gelangen,
      springt es immer gleich zwei Punkte weiter … wo kann ich denn *da*
      die Sache mit den repeats einstellen?

  37. ich sehe gerade:
    htpc:~/.mythtv $ cat lircrc
    # LIRCRC Auto Generated by Mythbuntu Lirc Generator
    # Author(s): Mario Limonciello, Nick Fox
    # Created for use with Mythbuntu
    [...]
    begin
    remote = Medion_X10_Remote_Control
    prog = mythtv
    button = down
    config = Down
    repeat = 0
    delay = 0
    end
    [...]
    stimmt also schon so

  38. mythTV habe ich mir leider bisher noch nicht angesehen, aber eigentlich sollte das schon passen. Was ist, wenn du die repeat und delay Optionen rausnimmst? Die sind bei mir gar nicht erst bei der Konfiguration für tvtime (sollte ja ähnlich sein) drinnen.

  39. Danke, das hat mir sehr geholfen, bin schon halb verzweifelt;)

  40. guter Blog, klasse Anleitung für die Pollin X10. Hat auf Anhieb geklappt (Mythbuntu 8.10), alle Tasten funktionieren und jetzt kann ich sogar meine Aufnahmemaschine, an der ich keine Tastatur oder Maus oder sowas habe, mit der Fernbedienung herunterfahren.

    Deine Anleitung schlägt alle sogenannten Wikis in diesem Bereich um Längen. Vielen Dank für Deine Mühe.

    Grüßle

  41. Die fernbedienung gibt es ja leider nicht mehr zu kaufen. Das Tutorial hat bei meinem Ubuntu 10.04 aber auch mit der “PC-Funkfernbedienung 40005929″ von Pollin funktioniert:
    http://www.pollin.de/shop/dt/NDY1ODcyOTk-/Computer_und_Zubehoer/Hardware/Maeuse_Unterlagen_Joystick/PC_Funkfernbedienung_40005929.html

    Es müsste vermutlich die lircd.conf angepasst werden da die beiden Tasten “TV/DVD” und “PC” oben mit dem angebotenen File nicht gehen, aber sonst klappt es einwandfrei. Leider ist diese Fernbedienung nicht ganz so schön wie die oben gezeigte aber ich hatte sie schon weil sie bei meinem Notebook beilag ;-)

    Danke für das tolle Tutorial. Rhythmbox lässt sich jetzt fernsteuern, weitere Funktionen probiere ich aus wenn ich wieder mal Zeit habe.
    Den Lirc-Bug musste ich übrigens nicht mehr abstellen.

  42. Ich bin jetzt auf Ubuntu 10.04 umgestiegen, wobei es Probleme mit der X10 von pollin gibt.

    Zuerst hat irw nicht mehr geklappt, aber das Problem hat sich gelöst.

    Das weit größere Problem ist der XMBC. Die Einrichtung wie hier beschrieben funktioniert, irw liefert passende Ergebnisse. Die Fernbedienung funktioniert unter Ubuntu 10.04 aber nicht mehr.

    Kann man XMBC auch über .linuxcrc steuern?

    Im Netz findet man nur Anleitungen die über atiremote laufen. Funktioniert auch, ist aber viel zu langsam, Tasten müssen doppelt
    gedrückt werden.

    Ich nehme an, dass es die kemap.xml und lircmap.xml, die beide unter ubuntu 9.10 anstandslos liefen, nicht mehr funktionieren unter Ubuntu 10.04.

    Wer weiß Rat?

  43. Hey ich habe heute eine Medion x10 Fernbedienung unter 10.04 mit xbmc zum Laufen gebracht.
    @ Heiko:

    Du hast ja schon die passenden Outputs bei “irw” . Du drückst eine Taste und der Name der Taste als auch der Name der Fernbedienung wird jedesmal angezeigt,richtig?

    Soweit war ich auch schnell. Dann musste ich etwas frickeln:

    Zuerst habe ich mir eine “lircmap.xml” für xbmc (irgendwo…)heruntergeladen.
    Diese kommt in /home/”username”/.xbmc/userdata

    Dann öffnest du irw und schaust dir die Einträge in der lircmap.xml an. Zum Bespiel stop>??? stop>STOP</stop

    So gehst du bei jedem Befehl in der lircmap.xml vor. Dann ganz oben unter "remote device="????" " gibst du noch den Namen deiner Fernbedienung ein (der bei irw jedesmal hinter dem Namen der Taste steht) .

    Fertig!
    ((ps: meine FB hatte bei manchen Tasten unterschiedliche Namen zugewiesen bekommen. Da dann einfach die lirc.conf von unnötigen EInträgen befreien(andere FBs rausschmeißen))

  44. da ist irgendwas gestern beim Editieren schief gegangen:

    In der lircmap.xml stehen die Tastenfunktionen von xbmc in folgender Form:
    stop ?????? /stop (es fehlen noch diese Pfeilspitzen…naja)

    Öffne die lircmap.xml zum editieren und öffne irw.
    Drücke auf der FB im Beispielfall die STOP-Taste. irw wird etwas ausgeben (Namen der Taste und Namen der FB).
    Zum Beispiel ….. stop_xyz medion_x10

    also trägst du es in die lircmap.xml ein
    stop stop_xyz /stop (es fehlen die Pfeilspitzen…)

    den Namen der fb brauchst du nur einmal in die Datei eintragen.
    So fährst du mit jeder Taste fort und nach 5 min läuft xbmc.

    Die Namen die irw für deine Buttons auf der FB vergibt, stehen in der lirc.conf unter dem Abschnitt deiner Fernbedienung(musst nach dem Namen suchen, falls es mehr als einen Eintrag gibt)

  45. Pingback: « Fernbedienung OR23E X10 mit lirc und Ubuntu :: Blog about My Life, My World and My Universe :: brainknows.de

  46. THX! genau das hab ich gebraucht :)

  47. Hey, super Anleitung! Danke!
    Bevor ich damit loslegen konnte, musste ich allerdings noch eine fb besorgen, und die von Pollin ist leider ausverkauft. Auch die kleine, die W&G oben verlinkt hat, gibt es nicht mehr. Die neue, die Pollin anbietet ist ziemlich hässlich (habe ich gleich wieder zurückgeschickt), aber ich habe noch paar andere gefunden:
    http://www.x10receiver.net/support_faq?web
    Diese Seite gehört zwar zu der win-software, die bei der alten fb dabei war (X10Receiver.NET), aber die fbs funktionieren natürlich trotzdem.

  48. Ich danke tausendmalfür diesen Artikel. nachdem ich mich ein par tage lang damit abgemüht habe, konnte ich lirc wirklich zum laufen kriegen. vielen dank!

  49. Hi, ich habe gerade den Beitrag mit grossem Interesse gelesen, allerdings habe ich jetzt das Problem, dass wenn ich auf die Fernbedienung drücke, dass dann nichts passiert. Ich habe LIRC eingerichtet und habe Windows Media Center transceiver/remotes (all) und none as IR transmitter ausgewählt.
    Der Empfänger sitzt an einem USB Anschluss. Was muss ich denn noch alles anstellen um das Teil dazu zu bringen, das es macht was ich will?.

    RC136T + IR608 2in1 Microsoft Windows 7 / Vista, MCE, Green Button IR Remote Control with Receiver for managing Windows Media Center, multi media, home theater, and peripherals with PC/NB/TV
    Add to preferred Products
    Model No
    RC136T 2in1 MCE Remote Control

    Antwort wäre echt Klasse.
    Alf

    • Du kannst ganz gut testen, ob überhaupt irgendwas von der Fernbediennung aufgenommen wird, wenn du…

      $ irw
      000000145e890000 00 volume+ x10
      000000145e890000 01 volume+ x10
      000000145e890000 02 volume+ x10
      000000145e890000 03 volume+ x10
      ...
      

      …in einem Terminal ausführst und dann auf der Fernbedienung tasten drückst. Wenn dort nichts ausgegeben wird, dann stimmt noch was mit der Konfiguration nicht.

  50. habe gerade die “neue” X10 von Pollin mit xubuntu 11.10 zum laufen gebracht ! Funktioniert super und total OHNE Probleme – auch mit Clementine, VLC sowieso aber auch XBMC. Bin total begeistert und möchte mich herzlichst für deinen Beitrag bedanken !!! Kann jetzt Musik von der Badewanne aus steuern :-)
    Grüße Hans

  51. Hey, vielleicht kann mir ja jemand helfen…

    Habe hier auch noch eine alte X10 rumliegen und einen alten DVB-T USB Receiver von Medion. Angeschlossen es hat sogar sofort alles funktioniert (DVB-T) und er hat auch den Empfänger für die FB erkannt. Bei irw kommt aber nichts von der FB, nur Maustasten und so. Es kommt kein “Event”… Habe auch eine Vermutung woran es liegen könnte. Ich hatte irgendwo gelesen, dass es eine X10 als Bestandteil einer Ati Karte gab und daher die Ati konf. funktioniert. Der Befehl:”lsusb” ergibt bei mir aber folgendes: “Bus 001 Device 005: ID 0bc7:0006 X10 Wireless Technology, Inc. Wireless Transceiver (ACPI-compliant)” – Kann es sein, dass mein Ubuntu 11.10 den Empfänger anders erkennt und es daher nicht geht? Es gibt ja bei Lirc auch die Auswahl “MD1 NBC” – das wäre mein Modell – geht aber trotzdem nicht. Hat jemand eine Idee? Danke!

  52. $ sudo rmmod ati_remote
    $ sudo /etc/init.d/lirc restart

    In Zukunft lässt der Kernel die Finger von der Fernbedienung, weil bei der Installation von Lirc automatisch die Datei /etc/modprobe.d/lirc-blacklist erstellt wurde, die verhindert, dass das Kernelmodul geladen wird.

    Check mal mit lsmod |grep ati ob das Modul ati_remote noch geladen ist. Wenn ja, dann die Datei /etc/modprobe.d/lirc-blacklist checken, ob ati_remote da drin steht.

  53. Hmmm… das hat bei mir nicht so einfach funktioniert. Ubuntu 12.04 LTS. Lirc laeuft schon prima mit einem TechnoTrend IR USB-Receiver. Das ging “out of the box”, wie man so schoen sagt. Jetzt eine alte X10-FB ausgepackt und von einem Kumpel einen entsprechenden USB-X10-Receiver geliehen, um mal zu sehen, was geht. Nix geht.

    dpkg-reconfigure lirc laesst mich aus

    ATI/NVidia/X10 I & II RF Remote
    ATI/NVidia/X10 RF Remote (userspace)

    auswaehlen. Resultat bei Auswahl des userspace-Treibers:

    find: `/sys/class/rc/*/': No such file or directory
    * Stopping remote control daemon(s): LIRC
    …fail!
    ls: cannot access /lib/modules/3.4.4/kernel/drivers/staging/lirc: No such file or directory
    * Loading LIRC modules
    …done.
    find: `/sys/class/rc/*/': No such file or directory
    * Starting remote control daemon(s) : LIRC
    …done.

    Irgendwie scheinen da Treiber zu fehlen? Ein modprobe ati_remote bringt beim anschliessenden lsmod

    ati_remote 18133 0
    rc_core 22276 1 ati_remote

    Das anschliessend irrecord -H atilibusb liefert:

    irrecord: couldn’t find a compatible USB device
    irrecord: could not init hardware (lircd running ? –> close it, check permissions)

    Ideen?

  54. Es scheint auch, als wuerden die Treiber fehlen:

    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc
    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc/lirc_parallel.ko
    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc/lirc_serial.ko
    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc/lirc_igorplugusb.ko
    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc/lirc_sir.ko
    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc/lirc_sasem.ko
    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc/lirc_ttusbir.ko
    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc/lirc_zilog.ko
    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc/lirc_imon.ko
    /lib/modules/3.4.4/kernel/drivers/staging/media/lirc/lirc_bt829.ko
    /lib/modules/3.4.4/kernel/drivers/media/rc/ir-lirc-codec.ko
    /lib/modules/3.4.4/kernel/drivers/media/rc/keymaps/rc-lirc.ko
    /lib/modules/3.4.4/kernel/drivers/media/rc/lirc_dev.ko

    ist alles, was ich zu lirc unter lib/modules/3.4.4 finden kann.

  55. Ah, Folgendes hat’s fuer mich geloest. Mein lsusb zeigt

    Bus 002 Device 009: ID 0bc7:0006 X10 Wireless Technology, Inc. Wireless Transceiver (ACPI-compliant)

    Bei dpkg-reconfigure lirc habe ich

    ATI/NVidia/X10 I & II RF Remote

    ausgewaehlt. Damit hat das ganze bereits eine lircd.conf unter /etc/lirc installiert, die ihrerseits mit

    include “/usr/share/lirc/extras/more_remotes/atiusb/lircd.conf.atiusb”

    auf eine Kombi verschiedener Fernbedienungs-Configs verweist. Bescheuerterweise musste ich aber in /etc/lirc/hardware.conf noch

    REMOTE_DRIVER=”atilibusb”

    eintragen, dann mit

    service lirc restart

    den LIRC durchstarten. Danach hat ein irw wechselweise Keys verschiedener Fernbedienungen angezeigt, bei mir unter anderem von ATIUSB_MEDION_MD95700 und SAPPHIRE_ATIUSB_5000023600. Das habe ich erst verstanden, als ich das Include im generierten /etc/lirc/lircd.conf sah und die dort referenzierte Datei. Von dort habe ich dann den Abschnitt zu ATIUSB_MEDION_MD95700 direkt in die /etc/lirc/lircd.conf kopiert und den Include auskommentiert, dann mit

    service lirc restart

    den LIRC-Daemon durchgestartet. Jetzt funzt das einwandfrei.

    Cheers,
    — Axel

  56. Ich bin mit Linux Mint Debian unterwegs.

    LIRC hab ich installiert.

    Wenn ich nun den Befehl absetze, passiert gar nichts:

    sudo dpkg-reconfigure lirc

    Hast du vielleicht eine Idee woran das liegen könnte, und wie man das behebt?

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.