Hallo Forum,
ich habe gerade ein kleines Projekt indem ich einen Raspberry Pi Zero W 
verwende. An ihm ist über i2c1 ein DS3231 Modul angeschlossen als RTC.
Der Raspberry soll später komplett abgeschalten sein und nur an gewissen 
Uhrzeiten durch die RTC geweckt werden. Hierzu möchte ich den Alarm in 
der RTC über den Raspi stellen. Sobald der RTC den Alarm über !INT! 
meldet, wird der Raspi über einen Highside-Switch angeschalten, erledigt 
seine Aufgaben, stellt das nächste Weckdatum und fährt herunter (wodurch 
der Highside-Switch die Spannungsversorgung für den Raspi kappt. Das 
Spiel wiederholt sich dann zur nächsten Weckzeit.
Das RTC-Modul wird beim Startup richtig geladen.
Ein Request bei der hwclock liefert die aktuelle Uhrzeit
| 1 | sudo hwclock
 | 
| 2 | Sat 15 Apr 2017 13:19:11 CEST  -0.817910 seconds
 | 
Als rtc0 wird gemeldet:
| 1 | cat /sys/class/rtc/rtc0/name
 | 
| 2 | ds3231
 | 
Soweit so gut.
Nun wollte ich mit rtcwake die Alarmzeit in der RTC stellen:
| 1 | sudo rtcwake -m no -t $(date +%s -d 'today '20:00'')
 | 
Allerdings bekomme ich hier schon eine Fehlermeldung:
| 1 | rtcwake: enable rtc alarm failed: Invalid argument
 | 
Wenn ich anschließend die Daten der RTC ausgeben lasse, wurde zwar die 
Alarmzeit gestellt, anscheinend wird aber der Alarm (so wie in der 
Fehlermeldung steht) nicht aktiviert:
| 1 | cat /proc/driver/rtc
 | 
| 2 | rtc_time        : 11:32:45
 | 
| 3 | rtc_date        : 2017-04-15
 | 
| 4 | alrm_time       : 18:00:00
 | 
| 5 | alrm_date       : 2017-04-15
 | 
| 6 | alarm_IRQ       : no
 | 
| 7 | alrm_pending    : no
 | 
| 8 | update IRQ enabled      : no
 | 
| 9 | periodic IRQ enabled    : no
 | 
| 10 | periodic IRQ frequency  : 1
 | 
| 11 | max user IRQ frequency  : 64
 | 
| 12 | 24hr            : yes
 | 
Ich bin zugegebenermaßen nicht gerade fit was Embedded Linux oder Linux 
allgemein angeht.
Gibt es hier jemand der eine Idee hätte was man an der Stelle machen 
könnte um das Problem zu beheben?
Was mache ich falsch?
Grüße und frohe Ostern
Frank
P.S: Dass die Weckzeit nicht richtig gestellt wurde schiebe ich mal auf 
CEST vs. UTC. Das würde ich als nächstes angehen.