[comp.protocols.tcp-ip] Official Sun Patch for TOD problems.

hsw@TYCHO.ARPA (Howard Weiss) (01/07/88)

	I received this message via the UNIX-WIZARDS mailing list and it
looks like it was not distributed to TCP-IP.  This is claimed to be
the official SUN patch for Sun OS 3.2, 3.3, 3.4, 3.5.

Howard Weiss

------------------------------------------------------


From: Chuq Von Rospach <chuq@plaid.Sun.COM>
Subject: Re: WARNING: TOD clock not initialized -- CHECK AND RESET THE DATE!
Date: 5 Jan 88 21:57:40 GMT
Sender: news@sun.uucp
Keywords: TOD, clock, ntp, date
To:       unix-wizards@SEM.BRL.MIL

In article <5203@columbia.edu> dupuy@columbia.edu (Alexander Dupuy) writes:
>Ever since the leap second (23:59:60 GMT Jan 1, 1988) the realtime clocks on
>Sun-3s have been behaving strangely.  When booting /vmunix, just after the
>message about using nn buffers, the kernel prints out a little message like the
>above.

here's the official sun3 patch. The official sun4 patch will be posted as
soon as it gets released and I get approval.

Chuq
Sun Tech Support
============================================
There exists a problem for all Sun3 (68020) machines running SunOS
Releases 3.0-3.5, 4.0beta1, and all Sun4 (SPARC) machines running SunOS
Release Sys4-3.2 FCS and 4.0beta1.

As of Jan 1 00:00 1988, the clock routine in the kernel will put the
clock chip into an uncertain state if you attempt to set the date.
The visible effects of this is to 1) cause the message

        WARNING: TOD clock not initialized -- CHECK AND RESET THE DATE!

to appear while booting vmunix, and to 2) cause the system date to start
to drift widely. Any attempts to actually *set* the date will have only a
temporary effect (i.e., the date you set will be good for about 30 seconds).

In order to solve this problem, you must patch both the kernel and system
object files.

==============================================================================

          Sun3 System Patch
          Releases 3.2, 3.3, 3.4, 3.5

As root, run the follwing command:

          echo 'resettodr+c0?i' | adb /vmunix - | grep reset

You should see the following printed out:

          _resettodr+c0:      bnes      _resettodr+0xca

If you see instead:

          _resettodr+c0:      bnes      _resettodr+0xce

the patch has already been applied to this system.
Proceed with the rest of the patch procedure anyway!

If you do not see either of these messages, go no further with this patch,
and please contact Sun Microsystems Customer Service.

If you do see either of those messages, then run, as root,
the following commands:

          cp /sys/OBJ/clock.o /sys/OBJ/clock.o-
          echo 'resettodr+c0?w 660c' | adb -w /sys/OBJ/clock.o

          echo 'resettodr+c0?w 660c' | adb -w /vmunix

Reboot and then *set* the date.

If you build kernels for your system, also rebuild your kernel.

Chuq "Fixed in 4.0" Von Rospach                   chuq@sun.COM                  Delphi: CHUQ

                       What do you mean 'You don't really want to hurt her?'
                                    I'm a Super-Villian! That's my Schtick!

-----------------------------
-------

vasilis+@andrew.cmu.EDU (Vasilis Apostolides) (01/08/88)

Thanks, since I now subscribe to the tcp-ip bboard it isn't necessary to mail 
me more related stuff. Anyway, the official Sun patch doesn't help us since it 
only covers versions 3.2 and there after (so binary patch doesn't directly 
apply to older suns -- v3.0!)