After the update I can no longer send IR commands with my self-built transmitter via Lirc. The command that worked flawlessly before was irsend -d /var/run/lirc/lircd-lirc0 SEND_ONCE <device> <command>. After some googling I found that the IR entries in /boot/config.txt changed from:
I added the line dtoverlay=gpio-ir-tx,gpio_pin=22 in the hopes to enable sending again, without success. The irsend command above gives me the error hardware does not support sending. Looking at the dmesg output confirms that transmit is still not enabled (rc rc0: lirc_dev: driver gpio_ir_recv registered at minor = 0, raw IR receiver, no transmitter).
The automatic overlay migration process does not migrate settings for IR sending, (only receiving) as IR sending has not been tested with the new split gpio-ir receive and tx drivers.
The reason is pretty simple - none of the OSMC devs have access to a Pi with IR blaster hardware attached so it could not be tested, and we do not like to release changes that cannot be tested and thus will probably not work.
If someone with the necessary IR blaster hardware to test is able to figure out what the issue with the gpio-ir-tx driver is we’re happy to incorporate the changes.
One thing you could check is to see whether the new split driver approach results in two seperate lirc devices. What does ls -al /dev/lirc* and ls -al /var/run/lirc/lircd* show ? You might be trying to use the receive only lirc device to send. If you see another lirc device try using that.
crw-rw---- 1 root video 243, 0 Nov 1 20:51 /dev/lirc0
ls -al /var/run/lirc/lircd* shows:
srw-rw-rw- 1 root root 0 Nov 1 20:51 /var/run/lirc/lircd
srw-rw-rw- 1 root root 0 Nov 1 20:51 /var/run/lirc/lircd-lirc0
-rw-r–r-- 1 root root 4 Nov 1 20:51 /var/run/lirc/lircd-lirc0.pid
-rwxr-xr-x 1 root root 158 Nov 1 20:51 /var/run/lirc/lircd-lirc0.sh
Since dmesg tells me that there’s no transmitter (rc rc0: lirc_dev: driver gpio_ir_recv registered at minor = 0, raw IR receiver, no transmitter) I suspect the problem on a lower level, i.e. there’s no need for an actual IR blaster to test this.
Nevertheless, I tried sending with all devices listed above.
Sending on /var/run/lirc/lircd returns with:
irsend: timeout
Sending on /var/run/lirc/lircd-lirc0 returns with:
irsend: hardware does not support sending
Sending on /dev/lirc0 returns with:
irsend: could not connect to socket
irsend: Connection refused
I have the same problem with the same symptoms. I only have a transmitter (which used to work perfectly). Now since the ‘upgrade’, I have no lirc devices created under /dev. I only use the tx line in my /boot/config.txt file ‘dtoverlay=gpio-ir-tx,gpio_pin=24’. And yes, this could have easily been checked without the need for hardware.
Where would one begin debugging at this device creation level? Happy to help if it’s a better solution than rolling-back to the previous version…although what I really want is a shortcut to have it working just the way it used to
This problem reared it’s ugly head for me as well this weekend. A quick bit of backtracking has led me to the conclusion that the IR transmitter module was not included in this build.
From other places I’ve read that I need to use this in config.txt now.
dtoverlay=gpio-ir-tx,gpio_pin=17
Which still does not work and lsmod shows only the receiver kernel module loaded.
I was having the same issue after the update but getting the latest kernel and adding ‘dtoverlay=gpio-ir-tx,gpio_pin=17’ to config.txt has sorted things on my 3 Pi2/3 systems, however i’m still having problems with my Pi zero. Not getting any errors with latest kernel, everything acts like the IR command has been sent but the transmitter does nothing. I’ve reverted to the older version (July?) of OSMC on that pi for now to get functionality back. Anyone got any ideas?
Hi, sorry for not replying for so long. I was hassling around with this problem for quite some time now.
After the first update Sam mentioned above the transmitter device was indeed back again in /var/run/lirc and transmitting was possible without any error messages. Unfortunately, I’m having the same result as Quonith. irsend does not complain anymore, but the actual transmission is VERY unreliable. Say, 1 out of 20 times a transmission may be successful. So I suspect something must have changed in LIRC or the drivers. I’m sure it can’t be an issue with my IR blaster because I made a fresh install of OSMC on another Pi with the July version and the transmission worked instantly and reliable again.