[LinuxPPS] PPS/ntpd fails on fresh startup

Cirilo Bernardo cirilo.bernardo at gmail.com
Wed Oct 15 11:12:55 CEST 2008


On Wed, Oct 15, 2008 at 7:39 PM, Rodolfo Giometti <giometti at enneenne.com> wrote:
> On Tue, Oct 14, 2008 at 05:39:57PM -0500, William S. Brasher wrote:
>
>> And, what I did and saw at the command line.
>
> It seems that NTPD stops the IRQs...
>
> Can you please verify if NTPD does the same steps during both start up
> sequences? Maybe, for some reasons, it configures in a different
> manner the serial line...
>
> Ciao,
>
> Rodolfo
>

I do recall that some refclock drivers may alter the LDISC, but that
was over a year ago since I looked at this and I can't remember the
gory details.  I have grepped the source (for LDISC) and found
references to LDISC (also a parameter ldisc) in files including (but
not only):

ntpd/refclock_nmea.c
ntpd/refclock_oncore.c
ntpd/refclock_trimbledc.c

So check your particular refclock driver and see if it is interfering.
 If it is, think carefully about how to make changes - remember that
the NTPD people will not make any Linux-only changes which may affect
other systems; in fact it would be extremely difficult to get them to
accept any Linux-only changes at all (even though it is obvious that
the refclocks have other weird things).

Of course a workaround for that (extremely ugly hack) is to have
linuxpps periodically check the current ldisc and force it back.  A
more polite change may be to alter NTPD so that the LDISC is an
optional parameter in the config file - such a change may actually
free the code from its horrible LDISC bonds. (Such a change may also
be rejected if it changes the default behavior of the refclock
driver.)  This change may also make it possible for us to eradicate
some (or all) functions of ppsldisc.

- Cirilo



More information about the LinuxPPS mailing list