Anleitung Lirc Installation für Antec Fusion mit Atric Empfänger
Diese Anleitung beschreibt, wie man LIRC und LCDProc auf Ubuntu 9.04 installiert um das im Antec Fusion eingebaute LCD sowie einen externen IR-Empfänger zu nutzen. Die Anleitung funktioniert möglicherweise auch mit anderen Gehäusen, die das gleiche Soundgraph LCD verbaut haben, sowie mit anderen IR-Empfängern.
Inhaltsverzeichnis |
Hintergrund
Das Gehäuse "Antec Fusion Remote" hat zwar einen IR-Empfänger eingebaut, dieser kann aber nur mit MCE Fernbedienungen umgehen. Ich habe deswegen in das Gehäuse einen Atric IR-Einschalter eingebaut. Damit man das verbaute LCD-Display, den Lautstärkeregler an der Front, sowie den zusätzlichen IR-Empfänger nutzen kann, muss man LIRC entsprechend installieren und konfigurieren. Den IR Empfänger des Atric Einschalter habe ich hinter dem Frontpanel platziert, wo standardmäßig der IR-Empfänger des integrierten Soundgraph Moduls verbaut ist.
LIRC
Vorbereitung
Diese Installationsanleitung ist geschrieben für Ubuntu Jaunty Jackalope (9.04) und das Imon Device von Soundgraph 15c2:0038.
Man kann mit lsub prüfen, ob man das richtige Modul installiert hat:
$ lsusb |grep -i sound Bus 003 Device 003: ID 15c2:0038 SoundGraph Inc.
mkdir src cd src wget http://prdownloads.sourceforge.net/lirc/lirc-0.8.4a.tar.bz2 tar xvfj lirc-0.8.4a.tar.bz2 rm -r lirc-0.8.4a.tar.bz2 cd lirc-0.8.4a/
Der Trick besteht darin, zuerst Lirc jeweils einmal separat für das Imom zu installieren und anschließend für den IR-Emfpänger. Danach kann man beide zusammenbringen, dazu später mehr.
Installation
./configure --with-driver=imon make -j2 sudo make install
./configure --with-driver=serial make -j2 sudo make install
Leider installiert der make install die Kernel-Module unter Ubuntu 9.04 an einen falschen Ort. Deswegen müssen wir diese noch manuell anpassen:
cd /lib/modules/2.6.28-11-generic/kernel/ubuntu/lirc/lirc_imon sudo mv lirc_imon.ko lirc_imon.ko.old sudo ln -s /lib/modules/2.6.28-11-generic/misc/lirc_imon.ko lirc_imon.ko
cd /lib/modules/2.6.28-11-generic/kernel/ubuntu/lirc/lirc_serial sudo mv lirc_serial.ko lirc_serial.ko.old sudo ln -s /lib/modules/2.6.28-11-generic/misc/lirc_serial.ko lirc_serial.ko
cd /lib/modules/2.6.28-11-generic/kernel/ubuntu/lirc/lirc_dev sudo mv lirc_dev.ko lirc_dev.ko.old sudo ln -s /lib/modules/2.6.28-11-generic/misc/lirc_dev.ko lirc_dev.ko
Jetzt laden wir die Module in den Kernel:
sudo setserial /dev/ttyS0 uart none sudo modprobe lirc_imon sudo modprobe lirc_serial sudo depmod -ae
Wenn alles gut geht, sollte es unter /dev mehrere lirc und lcd Devices geben:
$ ls /dev/li* /dev/lirc /dev/lirc0 /dev/lirc1 /dev/lirc2 /dev/lircd /dev/lircm
$ ls /dev/lc* /dev/lcd0 /dev/lcd1
Mit dem Befehl dmesg können wir nachsehen was passiert ist:
$ dmesg [ 1898.112683] lirc_dev: IR Remote Control driver registered, major 61 [ 1898.114662] lirc_imon: Driver for Soundgraph iMON MultiMedia IR/VFD, v0.3 [ 1898.114666] lirc_imon: Venky Raju <dev@venky.ws> [ 1898.114696] lirc_imon: imon_probe: found IMON device [ 1898.114702] lirc_dev: lirc_register_plugin: sample_rate: 0 [ 1898.114767] lirc_imon: imon_probe: Registered iMON plugin(minor:0) [ 1898.114806] lirc_imon: imon_probe: iMON device on usb<3:3> initialized [ 1898.114817] lirc_imon: imon_probe: found IMON device [ 1898.114822] lirc_dev: lirc_register_plugin: sample_rate: 0 [ 1898.114853] lirc_imon: imon_probe: Registered iMON plugin(minor:1) [ 1898.114890] lirc_imon: imon_probe: iMON device on usb<3:3> initialized [ 1898.114919] usbcore: registered new interface driver lirc_imon [ 1922.820064] lirc_serial: auto-detected active low receiver [ 1922.820071] lirc_dev: lirc_register_plugin: sample_rate: 0
Konfiguration
Damit wir den setserial nicht bei jedem Boot absetzen müssen, tragen wir ihn in die /etc/serial.conf ein.
sudo nano /etc/serial.conf
Folgende Zeile am Ende einfügen, falls bereits eine Zeile drin steht die mit /dev/ttyS0 beginnt, diese mit # auskommentieren.
/dev/ttyS0 uart none
In der autoserial.conf deaktivieren wir noch den letzten Eintrag mit #.
sudo nano /var/lib/setserial/autoserial.conf
Damit die Module beim Systemstart automatisch geladen werden editieren wir noch die /etc/modules:
sudo nano /etc/modules
Am Ende fügen wir folgende Zeilen ein:
alias char-major-61 lirc_serial options lirc_serial irq=4 io=0x3f8 lirc_imon is_lcd=1 lirc_serial
Jetzt müssen wir noch die Reihenfolge beim Boot anpassen, dass der setserial abgesetzt wird bevor die Kernel-Module geladen werden:
cd /etc/rcS.d/ sudo mv S30etc-setserial S05etc-setserial
So, jetzt können wir einmal rebooten um zu testen ob auch alles funktioniert. Nach dem Reboot sollte es folgendermaßen aussehen:
$ ls /dev/lirc* /dev/lirc0 /dev/lirc1 /dev/lirc2 $ ls /dev/lcd* /dev/lcd0 /dev/lcd1
Die Devices lirc0 und lirc1 sind die Geräte die vom Soundgraph Modul kommen, wobei der Volume-Regler an der Gehäusefront auf lirc1 liegen sollte. Das Device lirc2 ist der serielle Empfänger.
Test
Mit mode2 kann man die Geräte testen, hier habe ich am Regler gedreht:
$ sudo mode2 -r -d /dev/lirc1 code: 0x00010000 code: 0x01000000
Hier auf der RC5-Ferbedienung gedrückt:
$ sudo mode2 -d /dev/lirc2 pulse 33 space 9410461 pulse 880 space 778 pulse 1760 space 1591 [...]