[ntp:questions] Re: which 2.6 linux PPS API for oncore modules??

mike michael.no.spam.cook at wanadoo.fr
Tue Aug 9 18:44:16 UTC 2005

Richard B. Gilbert wrote:
> mike wrote:
>> I have just got an ONCORE VP and am trying to tie it
>> to my Mandrake distrib with ntp 4.2.0.
>> I have reconfigured, with ./configure --enable-ONCORE  and connected 
>> it to my homegrown pc's serial port 1 with the modules PPS output is 
>> cabled to the DCD line.
>> I have the links:
>> [root at quark dev]# ls -l oncore*
>> lrwxrwxrwx  1 root root 5 Aug  8 15:11 oncore.pps.1 -> ttyS1
>> lrwxrwxrwx  1 root root 5 Aug  8 15:10 oncore.serial.1 -> ttyS1
>> and ntp.conf lines:-
>>  server
>>  fudge stratum 0 refid VP-1
>> my ntp.oncore.1 config file has
>> [root at quark dev]# cat /etc/ntp.oncore.1
>> #
>> # Oncore VP configuration file
>> #
>> #  Long/Lat/Height are for my office window :- E 002° 16.3015 / N 48° 
>> 47.3281 / 212.85m
>> #
>> # ----- mandatory lines ----------------
>> MODE     4        <====  I tried other modes.
>> LONG     002 16.3015
>> LAT      48 47.3281
>> HT       M 212.85
>> # ----- optional lines ------------------
>> DELAY    32 NS
>> MASK 0
>> On ntpd startup I get a know the error sequence.
>> Aug  8 09:41:23 quark ntpd[10441]: refclock_newpeer: clock type 30 
>> invalid
>> Aug  8 09:41:23 quark ntpd[10441]: configuration of failed
>> Almighty Goog has informed me that this is due to that fact that I do 
>> not have the PPS API available, and indeed, the NTP 4.2.0 driver 
>> source confirms.
>> I have seen here and elsewhere that a PPSkit is not available for 2.6, 
>> but in the source tree I see that Ulrich has created a PPS-light..
>>  PPSkit-light-PPSAPI-alpha-1610m-2.6.5.diff
>> That looks promising, but is in the form of an autogenerated diff patch
>> and does not fit to my code base.
>> ex.
>> My source tree linux/CREDITS has  Ulrich's contrib info at 
>> line 3458, but the diff has that at
>> @@ -3422,7 +3422,7 @@
>> So if even the CREDITS aren't compatible, I hesitate to proceed.
>> Has anyone installed this against or later?
>> Current Linux is, so I can go there is anyone has new diffs, 
>> but I am reluctant to go back to 2.6.5 from which the above patch 
>> diffs were taken.
>> There is another linux PPS API that Rodolfo Giometti has created
>> (http://www.enneenne.com/projects/linuxpps) which may be useful, but I 
>> cannot see if it can be used by the 4.2.0 oncore driver without 
>> changes to the driver.
>> Has anyone used this succesfully with the oncore driver?
>> Any help appreciated.
>> Mike
> Grab a copy of the refclock_oncore.c  source from the latest tarball 
> <ftp://ftp.udel.edu/pub/ntp/ntp4/snapshots/ntp-dev> and replace what you 
> have with it.  The 4.2.0 oncore driver had some code that prevented it 
> from building.  You are getting the "clock type 30" invalid because the 
> oncore driver did not build.  Note that you should replace ONLY the 
> oncore driver unless you REALLY want to run the "bleeding edge" code.
> The latest version should have the patch(es).  I ran into the same 
> problem about nineteen months ago.  Getting it going was a nightmare and 
> I never could have done it without extensive help from the maintainer.

Looks like I am still missing something:

I could not get to the ftp  site, so I pulled ntp-dev-4.2.0b-20050808 
from the http site and copied its refclock_oncore.c to the ntpd dir.
[mike at quark ntp-4.2.0]$ ls -l ntpd/*oncore.c
-rw-r--r--  1 mike home 108678 Aug  9 15:27 ntpd/refclock_oncore.c
[mike at quark ntp-4.2.0]$ sum ntpd/*oncore.c
19798   107

then remake and installed the daemon but the .configure output
still shows

checking NMEA GPS receiver... yes
checking for ONCORE Motorola VP/UT Oncore GPS... no  ???
checking for Palisade clock... yes

The driver compiles, but non of the code is included. I just see 1 int
refclock_oncore_bs which is probably due to CLOCK_ONCORE not being defined.

I tried forcing a compile by defining CLOCK_ONCORE, but I get loads of 
errors, starting with
refclock_oncore.c:203: error: syntax error before "pps_handle_t"
refclock_oncore.c:203: warning: no semicolon at end of struct or union
refclock_oncore.c:204: warning: type defaults to `int' in declaration of 
refclock_oncore.c:204: warning: data definition has no type or storage class
     202         int     shmemfd;        /* Status shm descriptor */
     203         pps_handle_t pps_h;
     204         pps_params_t pps_p;

I am wondering if this is the code I should be using?

Any ideas?

More information about the questions mailing list