Disable time sync service in Ubuntu to not interfere with PTP4L
Scope
The following deals with the proper configuration of any Ubuntu-based host OS that requires or uses PTP4L for synchronization with a PTP Grand Master clock. Please note this is intended to be a guide and therefore, makes some assumptions about your skills using Linux in a command-line interface.
Description
PTP4L (PTP for Linux) is software that syncs a Linux host system to an available PTP master clock. In order for this to work properly, you need to disable other mechanisms that might try to adjust the host clock. PTP clock is vital to the proper delivery and reception of AoIP audio.
Possibilities can be;
- The
timesyncd
service installed with Ubuntu - VM platforms (like VMWare ESXi) have the ability to sync the time on any Guest (or Virtual Machines).
- PTP4L (this one we want to keep)
Think of this as a car with three steering wheels and three different people driving. We need to make sure there is only ONE source of time sync.
Disabling other sources of time sync
Virtual Machine Hosts
This would be for programs like VMWare, ProxMox, Stratus, Hyper-V (and many others). Make sure that whatever you use for a host has this feature turned OFF. Here is an example from a VMWare ESXi configuration;
Ubuntu timesyncd service
Ubuntu timesyncd service will try to sync your system to an NTP server. We also want this to be stopped and disabled. To disable and stop timesyncd;
From a terminal window, send the commands
dbjones@docker:~$ sudo systemctl stop systemd-timesyncd
dbjones@docker:~$ sudo systemctl disable systemd-timesyncd
You may receive the following message. This is normal.
Removed /etc/systemd/system/dbus-org.freedesktop.timesync1.service.
Removed /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service.