Hey @rkorell,
Thanks for the thorough breakdown under 4.017 - your report covers all the critical areas we’re focused on right now.
Bluetooth remote functionality
Excellent to hear that the Bluetooth remote is now working correctly. The recent changes to udev permissions and input propagation were designed specifically for this class of HID devices, and your confirmation helps close that validation loop.
Rotary Encoder
The fact that GPIO 22/27 (rotation) and GPIO 17 (click) has failed again - while the second encoder continues to work - suggests a localized conflict from overwrites or misbinding at the event layer.
Please capture and share the following to assist deeper analysis:
sudo cat /sys/kernel/debug/gpio
dmesg | grep rotary
Also helpful:
dtoverlay
parameters from /boot/userconfig.txt
or equivalent
- Any custom service or encoder plugin in use
We are not observing this issue on clean Pi 5 development images, so localized interaction or overlap is likely.
Reboot failure
Your note that reboot fails both from GUI and console - requiring a hard reset - points to something altering or obstructing shutdown target resolution.
Please gather:
systemctl status reboot.target
cat /etc/os-release
sudo find /etc/systemd/ -name '*reboot*'
sudo find /etc/ -type f -name '*rc.local*'
This will help identify if any third-party component, overlay, or misconfigured shutdown handler is interfering with system reboot. This behavior is not reproducible here on Pi 5 Beta development, prototyping environments from 2GB to 16GB models - suggests deeper overwrites or environment-specific interference.
Triggerhappy behavior and event routing
You’ve correctly identified the problem space. Some clarifications and helpful tips follow:
1. Configuration persistence
Your custom triggerhappy config at /etc/triggerhappy/triggers.d/audio.conf
is not overwritten by OTA updates. This directory is covered by overlayfs, so your modifications will persist unless a full system reset is performed (e.g., reflash or factory reset).
2. Default Configuration Reference (4.017)
For reference, the default content of the file is:
#VOLUMIO TRIGGERHAPPY CONFIGURATION FILE
#MUTE TOGGLE
KEY_MUTE 1 /usr/local/bin/volumio volume toggle
#
#VOLUME UP
KEY_VOLUMEUP 1 /usr/local/bin/volumio volume plus
#
#VOLUME DOWN
KEY_VOLUMEDOWN 1 /usr/local/bin/volumio volume minus
#
#STOP
KEY_STOP 1 /usr/local/bin/volumio stop
#
#START
KEY_PLAY 1 /usr/local/bin/volumio play
#
#PLAY PAUSE TOGGLE
KEY_PLAYPAUSE 1 /usr/local/bin/volumio toggle
#
#NEXT
KEY_NEXTSONG 1 /usr/local/bin/volumio next
#
#PREVIOUS
KEY_PREVIOUSSONG 1 /usr/local/bin/volumio previous
3. Service management
Modifying system-level service components like:
/lib/systemd/system/triggerhappy.socket
can prevent the daemon from capturing input events. If removed, the service may fail silently.
Also, the following no longer applies configuration reliably and is deprecated on Bookworm:
sudo /etc/init.d/triggerhappy reload
Instead, always apply changes with:
sudo systemctl restart triggerhappy
4. Detecting input event devices
Multiple devices (e.g. encoders, BT remote, touchscreen) can shift /dev/input/eventX
assignments across reboots. Always list active bindings first:
ls -l /dev/input/by-id/
ls -l /dev/input/by-path/
ls -l /dev/input/
This helps map symbolic links to stable device names.
5. Advanced event testing (thd
alternative method)
You can also test event detection by stopping triggerhappy and running:
sudo systemctl stop triggerhappy
sudo /usr/sbin/thd --dump /dev/input/eventX
(Use appropriate event number for BT remote - symlinks under /by-id/
are preferred for consistency.)
6. Using evtest
evtest
is not installed by default, but it is highly useful for debugging raw input at the kernel level:
Install it:
sudo apt update
sudo apt install evtest
Then run:
sudo evtest
You’ll be prompted with:
/dev/input/event0: gpio_keys.19
/dev/input/event1: rotary@1
/dev/input/event2: Bluetooth Remote Control
Select the correct event number and test keypresses. Use Ctrl+C
to exit. This confirms whether Linux is receiving the signal before it hits triggerhappy
.
Thanks again for all your detailed reports - particularly your observations about overlapping channel behavior and multiple signal dispatch. We’ll be taking this forward as we continue refining the input stack for the Beta series.
Kind Regards,