0

I am trying to turn on my TV using a Raspberry Pi.

I have followed the below instructions and added my remote config file, however, am having no luck! Any suggestions.

When running sudo /etc/init.d/lircd status, I get

lircd.service - Flexible IR remote input/output application support
   Loaded: loaded (/lib/systemd/system/lircd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-11-11 13:27:07 UTC; 5min ago
     Docs: man:lircd(8)
           http://lirc.org/html/configure.html
 Main PID: 334 (lircd)
   CGroup: /system.slice/lircd.service
           └─334 /usr/sbin/lircd --nodaemon

Nov 11 13:32:23 raspberrypi lircd[334]: lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:23 raspberrypi lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:42 raspberrypi lircd[334]: lircd-0.9.4c[334]: Notice: accepted new client on /var/run/lirc/lircd
Nov 11 13:32:42 raspberrypi lircd-0.9.4c[334]: Notice: accepted new client on /var/run/lirc/lircd
Nov 11 13:32:42 raspberrypi lircd[334]: lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:42 raspberrypi lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:54 raspberrypi lircd[334]: lircd-0.9.4c[334]: Notice: accepted new client on /var/run/lirc/lircd
Nov 11 13:32:54 raspberrypi lircd-0.9.4c[334]: Notice: accepted new client on /var/run/lirc/lircd
Nov 11 13:32:54 raspberrypi lircd[334]: lircd-0.9.4c[334]: Info: removed client
Nov 11 13:32:54 raspberrypi lircd-0.9.4c[334]: Info: removed client

Here are the steps I took to set it up.

# Add the following lines to /etc/modules file
lirc_dev
lirc_rpi gpio_in_pin=18 gpio_out_pin=17

# Add the following lines to /etc/lirc/hardware.conf file
LIRCD_ARGS="--uinput --listen"
LOAD_MODULES=true
DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

# Update the following line in /boot/config.txt
dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17

# Update the following lines in /etc/lirc/lirc_options.conf
driver    = default
device    = /dev/lirc0

$ sudo /etc/init.d/lircd stop
$ sudo /etc/init.d/lircd start

# Check status to make lirc is running
$ sudo /etc/init.d/lircd status

# Reboot before testing
$ reboot
bensd
  • 47
  • 2
  • 7
  • You are using the hardware.conf file, but this is not supported in the lirc version you are using (old howto?). The log file isn't that useful, you might want to raise the debug level (man lircd), but it seems OK at a glance. The real question is if your lircd.conf is what you need. Also, I don't know how lirc_rpi works, but you should verify it using mode2(1) (with lircd.service stopped) first. See the official configuration manual at http://lirc.org – leamas Nov 12 '18 at 07:53

1 Answers1

0

Just run into the same problem. There are two main parts to it:

Part 1: new LIRC config

With the new version on lirc 0.9.0+, the configuration needed is much less:

  • The driver is already included in the kernel, no need to edit anything in modules
  • The new config syntax is much different, there's a shell script provided to change an old config to the new one. Run: sudo /usr/share/lirc/lirc-old2new.sh

To summarise, you only need to change the /etc/lirc/lirc_options.conf. In particular, you need to edit the lines to driver = default AND device = /dev/lirc0.

This should solve part 1.

Part 2: new IR drivers

As you can see in the /boot/overlays/README, the LIRC driver is being outdated. There are new ones provided for IR input and output. The driver for IR output is the new gpio-ir-tx. You need to use that instead of lirc-rpi in your /boot/config.txt.

In summary, change dtoverlay=lirc-rpi,gpio_out_pin=17,gpio_in_pin=13 to

dtoverlay=gpio-ir-tx,gpio_pin=17

NOTE the missing _out in the config. This driver only supports output, so no need for an input one. To handle inputs, use the gpio-ir one.

Community
  • 1
  • 1
Lorenzo
  • 2,160
  • 12
  • 29