# [ntp:questions] Dave Hart Windows PPS patch set and Atom driver

Dave Hart davehart at gmail.com
Thu May 28 02:01:05 UTC 2009

On Wed, May 27, 2009 at 8:29 PM, hvengel at astound.net
<hvengel at astound.net> wrote:
> I discovered the patched version of ntp and the serialpps.sys driver
> that Dave Hart created.

To be pedantic, serialpps.sys is a very lightly patched Windows
serial.sys.  Credit for creating it goes to Anthony V. Ercolano [1],
starting almost 20 years ago.  Tony worked in the Windows NT
development team at Microsoft then.  If I had created it, its source
code would probably be part of the NTP reference distribution already.
:)  My addition consists of a single ioctl and a few lines of code in
the interrupt-time code to save a couple of flavors of timestamps.

> I have been using a reference clock on my
> Linux system (using LinuxPPS, the convergence kernel patch and a
> nanosecond patched glibc) for some time now and have wanted to use
> that reference clock when the machine is booted over to Windows.  I
> installed ntp-4.2.4p6-DHL-QPC-20090315-bin.zip and
> serialpps-20090329.zip and attempted to get it to work.
>
> I am using a Motorola Oncore UT+ and I thought that I should be able
> to use the Atom (PPS) driver but I have not been able to get this to
> work.  In the ntp log I get:
>
> 26 May 23:28:46 ntpd.exe[200]: clock PPS(1) event 'clk_noreply' (0x01)

I'm disappointed to hear that.

> So it looks like the atom driver does not see that the PPS is
> available.  In a private email from someone else who uses the Dave
> Hart code I was told "I can see what you are trying to do, but it
> looks like Dave Hart's code says something like "No serial data, so no
> PPS timestamps", or that the connection to the serialpps.sys is built
> into the NMEA driver rather than separately."  I have not looked at
> the code so I don't know if this in fact the case.  I know when I try
> to load the NMEA driver that it fails as I would expect it to since
> the Oncore is not a NMEA device.

There should be no dependence on NMEA, you should be able to bring up
any PPS source wired to a serial port's CD input using only the ATOM
refclock.  However, all my testing and the third party testing I'm
aware of was in conjunction with a NMEA GPS.

> Can someone here give me some clues about what needs to be done to get
> the Atom driver to work with serialpps.sys with out a NMEA device?

Send me a Motorola Oncore and I promise it'll be working within two
days.  I'm only kidding :)  I assume your hardware setup is the same
as works with ATOM under LinuxPPS?  The 4.2.4p6 code has a requirement
that the serial port be COM1:, COM2:, or COM3: corresponding to the
unit number given.  As long as your PPS source is on COM1:, I don't

I am happy to work with you to figure out what's going wrong.
Probably the first useful step would be to grab the debug binaries and
try running ntpd interactively capturing debug output to a log file
with something like:

ntpd -D2 -g -M -U999 -c "path\to\ntp.conf" >ntpdebug.log

Assuming you're using "minpoll 4" on your "server 127.127.22.1" line
in ntp.conf, running for just a minute should provide more than enough
information in ntpdebug.log, so press Ctrl-C to stop it at that point
and email the log to me (not the list/group).

Cheers,
Dave Hart