From 44b7c787051b112c753e3bc87db6034fb501a535 Mon Sep 17 00:00:00 2001 From: j1nx Date: Tue, 15 Nov 2022 10:48:14 +0100 Subject: [PATCH] Sync the clock and check connectivity faster --- .../etc/NetworkManager/NetworkManager.conf | 11 +++++ .../rootfs-overlay/etc/systemd/timesyncd.conf | 5 ++- .../lib/NetworkManager/dispatcher.d/10-ntp | 42 +++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100755 buildroot-external/rootfs-overlay/usr/lib/NetworkManager/dispatcher.d/10-ntp diff --git a/buildroot-external/rootfs-overlay/etc/NetworkManager/NetworkManager.conf b/buildroot-external/rootfs-overlay/etc/NetworkManager/NetworkManager.conf index 3510d547..42d8ae4c 100644 --- a/buildroot-external/rootfs-overlay/etc/NetworkManager/NetworkManager.conf +++ b/buildroot-external/rootfs-overlay/etc/NetworkManager/NetworkManager.conf @@ -9,3 +9,14 @@ unmanaged-devices=type:bridge;type:tun;type:veth [logging] backend=journal + +[connection] +connection.mdns=2 +connection.llmnr=2 + +[connectivity] +uri=http://nmcheck.gnome.org/check_network_status.txt +interval=300 + +[device] +wifi.scan-rand-mac-address=no diff --git a/buildroot-external/rootfs-overlay/etc/systemd/timesyncd.conf b/buildroot-external/rootfs-overlay/etc/systemd/timesyncd.conf index 63422d88..e90f0c22 100644 --- a/buildroot-external/rootfs-overlay/etc/systemd/timesyncd.conf +++ b/buildroot-external/rootfs-overlay/etc/systemd/timesyncd.conf @@ -1,3 +1,4 @@ [Time] -NTP=time.cloudflare.com -FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org +FallbackNTP=time.cloudflare.com +# Speed-up boot as first attempt is done before network is up +ConnectionRetrySec=10 diff --git a/buildroot-external/rootfs-overlay/usr/lib/NetworkManager/dispatcher.d/10-ntp b/buildroot-external/rootfs-overlay/usr/lib/NetworkManager/dispatcher.d/10-ntp new file mode 100755 index 00000000..425786bf --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/NetworkManager/dispatcher.d/10-ntp @@ -0,0 +1,42 @@ +#!/bin/bash +# + +TIMESYNCD_CONF=/run/systemd/timesyncd.conf.d/10-ntp.conf + +timesyncd_dhcp_ntp_remove() { + if [ -e $TIMESYNCD_CONF ]; then + rm -f $TIMESYNCD_CONF + systemctl restart systemd-timesyncd.service + fi +} + +timesyncd_dhcp_ntp_add() { + mkdir -p "$(dirname $TIMESYNCD_CONF)" + + echo '[Time]' > ${TIMESYNCD_CONF} + echo "NTP=${DHCP4_NTP_SERVERS}" >> ${TIMESYNCD_CONF} + + systemctl restart systemd-timesyncd.service +} + +# shellcheck disable=SC2034 +INTERFACE=${1} +ACTION=${2} + +case ${ACTION} in + up|down|dhcp4-change) + if [ -n "${DHCP4_NTP_SERVERS}" ] + then + timesyncd_dhcp_ntp_add + RETURN_CODE=$? + else + timesyncd_dhcp_ntp_remove + RETURN_CODE=$? + fi + ;; + *) + RETURN_CODE=0 + ;; +esac + +return $RETURN_CODE