I've been trying to run a stratum 1 server at home with a Raspi 2 and an Adafruit Ultimate GPS hat (MTK3339) + battery + external Antenna.
The device runs Raspian 10 with chrony 3.4 and gpsd 3.17. Generally speaking it's all working out fine, except that the PPS fix seems to come in very rarely, sometimes it goes several hours without lock. The GPS itself seems to have a good fix all the time.
The time then starts to diverge so heavily that ntp pool project kicks me out by giving me a bad score.
I already tried different positions: 1. In my living room with the antenna at the window on the window board. 2. In the attic (temperature very unstable, getting very cold and then very arm again) with the antenna on the rooftop. 3. In the basement with the antenna leading out in the garden.
This is an chronyc sources when I had a recent fix: https://paste.debian..net/1196767/
This is what gpsmon looks like: https://paste.debian.net/1196770/
This is an excerpt of ppswatch: root@ntpofden1:~# ppswatch -a /dev/pps0 https://paste.debian.net/1196768/
This is my chrony.conf keyfile /etc/chrony/chrony.keys driftfile /var/lib/chrony/chrony.drift logdir /var/log/chrony maxupdateskew 100.0 makestep 1 3 allow refclock PPS /dev/pps0 lock NMEA trust prefer refclock SHM 0 offset 0 delay 0.5 refid NMEA trust noselect server ntp1.rwth-aachen.de server ntp2.rwth-aachen.de logdir /var/log/chrony log measurements statistics tracking
Could someone point me at what's going on? I understand that PPS is only being accepted under specific circumstances. Where can I read what those circumstances are and how do I see in chrony whether those are met or not and why?