I've got a Raspberry Pi 5, with 64 bit Rasperry Pi OS and previously have used ntpsec as the core of my time server. I have the Uputronix card, hardware revision 5.9.
Despite following the instructions to the letter, chrony always fails to start with this error:
Feb 10 21:27:12 ntp.reub.net chronyd[4556]: chronyd version 4.3 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 -DEBUG)
Feb 10 21:27:12 ntp.reub.net chronyd[4556]: Fatal error : unknown refclock driver kPPS
Feb 10 21:27:12 ntp.reub.net chronyd[4554]: unknown refclock driver kPPS
Feb 10 21:27:12 ntp.reub.net systemd[1]: chrony.service: Control process exited, code=exited, status=1/FAILURE
My chrony.conf has - as per the instructions the exact config specified:
# Choose the one with best long term results
refclock SHM 1 refid PPS precision 1e-7 prefer
refclock kPPS /dev/pps0 lock GPS maxlockage 2 poll 4 refid PPS precision 1e-7 prefer
#
If I comment out the kPPS interface, then chronyd starts.
However, it seems that there's more wrong than this...
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#? GPS 0 8 0 - +0ns[ +0ns] +/- 0ns
#? PPS 0 4 0 - +0ns[ +0ns] +/- 0ns
#* PHC 0 0 77 0 +26us[ -475us] +/- 47ns
^- resolv.on.ii.net 2 6 7 1 +28ms[ +28ms] +/- 145ms
GPS and PPS never show any numbers at all as if they are not working.
But PPS does actually work:
root@ntp:/var/log/chrony# ppstest /dev/pps0
trying PPS source "/dev/pps0"
found PPS source "/dev/pps0"
ok, found 1 source(s), now start fetching data...
source 0 - assert 1707561010.030853608, sequence: 21945 - clear 0.000000000, sequence: 0
source 0 - assert 1707561011.030797783, sequence: 21946 - clear 0.000000000, sequence: 0
source 0 - assert 1707561012.030742405, sequence: 21947 - clear 0.000000000, sequence: 0
This did all work with ntpsecd before so I don't believe there are any issues with bad hardware.
Could these problems be caused by my somewhat older version of the Uputronix board or is there something else which could explain this?