PHC и системные часы: разность целых секунд может быть связана со шкалами времени
Фотография конкретного исполнения не приложена.
В аппаратном timestamp-режиме LinuxPTP PHC использует PTP-шкалу, а системные часы Linux — UTC. Эти шкалы не обязаны иметь одинаковое числовое показание. Поэтому сравнение локальных часов без учёта масштаба времени способно дать неверный вывод о большой ошибке синхронизации.
Справочник phc2sys 4.4 объясняет, что PTP-шкала непрерывна и не применяет leap seconds как UTC. Разность поддерживается phc2sys. В автоматическом режиме либо при предусмотренном ожидании ptp4l утилита получает offset от него; ручной вариант задаёт величину отдельно. Значение и направление должны соответствовать выбранным источнику и приёмнику.
Нельзя бездумно переносить числовую константу из старого примера на любую дату и схему. Источник должен корректно предоставлять сведения о временной шкале, а конфигурация — использовать их в нужном направлении. Ошибка здесь может дать целое число секунд сдвига системных часов либо неверное время, распространяемое сервером домена.
В приёмке сверяют заявленную шкалу, currentUtcOffset и независимую проверку UTC. Исходные метки PHC сохраняют вместе с описанием преобразования. Перевод пользовательского отчёта в местную зону является другим действием: он не заменяет разницу UTC и PTP и не должен изменять исходные аппаратные временные данные.
Основание — LinuxPTP4.4 manual sources from official release archive, разделы phc2sys(8), Time scale usage; automatic offset; wait; manual offset. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — тексты руководств из официального архива LinuxPTP 4.4. Программы не собирались и не запускались; сетевые адаптеры, ядро, драйверы, часы и точность конкретного узла не проверялись.