To state the obvious... you tried a factory reset from the scope menus ?
Sure. Well I did that Secure Erase (or how it's called).
So maybe it's not the NVRAM you should be erasing, but instead maybe the EEPs ? Of course making 1000% sure you have a good backup... what I did once was to sniff the I2C bus with an LA to double-check the contents matched what I got via GPIB.
Well, I am pretty sure to have good backups. I read it first with the floppy tools
(several times) and then with getcaldata via GPIB. Files were always the same
and survived that checksum test.
BTW, on the 784A this worked immediately. On the 744A getcaldata produced
only 2 files containing only zeroes (I remember I've read that other people had
this as well). I started NI Spy and found the following:
getcaldata sends e.g., WORDCONSTANT:ATOFFSET? 262144,0 to the scope.
It then reads 6 bytes containing the corresponding word. For some reasons
the 744A answered something similar to:
:WORDCONSTANT:ATOFFSET? 262144,0,xyz
with xyz being the desired word value. Since getcaldata couldn't convert ":WORDC"
to any meaningful integer, it produces only files containing zeroes. When sending
WORDCONSTANT:ATOFFSET? 262144,0
manually with the NI tool, only xyz came back (as expected). So I started to play with
the adapter settings but nothing changed. But after clearing the scope's error log
it suddenly worked. No idea why...
Or, write something to those EEPs that is taken from a known-working 4.2.1-based scope ?. Maybe the contents is structured differently. It would make sense that the "factory reset" from the scope UI wouldn't trash that data, since it's quite more critical than e.g. SPC consts.
Although I have probably good EEPROM backups I am still scarey to write them.
However, I have ordered some 24LC024 I/SN a few days ago since I wanted to
be prepared if my old EEPROMs fail one day. After having a physical and working
backup, I might dare to try this ;-).
Thanks for your ghidra stuff. Maybe I'll dig into this code one day when time permits...