I've rebuilt gpsd without pps support. Now I have only one pps device getting created at startup.
debian@beaglebone:~$ dmesg | grep pps [ 1.538059] pps_core: LinuxPPS API ver. 1 registered [ 1.538067] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giome...@linux.it> [ 26.130179] pps pps0: new PPS source ocp:bs_pinmode_P9_12_0x27_pinm [ 26.130306] pps pps0: Registered IRQ 88 as PPS source The issue now is that chronyd will not start up at boot time: debian@beaglebone:~$ systemctl status chrony ● chrony.service - chrony, an NTP client/server Loaded: loaded (/lib/systemd/system/chrony.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2016-11-03 17:16:53 UTC; 2min 59s ago Docs: man:chronyd(8) man:chronyc(1) man:chrony.conf(5) Process: 572 ExecStart=/usr/sbin/chronyd (code=exited, status=1/FAILURE) Nov 03 17:16:52 beaglebone systemd[1]: Starting chrony, an NTP client/server... Nov 03 17:16:53 beaglebone chronyd[590]: chronyd version 3.2 starting (+CMDMON +NTP +REFCLOCK +RTC -PRIVDROP -SCFILTER -SECHA Nov 03 17:16:53 beaglebone chronyd[590]: commandkey directive is no longer supported Nov 03 17:16:53 beaglebone chronyd[572]: open() failed on /dev/pps0 Nov 03 17:16:53 beaglebone systemd[1]: chrony.service: Control process exited, code=exited status=1 Nov 03 17:16:53 beaglebone systemd[1]: Failed to start chrony, an NTP client/server. Nov 03 17:16:53 beaglebone systemd[1]: chrony.service: Unit entered failed state. Nov 03 17:16:53 beaglebone systemd[1]: chrony.service: Failed with result 'exit-code'. I verified PPS with ppstest debian@beaglebone:~$ sudo 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 1478194022.222516784, sequence: 573 - clear 0.000000000, sequence: 0 source 0 - assert 1478194023.305849881, sequence: 574 - clear 0.000000000, sequence: 0 source 0 - assert 1478194024.389182301, sequence: 575 - clear 0.000000000, sequence: 0 If I then start chronyd manually using "sudo systemctl start chrony" it starts successfully and I can see both sources debian@beaglebone:~$ chronyc sources 210 Number of sources = 2 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== #? NMEA 0 4 377 11 +3819us[+3819us] +/- 106ms #* PPS 0 4 377 12 +417ns[ +732ns] +/- 1042ns Only reason I can think of is that /dev/pps0 isn't there yet at the time systemd starts chronyd. Thoughts? On Wed, Nov 29, 2017 at 10:47 AM, Joe Smith <joe.sm...@riptidesoftware.com> wrote: > It's looking like I will need to recompile gpsd with pps=off as Lichvar > suggested. I disabled the BeagleBone overlay for the GPIO pin that I was > using for PPS and connected the PPS line to the CTS pin for UART4. That > caused only one PPS source to be created for /dev/ttyS4 > > [ 1.537951] pps_core: LinuxPPS API ver. 1 registered > [ 1.537960] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo > Giometti <giome...@linux.it> > [ 17.542045] pps_ldisc: PPS line discipline registered > [ 17.543815] pps pps0: new PPS source serial4 > [ 17.543896] pps pps0: source "/dev/ttyS4" added > > However chrony doesn't appear to be getting that PPS based on what I see > using chrony sources > > debian@beaglebone:~$ chronyc sources > 210 Number of sources = 2 > MS Name/IP address Stratum Poll Reach LastRx Last sample > ============================================================ > =================== > #? NMEA 0 4 377 14 -9382h[ -9382h] +/- > 107ms > #? PPS 0 4 0 - +0ns[ +0ns] +/- > 0ns > > Also, ppstest /dev/pps0 outputs errors > > debian@beaglebone:~$ sudo ppstest /dev/pps0 > trying PPS source "/dev/pps0" > found PPS source "/dev/pps0" > ok, found 1 source(s), now start fetching data... > time_pps_fetch() error -1 (Connection timed out) > time_pps_fetch() error -1 (Connection timed out) > time_pps_fetch() error -1 (Connection timed out) > > > > On Wed, Nov 29, 2017 at 9:39 AM, Miroslav Lichvar <mlich...@redhat.com> > wrote: > >> On Wed, Nov 29, 2017 at 08:51:33AM -0500, Joe Smith wrote: >> > However, if gpsd is really what's giving me my problems then I'll ditch >> it >> > and configure chrony to read the NMEA serial port directly. I'll just >> need >> > to consult the documentation to figure out how to properly update >> > chrony.conf for that. >> >> chrony doesn't have an NMEA driver. If gpsd attaching the ldisc is >> causing problems and there is no way to tell it to not do that, you >> could recompile gpsd with pps=off. That should disable the PPS >> support completely. >> >> -- >> Miroslav Lichvar >> >> -- >> To unsubscribe email chrony-users-requ...@chrony.tuxfamily.org >> with "unsubscribe" in the subject. >> For help email chrony-users-requ...@chrony.tuxfamily.org >> with "help" in the subject. >> Trouble? Email listmas...@chrony.tuxfamily.org. >> >> >