Choosing an NTP driver NMEA Driver (20) vs SHM plus PPS (28 & 22)


Most people here seem to run Shared Memory driver and PPS Driver (28 and 22).

I am trying to use the NMEA (20) driver only. And struggling.

So, I guess I should come over and join everybody else on the GPSd and PPS combo.

Before I do, can I ask:

  • Is anybody successfully using the NMEA Generic Driver? IF so which mode?
  • For those using SHM & PPS, apart from benefts of measuring and logging GPS data without stopping ntp, what are the other benefits of using this combo?

I prefer the concept of the driver 20 as its simple to configure and involves a bunch less software.



If you don’t want to run GPSd, you can use both 20 and 22 drivers; using driver 20 to receive above-second time data and driver 22 to determine the edge of seconds. Relying on driver 20 only means that you must calculate and compensate the time1 offset yourselves.

Personally I used GPSD and type 28 :grinning:, but the ntp docs say for type 20:

If the Operating System supports PPSAPI (RFC 2783), fudge flag1 1 enables its use.

flag1 0 | 1

Disable PPS signal processing if 0 (default); enable PPS signal processing if 1.

flag2 0 | 1

If PPS signal processing is enabled, capture the pulse on the rising edge if 0 (default); capture on the falling edge if 1.

flag3 0 | 1

If PPS signal processing is enabled, use the ntpd clock discipline if 0 (default); use the kernel discipline if 1.