Can you help me with step by step chrony setup in Raspberry Pi, please?

Firstly, The summery of the problems I am facing:


While commanding chrony from repository (apt-get install chrony) its installing v1.6 and I don’f find ‘chronyd’ anywhere. ‘systemctl status chronyd’ says, not found, inactive, dead. Though I can command ‘chronyc sources’ shows my servers but not GPS PSS servers as following:

#? GPS                           0   4     0   10y     +0ns[   +0ns] +/-    0ns 
#? PPSS                          0   4     0   10y     +0ns[   +0ns] +/-    0ns 
^* time.campus.qut.edu.au        3   5   377     1   -103us[ -107us] +/-   15ms 

(I put ‘timepps.h’ in ‘/user/include’ and my chrony configuration file is in ‘/etc/chrony/chrony.conf’, is that any issue?)

A detailed set up of this attempt is given below.

While trying to manually installing Chrony by downloading v3.1, I see after ./configure, ‘make’ command shows many ‘missing’ like ‘gcc -02 -g missing-prototypes -wall pthread’. Then

My Detailed Setup:

System: Rpi3 and Jessie.

First I have made some initial settings in two stages, are:

Stage:1 In the first stage in a fresh Jessie raspbian I made the following changes:

a) In the boot configuration file (/boot/conf.txt) I stop Linux putting serial console by removing 'console=serial0,115200'

b) I load pps-gpio to kernel module (sudo sh -c "echo pps-gpio >> /etc/modules"

c) Told to use GPIO18 as the PPS input by inputting "dtoverlay=pps-gpio,gpiopin=18" into config.txt file.

d) I added this three additional command to the config.txt file, "core_frequency=300" "force_turbo=1" and "enable_uart=1".

Stage:2 I installed 'picocom' and 'pps-tools' to see whether my GPS and PPS are from the receiver is functioning?

a) 'picocom -b 9600 -f n /dev/ttyS0' commands start to show output from GPS module that essentially starts with $GPRMC 

b) 'ppstest /dev/pps0' command also executes successfully showing, 'ok found 1 sources (s) bla bla 

-------------means, both GPS and PPS of the receiver are interfaced and active with the system.

[Note: From this point onward, if I install NTP, it get fix with the drivers and works fine.] After the initial set up I tried to follow the instruction given here in this link: http://catb.org/gpsd/gpsd-time-service-howto.html#_feeding_chrony_from_gpsd

Now, I installed chrony and gpsd into my system. And always ensured that Chrony is Running before gpsd.

allow 0/0

refclock SHM 1 refid GPS precision 1e-1 offset 0.9999 delay 0.2 refclock SOCK /tmp/chrony.ttyS0.sock refid PPSS

But I don't get any result. It is sure that chrony does not get feed from GPSD.

chronyc sources results are look likes:

pi@raspberrypi:~ $ chronyc sources 
210 Number of sources = 4 
MS Name/IP address         Stratum Poll Reach LastRx Last sample 
#? GPS                           0   4     0   10y     +0ns[   +0ns] +/-    0ns 
#? PPSS                          0   4     0   10y     +0ns[   +0ns] +/-    0ns 
^* time.campus.qut.edu.au        3   5   377     1   -103us[ -107us] +/-   15ms 

What I am missing? Any suggestion please?

1 Answer 1


I came across this while following the same guide and ran in to the same issue where pps is enabled and working (via the ppstest tool) but chrony was not picking it up as a valid source.

The fix for me was even though the pps socket is supposed to be autodetected, it wasn't unless I specifically added it. This also made PPS "work" in the gpsmon and ntpshmmon tools as well. My gpsd command looked like this, where I specified both the gps and pps devices:

sudo gpsd -N -n -F /var/run/gpsd.sock /dev/serial0 /dev/pps0

Hope that helps someone coming across the same guides as I did.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.