[Megkerülve] raspbian 10.1 fake-hwclock helyett valódi + ntpd hogy is kéne ezt?

Belezavarodtam :(
Szeretném elérni, hogy ha van net akkor ntpd, ha nincs net (és vagy lemerül az UPS újraindul a rendszer) akkor vegye elő a hwclock -ot és azt állítsa be mint rendszer időt.
Már az elején telepítettem az ntp -t, működik.

A fake-hwclock.service -t letiltottam. A config -ban beállítottam a dtoverlay=i2c-rtc,ds3231 -et (ilyen chipem van most).
Beállítottam az /etc/default/hwclock -ban hogy HWCLOCKACCES=yes és HCTOSYS_DEVICE=rtc0
A hwclock.service masked, nem tudom unmask -olni (hwclock.service -> /dev/null nincs is használható scriptem)
Újraindítás, net nélkül valami teljesen fals időt kapok (2019.02.14. stb.)
Ha beolvasom az rtc -ben tárolt időt (hwclock -r) az helyes.
Van olyanom is, engedélyezve, hogy systemd-timesyncd.service. de mintha ott sem lenne (lehet az ntp miatt).
Szóval mi a tudomány mai állása, hogy kellene szinkronizálni a rendszert?

Hozzászólások

Kivettem a képletből az ntp -t.
Javult a helyzet ;) Most már csak egy nappal késik a rendszer az rtc és a valósághoz képest - tehát még mindig nem használja az rtc -t.
(Továbbra sincs bekötve a net)

* Én egy indián vagyok. Minden indián hazudik.

Nézegetem a systemd-timedated és a hozzá tartozó timedatectl dolgait.
A systemctl status -ban van egfy olyan sor, hogy "System clock synchronized = " ha van net akkor yes, ha nincs akkor no. Erre már lehet alakítani egy olyat, hogy az /etc/rc.local -ba megnézem ezt az állapotot, és ha no akkor hwclock -s. Mondjuk nem épp az a megoldás amit keresek, de talán ez is megteszi.
Lehet, hozzá kell tenni valami olyat, ami mondjuk óránként, ha van szinkron (net) beállítja az rtc -t, így biztosítva hogy ne másszon el.

* Én egy indián vagyok. Minden indián hazudik.

Kínomban írtam egy kis scriptet, az /etc/rc.local -ba:

/bin/echo -e "\e[36mCheck system clock, date and time\e[0m"
SYNC_STAT=`/usr/bin/timedatectl status | /bin/grep "synchronized" | /usr/bin/awk '{print $4}'`
if [ $SYNC_STAT = 'no' ]
then
  /bin/echo -e "\e[31mGet date-time from RTC\e[0m"
  /sbin/hwclock -s
else
  /bin/echo -e "\e[32mSystem in synchronized state\e[0m"
fi

Működik. Persze, valamit majd a crontab -ba is be kell tenni, hogy az rtc -t frissítse, ha van net kapcsolat, szinkron.

* Én egy indián vagyok. Minden indián hazudik.

Szia, pár triviális kérdés: milyen Raspberry Pi-hez milyen külső hw clock-ot raktál? Van benne megfelelő, működő elem? I2C-s? Esetleg valami beépített?

https://www.abelectronics.co.uk/p/70/rtc-pi

https://www.element14.com/community/docs/DOC-68907/l/shim-rtc-realtime-clock-accessory-board-for-raspberry-pi

https://www.botshop.co.za/product/ds3231-real-time-clock-module-for-raspberry-pi-3-3v-5v/

Ilyesmik?

Sakk-matt,
KaTT :)

Nem mai csirke, Raspberry Pi revision B (2011.12. gyártva)
https://www.pololu.com/product/2750
Elég régen vettem, de pont így néz ki:
https://www.ebay.com/itm/DS3231-AT24C32-Memory-Module-IIC-Precision-RTC-Real-Time-Clock-ASS/264542157244?hash=item3d97f0f9bc:g:YJEAAOSwcNxZjnXc
Most tettem bele egy vadi új elemet.
És igen, kifogástalanul működik. Míg a rendszer, hálózat nélkül a tegnapban él, addig a hwclock -r megfelelő dátum, időt mutat. Csak valamiért a rendszer ezt nem kezeli, hanem valami másból próbál kitalálni egy időt.
A systemd-timesyncd.service -nek kellene valamit ezzel talán kezdeni.
Elvileg létezik olyan, hogy hwclock.service de akárhol nézem masked (/dev/null), lehet nekem kellene ide valamit beleszerkeszteni? Nem hiszem hogy az "alkotók" erre a szituációra nem gondoltak.

* Én egy indián vagyok. Minden indián hazudik.

Gyanús. Az elem nem melegszik - "robbanni" csak úgy tud ha mondjuk folyamatosan belenyomod a 3,3V -ot amitől persze melegszik. Itt viszont (szerintem) egy közönséges 1N4148 dióda van ami alapból inkább >0,4V feszültségesést produkál, ráadásul 200Ohm van vele sorba kötve.
Mindenképp köszönöm a figyelmeztetést.

* Én egy indián vagyok. Minden indián hazudik.

https://www.onetransistor.eu/2019/07/zs042-ds3231-battery-charging-circuit.html

Battery type 3.3 V Supply 5 V Supply
CR2032 Battery not affected Disable charging circuit
LIR2032 Battery not affected
Charging does not work
Disable charging circuit, or
Make sure 5 V is actually 4.7 V

Túl komplikáltam!? Szokásomhoz híven, a prototípus SD -t mentettem (sfdisk/partíciók, vfat és etx4 partíció tra.gz), majd ezekből csináltam egy klónt, és bedugtam az RPI -be.

Bootolás után mindig szinkronizál a hwclock -ról. Logikus, hiszen kellhet némi idő ahogy találjon egy használható idő szervert és szinkronba álljon, így az induláskor nemigen lesz szinkronban.
Elég a "hwclock -s" az /etc/rc.local -ba.

* Én egy indián vagyok. Minden indián hazudik.