lirc_options.conf:
Code: Select all
[lircd]
nodaemon = False
driver = default
device = auto
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
[lircmd]
uinput = False
nodaemon = False
Code: Select all
begin remote
name SONY_RM_U304
bits 15
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 2446 560
one 1248 539
zero 653 539
gap 44350
min_repeat 2
toggle_bit_mask 0x0
frequency 38000
begin codes
SYSTEM_STANDBY 0x540c
BTN_AUX 0x600d
BTN_DVD 0x220c
BTN_DOWN 0x640c
BTN_UP 0x240c
end codes
end remote
Code: Select all
[...]
dtoverlay=lirc-rpi,gpio_in_pin=10,gpio_out_pin=7
[...]
Code: Select all
irsend SEND_ONCE SONY_RM_U304 BTN_UP
/var/log/messages:
Code: Select all
Dec 27 13:21:55 rpi-m irsend: lirc_command_run: Sending: SEND_ONCE SONY_RM_U304 BTN_UP
Dec 27 13:21:55 rpi-m irsend: lirc_command_run, state: 0, input: "BEGIN"
Dec 27 13:21:55 rpi-m irsend: lirc_command_run, state: 1, input: "SEND_ONCE SONY_RM_U304 BTN_UP"
Dec 27 13:21:55 rpi-m irsend: lirc_command_run, state: 2, input: "SUCCESS"
Dec 27 13:21:55 rpi-m irsend: lirc_command_run, state: 3, input: "END"
Dec 27 13:21:55 rpi-m irsend: lirc_command_run: data:END, status:0
Dec 27 13:21:56 rpi-m irsend: lirc_command_run: Sending: SEND_ONCE SONY_RM_U304 BTN_UP
Dec 27 13:21:56 rpi-m irsend: lirc_command_run, state: 0, input: "BEGIN"
Dec 27 13:21:56 rpi-m irsend: lirc_command_run, state: 1, input: "SEND_ONCE SONY_RM_U304 BTN_UP"
Dec 27 13:21:56 rpi-m irsend: lirc_command_run, state: 2, input: "SUCCESS"
Dec 27 13:21:56 rpi-m irsend: lirc_command_run, state: 3, input: "END"
Dec 27 13:21:56 rpi-m irsend: lirc_command_run: data:END, status:0
Dec 27 13:21:58 rpi-m irsend: lirc_command_run: Sending: SEND_ONCE SONY_RM_U304 BTN_UP
Dec 27 13:21:58 rpi-m irsend: lirc_command_run, state: 0, input: "BEGIN"
Dec 27 13:21:58 rpi-m irsend: lirc_command_run, state: 1, input: "SEND_ONCE SONY_RM_U304 BTN_UP"
Dec 27 13:21:58 rpi-m irsend: lirc_command_run, state: 2, input: "SUCCESS"
Dec 27 13:21:58 rpi-m irsend: lirc_command_run, state: 3, input: "END"
Dec 27 13:21:58 rpi-m irsend: lirc_command_run: data:END, status:0
Dec 27 13:21:59 rpi-m irsend: lirc_command_run: Sending: SEND_ONCE SONY_RM_U304 BTN_UP
Dec 27 13:22:00 rpi-m irsend: fill_string: timeout
Dec 27 13:22:01 rpi-m irsend: fill_string: timeout
Dec 27 13:22:02 rpi-m irsend: fill_string: timeout
Dec 27 13:22:03 rpi-m irsend: fill_string: timeout
Dec 27 13:22:04 rpi-m irsend: fill_string: timeout
Dec 27 13:22:05 rpi-m irsend: fill_string: timeout
Dec 27 13:22:06 rpi-m irsend: fill_string: timeout
Dec 27 13:22:07 rpi-m irsend: fill_string: timeout
Dec 27 13:22:08 rpi-m irsend: fill_string: timeout
Dec 27 13:22:09 rpi-m irsend: fill_string: timeout
Dec 27 13:22:10 rpi-m irsend: fill_string: timeout
Dec 27 13:22:11 rpi-m irsend: fill_string: timeout
[...]
Code: Select all
[...]
Dec 27 13:26:57 rpi-m irsend: fill_string: timeout
Dec 27 13:26:58 rpi-m irsend: fill_string: timeout
Dec 27 13:26:59 rpi-m irsend: fill_string: timeout
Dec 27 13:27:00 rpi-m irsend: fill_string: timeout
Dec 27 13:27:01 rpi-m irsend: fill_string: timeout
Dec 27 13:27:03 rpi-m irsend: fill_string: timeout
Dec 27 13:27:04 rpi-m irsend: fill_string: timeout
Dec 27 13:27:44 rpi-m irsend: lirc_command_run: Sending: SEND_ONCE SONY_RM_U304 BTN_UP
Dec 27 13:27:44 rpi-m lircd[336]: lircd-0.9.4c[336]: Error: error processing command: SEND_ONCE SONY_RM_U304 BTN_UP
Dec 27 13:27:44 rpi-m lircd-0.9.4c[336]: Error: error processing command: SEND_ONCE SONY_RM_U304 BTN_UP
Dec 27 13:27:44 rpi-m lircd[336]: lircd-0.9.4c[336]: Error: busy: repeating
Dec 27 13:27:44 rpi-m lircd-0.9.4c[336]: Error: busy: repeating
Dec 27 13:27:44 rpi-m irsend: lirc_command_run, state: 0, input: "BEGIN"
Dec 27 13:27:44 rpi-m irsend: lirc_command_run, state: 1, input: "SEND_ONCE SONY_RM_U304 BTN_UP"
Dec 27 13:27:44 rpi-m irsend: lirc_command_run, state: 2, input: "ERROR"
Dec 27 13:27:44 rpi-m irsend: irsend: command failed: SEND_ONCE SONY_RM_U304 BTN_UP
Dec 27 13:27:44 rpi-m irsend: lirc_command_run, state: 3, input: "DATA"
Dec 27 13:27:44 rpi-m irsend: lirc_command_run, state: 4, input: "1"
Dec 27 13:27:44 rpi-m irsend: lirc_command_run, state: 5, input: "busy: repeating"
Dec 27 13:27:44 rpi-m irsend: lirc_command_run, state: 6, input: "END"
Dec 27 13:27:44 rpi-m irsend: lirc_command_run: status:END, status:5
Since stretch it appears calling 'irsend' with less than 1 second gap makes the error more likely to strike. The phenomenon is at random. Sometimes even the very first call to 'irsend' (after reboot) runs instantly into a timeout.
Is this a known LIRC problem? Exists there a workaround? Or even a fix?

LIRC is unusable with this kind of failure.