[LinuxPPS] Patches for kernel 2.6.26-rc8

Hal V. Engel hvengel at astound.net
Sun Jul 6 10:31:38 CEST 2008


On Friday 04 July 2008 11:55:38 am Hal V. Engel wrote:
> On Friday 04 July 2008 11:05:21 am Rodolfo Giometti wrote:
> > On Fri, Jul 04, 2008 at 10:02:39AM -0700, Hal V. Engel wrote:
>
> snip
>
> > >    Since it was not clear what sequence of patches where needed I think
> > > this is why I was confused. So the correct sequence is to apply patches
> > > in this order (assumes kernel 2.6.26-rc8 as a base):
> > >
> > >    ntp-pps-2.6.26-rc8.diff
> > >    set-ldisc.patch
> > >    ppsldisc.patch
> > >
> > >    Is that correct? If so I will apply set-ldisc.patch and retest
> > > things.
> >
> > Correct.


snip


I have tested this setup and I am seeing a number of issues.  I even started 
over with fresh images just to make sure I had everything correct.


First I still have to run setserial on the port to get things to work.  
If I don't the OnCore driver can't communicate with the GPS.


Second ntp appears to be running in microsecond mode rather than nanosecond 
mode even though I built it against the new kernel header files.  When I run 
ntptime I get:


ntp_gettime() returns code 0 (OK)
  time cc1a25a4.f3dc6000  Sat, Jul  5 2008  9:53:56.952, (.952581),
  maximum error 2561 us, estimated error 12 us
ntp_adjtime() returns code 0 (OK)
  modes 0x0 (),
  offset 72.000 us, frequency -24.429 ppm, interval 1 s,
  maximum error 2561 us, estimated error 12 us,
  status 0x1 (PLL),
  time constant 4, precision 1.000 us, tolerance 500 ppm,


As you can see the precision is 1.000 us.  I built ntp after setting up the 
symllinks in /usr/include that are used to build the LinuxPPS userland tools.  
I had expected that the ntp build would find STA_NANO defined in 
/usr/include/timex.h and that it would do the correct thing.  I also tried 
adding STA_NANO and the other related defines to kernel/sys/timex.h in the ntp 
source tree but I still end up with a non-nano ntp.   It appears there 
something else that I need to do to get ntp into nanosecond mode but I have no 
idea what that would be.  Do I need to do something to the kernel (I couldn't 
find any place to make any config settings that looked like it would affect 
this)?  Do I need to build a newer version of ntp (I have tried 4.2.4_p4 and 
4.2.5p118)?  Or do I need to use a commad line switch when starting ntpd or 
something in the configuration file?


I am also seeing that the clock is not as stable as it was with my old 
setup using kernel 2.6.25 and the older patch sets where it would sync nicely 
and keep the system clock offset < 5us unless the CPUs were heavily used.  
With this setup (kernel 2.6.26-rc8 and the latest patches) I am not seeing the 
clock sync up and it is clear that the offset and jitter numbers I am seeing 
when I run ntpq are way too high.   So it appears that the kernel is a 
nanokernel but that ntp is not hadling it correctly.


Hal





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ml.enneenne.com/pipermail/linuxpps/attachments/20080706/71df7547/attachment.htm 


More information about the LinuxPPS mailing list