Hello again!
This time I will tell you how to get lirc running with an arch linux running on my Raspberry PI!
First, get lirc and lirc-utils:
pacman -S lirc lirc-utils
Next, load the module:
modprobe lirc_rpi
Check if the modules are loaded:
lsmod | grep lirc
lirc_rpi 7346 0
lirc_dev 10291 1 lirc_rpi
rc_core 17437 1 lirc_dev
This time I will tell you how to get lirc running with an arch linux running on my Raspberry PI!
First, get lirc and lirc-utils:
pacman -S lirc lirc-utils
Next, load the module:
modprobe lirc_rpi
Check if the modules are loaded:
lsmod | grep lirc
lirc_rpi 7346 0
lirc_dev 10291 1 lirc_rpi
rc_core 17437 1 lirc_dev
Looks good! By default lirc_rpi uses GPIO 17 as output and GPIO 18 as input. We can check this doing the following:
cat /sys/kernel/debug/gpio
GPIOs 0-53, bcm2708_gpio:
gpio-16 (led0 ) out hi
gpio-17 (lirc_rpi ir/out ) in lo
gpio-18 (lirc_rpi ir/in ) in lo
If you have wired up everything, you can check if your receiver works properly:
mode2 -d /dev/lirc0
Now you should press some buttons on your remote and should see some output like this:
space 16300
pulse 95
space 28794
pulse 80
space 19395
pulse 83
space 402351
pulse 135
space 7085
pulse 85
space 2903
Great, the receiver works.
If you want to record your remote codes, you need to know the available keys lircd knows, therefore run
irrecord --list-namespace
reading from /dev/lirc0, writing to ~/lircd.conf, hit:
irrecord -d /dev/lirc0 ~/lircd.conf
The file now goes to /etc/lirc/lircd.conf and maybe you have to change the name variable to REMOTE_NAME inside the config file, but I think this is more or less self-explanatory.
Now to test the blaster, fire up the lirc daemon:
systemctl start lircd
And finally blast some codes...
irsend SEND_ONCE REMOTE_NAME KEY_POWER
or whatever key you recorded.
If you like to start this automatically on boot, do this:
systemctl enable lircd
Additionally, the kernel modules need to be loaded, too. This is achieved by doing the following:
rm -f /etc/modules-load.d/lirc_dev.conf
echo "lirc_rpi" > /etc/modules-load.d/lirc_rpi.conf
I removed the lirc_dev.conf since lirc_rpi depends on lirc_dev and automatically loads lirc_dev. Now if you would like to employ different GPIO pins, you need to put the options for the kernel module into a different file.
echo "options lirc_rpi gpio_in_pin=23 gpio_out_pin=22" > /etc/modprobe.d/lirc_rpi.conf
This should do the trick.