We help IT Professionals succeed at work.

W32Time on Windows 2000 PDCe issue

Medium Priority
882 Views
Last Modified: 2012-05-11
I'm having the *worst* time trying to synchronize a client's PDC with their corporate network.  

Information:

Windows 2000 PDC (it is the operations master) (yes, I know it's old)
Corportate NTP server that I cannot ping by name or IP, however, I cant talk time to it (see below).

Registry
HKLM\SYSTEM\CurrentControSet\Services\W32Time
    \Config
        \AnnounceFlags = 5
    \Parameters
        \LocalNTP = 0
        \MaxAllowedClockErrInSecs = 3600 dec
        \NtpServer = x.x.x.x (ip of NTP server)
        \Period = 1440 (set it fast in desperation)
        \ReliableTimeSource = 1
        \Type = NTP

It feels like I have been everywhere and done everything except the one thing that needs to be set to get it to work, and I'm losing my mind.

This version of Windows 2000 (perhaps all of them are like this) contains an older version of w32tm.  It's help and feature set is much different than more recent OS versions (no stripchart, different switches, etc)

Using the TimeTools SNTP Client utility, with W32Time stopped, I can see the NTP server and delta we are off by, so it's not a connectivity issue.

I will post the w32tm utility help output and some more information in 1 minute (on different pc).
Comment
Watch Question

Author

Commented:


w32tm -s seems to work great (it comes back fast and I have read that return code is good)

When I run the -once -test -v looks bad and also produces this in the system log


Event Type:      Error
Event Source:      w32time
Event Category:      None
Event ID:      62
Date:            4/20/2011
Time:            12:48:51 PM
User:            N/A
Computer:      CNTUSMASDC1
Description:
This Machine is a PDC of the domain at the root of the forest. Configure to sync from External time source using the net command,  'net time /setsntp:<server name>'.
Data:
0000: e5 03 00 00               å...    

C:\>w32tm /?
w32tm [ -tz | -s [computer] | -adj | -adjoff | -source | -once ]
      [-test] [-v] [-p <port>] [-period <freq>]

    Primary options:
    -tz       print the local time zone info and exit.
    -s [<computer>] force the given computer (or the local computer if
              none is given) to resynchronize, then exit.
    -adj      set the computer's system clock frequency to the last
              frequency determined during synchronization, then exit.
    -adjoff   set the computer's system clock frequency the system
              default, then exit
    -source   choose a synchronization source, then exit. Note that a
              source is chosen before each synchronization, so this is
              useful only in showing that a source could be found.
              Remember to use -v to see the output.
    -once     do only one synchronization, then exit.
    Otherwise, run continuously as a client, synchronizing the local
              clock until ctrl-c is pressed.

    The program will also run as a server any time the service
    would (when it is on a DC, or when the registry flag is set).

    The following options can be used in conjunction with the above:
    -test     prevent the time on the local system from actually
              being modified.
    -v        print out a verbose description of what the program is
              doing. This is usually needed since otherwise the
              program produces no output. The exceptions are -s and -tz.
    -p <port> set the server port.
    -period <freq> set the sync period just as in the registry. That is:
              0 == once a day
              65535 == once every 2 days
              65534 == once every 3 days
              65533 == once every week (7 days)
              65532 == once every 45 min until we get 3 good syncs, then
                           once every 8 hrs (3/day)
              65531 == once every 45 min until we get 1 good sync, then
                           once every day
              Otherwise, <freq> times per day.

C:\>net stop w32time
The Windows Time service is stopping.
The Windows Time service was stopped successfully.


C:\>w32tm -s
RPC to local server returned 0x6b5

C:\>net start w32time
The Windows Time service is starting.
The Windows Time service was started successfully.


C:\>net stop w32time
The Windows Time service is stopping.
The Windows Time service was stopped successfully.


C:\>w32tm -once -test -v
W32Time: BEGIN:InitAdjIncr
W32Time:    Adj 156250 , Incr 156250  fAdjust 0
W32Time: END:Line 2503
W32Time: BEGIN:TsUpTheThread
W32Time: END  Line 1407
W32Time: TimeMMInit()
W32Time: Kernel timer : using default maximum resolution
W32Time:                MaximumTime = 156250
W32Time:                CurrentTime = 156250
W32Time: Timer calibrated, looped 1 times
W32Time: BEGIN:InitTmCfg
W32Time: END:Line 807
W32Time: BEGIN:InitTmCli
W32Time: END:Line 2596
W32Time: BEGIN:InitTmData
W32Time: END:Line 2618
W32Time: AvoidTimeSyncOnWan 0
W32Time: BEGIN:CMOSSynchSet
W32Time:    Setting adjustment 156250 - Bool  0
W32Time:    BEGIN:SetTSTimeRes
W32Time:    END:Line 1295
W32Time: END:Line 864
W32Time: BEGIN:InitializeDC
W32Time:    BEGIN:GetRole
W32Time:       Role is 'PDC'
W32Time:    END  Line 672
W32Time:    BEGIN:FetchParentDomainName
W32Time:       NetLogonGetTimeServiceParentDomain() returned 54b with ptr 0
W32Time:    END:Line 782
W32Time: END:Line 704
W32Time: Server: Binding to 1 NIC.
W32Time: Advertising that I'm a Time Service Provider
W32Time: timeBeginPeriod: setting resolution 9
W32Time: BEGIN:TimeSync
W32Time:    BEGIN:FGetType
W32Time:    END  Line 254
W32Time:    BEGIN:FDoTimeNTPType
W32Time:       BEGIN:FDoNT5DSType
W32Time:          BEGIN:FBuildDCList
W32Time:             BEGIN:GetNT5DCAddress
W32Time:                BEGIN:TsUpTheThread
W32Time:                Member of an Win2K domain. Looking for DCs.
W32Time:                END  Line 1407
W32Time:                Accepting previously discoverd DC
W32Time:                NTP(S): waiting for datagram...
W32Time:                BEGIN:GetRole
W32Time:                   Role is 'PDC'
W32Time:                END  Line 672
W32Time:                Calling  DsGetDcNameA() for a DC GTS in the same domain
W32Time:             END  Line 519
W32Time:             BEGIN:FRootOfEnterprise
W32Time:                Primary Domain Info returned
  MachineRole  - 5
 Flags - 16777219
 Flat SCADACNTUS
 Dns scadacntus.com
 Forest scadacntus.com
 W32Time:                I'm the ROOT as far as Time Service is concerned...
 W32Time:             END  Line 818
W32Time:             Logging event 0x8000003E. 15 min until this event is allowed again.
W32Time:             0x8000003E reported to System Log in Event Viewer
W32Time:          END  Line 590
W32Time:          DC lookup failed. 15 min until lookup is allowed again.
W32Time:       END  Line 971
W32Time:    END  Line 368
W32Time:    BEGIN:ComputePostTimeData
W32Time:       BEGIN:ComputeInterval
W32Time:       END  Line 2479
W32Time:       BEGIN:ComputeSleepStuff
W32Time:          Computed stagger is 0ms, bias is 0ms
W32Time:          Time until next sync - 2699.960s
W32Time:       END:Line 816
W32Time:    END:Line 221
W32Time: END:Line 196
W32Time: BEGIN:TermTime
W32Time:    NTP(S): received shutdown notification.
W32Time:    TimeMMCleanup()
W32Time:    BEGIN:FinishCleanup
W32Time:       BEGIN:TsUpTheThread
W32Time:       END  Line 1407
W32Time:       Inform NetLogon That you are not a TS Provider
W32Time:       BEGIN:UnInitializeDC
W32Time:          Ptrs 0 - 0
W32Time:       END:Line 727
W32Time:       Time service stopped.
W32Time:    END:Line 407

C:\>net start w32time
The Windows Time service is starting.
The Windows Time service was started successfully.


C:\>

Open in new window

Commented:
Have you tried

net time /setsntp:x.x.x.x (ip of NTP server)

I have used it in a DC to sync to external NTP server

Author

Commented:
As far as I know, that simply sets the NtpServer registry value.  But yes, I've tried it as well.
Are you blocking any ports like  (UDP) port 123 ?

This is geared for their program but has a lot of good information in it..

http://www.atomictimeclock.com/w32time.php

Top Expert 2015

Commented:
command line utilities use UDP from high ports to 123/udp
service calls from 123/udp to 123/udp

it is definetly a firewall miconfiguration.

Author

Commented:
Thank you both for getting back to me.  I believe 123UDP is open because I can successfully see the time and clock delta using Time Tools SNTP Client:

http://www.timetools.co.uk/time-servers/ntp-client.htm

I've come across ways to test port open-ness but they're generally convoluted (telnet, interpret message).  If you have a surefire way to test, please let me know.

However, I believe this has something more to do with the domain/forest/root configuration.  In my second post, particularly this command and output:

A system log error coincides with this command attempt.

Event Type:      Error
Event Source:      w32time
Event Category:      None
Event ID:      62
Date:            4/20/2011
Time:            12:48:51 PM
User:            N/A
Computer:      CNTUSMASDC1
Description:
This Machine is a PDC of the domain at the root of the forest. Configure to sync from External time source using the net command,  'net time /setsntp:<server name>'.
Data:
0000: e5 03 00 00               å...    

C:\>net stop w32time
The Windows Time service is stopping.
The Windows Time service was stopped successfully.


C:\>w32tm -once -test -v
W32Time: BEGIN:InitAdjIncr
W32Time:    Adj 156250 , Incr 156250  fAdjust 0
W32Time: END:Line 2503
W32Time: BEGIN:TsUpTheThread
W32Time: END  Line 1407
W32Time: TimeMMInit()
W32Time: Kernel timer : using default maximum resolution
W32Time:                MaximumTime = 156250
W32Time:                CurrentTime = 156250
W32Time: Timer calibrated, looped 1 times
W32Time: BEGIN:InitTmCfg
W32Time: END:Line 807
W32Time: BEGIN:InitTmCli
W32Time: END:Line 2596
W32Time: BEGIN:InitTmData
W32Time: END:Line 2618
W32Time: AvoidTimeSyncOnWan 0
W32Time: BEGIN:CMOSSynchSet
W32Time:    Setting adjustment 156250 - Bool  0
W32Time:    BEGIN:SetTSTimeRes
W32Time:    END:Line 1295
W32Time: END:Line 864
W32Time: BEGIN:InitializeDC
W32Time:    BEGIN:GetRole
W32Time:       Role is 'PDC'
W32Time:    END  Line 672
W32Time:    BEGIN:FetchParentDomainName
W32Time:       NetLogonGetTimeServiceParentDomain() returned 54b with ptr 0
W32Time:    END:Line 782
W32Time: END:Line 704
W32Time: Server: Binding to 1 NIC.
W32Time: Advertising that I'm a Time Service Provider
W32Time: timeBeginPeriod: setting resolution 9
W32Time: BEGIN:TimeSync
W32Time:    BEGIN:FGetType
W32Time:    END  Line 254
W32Time:    BEGIN:FDoTimeNTPType
W32Time:       BEGIN:FDoNT5DSType
W32Time:          BEGIN:FBuildDCList
W32Time:             BEGIN:GetNT5DCAddress
W32Time:                BEGIN:TsUpTheThread
W32Time:                Member of an Win2K domain. Looking for DCs.
W32Time:                END  Line 1407
W32Time:                Accepting previously discoverd DC
W32Time:                NTP(S): waiting for datagram...
W32Time:                BEGIN:GetRole
W32Time:                   Role is 'PDC'
W32Time:                END  Line 672
W32Time:                Calling  DsGetDcNameA() for a DC GTS in the same domain
W32Time:             END  Line 519
W32Time:             BEGIN:FRootOfEnterprise
W32Time:                Primary Domain Info returned
  MachineRole  - 5
 Flags - 16777219
 Flat SCADACNTUS
 Dns scadacntus.com
 Forest scadacntus.com
 W32Time:                I'm the ROOT as far as Time Service is concerned...
 W32Time:             END  Line 818
W32Time:             Logging event 0x8000003E. 15 min until this event is allowed again.
W32Time:             0x8000003E reported to System Log in Event Viewer
W32Time:          END  Line 590
W32Time:          DC lookup failed. 15 min until lookup is allowed again.
W32Time:       END  Line 971
W32Time:    END  Line 368
W32Time:    BEGIN:ComputePostTimeData
W32Time:       BEGIN:ComputeInterval
W32Time:       END  Line 2479
W32Time:       BEGIN:ComputeSleepStuff
W32Time:          Computed stagger is 0ms, bias is 0ms
W32Time:          Time until next sync - 2699.960s
W32Time:       END:Line 816
W32Time:    END:Line 221
W32Time: END:Line 196
W32Time: BEGIN:TermTime
W32Time:    NTP(S): received shutdown notification.
W32Time:    TimeMMCleanup()
W32Time:    BEGIN:FinishCleanup
W32Time:       BEGIN:TsUpTheThread
W32Time:       END  Line 1407
W32Time:       Inform NetLogon That you are not a TS Provider
W32Time:       BEGIN:UnInitializeDC
W32Time:          Ptrs 0 - 0
W32Time:       END:Line 727
W32Time:       Time service stopped.
W32Time:    END:Line 407

C:\>net start w32time
The Windows Time service is starting.
The Windows Time service was started successfully.


C:\>

Open in new window

Top Expert 2015

Commented:
This Machine is a PDC of the domain at the root of the forest. Configure to sync from External time source using the net command,  'net time /setsntp:<server name>'.


pool.ntp.org is a good choice

Author

Commented:
I've already done net time /setntp

It is not connected to the internet.  I am trying to sync it to their corporate NTP server.

Author

Commented:
net time /setSntp
Top Expert 2015

Commented:
net time /setsntp:coprorate_time_server_ip

Author

Commented:
Yes.  I've done that.  By name, by IP.  No luck either way.
Top Expert 2015

Commented:
you need to restart "windows time

net stop "windows time
net start "windows time

Check with Meinberg NTP.
http://www.meinberg.de/english/sw/ntp.htm
it is standard NTP implementation for windows.

Author

Commented:
I've restarted windows time 100 times.

net stop w32time && net start w32time

I would certainly prefer to not have to go 3rd party on this.  If I do have to, however, Meinberg looks like a good option.  I will be on site again Tuesday.
Top Expert 2015
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Did not resolve issue, but provided a nice workaround.  Thanks.
Top Expert 2015

Commented:
It is not exactly a workaround.... w32tm is really not good even on 2008/Win7 as a time server, it works as a client on par with ntpdate - a client/test program that accompanies ntp distribution.
it does no timekeeping on a system for example. NTP can keep accurate time for long time even losing external source because it calibrates system clock for example. It can also connect many serial time receivers.
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.