RPI + Adafruit GPS sanity check

Gary E. Miller gem at rellim.com
Thu May 16 18:42:25 UTC 2019


Yo Patrick!

On Thu, 16 May 2019 14:50:23 +0800
Patrick <201905-ntpsec at jslf.app> wrote:

> I used the following docs to setup an RPI 2B + Adafruit GPS HAT.
> Primarily following:
> 	https://www.ntpsec.org/white-papers/stratum-1-microserver-howto/
> while using the following for sanity checks:
> 	https://www.morcant.com/blog/stratum-1-ntp-server/
> 	http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html
> 
> And it all appears to be working.

Good.

> I have some questions though:

OK.
 
> Is the caveat against NMEA refclock still valid?
> https://www.ntpsec.org/white-papers/stratum-1-microserver-howto/#_why_gpsd

Depends on who you ask.  Obviously gpsd thinks they are better than 
NTP refclock 20.

> I tried both gpsd and refclock NMEA configs, and they both threw
> falsetickers, which I chalked up to my HAT's limited skyview.

No matter how good your skyview, the NMEA based time will be aweful.

> Since the PPS is /dev/pps0, gpsd can be dropped.

Not really.  PPS just tells you the top of the second, but not which
second.

> Is there anything that should be done to prevent mishaps like the USNO
> has had over time?

Care to be more specific?

> It seems like there just needs to be a nagios check
> that runs against local time servers to make sure they have a large
> enough odd number of peers?

I moved from nagios to icinga, but not much you can do if all your
peers go crazy at once.  Like with smeared time...

> Does refclock NMEA time2 or refclock shm time1 calibration matter?

Yes.

> Depending on skyview, the NMEA refclock may bounce around too much

It will do so even with a good skyview.

> and be declared a falseticker at times due to too large an offset --

Yup.

> so with a limited skyview, it's better to think of the NMEA clock as
> a backup time source.

Yes.  Some add an offset so it will only get selected as a last resort.

> It seems that the more important source is the PPS which will
> discipline when the consensus second starts. PPS should always be
> flagged with a leading 'o' and its jitter should be less than 5
> microseconds.

Depends.  It is possible to get it under 1 micro second.  YMMV.

> P.S. Below are notes that others might find useful regarding HAT
> configuration and timeN calibration, along with the configs that
> were used.
> 
> 
> 
> 
> # GPS HARDWARE INITIALIZATION
> 
> Configure the GPS to output NMEA MRC (has date + time) once per second
> https://www.gpsinformation.org/dale/nmea.htm
> https://cdn-shop.adafruit.com/datasheets/PMTK_A08.pdf
> 
> N.B. GPS commands are check-summed as per the last page of the PMTK
> datasheet.
> 
> python3
> def checksum(cmd):
>   ck, *cmd = [ ord(x) for x in cmd ]
>   for c in cmd:
>     ck ^= c
>   return hex(ck)[2:].upper()
> 
> assert checksum("PMTK605") == '31'
> assert checksum("PMTK226,3,30") == '4'
> assert checksum("PMTK251,115200") == '1F'

Or just use gpsctl.

> # GPS CALIBRATION
> 
> GPS offsets can vary depending on skyview

Uh, no.

> ####### /etc/ntp.conf #######
> 
> refclock pps         refid PPS ppspath /dev/pps0 minpoll 4 maxpoll 4

Play with other poll times.  

> prefer refclock nmea        refid GPS path /dev/ttyAMA0 baud 9600

absolutely NOT.

> # local servers
> server 10.8.0.10     iburst minpoll 4 maxpoll 4
> server 10.8.1.7      iburst minpoll 4 maxpoll 4

Maybe too short a poll interval on the net.

> server sg.pool.ntp.org iburst
> server jp.pool.ntp.org iburst
> server kr.pool.ntp.org iburst

Those pools are too far from each other.  Try to pick good and nearby
chimers.

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
	gem at rellim.com  Tel:+1 541 382 8588

	    Veritas liberabit vos. -- Quid est veritas?
    "If you can’t measure it, you can’t improve it." - Lord Kelvin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 851 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ntpsec.org/pipermail/users/attachments/20190516/3b1f833f/attachment.bin>


More information about the users mailing list