Sunday, 3 July 2016

How to enable a GPIO IR Receiver on LibreELEC 7.x.x

Getting this to work is actually pretty easy now.

Login to your Pi using SSH and perform the following commands in order.
  1. mount -o remount,rw /flash
  2. nano /flash/config.txt
    1. On the last line, paste in the following text
      device_tree_overlay=lirc-rpi
    2. CTRL + X to exit and choose 'Y' save.
  3. mount -o remount,ro /flash
  4. reboot
(Or you could remove the MicroSD card and edit the config.txt in Windows).



After the Pi has restarted, right click in the top left of your PuTTy session and choose 'Restart session'. Log back in and type the following:

dmesg | grep lirc_rpi






You should see the following indicating the O/S is happy.

LibreELEC:~ # dmesg | grep lirc_rpi
[    5.256588] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[    6.154621] lirc_rpi: auto-detected active low receiver on GPIO pin 18
[    6.154867] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0
[    6.154876] lirc_rpi: driver registered!


Note: Even if I remove the actual IR receiver altogether, the Pi still reports the above.

According to my testing, no remote.xml file is required in /Userdata/keymaps or a lircd.conf in /storage/.config, it just works.

I tested remote control operation under LibreELEC 7.0.1 on a RPi3 with a home-made IR receiver and a standard RC6 IR remote like this one.

Instructions for making a GPIO receiver were found here.