Disable time sync service in Ubuntu to not interfere with PTP4L

Updated by Bryan Jones

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.


How did we do?