I hope someone can help, I wasn't able to find an answer in the thread.
I own an SDG2042X that I hacked several years ago, I think it was end of 2017, using the old hack; I believe no other method was available then.
Today, before applying the most recent FW version, I wanted to restore the original configuration and apply the keygen script. The serial was "0123456789" and wasn't changeable with an SCPI command like MD5_SRLN <sn>, so I entered "telnet 10101" using tv84 special firmware. I had a backup of the original /usr/bin/siglent/firmdata0/NSP_system_info.xml file and I restored it (and checked after sync and making the fs ro, I repeated the whole procedure several times...).
However, after instrument reboot, the serial read by MD5_SRLN? was again "0123456789". Reentering telnet and checking the file, the serial number was actually changed to "0123456789", while the license section was still there, so it was modified by the application code. The instrument was still recognized as a 2122X by the system software. I tried to insert an upgrade keygen to "120M" using MCBD and appearently it worked, because I found the string replicated in file NSP_system_info.xml.
At this point, I decided to upgrade to 37R3. The upgrade was successful, but still it was impossible to restore the serial. On an isolated boot case, the system returned to SDG2042X, while normally it boots as an SDG2122X. The serial now is no more "0123456789", but rather an empty string and I can't change it. It seems that the serial must be hidden elsewhere, not (or at least not only) in NSP_system_info.xml.
Any hint?
Ok, I could leave it as it is, since warranty has long expired. But an upgrade requiring the sn could always arrive...