In
this post I reiterated the "License is unavailable!" message that sometimes accompanies attempts to install 300 MHz keys on Rigol DS2072A or MSO2072A models. I have been attempting to install the 300MHz "NS8H" key on an MSO2072A without success, and called out to some folks here for info, insight and testing. So far my tests and outcomes are:
1) Look for physical differences (e.g. "Hardware revision" resistor settings on the mainboard (DS2000_MB_V02.02)) between identical MSO2072A units (same hardware/firmware revisions from factory), of which one unit would and the other would not accept a 300 MHz key. No differences could be found.
2) Recompile rigup 0.4 from source code (on Linux machine) to see if any keys generated were different. Identical keys were generated.
3) Recompile rigup 0.4 with different (non-zero) "k_offset" so as to generate different valid keys. 200 MHz key can install. 300 MHz cannot install and gives the same "License is unavailable!" message.
4) Compare keys generated on my system with those generated by someone else (and for which the 300 MHz key did work) for the same memory dump. Differences in the PCs (32-bit and 64-bit) did not yield any differences in the keys. The above few tests effectively ruled out operator error, 32-bit/64-bit machine differences, or other similar issues.
The last outcome is that there are several license related messages stored in the firmware:
License invalid
License had installed
License has been used
License has been expried << yes, "expried" and not "expired"
License is unavailable!
License is none!
Despite the range of messages, the only message displayed when an invalid license is entered is "License is unavailable!". Given the range of messages available Rigol could check and distinguish between "invalid" and "unavailable" keys. But, as the same message is always returned (for an invalid key) it is not possible be sure the reason the license was rejected.
It is possible there is a firmware level check that detects the 300 MHz key and rejects it, but if this were true the 300 MHz key would be rejected on all MSO2072A units. Furthermore, whatever the type of check in place (firmware or hardware), it would seem Rigol could duplicate it for rejecting 200 MHz and other options, but this hasn't been done. So, a firmware or hardware related check doesn't seem likely.
I can think of two possibilities:
1) The 300 MHz key is sometimes incorrect, and the DS/MSO detects and rejects it as such, just like any "made up" (wrong) license key. That is, there is a "fence-post" type bug somewhere in rigup/riglol/miracl etc. or a misunderstanding with some aspect of the key generation that is occasionally exposed.
2) There is a bug in the scope firmware, causing sometimes valid 300 MHz keys to be rejected.
Anyone have further thoughts?