jimp wrote:

> Andy Helten <andy.hel...@dot21rts.com> wrote:
>   
>> Heiko Gerstung wrote:
>>     
>>> Juergen Perlinger schrieb:
>>>   
>>>       
>>>> Hi everybody,
>>>>
>>>> One of the things that can be annoying is that NTPD cannot do an initial
>>>> synchronization from (most) reference clocks over a difference of more than
>>>> 4 hours.
>>>>
>>>> The reason is that 'refclock_process()' calls 'clocktime()' which in turn
>>>> will only accept time stamps that are in a hard-coded window of +/- 4h
>>>> around the sample time (== system time). This makes it impossible for
>>>> systems to recover from a loss of power if there is no battery-backup
>>>> driven hardware clock.
>>>>
>>>> I appreciate the fact that there are clock signals that do not transmit 
>>>> year
>>>> information (IRIG-B, as far as I know...) and that clocks using such
>>>> signals require some processing of the kind 'clocktime()' does.
>>>>
>>>> But it's still a nuisance if you have a DCF77 or a GPS clock and the system
>>>> does not synchronize after boot just because the CMOS is backed by a
>>>> GoldCap capacitor instead of a real battery. (And getting different
>>>> hardware is *not* an option for some of us!)
>>>>
>>>> I think that the normal panic threshold ('tinker panic') should be the only
>>>> limit for the acceptance of time stamps, and a disabled panic threshold
>>>> would permit the system to synchronize even without a backup CMOS clock.
>>>>
>>>> While changing the behavior of NTPD wouldn't be too hard to implement I
>>>> would like to know *why* the clock processing is implemented the way it is.
>>>> Does anybody know an could enlighten me?
>>>>
>>>>     
>>>>         
>>> Juergen, did you see the -g command line switch? This one will allow for 
>>> a one-time correction of the clock even if offsets are greater than the 
>>> panic threshold value.
>>>
>>> Regards,
>>>    Heiko
>>>       
>> No, I don't believe any flag or tinker can disable this behavior.  This 
>> question is referring to the use of the CLOSETIME macro as a rough 
>> sanity check on the ref clock's time.  In order to truly change this 
>> behavior you would need to redefine the CLOSETIME macro and recompile.  
>> On the other hand, we dealt with this problem by always setting system 
>> time to the ref clock's time prior to starting up NTP.  For us, this 
>> required writing a simple piece of C code that was integrated with our 
>> application that starts NTP.  That was the only solution I found without 
>> modifying NTP (and that was not considered a desirable option).
>>
>> Andy
>>     
>
> Have you never heard of calling ntpdate before starting the NTP daemon?
>
>
>   

Yes, I have heard of ntpdate and I use it when it works.  Unfortunately, 
maybe you haven't heard it doesn't work with reference clocks?  Observe:

ntp2 root 10->ntpdate -b 127.127.16.0
 5 Jan 12:13:30 ntpdate[4691]: no server suitable for synchronization found

Why doesn't it work?  I don't know for certain but I'm guessing it is 
because the simplistic ntpdate program thinks 127.127.16.0 is an actual 
IP address.  What next?  Let me guess -- have I never heard of "ntpd 
-q"?  That doesn't work for the same reason that ntpd won't use the 
reference clock time:  the system time and ref clock differ by more than 
the CLOSETIME value of 4 hours.

No one has answered the OP question and apparently no one understands 
the behavior as well as myself and the OP.  I was also curious about the 
CLOSETIME behavior, but decided on a work around that, in my case, 
wasn't that big of a deal.

Andy

_______________________________________________
questions mailing list
questions@lists.ntp.org
https://lists.ntp.org/mailman/listinfo/questions

Reply via email to