systemd-timesyncd is unreliable on Raspberry Pi 4 (aarch64)

This forum is for discussion about general software issues.

systemd-timesyncd is unreliable on Raspberry Pi 4 (aarch64)

Postby yutanagano » Mon Jul 26, 2021 10:13 am

Hello forums,

I have installed Archlinux ARM (aarch64) on my Raspberry Pi 4. I am having trouble getting systemd-timesyncd to synchronise the system clock.

My understanding is that systemd-timesyncd should automatically synchronise the system clock with a remote NTP server on boot. However, this has not been the case.

I have tried my best to read around the topic, and have found some old threads where people have found that restarting systemd-networkd after boot causes timesyncd to synchronise the system clock. I tried this and this sometimes works, but not always.

Since the "restart networkd" workaround doesn't work reliably for me, and it also seems like a messy workaround, I wanted to ask for help. I would greatly appreciate it if someone could help me troubleshoot this.

Thank you very much!

---

Below are some command line outputs that may be useful:

Output of 'timedatectl' before restarting systemd-networkd.service:
$this->bbcode_second_pass_code('', '
Local time: Sun 2021-07-25 17:23:06 BST
Universal time: Sun 2021-07-25 16:23:06 UTC
RTC time: n/a
Time zone: Europe/London (BST, +0100)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
')

After manually restarting systemd-networkd.service ONCE (no changes):
$this->bbcode_second_pass_code('', '
Local time: Sun 2021-07-25 17:27:13 BST
Universal time: Sun 2021-07-25 16:27:13 UTC
RTC time: n/a
Time zone: Europe/London (BST, +0100)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
')

System clock is somehow synchronised after manually restarting systemd-networkd.service TWICE:
$this->bbcode_second_pass_code('', '
Local time: Sun 2021-07-25 17:29:30 BST
Universal time: Sun 2021-07-25 16:29:30 UTC
RTC time: n/a
Time zone: Europe/London (BST, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
')

Output of 'systemctl status' after the shenanigans:
$this->bbcode_second_pass_code('', '
* systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-07-25 17:06:12 BST; 25min ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 353 (systemd-timesyn)
Status: "Idle."
Tasks: 2 (limit: 9272)
Memory: 1.2M
CPU: 127ms
CGroup: /system.slice/systemd-timesyncd.service
`-353 /usr/lib/systemd/systemd-timesyncd

Jul 21 01:21:05 alarm systemd[1]: Starting Network Time Synchronization...
Jul 21 01:21:05 alarm systemd-timesyncd[353]: System clock time unset or jumped backwards, restoring from recorded timestamp: Sun 2021-07-25 17:06:12 BST
Jul 25 17:06:12 alarm systemd[1]: Started Network Time Synchronization.
Jul 25 17:27:12 alarm systemd-timesyncd[353]: Network configuration changed, trying to establish connection.
Jul 25 17:27:12 alarm systemd-timesyncd[353]: No network connectivity, watching for changes.
Jul 25 17:29:08 alarm systemd-timesyncd[353]: Network configuration changed, trying to establish connection.
Jul 25 17:29:29 alarm systemd-timesyncd[353]: Initial synchronization to time server 185.229.201.11:123 (0.europe.pool.ntp.org).
Jul 25 17:29:29 alarm systemd-timesyncd[353]: No network connectivity, watching for changes.
')

The log of systemd-networkd.service for the current boot ('journalctl -u systemd-networkd.service -b'):
$this->bbcode_second_pass_code('', '
Jul 21 01:21:04 alarm systemd[1]: Starting Network Configuration...
Jul 21 01:21:05 alarm systemd-networkd[297]: lo: Link UP
Jul 21 01:21:05 alarm systemd-networkd[297]: lo: Gained carrier
Jul 21 01:21:05 alarm systemd-networkd[297]: Enumeration completed
Jul 21 01:21:05 alarm systemd[1]: Started Network Configuration.
Jul 21 01:21:05 alarm systemd-networkd[297]: eth0: Link UP
Jul 25 17:06:13 alarm systemd-networkd[297]: wlan0: Link UP
Jul 25 17:06:13 alarm systemd-networkd[297]: wlan0: Link DOWN
Jul 25 17:06:13 alarm systemd-networkd[297]: wlan0: Link UP
Jul 25 17:06:15 alarm systemd-networkd[297]: wlan0: Link DOWN
Jul 25 17:06:15 alarm systemd-networkd[297]: wlan0: Link UP
Jul 25 17:06:17 alarm systemd-networkd[297]: wlan0: Connected WiFi access point: eduroam (80:8d:b7:47:d9:70)
Jul 25 17:06:17 alarm systemd-networkd[297]: wlan0: Gained carrier
Jul 25 17:06:19 alarm systemd-networkd[297]: wlan0: Gained IPv6LL
Jul 25 17:27:11 alarm systemd[1]: Stopping Network Configuration...
Jul 25 17:27:12 alarm systemd-networkd[297]: eth0: DHCPv6 lease lost
Jul 25 17:27:12 alarm systemd[1]: systemd-networkd.service: Deactivated successfully.
Jul 25 17:27:12 alarm systemd[1]: Stopped Network Configuration.
Jul 25 17:27:12 alarm systemd[1]: Starting Network Configuration...
Jul 25 17:27:12 alarm systemd-networkd[1031]: wlan0: Link UP
Jul 25 17:27:12 alarm systemd-networkd[1031]: wlan0: Gained carrier
Jul 25 17:27:12 alarm systemd-networkd[1031]: eth0: Link UP
Jul 25 17:27:12 alarm systemd-networkd[1031]: lo: Link UP
Jul 25 17:27:12 alarm systemd-networkd[1031]: lo: Gained carrier
Jul 25 17:27:12 alarm systemd-networkd[1031]: wlan0: Gained IPv6LL
Jul 25 17:27:12 alarm systemd-networkd[1031]: Enumeration completed
Jul 25 17:27:12 alarm systemd[1]: Started Network Configuration.
Jul 25 17:27:12 alarm systemd-networkd[1031]: wlan0: Connected WiFi access point: eduroam (80:8d:b7:47:d9:70)
Jul 25 17:29:08 alarm systemd[1]: Stopping Network Configuration...
Jul 25 17:29:08 alarm systemd-networkd[1031]: eth0: DHCPv6 lease lost
Jul 25 17:29:08 alarm systemd[1]: systemd-networkd.service: Deactivated successfully.
Jul 25 17:29:08 alarm systemd[1]: Stopped Network Configuration.
Jul 25 17:29:08 alarm systemd[1]: Starting Network Configuration...
Jul 25 17:29:08 alarm systemd-networkd[1044]: wlan0: Link UP
Jul 25 17:29:08 alarm systemd-networkd[1044]: wlan0: Gained carrier
Jul 25 17:29:08 alarm systemd-networkd[1044]: eth0: Link UP
Jul 25 17:29:08 alarm systemd-networkd[1044]: lo: Link UP
Jul 25 17:29:08 alarm systemd-networkd[1044]: lo: Gained carrier
Jul 25 17:29:08 alarm systemd-networkd[1044]: wlan0: Gained IPv6LL
Jul 25 17:29:08 alarm systemd-networkd[1044]: Enumeration completed
Jul 25 17:29:08 alarm systemd[1]: Started Network Configuration.
Jul 25 17:29:08 alarm systemd-networkd[1044]: wlan0: Connected WiFi access point: eduroam (80:8d:b7:47:d9:70)
')

Currently running services ('systemctl | grep running'):
$this->bbcode_second_pass_code('', '
init.scope loaded active running System and Service Manager
session-1.scope loaded active running Session 1 of User yuta
dbus.service loaded active running D-Bus System Message Bus
getty@tty1.service loaded active running Getty on tty1
haveged.service loaded active running Entropy Daemon based on the HAVEGE algorithm
NetworkManager.service loaded active running Network Manager
serial-getty@ttyS1.service loaded active running Serial Getty on ttyS1
sshd.service loaded active running OpenSSH Daemon
systemd-journald.service loaded active running Journal Service
systemd-logind.service loaded active running User Login Management
systemd-networkd.service loaded active running Network Configuration
systemd-resolved.service loaded active running Network Name Resolution
systemd-timesyncd.service loaded active running Network Time Synchronization
systemd-udevd.service loaded active running Rule-based Manager for Device Events and Files
user@1000.service loaded active running User Manager for UID 1000
wpa_supplicant.service loaded active running WPA supplicant
dbus.socket loaded active running D-Bus System Message Bus Socket
systemd-journald-audit.socket loaded active running Journal Audit Socket
systemd-journald-dev-log.socket loaded active running Journal Socket (/dev/log)
systemd-journald.socket loaded active running Journal Socket
systemd-networkd.socket loaded active running Network Service Netlink Socket
systemd-udevd-control.socket loaded active running udev Control Socket
systemd-udevd-kernel.socket loaded active running udev Kernel Socket
')

Currently enabled services ('systemctl list-unit-files | grep enabled'):
$this->bbcode_second_pass_code('', '
getty@.service enabled enabled
haveged.service enabled disabled
NetworkManager-dispatcher.service enabled disabled
NetworkManager-wait-online.service enabled disabled
NetworkManager.service enabled disabled
sshd.service enabled disabled
systemd-homed.service disabled enabled
systemd-networkd-wait-online.service enabled disabled
systemd-networkd.service enabled enabled
systemd-pstore.service disabled enabled
systemd-remount-fs.service enabled-runtime disabled
systemd-resolved.service enabled enabled
systemd-timesyncd.service enabled enabled
systemd-networkd.socket enabled disabled
systemd-userdbd.socket disabled enabled
machines.target disabled enabled
reboot.target disabled enabled
remote-cryptsetup.target disabled enabled
remote-fs.target enabled enabled
')
yutanagano
 
Posts: 1
Joined: Mon Jul 26, 2021 9:58 am

Re: systemd-timesyncd is unreliable on Raspberry Pi 4 (aarch

Postby chilebiker » Thu Jul 29, 2021 7:00 pm

Here it stopped working with the update of systemd / systemd-libs from version 248.3-2 to 249.3. After a downgrade everything is fine again. Systemd is on the ignore-list in my /etc/pacman.conf .
chilebiker
 
Posts: 4
Joined: Wed May 19, 2021 5:41 pm

Re: systemd-timesyncd is unreliable on Raspberry Pi 4 (aarch

Postby LGR » Mon Aug 23, 2021 9:35 am

I found that creating a .network file in /etc/systemd/network/ containing the lines:

[Match]
Name=*

[Network]
DHCP=yes

has cured this problem for me.
LGR
 
Posts: 1
Joined: Sat Aug 08, 2020 9:47 am


Return to General

Who is online

Users browsing this forum: No registered users and 7 guests