RC GPIO /IR remote working?

Check that your lircd.conf file is still there, then use the browse option in the remotes section to select your lircd.conf file.

I don’t know how to explain it. I hooked it back onto the wire side with chang in to 18 and out to 17. Browsed back to location of the LIRC,conf file again, selected and worked. Went back to wireless, rebooted and still worked. Appears problem solved. Not sure why not work before. Thanks for your help.

Cool, glad to help

One thing to keep in mind is that changing the GPIO IR pin settings (or enabling/disabling) requires a reboot to take effect, but the remote lircd.conf selection takes effect immediately.

Freshly installed RC3 on my RPI2 and copied my conf file to /etc/lirc/rc6-toshiba-lircd.conf.
selected that in the remote settings and enabled Lirc GPIO Support and did set GPIO Pin to 15.
Rebooted but Remote isn’t working.
IRW is also displaying nothing.
dmesg gives:

[ 5.853546] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
[ 5.853942] systemd[1]: Found ordering cycle on basic.target/start
[ 5.853975] systemd[1]: Found dependency on sysinit.target/start
[ 5.854003] systemd[1]: Found dependency on kbd.service/start
[ 5.854031] systemd[1]: Found dependency on remote-fs.target/start
[ 5.854056] systemd[1]: Found dependency on remote-fs-pre.target/start
[ 5.854081] systemd[1]: Found dependency on connman.service/start
[ 5.854105] systemd[1]: Found dependency on basic.target/start
[ 5.854130] systemd[1]: Breaking ordering cycle by deleting job kbd.service/start
[ 5.854161] systemd[1]: Job kbd.service/start deleted to break ordering cycle starting with basic.target/start
[ 5.921637] random: nonblocking pool is initialized
[ 6.093414] fuse init (API version 7.23)
[ 6.251121] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 6.598486] systemd-udevd[123]: starting version 215
[ 7.218929] lirc_dev: IR Remote Control driver registered, major 246
[ 7.401139] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[ 7.598756] cm109: Keymap for Komunikate KIP1000 phone loaded
[ 7.599337] input: CM109 USB driver as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.3/input/input5
[ 7.599577] usbcore: registered new interface driver cm109
[ 7.599591] cm109: CM109 phone driver: 20080805 (C) Alfred E. Heggestad
[ 8.021441] usbcore: registered new interface driver snd-usb-audio
[ 8.361330] lirc_rpi: auto-detected active high receiver on GPIO pin 15
[ 8.361754] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0
[ 8.361770] lirc_rpi: driver registered!
[ 8.565102] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 9.882313] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 10.495274] input: lircd as /devices/virtual/input/input6
[ 11.564721] systemd-journald[106]: Received request to flush runtime journal from PID 1
[ 13.073226] smsc95xx 1-1.1:1.0 eth0: hardware isn’t capable of remote wakeup
[ 13.073445] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 14.699845] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 14.702254] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[ 14.750658] 8021q: 802.1Q VLAN Support v1.8
[ 22.308470] Console: switching to colour dummy device 80x30

and

root@osmc:~# systemctl status -l lircd_helper@lirc0

  • lircd_helper@lirc0.service - lircd remote support
    Loaded: loaded (/lib/systemd/system/lircd_helper@.service; static)
    Active: active (running) since Mon 2015-05-25 10:00:40 CEST; 15min ago
    Process: 261 ExecStart=/bin/sh -c /var/run/lirc/lircd-%I.sh (code=exited, status=0/SUCCESS)
    Main PID: 278 (lircd)
    CGroup: /system.slice/system-lircd_helper.slice/lircd_helper@lirc0.service
    `-278 /usr/sbin/lircd --driver=default --device=/dev/lirc0 --uinput --output=/var/run/lirc/lircd-lirc0 --pidfile=/var/run/lirc/lircd-lirc0.pid /etc/lirc/lircd.conf

The Conf file worked with alpha4

Any Ideas ?

Are you sure GPIO 15 is the correct one for where you have your IR receiver connected ?

The default is 17 for out and 18 for in. Check your pin assignments in Pi settings. Unless you don’t have your receiver connected to the “standard” location on the GPIO header you should be using 17 and 18.

Dmesg tell me: lirc_rpi: auto-detected active high receiver on GPIO pin 15
So I thought it’s 15 (RX)
I’m using this receiver / RC Connected to these pins

But I tried (again) Pin 18 and it works now. (Except the Skip FF and Skip REV Keys)
Where can I find the right names for all keys supported?

Have a look in the file /usr/share/kodi/system/Lircmap.xml under the section “linux-input-layer” this will show you all the default KEY_ names that have assignments in Kodi.

Also have a look at the other lircd.conf files in /etc/lirc such as osmc-remote-lircd.conf for examples.

May I’m but look there

Hi there, i’m having issues with my XBox remote on OSMC.
The remote does nothing in Kodi but buttons presses are detected when i stop the lirc daemon and use this command :

mode2 -d /dev/lirc0

The output looks like:

space 16777215
pulse 4078
space 3956
pulse 553
space 942
pulse 551
space 1945
pulse 556
space 958
pulse 537
space 1958

What i have done :

  • enable the GPIO remote in My OSMC with the default settings
  • selected the XBox remote in the remote settings of My OSMC

By trying to troubleshoot i did this :

  • copied the lircd conf file manually to the home folder of the osmc user: cp /etc/lirc/xbox-lircd.conf /home/osmc/lircd.conf (didn’t change anything)
  • added modprobe lirc_rpi to /etc/rc.local (didn’t change anything)

So maybe the signals coming from the remote don’t match what the config file expects ? How can i debug this ?
Thanks !

Edit: part of the problem is now fixed. The issue was that despite the fact that i’m using an old XBox remote, i’m not using the official dongle but a simple IR sensor so i had to create my own config file using irrecord. For the people interested, the config file is here: # this config file was automatically generated# using lirc-0.9.0(default) on S - Pastebin.com

Now i have another issue: in Kodi, i see an info popup each time i press a key so the key is properly detected but Kodi’s UI does not respond to any key press but the “back” button (and it’s not bound to the “back” action). What am i doing wrong ? Interestingly, the key identifiers in the popup are not the identifiers of the config file. For example “KEY_ANGLE” shows “display” in the popup and that’s the actual button name on the XBox remote.

You shouldn’t need to do this. All of the remote profiles in My OSMC are created for GPIO IR receivers and do not apply to USB receivers. This includes the Xbox profile which is designed to work with a GPIO IR receiver.

Are you sure it doesn’t work ?

mode2 only confirms that the IR receiver is receiving something - you could press the buttons on any IR remote in your house and mode2 would show something. (Try it :slight_smile: )

If you want to see whether lirc has decoded anything, run irw. This will show the key codes that are sent to Kodi, and you will only seem something here if you have a suitable lirc.conf profile enabled for the remote.

irw by itself or irw /var/run/lirc/lircd shows the output after it has passed through eventlircd, if you are using invalid key codes in your lircd.conf file you won’t see them here as the kernel will filter them out at the uinput stage. If you run irw /var/run/lirc/lircd-lirc0 you will see the output directly out of lircd before it goes to eventlircd, even for events with invalid key names. This may help for troubleshooting invalid key names.

mode2 only confirms that the IR receiver is receiving something - you could press the buttons on any IR remote in your house and mode2 would show something. (Try it )

Yes i know, but since my remote didn’t work in Kodi i wanted to check that the IR receiver actually did detect something first, so i used mode2. I came to the conclusion that my receiver worked but that the config was wrong. And since my own config created by irrecord worked, it seems i was right. I don’t know why the provided config is not the same as the one needed by my remote…

But since then i unpugged everything and plugged back again, and nothing works anymore. Even mode2 does not detect anything anymore :frowning:
I can’t understand what i did wrong. I tested the GPIO with wiringPi and they are not broken…

FYI - just been through the same thing … rescued an old Xbox DVD remote - but without the Xbox dongle so using GPIO IR sensor.
This does not work with the available OSMC settings.
The codes that it uses assume that they have come from the Xbox dongle.

So - I copied the lircd.conf file that Dinofly shared and renamed it xbox-dvd-gpio-lircd.conf
I then took the existing xbox png file from /etc/lirc and made a new xbox-dvd-gpio-lircd.png with a big red X through the dongle (to make it clear that this is the “no dongle” version) and copied both files to /etc/lirc … then selected this new remote from the OSMC settings menu - rebooted (might not be needed) - and it worked fine.

For the record, I had the exact same experience with having to create my own config when using a GPIO IR receiver. I’m asking about it here:

https://discourse.osmc.tv/t/why-does-the-osmc-bundled-xbox-lircd-conf-differ-so-much-from-my-generated-conf/73255

If the bundled .conf is meant for this use case, then it appears to not work. In that thread I link to a user submitted .conf from LIRC - Linux Infrared Remote Control that also seems to indicate that there might be a problem with the xbox-lircd.conf shipped with OSMC.

1 Like