Re: [chrony-users] Chrony does not select PPS source

[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-users Archives ]


A few things come to mind:

- You didn’t include any information about your gpsd configuration.

- With the approach you are taking, you have to start gpsd before you start chronyd. Are you?

- Are you sure you are looking at the right PPS device? There may be PPS devices for other PPS sources such as network interface cards.

- Have you considered using socket communication between gpsd and chronyd instead?

   refclock SOCK /var/run/chrony.ttyUSB0.sock refid PPS precision 1e-03

Note that if you are using socket communication, gpsd must be started after chronyd rather than before.

Denny



> On Sep 10, 2017, at 20:01, Simon Haines <simon@xxxxxxxxxxxxxxxx> wrote:
> 
> I am configuring chrony (3.1 from buildroot) for an isolated system with an attached GPS+PPS and trying to get it to set the system time as quickly as possible. The device does not have a battery-backed RTC and will never have access to a network. It boots with the system time of 1970-01-01T00:00:00.
> 
> The PPS is attached to /dev/pps0 and I have confirmed it is working:
> # 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 3196.416134924, sequence: 3137 - clear  0.000000000, sequence: 0
> source 0 - assert 3197.416137528, sequence: 3138 - clear  0.000000000, sequence: 0
> source 0 - assert 3198.416140809, sequence: 3139 - clear  0.000000000, sequence: 0
> source 0 - assert 3199.416151381, sequence: 3140 - clear  0.000000000, sequence: 0
> 
> The GPS is connected through gpsd using the SHM driver, and I've confirmed it is working (refclock log is below). Here is my chrony.conf:
> # cat /etc/chrony.conf 
> refclock PPS /dev/pps0 lock NMEA
> refclock SHM 0 offset 0.5 delay 0.2 refid NMEA noselect
> log refclocks
> logdir /var/log
> 
> Starting chronyd with debugging information suggests that chrony is aware of the PPS clock:
> # chronyd -d -d
> 1970-01-01T01:03:32Z main.c:473:(main) chronyd version 3.1 starting (+CMDMON +NTP +REFCLOCK +RTC -PRIVDROP -SCFILTER -SECHASH -SIGND +ASYNCDNS +IPV6 +DEBUG)
> 1970-01-01T01:03:32Z conf.c:406:(CNF_ReadFile) Reading /etc/chrony.conf
> 1970-01-01T01:03:32Z local.c:149:(calculate_sys_precision) Clock precision 0.000000260 (-22)
> 1970-01-01T01:03:32Z sys_linux.c:317:(get_version_specific_details) Linux kernel major=4 minor=9 patch=45
> 1970-01-01T01:03:32Z sys_linux.c:338:(get_version_specific_details) hz=100 nominal_tick=10000 max_tick_bias=1000
> 1970-01-01T01:03:32Z local.c:663:(lcl_RegisterSystemDrivers) Local freq=0.000ppm
> 1970-01-01T01:03:32Z refclock.c:274:(RCL_AddRefclock) refclock PPS refid=PPS0 poll=4 dpoll=0 filter=16
> 1970-01-01T01:03:32Z refclock.c:274:(RCL_AddRefclock) refclock SHM refid=NMEA poll=4 dpoll=0 filter=16
> 1970-01-01T01:03:32Z refclock.c:442:(RCL_AddPulse) refclock pulse ignored no ref sample
> 1970-01-01T01:03:32Z refclock.c:723:(filter_add_sample) filter sample 0 t=3812.539035837 offset=1505092242.960964203 dispersion=0.000001000
> 1970-01-01T01:03:33Z refclock.c:465:(RCL_AddPulse) refclock pulse ignored offdiff=0.379203081 refdisp=0.000001260 disp=0.000000001
> 1970-01-01T01:03:33Z refclock.c:723:(filter_add_sample) filter sample 1 t=3813.537794586 offset=1505092242.962205410 dispersion=0.000001000
> 1970-01-01T01:03:34Z refclock.c:465:(RCL_AddPulse) refclock pulse ignored offdiff=0.380447388 refdisp=0.000001260 disp=0.000000001
> 1970-01-01T01:03:34Z refclock.c:723:(filter_add_sample) filter sample 2 t=3814.536533857 offset=1505092242.963466167 dispersion=0.000001000
> 1970-01-01T01:03:35Z refclock.c:465:(RCL_AddPulse) refclock pulse ignored offdiff=0.381711483 refdisp=0.000001260 disp=0.000000001
> 1970-01-01T01:03:35Z refclock.c:723:(filter_add_sample) filter sample 3 t=3815.537782398 offset=1505092242.962217569 dispersion=0.000001000
> 1970-01-01T01:03:36Z refclock.c:465:(RCL_AddPulse) refclock pulse ignored offdiff=0.380466461 refdisp=0.000001260 disp=0.000000001
> 1970-01-01T01:03:36Z refclock.c:723:(filter_add_sample) filter sample 4 t=3816.537785262 offset=1505092242.962214708 dispersion=0.000001000
> 1970-01-01T01:03:37Z refclock.c:465:(RCL_AddPulse) refclock pulse ignored offdiff=0.380466938 refdisp=0.000001260 disp=0.000000001
> 1970-01-01T01:03:37Z refclock.c:723:(filter_add_sample) filter sample 5 t=3817.537906252 offset=1505092242.962093830 dispersion=0.000001000
> 1970-01-01T01:03:38Z refclock.c:465:(RCL_AddPulse) refclock pulse ignored offdiff=0.380349398 refdisp=0.000001260 disp=0.000000001
> 1970-01-01T01:03:38Z refclock.c:723:(filter_add_sample) filter sample 6 t=3818.536778178 offset=1505092242.963221788 dispersion=0.000001000
> 
> The refclock log never shows any output for PPS0:
> # cat /var/log/refclocks.log 
> ===============================================================================
>    Date (UTC) Time         Refid  DP L P  Raw offset   Cooked offset      Disp.
> ===============================================================================
> 1970-01-01 01:03:32.539035 NMEA    0 N 0  1.505092e+09  1.505092e+09  1.000e-06
> 1970-01-01 01:03:33.537794 NMEA    1 N 0  1.505092e+09  1.505092e+09  1.000e-06
> 1970-01-01 01:03:34.536533 NMEA    2 N 0  1.505092e+09  1.505092e+09  1.000e-06
> 1970-01-01 01:03:35.537782 NMEA    3 N 0  1.505092e+09  1.505092e+09  1.000e-06
> 1970-01-01 01:03:36.537785 NMEA    4 N 0  1.505092e+09  1.505092e+09  1.000e-06
> 1970-01-01 01:03:37.537906 NMEA    5 N 0  1.505092e+09  1.505092e+09  1.000e-06
> 
> The sources report shows:
> # chronyc sources
> 210 Number of sources = 2
> MS Name/IP address         Stratum Poll Reach LastRx Last sample               
> ===============================================================================
> #? PPS0                          0   4     0     -     +0ns[   +0ns] +/-    0ns
> #? NMEA                          0   4   377    22  -17420d[-17420d] +/-  101ms
> 
> Further help with synchronising to the PPS would be appreciated, as would any configuration advice for an isolated system with a large time delta at boot (I am considering 'makestep 0.1 300' assuming 5 minutes for the GPS to acquire lock).
> Simon.
> 
> 


--
To unsubscribe email chrony-users-request@xxxxxxxxxxxxxxxxxxxx
with "unsubscribe" in the subject.
For help email chrony-users-request@xxxxxxxxxxxxxxxxxxxx
with "help" in the subject.
Trouble?  Email listmaster@xxxxxxxxxxxxxxxxxxxx.


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/