20.11.2020, 18:04
ah ok.
danke!
naja so wie es jetzt ist... gehts ja ;-)
wenn es jemanden interessiert, hier mal was ich alles gedreht hab, damit es soweit funktioniert.
ebay rtc modul
hinzufuegen zu /boot/config.txt:
hinzufuegen zu /etc/modules
editiere /lib/udev/hwclock-set
erzeuge /lib/systemd/system/rtc.service
mit inhalt:
hier drauf achten dass die pfade zusammen passen, und auch dass das script ausfuehrbar ist.
erzeuge /home/osmc/scripts/bootrtc.sh
mit inhalt:
editiere /lib/systemd/system/connman-wait-for-network.service (er wartet sonst 60 mal auf den ntp server zugriff und gibt dann auf, ohne netzwerk kann er auch gleich aufgeben)
ersetze "60" mit "2"
dann den ganzen dienst gedoens anschalten bzw abschalten:
im anhang ein bild wie das modul auf dem raspi sitzt.
danke!
naja so wie es jetzt ist... gehts ja ;-)
wenn es jemanden interessiert, hier mal was ich alles gedreht hab, damit es soweit funktioniert.
ebay rtc modul
hinzufuegen zu /boot/config.txt:
Code:
dtparam=i2c_arm=on
dtoverlay=i2c-rtc,ds3231
hinzufuegen zu /etc/modules
Code:
i2c-dev
editiere /lib/udev/hwclock-set
Code:
if [ -e /run/systemd/system ] ; then
exit 0
fi
Replace With
#if [ -e /run/systemd/system ] ; then
# exit 0
#fi
erzeuge /lib/systemd/system/rtc.service
mit inhalt:
Code:
[Unit]
Description = get systemdate from rtc
After = mediacenter.service
[Service]
Type = simple
ExecStart = /home/osmc/scripts/bootrtc.sh
[Install]
WantedBy = multi-user.target
hier drauf achten dass die pfade zusammen passen, und auch dass das script ausfuehrbar ist.
erzeuge /home/osmc/scripts/bootrtc.sh
mit inhalt:
Code:
#!/bin/bash
LOG=/home/osmc/rtc.log
# clear logfile
cat /dev/null > $LOG
# small log helper
mlog() {
echo -e "$1" | tee -a $LOG
}
mlog "try to set localtime via rtc"
mydate=`date`
mlog "$mydate"
while ! hwclock -s ; do
mlog "Failed to sync RTC to local time."
done
mydate=`date`
mlog "$mydate"
mlog "Successfully synced RTC to local time"
exit
editiere /lib/systemd/system/connman-wait-for-network.service (er wartet sonst 60 mal auf den ntp server zugriff und gibt dann auf, ohne netzwerk kann er auch gleich aufgeben)
ersetze "60" mit "2"
dann den ganzen dienst gedoens anschalten bzw abschalten:
Code:
# die fake uhr brauchen wir nicht mehr
update-rc.d -f fake-hwclock remove
# i2c tools die fuer die kommunikation mit der uhr gebraucht werden
apt-get install python-smbus i2c-tools
# die daten neu laden fuer den service gedoens
systemctl daemon-reload
# den service fuer die uhr anschalten
systemctl enable rtc.service
# den service starten
systemctl start rtc.service
# ob man das braucht weiss ich nicht mehr... aber ich habe es abgeschaltet um zu verhindern, dass beim starten die zeit vom netz gezogen wird (meistens im auto ja nicht da)
systemctl disable http-time.service
im anhang ein bild wie das modul auf dem raspi sitzt.