Last week I encountered a problem that I have never seen before with a recently acquired Socket 7 motherboard. The board was a Gigabyte GA-586HX (Rev. 1.58), a relatively uninteresting older Socket 7 board based on the well-regarded Intel 430HX chipset.
Apart from automatic voltage detection, the one distinguishing feature of this board is six memory slots rather than the usual four. That makes memory upgrading easier, although in order to get the full 512MB, one would still need at least two of the somewhat hard to find 128MB SIMMs.
What made this particular board much more interesting was that although it wasn’t in original packaging and had memory and CPU installed (four 4MB SIMMs—worthless; a K5 PR133 “goldcap” CPU—at least interesting), it looked completely unused. No signs of wear, no discoloration, and rather tellingly, no dust.
The board as such appeared to work well, but it had one very strange problem: It wouldn’t remember any BIOS settings. No matter what I changed in the setup, on next boot the old settings were back. The only thing that I could change was the date and time.
Experimentation didn’t shed any light on the problem either. It was perfectly possible to write the CMOS RAM, but as soon as the system was rebooted, the old CMOS memory contents would be back.
The system behaved as if the RTC battery was dead, except it didn’t complain about any such problem and the clock never got reset.
Coming back to the problem board several days later, I noticed a very strange phenomenon: The CMOS settings were reset again (as expected), and the clock was not. However, the clock did not advance while the board was powered off! The date shown was still January 2015, but several days behind.
At this point it was almost certain that there had to be something wrong with the RTC/battery chip. The part was a ST M48T86PC1, apparently manufactured towards the end of 1996. The board designers at least had the decency to use a socketed RTC, so replacing the part could be done without any difficulty (or soldering).
Once the original RTC was swapped for a Dallas DS12887+ manufactured in 2012, lo and behold, changed BIOS setup settings started to stick! And the clock didn’t stop when the board was powered off, either.
It is still unclear what exactly happened with the old RTC. One part of the puzzle was rather stupid BIOS behavior: By default, the POST won’t stop on any errors (and won’t even print any error messages). Which means that when the CMOS RAM is for whatever reason invalid, the BIOS will use default values—without even mentioning that anything might be amiss.
The “frozen clock” behavior is quite strange though, and currently I have no explanation for it. Anyone?