had a jvl Retro machine that would once in awhile, on boot, display an invalid key error message. (running itouch 11) chocked it up to a dirty key or bad software.
cleaned the key, would work okay for a while, then start doing it again.
factory reset, still doing it.
reloaded the software, still doing it.
continuity test all the wires to the IO board and to the key holder. all good.
Test the battery, it's around 2.8 volts. not low. Still showing the key error.
I farted around with this machine for a week or so.
Re-test the battery again But this time I notice the voltage stuttering slightly. I have a Fluke 87V, It has a 4.5 digit 40000 count display and on low voltages will display the voltage to the thousandth of a volt (millivolt), it was showing 2.836 volts...and about (well, actually...exactly) every second, the voltage would drop 0.02 to 0.03 volts or so. the clock in the RTC chip was ticking off every second causing the battery to sag down slightly and it was causing the information contained inside the SRAM of the RTC to become corrupted.
on boot, the security key code is copied from the 1-wire key to the RTC SRAM and stored. Later in the boot, the software queries the RTC for the data, including the security code. because it's been corrupted by the flakey battery, the possibility exists that the particular piece of data has been corrupted and results in the key error message. Whew.
according to the fella that "battery world" (where i purchased the replacement battery) the original lithium battery, (1/2 AA lithium 3 volts) has a little bit of a quirk. Lithium batteries output their full rated voltage almost all throughout their lifetime. but their current output capability goes down. so even though an RTC, which often has a standby current draw of maybe a 100 NANO amps, is enough (on a near end of life lithium battery) to cause the voltage to dip down.
[/END SCIENCE LESSON]
replaced the battery.
no more key error.
also, no important info is contained in the RTC SRAM (default infos get loaded on next boot) so go ahead and change 'er out if it's doing weird things.