Alvaro Gamez
2018-04-13 10:29:56 UTC
Hi!
I'm trying to make chrony sync against a GPS and PPS signal, but it seems
like the PPS is being ignored.
I run gpsd attached to the serial console which has the GPS connected, and
for PPS I want to use chrony, so this is the configuration I've set:
# cat chrony.conf
refclock SHM 0 refid GPS
refclock PPS /dev/pps0 lock GPS refid PPS
makestep 100 5
logdir /tmp/logs
log measurements tracking statistics refclocks
I got in-kernel pps debug enabled, so when I start chronyd I can see on the
console that the PPS signal is arriving and that there's someone (chronyd)
accesing /dev/pps0:
pps pps0: PPS_FETCH
pps_core: ACCESS OK: READ at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: timeout 0.000000000
pps pps0: PPS event at 1523615280.496954999
pps pps0: capture assert seq #902
pps_core: ACCESS OK: WRITE at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: PPS event at 1523615281.472931499
pps pps0: capture assert seq #903
pps pps0: PPS_FETCH
pps_core: ACCESS OK: READ at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: timeout 0.000000000
pps_core: ACCESS OK: WRITE at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: PPS event at 1523615282.472780341
pps pps0: capture assert seq #904
pps pps0: PPS_FETCH
pps_core: ACCESS OK: READ at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: timeout 0.000000000
pps_core: ACCESS OK: WRITE at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: PPS event at 1523615283.472628439
pps pps0: capture assert seq #905
However, chrony doesn't seem to understand /dev/pps0 output, because this
is what 'sources' command reports:
210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last
sample
===============================================================================
#* GPS 0 4 377 22 +50ms[ +59ms] +/-
8042us
#? PPS 0 4 0 - +0ns[ +0ns] +/-
0ns
As such, refclocks.log shows only entries for GPS Refid, but none for PPS,
as it seems even though it's connected, it isn't able to decipher what is
being sent to it.
Any ideas?
Thanks, best regards!
I'm trying to make chrony sync against a GPS and PPS signal, but it seems
like the PPS is being ignored.
I run gpsd attached to the serial console which has the GPS connected, and
for PPS I want to use chrony, so this is the configuration I've set:
# cat chrony.conf
refclock SHM 0 refid GPS
refclock PPS /dev/pps0 lock GPS refid PPS
makestep 100 5
logdir /tmp/logs
log measurements tracking statistics refclocks
I got in-kernel pps debug enabled, so when I start chronyd I can see on the
console that the PPS signal is arriving and that there's someone (chronyd)
accesing /dev/pps0:
pps pps0: PPS_FETCH
pps_core: ACCESS OK: READ at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: timeout 0.000000000
pps pps0: PPS event at 1523615280.496954999
pps pps0: capture assert seq #902
pps_core: ACCESS OK: WRITE at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: PPS event at 1523615281.472931499
pps pps0: capture assert seq #903
pps pps0: PPS_FETCH
pps_core: ACCESS OK: READ at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: timeout 0.000000000
pps_core: ACCESS OK: WRITE at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: PPS event at 1523615282.472780341
pps pps0: capture assert seq #904
pps pps0: PPS_FETCH
pps_core: ACCESS OK: READ at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: timeout 0.000000000
pps_core: ACCESS OK: WRITE at 0xbf85eb6c (size 0x3c), seg 0xbfffffff
pps pps0: PPS event at 1523615283.472628439
pps pps0: capture assert seq #905
However, chrony doesn't seem to understand /dev/pps0 output, because this
is what 'sources' command reports:
210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last
sample
===============================================================================
#* GPS 0 4 377 22 +50ms[ +59ms] +/-
8042us
#? PPS 0 4 0 - +0ns[ +0ns] +/-
0ns
As such, refclocks.log shows only entries for GPS Refid, but none for PPS,
as it seems even though it's connected, it isn't able to decipher what is
being sent to it.
Any ideas?
Thanks, best regards!
--
Ãlvaro Gámez Machado
Ãlvaro Gámez Machado