Rester à l'heure système

Bonjour,
j’ai un pb fibre depuis…trop longtemps…et plus rien ne communique vers l’extérieur mais je viens de m’apercevoir que mon NRX, monté avec jeedom, n’était pas tt a fait à l’heure…si jeedom affiche l’horaire correct, c’est n’est pas le cas du système qui a perdu près 1h40. Et évidement les scenarios utilisent l’heure système.
pi@raspberrypi:~ $ date
Fri 4 Oct 05:47:55 CEST 2024
pi@raspberrypi:~ $ sudo date 100407242024
Fri 4 Oct 07:24:00 CEST 2024
bon pas de problème pour revenir à l’heure. Mais, le NRX a bien une horloge interne? comment adresse ton l’horodatage système sur cette horloge?

Bonjour Vortex,

en lisant la notice on voit qu’il y a bien une horloge interne (PCF85063AT de chez NXP Semiconductors) une solution classique plutôt stable.
Par contre elle est sauvegardée par une supercap ce qui veut dire que si la NRX est non alimentée pendant longtemps et non reliée à internet, elle peut perdre l’heure.
Si ce n’est pas le cas une telle dérive (1h40) est étrange et mérite d’interroger le SAV.

Bonne journée

bonjour @Vortex

C’est parce tu as monté jeedom dessus et qu’il n’a pas le drivers pour l’horloge installé
google « install driver raspberry pi 4 cm RTC I2C PCF85063AT » et que l’i2c soit activé

Si cela peut t’aider
https://forums.raspberrypi.com/viewtopic.php?t=293632

mon fichier /boot/config.txt
image
dans dietpi-config
image

Si tu trouves la solution pour jeedom n’hésites pas à faire un tuto :wink:

Je vais me me monter une config origine sur ma raspikey pour pouvoir investiguer sur cette partie car je me demande si sur ma config dietpi elle est activée

hello,
C’est bien un coupure internet (16 jrs), et pas électrique. (Quoique j’ai eu aussi de coupure ponctuelle dans la période)
j’attend une starlink pour alimenter le réseau (et m’attend à des ennuis avec la connexion depuis extérieur…)

merci de vos infos, je vais regarder de mon coté si je parviens a faire quelque chose.

même avec un coupure réseau donc plus de synchro ntp, normalement ton horloge n’aurait pas du dériver autant. Il faudra quand même vérifier la partie driver et après un shutdown d’une dizaine de minutes et comparer l’heure avant après

l’affichage de l’heure dans jeedom fonctionne tjrs même après coupure. (ce que je ne m’explique pas d’ailleurs, il n’a pas plus de ntp que le sysem)
mais je vais tenter…

si cela peut aider un peu plus, je viens de redescendre l’image d’origine GCE et dans le fichier /boot/config.txt j’ai ceci

/boot/config.txt

Don’t have the firmware create an initial video= setting in cmdline.txt.

Use the kernel’s default instead.

disable_fw_kms_setup=1

Run in 64-bit mode

arm_64bit=1

Disable compensation for displays with overscan

disable_overscan=1

Run as fast as firmware / board allows

arm_boost=1

[cm4]

Enable host mode on the 2711 built-in XHCI USB controller.

This line should be removed if the legacy DWC2 controller is required

(e.g. for USB device mode) or if USB support is not required.

otg_mode=1

Disable Bluetooth

dtoverlay=disable-bt

enable RTC

dtparam=i2c_vc=on

dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi,addr=0x51

[all]

enable_uart=1

dtparam=i2c_arm=on

#dtparam=i2s=on

#dtparam=spi=on

Enable audio (loads snd_bcm2835)

dtparam=audio=on

Additional overlays and parameters are documented

/boot/firmware/overlays/README

Automatically load overlays for detected cameras

camera_auto_detect=1

Automatically load overlays for detected DSI displays

display_auto_detect=1

Automatically load initramfs files, if found

auto_initramfs=1

Enable DRM VC4 V3D driver

dtoverlay=vc4-kms-v3d

max_framebuffers=2

Don’t have the firmware create an initial video= setting in cmdline.txt.

Use the kernel’s default instead.

disable_fw_kms_setup=1

Run in 64-bit mode

arm_64bit=1

Disable compensation for displays with overscan

disable_overscan=1

Run as fast as firmware / board allows

arm_boost=1

[cm4]

Enable host mode on the 2711 built-in XHCI USB controller.

This line should be removed if the legacy DWC2 controller is required

(e.g. for USB device mode) or if USB support is not required.

otg_mode=1

Disable Bluetooth

dtoverlay=disable-bt

enable RTC

dtparam=i2c_vc=on

dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi,addr=0x51

[all]

enable_uart=1

il y a ce fichier aussi (j’ai rajouté la 2de ligne)
image

et vérifier si possible (je sais pas si jeedom active par défaut) mais avec raspi-config on peut activer
image

image

image

le problème est de savoir comment jeedom se met à l’heure mais l’horloge interne semble ok si après coupure de l’alim il s’est remis à l’heure (si le réseau est coupé évidemment)

J’ai testé
image

en retapant date il affiche bien la bonne heure ensuite donc il s’est bien recalé sur l’horloge interne apparemment…mais ça c’est sur l’image système !

Jeedom est monté sur un bulleye, indépendant donc, je dois pouvoir ajouter
le enable_RTC dans boot/config.txt
et les 2 lignes dans /etc/modules.

je viens de l’activer dans raspi-config…je teste si comme toi, il se remet à l’heure tt seul…wait&see

(merci beaucoup déjà pour toutes ces infos)

ok :+1:yapluka :slight_smile: … croiser les doigts :wink:

bon j’ai éteind 10 mn (environ, pas sûr que ce soit exact) et j’ai bien
image
(mais je suis une buse l’affichage html récupère l’heure du pc qui l’affiche…)
10 mn de retard.

après modif de la conf, et nouveau shutdown 10 mn, c’est plus drôle: j’ai 3 mn d’avance.
si je modifie l’heure système, elle reste en place même si mauvaise, si je reboot, je prends 3 mn d’avance sur l’heure exacte.
il y a amélioration :slight_smile:

image

j’aime bien le yack :slight_smile:

Donc bon signe que l’heure reste en place

A voir si tu as mis la bonne heure à la base ! Il faudrait la prendre sur le pc après lui avoir changé l’heure avant histoire de forcer une malj de l’heure puis injecter cette heure dans le nrx et shutdown 10 mn et recomparer

Petit addendum

Pour vérifier que la RTC est détectée avec la commande :

dmesg | grep rtc

tu devrais avoir ce type de retour

pour lire l’heure depuis la RTC :

sudo hwclock -r

pour lire l’heure système :

sudo hwclock

Si t’as une une valeur correcte de l’heure, ça signifie que la RTC fonctionne.

pour synchroniser l’horloge système sur la RTC :

sudo hwclock --hctosys

Dans le cas ou tu aurais des incohérences , avant d’ouvrir un ticket tu devrais sauvegarder ton système, redescendre l’image « officielle » et tester pour t’assurer que le souci est logiciel (jeedom) et pas matériel ! :wink:

J’ai pris l’heure pc a chaque fois. au pire j’ai quelques 5x10 s de différence, mais là j’ai exactement 3 minutes. d 'avance, même en mettant une date/heure fantaisiste au shutdown.

Sat  5 Oct 09:36:11 CEST 2024
pi@raspberrypi:~ $ sudo date 100506572024
Sat  5 Oct 06:57:00 CEST 2024
pi@raspberrypi:~ $ sudo shutdown -H now
....
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Oct  5 09:27:17 2024 from ....
pi@raspberrypi:~ $ date
Sat  5 Oct 09:40:34 CEST 2024

et suivant ton poste j’ai bien la rtc

pi@raspberrypi:~ $ dmesg | grep rtc
[    4.826089] rtc-pcf85063 10-0051: registered as rtc0
[    4.828637] rtc-pcf85063 10-0051: setting system clock to 2024-10-05T07:40:06 UTC (1728114006)
[    5.483035] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.483559] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.492506] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.492920] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.493413] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
[    5.525572] vc4-drm gpu: [drm] Cannot find any crtc or sizes
pi@raspberrypi:~ $ date
Sat  5 Oct 09:54:58 CEST 2024
pi@raspberrypi:~ $ sudo date 100506572024
Sat  5 Oct 06:57:00 CEST 2024
pi@raspberrypi:~ $ sudo hwclock -r
2024-10-05 09:55:21.904123+02:00
pi@raspberrypi:~ $ sudo hwclock
2024-10-05 09:55:24.747119+02:00
pi@raspberrypi:~ $ sudo hwclock --hctosys
pi@raspberrypi:~ $ date
Sat  5 Oct 09:55:36 CEST 2024

(pour moi hwclock - r et hwclock c’est pareil)

et il semble bien que mon rtc ai 3 mn d’avance sur l’heure exacte (enfin au moins depuis mon portable qui lui devrait se mettre a l’heure onAir.)

ceci dit je ne suis pas à 3 mn prés, c’est beau déjà qui se synchronise au reboot, et puis je finirais bien par avoir internet un jour, peut être si St Axerror me prête attention…
(ou bien je fais un hwclock --set pour mettre l’heure RTC à l’horaire voulue. :slight_smile:
sudo hwclock --systohc
)

MERCI beaucoup cce66

2 « J'aime »

oui, avec une heure précise (ton smartphone par exemple, ce sera à la seconde environ)

suivi d’un : hwclock -s
cela mettra l’horloge système à l’heure de l’horloge matérielle (mettre un cron quotidien dessus peut-être)

En l’absence de synchro ntp, à mon avis tu n’aura peut-être plus de dérive entre les deux mais surement avec l’officielle selon la doc

https://linux.die.net/man/8/hwclock

You can also run hwclock periodically to insert or remove time from the Hardware Clock to compensate for systematic drift (where the clock consistently gains or loses time at a certain rate if left to run.