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 <
giometti@xxxxxxxx>
[ 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?