== Note == This HOWTO (at least the installation part) does not apply on a more recent Ubuntu version (Gutsy 7.10 and newer). You can just execute 'aptitude install lirc' from a terminal to install it. = Contents = <> LIRC is a package that allows you to decode and send infra-red signals of many (but not all) commonly used remote controls. Warning ! due to some bug into lirc-modules-source, lirc-0.7.3pre1 won't compile on dapper. more informations at https://launchpad.net/distros/ubuntu/+source/lirc/+bug/5343 = Prepare the kernel source = * install the kernel source package: {{{ sudo apt-get install linux-source-2.6.12 }}} * install setserial (this is needed to free the port) {{{ sudo apt-get install setserial }}} * run the following command to setup the kernel for compiling the modules: {{{ cd /usr/src tar xjvf linux-source-2.6.12.tar.bz2 ln -s linux-source-2.6.12 linux cd linux cp /boot/config-2.6.12-9-386 .config make oldconfig make include/linux/version.h #this line is only need to create the file "/usr/src/linux/include/asm/param.h" that is needed # by the installation (and perhaps some more files). You don't have to compile all of the modules, just # hit Ctrl+C after a minute or so. make modules }}} = Install Lirc = * download the lirc source: {{{ wget http://lirc.sourceforge.net/software/snapshots/lirc-0.7.3pre1.tar.bz2 }}} * install: {{{ cd /usr/src tar xjvf ~/downloads/lirc-*.tar.bz2 cd lirc-0.7.3pre1 ./setup.sh }}} * configuration (inside setup.sh): This is the configuration for a simple DCD serial reciever: * 1. Driver Configuration: * 1. Home-brew (16x50 UART compatible serial port) * 1. COM1 (0x3f8, 4) * Driver specific options: * 1. With transmitter diode = YES * 2. Software generated carrier = YES * 3. Igor Cesko's variation = NO * 2. Software configuration: * 1. Compile tools for X-Windows = YES * 3. Save configuration & run configure * run make and make install {{{ make make install }}} * free the serial port: (if your reciever is a serial device) {{{ setserial /dev/ttyS0 uart none }}} = Get configuration files from the lirc ubuntu package = * download the lirc package: {{{ sudo apt-get -d install lirc }}} * extract the package and copy the files to the correct places: {{{ cd /tmp dpkg -x /var/cache/apt/archives/lirc_0.7.0.1-1ubuntu3_i386.deb lircdeb cd lircdeb/etc sudo cp -R * /etc }}} * create symlinks for lircd and lircmd: {{{ cd /usr/sbin sudo ln -s ../local/sbin/lirc* . }}} * create a symlink for lircd.conf: {{{ cd /etc sudo ln -s lirc/lircd.conf . }}} = Configuration = * put the remote control configuration file in /etc/lirc/lircd.conf * edit "lirc/hardware.conf" and set these variables: (change "MODULES" to fit the module for your device) {{{ DRIVER="default" DEVICE="" MODULES="lirc_dev lirc_serial" }}} * to make lirc run on startup: {{{ sudo update-rc.d lirc defaults }}} * to make irexec run on startup (irexec handles the button mapping): * goto System\Preferences\Sessions\Startup_Programs * add "irexec" to the list = Test = * to see if it's working run: {{{ irw }}} and try pressing buttons in your remote control, you should see something like this: {{{ 000000000000c230 00 > jvc-lp20337-004-vcr 000000000000c230 00 > jvc-lp20337-004-vcr 000000000000c230 01 > jvc-lp20337-004-vcr 000000000000c230 02 > jvc-lp20337-004-vcr }}} = Map buttons = * create a file called ~/.lircrc (this file configures what every key does), here is a sample ~/.lircrc file to control mplayer, beep-media-player and volume: {{{ #Mplayer buttons begin button = VOL+ prog = mplayer config = volume 1 repeat = 1 end begin button = VOL- prog = mplayer config = volume -1 repeat = 1 end begin button = || prog = mplayer config = pause end begin button = Prog+ prog = mplayer config = pt_step 1 end begin button = Prog- prog = mplayer config = pt_step -1 end begin button = MENU prog = mplayer config = vo_fullscreen end begin button = 1 prog = mplayer config = seek -10 end begin button = 4 prog = mplayer config = seek -60 end begin button = 3 prog = mplayer config = seek 10 end begin button = 6 prog = mplayer config = seek 60 end begin button = 7 prog = mplayer config = audio_delay +0.1 end begin button = 9 prog = mplayer config = audio_delay -0.1 end #Beep-Media-Player Control begin button = > prog = irexec config = beep-media-player --play-pause repeat = 0 end begin button = >> prog = irexec config = beep-media-player --fwd end begin button = << prog = irexec config = beep-media-player --rew end begin button = # prog = irexec config = beep-media-player --stop end #Volume begin button = Start+ prog = irexec config = aumix -v+5 repeat = 0 end begin button = Start- prog = irexec config = aumix -v-5 repeat = 0 end }}} * for more information about .lircrc see http://www.lirc.org/html/configure.html ---- CategoryHardware