-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
The alarm works perfectly for power-on, only the flag reporting is broken
Describe the bug
On Raspberry Pi 5, setting a wake-up alarm via /sys/class/rtc/rtc0/wakealarm successfully triggers a hardware power-on event from a shutdown state. However, the system status file /proc/driver/rtc does not correctly update the alrm_pending field, which remains stuck at no even when an alarm is active and correctly programmed in the hardware.
To reproduce
-Ensure POWER_OFF_ON_HALT=1 is set in the EEPROM config.
-Clear any existing alarms: echo 0 | sudo tee /sys/class/rtc/rtc0/wakealarm
-Set a new alarm for 5 minutes in the future: echo $(date -d '+5 minutes' +%s) | sudo tee /sys/class/rtc/rtc0 wakealarm
-Check the RTC driver status: cat /proc/driver/rtc | grep alrm
-Shutdown the system: sudo shutdown -h now
Expected behaviour
The command cat /proc/driver/rtc should show alrm_pending: yes after a successful write to wakealarm, confirming the PMIC has armed the wake-up event.
Actual behaviour
The command shows alrm_pending: no. Despite this "false negative" status, the Raspberry Pi 5 correctly wakes up at the scheduled time, proving the hardware received the instruction but the kernel/firmware status reporting is inconsistent.
System
_Which model of Raspberry Pi?_ Raspberry Pi 5
_Which OS and version?_ Raspberry Pi OS 64-bit - Raspberry Pi reference 2025-12-04
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 4997bf4e4e49bc3305eb182a4a08bd023529da04, stage4
Which firmware version? 2025/12/08 19:29:54
Copyright (c) 2012 Broadcom
version 2226a853 (release) (embedded)
_Which kernel version?_ Linux User 6.12.62+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.62-1+rpt1 (2025-12-18) aarch64 GNU/Linux
Logs
cat /proc/driver/rtc output during the test:
Plaintext
rtc_time : 08:45:01
rtc_date : 2026-01-13
alrm_time : 08:50:00
alrm_date : 2026-01-13
alrm_pending: no <--- This is the incorrect status
Additional context
The issue persists even when using rtcwake or manual echo commands. It seems to be a reporting discrepancy between the PMIC/firmware and the Linux RTC driver interface. Tested with official 27W Power Supply.