Installing Stratum II NTP server on RaspberryPi  using SiRF STAR III  gps

Contents: [Dobrica Pavlinušić's random unstructured stuff]
• Dobrica Pavlinušić's random unstructured stuff (Links) 
• Dobrica Pavlinušić's random unstructured stuff (Raspbian installation) 
• Dobrica Pavlinušić's random unstructured stuff (gpsd) 
• Dobrica Pavlinušić's random unstructured stuff (ntp server) 

Links
• http://www.satsignal.eu/ntp/Raspberry‑Pi‑NTP.html 
• https://www.raspberrypi.org/forums/viewtopic.php?t=191050 
Raspbian installation
root@ntpi:/home/pi# systemctl start ssh

root@ntpi:/home/pi# systemctl enable ssh

pi@ntpi:~ $ grep pps /boot/config.txt 
dtoverlay=pps-gpio,gpiopin=18

pi@ntpi:~ $ sudo apt-get install pps-tools

# reboot, after it:

pi@ntpi:~ $ dmesg | grep pps
[   30.331047] pps_core: LinuxPPS API ver. 1 registered
[   30.331066] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[   30.352868] pps pps0: new PPS source pps.-1
[   30.352966] pps pps0: Registered IRQ 178 as PPS source

root@ntpi:~# systemctl disable systemd-timesyncd
root@ntpi:~# systemctl stop systemd-timesyncd

pi@ntpi:~ $ hcitool scan
Scanning ...
        00:02:78:10:A2:32       SJ GPS

root@ntpi:/home/pi# 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)

fail, gps module is powered off without bluetooth connection
root@ntpi:/home/pi# grep rfcomm /etc/rc.local 
rfcomm bind rfcomm0 00:02:78:10:A2:32

fix pps signal from this GPS and test again
root@ntpi:/home/pi# grep pps /boot/config.txt 
dtoverlay=pps-gpio,gpiopin=18,assert_falling_edge
root@ntpi:/home/pi# ppstest /dev/pps0 | head
trying PPS source "/dev/pps0"
found PPS source "/dev/pps0"
ok, found 1 source(s), now start fetching data...
source 0 - assert 1516805100.156350675, sequence: 70193 - clear  0.000000000, sequence: 0
source 0 - assert 1516805100.176368675, sequence: 70195 - clear  0.000000000, sequence: 0
source 0 - assert 1516805100.196339675, sequence: 70196 - clear  0.000000000, sequence: 0
source 0 - assert 1516805100.216363675, sequence: 70198 - clear  0.000000000, sequence: 0
source 0 - assert 1516805100.236378675, sequence: 70200 - clear  0.000000000, sequence: 0
source 0 - assert 1516805100.256385675, sequence: 70202 - clear  0.000000000, sequence: 0
source 0 - assert 1516805100.276392675, sequence: 70204 - clear  0.000000000, sequence: 0

This doesn't work, we need one event per second
# make pin 18 pull-down
root@ntpi:/home/pi# raspi-gpio set 18 ip pd

root@ntpi:/home/pi# grep pps /boot/config.txt 
dtoverlay=pps-gpio,gpiopin=18,assert_falling_edge

root@ntpi:/home/pi# 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 1517323262.001232132, sequence: 697469 - clear  0.000000000, sequence: 0
source 0 - assert 1517323263.001229640, sequence: 697470 - clear  0.000000000, sequence: 0
source 0 - assert 1517323264.001227157, sequence: 697471 - clear  0.000000000, sequence: 0
source 0 - assert 1517323265.001224685, sequence: 697472 - clear  0.000000000, sequence: 0
source 0 - assert 1517323265.788526615, sequence: 697474 - clear  0.000000000, sequence: 0
source 0 - assert 1517323266.001222221, sequence: 697475 - clear  0.000000000, sequence: 0

# works!

gpsd

pi@ntpi:~ $ sudo apt-get install gpsd

ntp server
root@ntpi:/home/pi# apt-get install ntp