Включение tempcomp в Chrony

Я работаю над Raspberry Pi под управлением Buster с шляпой Adafruit Ultimate GPS. Я пытаюсь заставить Хрони компенсировать температуру. Я изменил файл chrony.conf, чтобы он содержал.

      # Uncomment the following line to turn logging on.
log measurements refclocks statistics tempcomp tracking
tempcomp /sys/class/hwmon/hwmon0/temp1_input 30 26000 0.0 0.000183 0.0
#tempcomp /sys/class/hwmon/hwmon0/temp1_input 30 /var/log/chrony/tempcomp.log

В настоящее время система добавляет измерения в файл tempcomp.log каждые 30 секунд. Однако, если я включу вторую (закомментированную) строку tempcomp выше, chrony умирает при перезапуске с ошибкой

      Sep  6 12:31:45 rpi-tick2 chronyd[24713]: chronyd version 3.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 -DEBUG)
Sep  6 12:31:45 rpi-tick2 chronyd[24713]: Frequency 23.662 +/- 0.165 ppm read from /var/lib/chrony/chrony.drift
Sep  6 12:31:45 rpi-tick2 chronyd[24713]: Fatal error : Could not read tempcomp point from /var/log/chrony/tempcomp.log
Sep  6 12:31:45 rpi-tick2 chronyd[24711]: Could not read tempcomp point from /var/log/chrony/tempcomp.log

Я считаю, что это связано с тем, что в файлах tempcomp.log есть такие записи, как

      ===========================================
   Date (UTC) Time        Temp.       Comp.
===========================================
2021-09-06 17:40:47  5.2095e+04  4.7754e+00
2021-09-06 17:41:17  5.2582e+04  4.8645e+00
2021-09-06 17:41:47  5.2582e+04  4.8645e+00
2021-09-06 17:42:17  5.3069e+04  4.9536e+00
2021-09-06 17:42:47  5.2582e+04  4.8645e+00

Где хрони ожидает чего-то вроде

      20000 1.0
21000 0.64
22000 0.36
23000 0.16
24000 0.04

и отсортированы по температуре, а не по времени выборки.

Похоже, я где-то пропустил шаг.

Кроме того, после настройки это динамический процесс, при котором новые точки данных добавляются по мере продвижения, или мы прекращаем сбор данных и просто используем статическую таблицу для компенсации временных затрат?

Спасибо за любые идеи.

1 ответ

Я думаю, вам нужно вручную создать файл chrony.tempcomp, вероятно, проанализировав файл tempcomp.log. Это отдельные файлы. Затем укажите файл chrony.tempcomp следующим образом: tempcomp /sys/class/hwmon/hwmon0/temp2_input 30 /etc/chrony.tempcomp

Другие вопросы по тегам