The irsend prcessed a single command and then ran into trouble finally ending up in a loop generating the below message. The trouble was either that there were half a dozen commands given simultaneously which confused it, or it found previous commands and started trying to process them. There is an application log showing that only 1 request was made to irsend. I tend to think it found misc old commands because it appears every normal successful irsend command ends in an unsuccessful search of all the conf files. The good news is that low level logging was still on from another issue I was looking at.
"irsend: fill_string: timeout"
Here is various configuration information for this Raspberry Pi 3 B+. The syslog is attached. The error was at "Wed Jul 10 07:29:03 EDT 2019" with the application command "exit".
Linux StevenPi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux
$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
lircd 0.9.4c
irsend 0.9.4c
Software version: 1.2.0
[lircd]
nodaemon = False
driver = iguanaIR
device = /var/run/iguanaIR/0
output = /var/run/lirc/lircd
pidfile = /var/run/lirc/lircd.pid
plugindir = /usr/lib/arm-linux-gnueabihf/lirc/plugins
permission = 666
allow-simulate = No
repeat-max = 600
lircd_conf = Seiki.conf
loglevel = 3
debug = 3
[lircmd]
uinput = False
nodaemon = True
[modinit]
code = echo lirc > /sys/class/rc/rc0/protocols
begin remote
name Seiki
bits 32
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9012 4375
one 596 1614
zero 596 491
ptrail 596
repeat 9005 2170
gap 108214
toggle_bit_mask 0x0
begin codes KEY_POWER 0x40BE629D 0x7E85346C KEY_MUTE 0x40BE32CD 0x7EFF638C KEY_1 0x40BE807F 0x7EFF638C KEY_2 0x40BE40BF 0x7EFF638C KEY_3 0x40BEC03F 0x7EFF638C KEY_4 0x40BE20DF 0x7EFF638C KEY_5 0x40BEA05F 0x7EFF638C KEY_6 0x40BE609F 0x7EFF638C KEY_7 0x40BEE01F 0x7EFF638C KEY_8 0x40BE10EF 0x7EFF638C KEY_9 0x40BE906F 0x7EFF638C KEY_- 0x40BE42BD 0x7E85346C KEY_0 0x40BE00FF 0x7EFF638C KEY_PREVIOUS 0x40BE827D 0x7E8B234C KEY_VUDU 0x40BE2AD5 0x7E85346C KEY_YOUTUBE 0x40BE9A65 0x7E85346C KEY_PANDORA 0x40BE5CA3 0x7E85346C KEY_TOONGOGGLES 0x40BE7A85 0x7E85346C KEY_ACCUWEATHER 0x40BEDC23 0x7E85346C KEY_NETFLIX 0x40BEFA05 0x7E85346C KEY_MENU 0x40BEA25D 0x7E85346C KEY_UP 0x40BE12ED 0x7E85346C KEY_SOURCE 0x40BED22D 0x7E85346C KEY_LEFT 0x40BE728D 0x7E85346C KEY_OK 0x40BE52AD 0x7E85346C KEY_RIGHT 0x40BE926D 0x7E85346C KEY_RETURN 0x40BE18E7 0x7E85346C KEY_DOWN 0x40BEB24D 0x7E85346C KEY_EXIT 0x40BEB04F 0x7E85346C KEY_VOLUMEUP 0x40BE30CF 0x7EFF638C KEY_TV 0x40BE28D7 0x7EFF638C KEY_CHANNELUP 0x40BEF00F 0x7EFF638C KEY_VOLUMEDOWN 0x40BE9867 0x7EFF638C KEY_INFO 0x40BEF20D 0x7EFF638C KEY_CHANNELDOWN 0x40BE5AA5 0x7EFF638C KEY_STOP 0x40BEE817 0x7EFF638C KEY_RED 0x40BEEA15 0x7EFF638C KEY_GREEN 0x40BE02FD 0x7EFF638C KEY_YELLOW 0x40BEAA55 0x7EFF638C KEY_BLUE 0x40BE6897 0x7EFF638C KEY_SLEEP 0x40BE8877 0x7EFF638C KEY_HDMI 0x40BEBC43 0x7E8B234C KEY_VGA 0x40BE7C83 0x7E8B234C KEY_USB 0x40BEFC03 0x7E8B234C end codes
end remote
Section of the application log named "test".
Wed Jul 10 02:05:41 EDT 2019 tv
Wed Jul 10 02:05:42 EDT 2019 tv
Wed Jul 10 02:05:42 EDT 2019 exit
Wed Jul 10 02:05:42 EDT 2019 mute
Wed Jul 10 02:05:43 EDT 2019 volume-down
Wed Jul 10 02:05:43 EDT 2019 POWER
Wed Jul 10 04:21:02 EDT 2019 info
Wed Jul 10 04:21:02 EDT 2019 volume-up
Wed Jul 10 04:21:02 EDT 2019 POWER
Wed Jul 10 04:21:03 EDT 2019 hdmi
Wed Jul 10 04:21:03 EDT 2019 mute
Wed Jul 10 04:21:03 EDT 2019 vga
Wed Jul 10 04:21:41 EDT 2019 channel-up
Wed Jul 10 04:22:12 EDT 2019 volume-up
Wed Jul 10 04:29:02 EDT 2019 channel-up
Wed Jul 10 04:29:26 EDT 2019 channel-up
Wed Jul 10 05:30:46 EDT 2019 channel-down
Wed Jul 10 07:29:03 EDT 2019 exit
Wed Jul 10 19:54:42 EDT 2019 channel 56-3
The command files used to call irsend
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_CHANNELUP
echo "$(date) channel-up" >> test
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_CHANNELDOWN
echo "$(date) channel-down" >> test
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_EXIT
echo "$(date) exit" >> test
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_INFO
echo "$(date) info" >> test
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_POWER
echo "$(date) POWER" >> test
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_HDMI
echo "$(date) hdmi" >> test
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_TV
echo "$(date) tv" >> test
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_MUTE
echo "$(date) mute" >> test
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_VOLUMEUP
echo "$(date) volume-up" >> test
irsend SET_TRANSMITTERS 1
irsend SEND_ONCE Seiki KEY_VOLUMEDOWN
echo "$(date) volume-down" >> test
First of all, irsend is just a dumb program that essentially tells lircd "please send command
command
from the remoteremote
n
times. So it is unlikely that the problem is that "irsend hangs"."SET TRANSMITTERS" is sticky; it is enough to send it once per session.
You appear to be flooding lircd with commands. Lircd is buggy, and flooding it certainly can trigger its bugs (For example, at Jul 10 07:29:02 , you send four (!!) "SET TRANSMITTERS"-commands.) Please try to resolve this flooding, possibly that is enough.
Finally, please learn how to format mark-down documents...
Last edit: Bengt Martensson 2019-07-13