Expected behavior
The setting of device = auto
in /etc/lirc/lirc_options.conf
should correctly select the corresponding value of the remote.
Actual behavior
This setting does not select the corresponding value of the remote resulting in a failure to read signals correctly.
Work around
Using the absolute path to the symlink for the remote works consistently, i.e. setting device = /dev/input/by-id/usb-Streamzap__Inc._Streamzap_Remote_Control-event-if00
in /etc/lirc/lirc_options.conf
in /etc/lirc/lirc_options.conf
More detail
When lircd
is configured to run as the lirc user as recommended by upstream, my remote works inconsistently. Sometimes the box boots and lirc/remote work as expected. Sometimes on a reboot the remote does not work as expected. I'd say it's about 50/50 works/does not work.
Hardware: Raspberry Pi 4B
Remote: Streamzap
Lirc version: 0.10.1
OS: Bug confirmed on both RPiOS Bullseye ARM64 and Arch ARM aarch64
Specific examples
For example, when working, I see the expected result:
I press OK, UP, and DOWN:
% irw
0000000080010160 00 KEY_OK devinput-32
0000000080010067 00 KEY_UP devinput-32
000000008001006c 00 KEY_DOWN devinput-32
When it is not working:
I press OK, UP, and DOWN:
% irw
^[[A^[[B
I see no differences in journalctl message when running as root vs when running as the lircd user.
Here is journalctl -u lircd when it is working.
Here is journalctl -u lircd when NOT working.
Something (the kernel?) seems to inconsistently assign the order in which devices are detected and initialized on boot.
When working:
% ls -l /dev/input/by-id
lrwxrwxrwx 1 root root 9 Feb 10 14:19 usb-CHICONY_HP_Basic_USB_Keyboard-event-kbd -> ../event0
lrwxrwxrwx 1 root root 9 Feb 10 14:19 usb-Streamzap__Inc._Streamzap_Remote_Control-event-if00 -> ../event1
When not working:
% ls -l /dev/input/by-id
lrwxrwxrwx 1 root root 9 Feb 10 14:19 usb-CHICONY_HP_Basic_USB_Keyboard-event-kbd -> ../event0
lrwxrwxrwx 1 root root 9 Feb 10 14:19 usb-Streamzap__Inc._Streamzap_Remote_Control-event-if00 -> ../event2