You asked for it

i installed lirc in 33 simple steps on my own raspbian. I just went through the list again and tested that it worked, hopefully I haven't made too many typos.
Best regards
Martin
1. cd ~
2. wget
https://www.grendelman.net/files/raspi/Module.symvers --no-check-certificate
3. cd /usr/src
4. sudo wget -O raspberrypi-linux-3.1.9.tar.gz
https://github.com/raspberrypi/linux/ta ... pi-patches5. sudo tar xzf raspberrypi-linux-3.1.9.tar.gz
6. sudo ln -s /usr/src/raspberrypi-linux-
<tab> /lib/modules/`uname -r`/build
7. cd raspberrypi-linux-
<tab>8. sudo sh -c 'zcat /proc/config.gz > .config'
9. sudo sed -i 's/EXTRAVERSION =.*/EXTRAVERSION = +/' Makefile
10. sudo cp ~/Module.symvers .
11. sudo make oldconfig
12. sudo make modules_prepare
13. sudo apt-get install libtool
14. sudo apt-get install autoconf
15. sudo apt-get install git
16. cd ~
17. git clone
git://lirc.git.sourceforge.net/gitroot/lirc/lirc18. cd lirc
19. wget
http://aron.ws/projects/lirc_rpi/lirc_rpi-0.2.2.patch20. patch -p1 < lirc_rpi-0.2.2.patch
21. nano drivers/lirc_rpi/lirc_rpi.c
Added the line GPIO_CLEAR_PIN(gpio_out_pin); in this function:
static ssize_t lirc_write(struct file *file, const char *buf,
size_t n, loff_t *ppos)
{
int i, count;
unsigned long flags;
long delta = 0;
int *wbuf;
count = n / sizeof(int);
if (n % sizeof(int) || count % 2 == 0)
return -EINVAL;
wbuf = memdup_user(buf, n);
if (IS_ERR(wbuf))
return PTR_ERR(wbuf);
spin_lock_irqsave(&lock, flags);
for (i = 0; i < count; i++) {
if (i%2)
send_space(wbuf[i] - delta);
else
delta = send_pulse(wbuf[i]);
}
----> GPIO_CLEAR_PIN(gpio_out_pin);
spin_unlock_irqrestore(&lock, flags);
kfree(wbuf);
return n;
}
21. ./autogen.sh
22. ./configure --with-driver=rpi; make; sudo make install
23. sudo cp contrib/lirc.rules /etc/udev/rules.d/10-lirc.rules
24. sudo cp contrib/lirc.debian /etc/init.d/lirc
25. nano /etc/init.d/lirc
insert at beginning:
### BEGIN INIT INFO
# Provides: lirc
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
insert at start and restart:
if test ! -d /var/run/lirc; then
mkdir /var/run/lirc
fi
insert this under start and restart where lircd is started:
start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --device=/dev/lirc/0 --listen
26. sudo insserv /etc/init.d/lirc
27. sudo mkdir /etc/lirc
28. sudo cp contrib/lircd.conf /etc/lirc/
(or copy your own conf with your preferred set of remotes)29. sudo cp contrib/lircmd.conf /etc/lirc/
30. sudo mv /lib/modules/3.1.9+/misc/lirc_dev.ko /lib/modules/3.1.9+/kernel/drivers/media/rc/
31. sudo depmod -a
32. sudo nano /etc/modules
insert at the end of the file:
lirc_dev
lirc_rpi gpio_out_pin=0 gpio_in_pin=1
33. sudo shutdown now -r