[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cobalt-developers] re: Date Time Settings Not Being Preserved



Peter Ball wrote:
> 
> I think it's a bug in the clock chip.
> 
> 1 of our RAQ4's loses over an hour per day.
> 
> I emailed Cobalt and they didn't want to know about it, as it was over 30
> days since we bought the box.
> Terrible service as usual, but what can I do being 10,000KM away

This should be in the knowledge base, and I thought it was.  Do this:

cat /proc/rtc.  If you see 24hr : no, compile and run the attached
program on your raq.  Then re-set the time.

> I manage several Cobalt RAQ4 servers, and have noticed that the date and
> time settings on the server don't always remain correct over time.  We'll
> correct the date and time, leave the server alone for a month, at which
> point discover that the date is now off by a day or more.  We have nailed
> down a pattern to it yet (we've had some servers both lose time and some
> that gain it), and it doesn't happen with all of our servers.  Outside of
> people intentionally changing the date and time, any ideas as to what may be
> causing this?

-- 
Tim Hockin
Systems Software Engineer
Sun Microsystems, Cobalt Server Appliances
thockin@xxxxxxx




/* 
 * gcc -O2 mfg-fix-rtc.c -o mfg-fix-rtc
 * ./mfg-fix-rtc 
 */

/* ------------------ mfg-fix-rtc.c ------------------*/
/* original by Tim Hockin, Cobalt Networks            */
#include <stdio.h>
#include <sys/io.h>

int main(int argc, char *argv[])
{
        unsigned char tmp;

        if (ioperm(0x70, 2, 1)) {
                perror("ioperm");
                return 2;
        }

        outb(0xb, 0x70);
        tmp = inb(0x71);
        outb(tmp | 0x80, 0x71);

        outb(0xa, 0x70);
        outb(0x26, 0x71);

        outb(0xb, 0x70);
        outb(0x2, 0x71);

        outb(0xb, 0x70);
        tmp = inb(0x71);
        outb(tmp & ~0x80, 0x71);

        return 0;
}
/* ------------------ mfg-fix-rtc.c ------------------ */