[ntp:questions] GPS-PPS, standalone server. NTP

William Unruh unruh at invalid.ca
Wed Jun 21 12:46:09 UTC 2017

On 2017-06-21, Fida Hasan <k.fidahasan at gmail.com> wrote:
> On Thursday, June 15, 2017 at 2:58:07 AM UTC+10, Hans Mayer wrote:
>> Hi Fida, 
>> > However, did you ever tried to achieve 1-microsecond accuracy in your used refid (in your case with driver 28 which NTP uses)? My primary goal is to attain 1-microsecond accuracy bond where I can see 3 milliseconds offset with .GPS refid.
>> Definitely not. 
>> With driver 22  I am in the +- 10 usec range. With driver 28 in millisecond range. 
>> See my blog.
>> http://blog.mayer.tv/2017/06/14/ntp-driver-22-versus-28.html
>> I assume driver 20 is very similar to 28. Both are reading serial data. 
>> I don't know if 1-microsecond is a easy goal. I am using a very cheap hardware. It's running on a BananaPI. All together about 150 EUR. With a good hardware it's maybe possible. 
>> But why do you need this ? Is it just your ambition. This I could understand. 
>> // Hans
> Hi Hans,
> I have made a stand-alone server using the only driver 20, means no other servers were associated, no internet connection at all. 
> In user mode, I recorded the maximum offset as 6 microseconds. But in kernel mode, the result is much better. I run the system over three days, and the maximum offset comes 1.60 microseconds. From the statistical recorded data, I found the average is 1.03 microseconds.

You mean that the fluctuation in theoffset if 1.6us. YOu have no way of
knowing what the actual offset is, or do you have an independent clock?
Ie, ntp could be adding 100ms to the time and you would not know it. 
(Not that that would be likely but 2 or 3 usec could be likely)

> Regards,
> Fida

> N.B. I am trying to use chrony as I found some references in favor of it. But still unable to feed the GPS in it.

The shm drive is one way. Another is the pps driver

Make sure that you have the 
timepps.h header file somewhere. You have to find it somewhere .
If you have it, and you make chrony, it woill be built witht eh PPS API
Then before starting chrony and assuming you have the pps fed into the
the serial port /dev/ttyS0, do
modprobe pps-ldisc
ldattach 18 /dev/ttyS0

Then in chrony.conf put
refclock PPS /dev/pps0

and you should be set up. 

More information about the questions mailing list