[time-nuts] PPS for NTP Server - How Close Is "Good Enough"?

M. George m.matthew.george at gmail.com
Sat Jun 13 13:19:53 EDT 2015

Several time-nuts have asked about my setup, here are some details of what
I changed in the kernel and in the NTP build...  Make sure and use the
default config for the Pi 2 CPU when setting up .config for the Linux
kernel.   Make sure you are actually seeing your new kernel after you copy
it to the /boot directory... name it kernel7.img if you dont' override the
file name in config.txt.  Also make sure dynamic modules are working.

Here are details about the Linux kernel I'm currently using:

Over clocked params in /boot/config.txt:

#uncomment to overclock the arm. 700 MHz is the default.

use force_turbo, I don't think the overclock really did anything.  I do
have a very good 5v power supply and I'm not using a wall wart USB power

Here are the contents of my /boot/cmdline.txt:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4
elevator=deadline rootwait smsc95xx.turbo_mode=0

Use the smsc95xx option to drop the latency on the network interface.

Before building the kernel, in menu_config, in kernel options, set the
timer frequency to 1000HZ. In > CPU Power Management > CPU Frequency
scaling, set the default CPUFreq governor to 'performance'.

I'm using this kernel code:

Linux raspi2 3.18.14-v7+ #6 SMP Sun May 31 22:32:33 MDT 2015 armv7l

When you compile NTP, after running .configure, manually edit config.h and
set DEFAULT_HZ to 1000 and then compile NTP.

On the Pi 2, it can handle 4000 interrupts per second, I'm not sure how the
previous Pi versions performed on interrupts.

Google around and see what else you can find for a low latency raspberry pi

Here is my ntpq -crv output as of the time I wrote this email:

associd=0 status=0419 leap_none, sync_uhf_radio, 1 event, leap_armed,
version="ntpd 4.3.37 at 1.2483-o Thu Jun 11 00:12:07 UTC 2015 (1)",
processor="armv7l", system="Linux/3.18.14-v7+", leap=00, stratum=1,
precision=-19, rootdelay=0.000, rootdisp=1.075, refid=GPS,
reftime=d9241692.3770a686  Thu, Jun 11 2015  8:15:46.216,
clock=d9241697.6570084f  Thu, Jun 11 2015  8:15:51.396, peer=6887, tc=4,
mintc=3, offset=-0.000472, frequency=-7.870, sys_jitter=0.001907,
clk_jitter=0.002, clk_wander=0.000, tai=35, leapsec=201507010000,

So the offset at the moment was 472ns.  But again, the sys_jitter has never
been lower that I have seen, than 1.907 us.

On Sat, Jun 13, 2015 at 11:14 AM, M. George <m.matthew.george at gmail.com>

> Hal, what stopped me from going down the BBB path was the reports of RF
> noise, they supposedly create a lot of noise.  Not acceptable in an HF
> environment.  Google around about the RF noise with the BBB. mg NG7M
> On Sat, Jun 13, 2015 at 12:02 AM, Hal Murray <hmurray at megapathdsl.net>
> wrote:
>> eds_equipment at verizon.net said:
>> > Is it possible to modify the kernel so the USB is polled more often, and
>> > would that significantly reduce the jitter?
>> Modifying the kernel may not be enough if the timing parameters are in the
>> microcode for the USB device.
>> Whether any improvement is significant probably depends upon your goals.
>> It's unlikely to become a great NTP server.
>> If I wanted a good low power NTP server, I'd probably start with a
>> BeagleBone
>> Black.  I haven't seen a low cost no-assembly-required GPS board for the
>> BBB
>> (There is at least one GPS board for the BBB, but it includes a cell phone
>> modem which doubles the cost.)  I'd probably try the GPS breakout board
>> from
>> SparkFun.  It should take 5 wires: power, ground, trans, recv, and PPS.
>> (and
>> then the appropriate software hacking)
>> --
>> These are my opinions.  I hate spam.
>> _______________________________________________
>> time-nuts mailing list -- time-nuts at febo.com
>> To unsubscribe, go to
>> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>> and follow the instructions there.
> --
> M. George

M. George

More information about the time-nuts mailing list