Well, in the end it turned out the latest firmware v00.04.05.01.00 (AKA Software Version 00.04.05.SP1) is just fine.
I guess it was just me, and the weather
(it was after many rainy days, with more than 30*C and humidity more than 60%)
This is the jitter (between both the generator and the oscilloscope clocks) seen at 1 second after the triggering point, for a signal of a 50MHz square wave, but the signal is gated by the generator, so only a single period (of the 50MHz train) is allowed to go out each second:
Not bad at all after 180 triggers (3 minutes).
Anyways, found an easy way to downgrade the firmware to the previous v04.04.04.03 I use to have before, so I downgraded and do the same tests last night.
It turned out that:
- the "jittery" trace is the same, in both the new and the old FW
- the flickering does not happen any more (last night was not so hot and humid, only 28*C and ~40%RH), there still is a very rare flickering, but it happens about the same in the old FW, too, both old and new flicker appears only when all 4 channels are on, and only when the Mem Depth is forced to 3K, and apparently at high temp/humidity, so a very corner case
- the address of the "StartupCnter" has changed between the old and the new FW. After I downgraded the startup counter was showing some 17 millions starts.
- the best part, now I have an easy way to go back and forth between firmware versions (so to downgrade eventually
), without altering the original .GEL firmware files.
This is none of my merits, I've just applied the
konnor piece of code shown in
https://www.eevblog.com/forum/testgear/rigol-ds1000z-firmware-patch-plugins/msg1473517/#msg1473517 and made a "Rigol sign disk". Thank you very much to konnor and everybody else who contributed in finding that method.
When a "Rigol sign disk" is inserted, some extra service menus will become visible:
Some service buttons pressing combinations, too, many of which might brick the oscilloscope if operated wrongly. Also, if an older firmware is copied on such a disk, the older firmware will be accepted to "downgrade" the oscilloscope.
I didn't use any of the extra menus (don't want to accidentally brick my oscilloscope), so only used the "Rigol sign disk" to downgrade from v04.05.01.00 to v04.04.04.03 and the downgrade just worked. Then I repeated my test with the old version, then noticed the results are the same, so then I upgraded again to the latest v04.05.01.00 firmware, which I plan to keep until the next firmware release from Rigol.
konnor only gave an excerpt of code, because there is a danger to brick the oscilloscope while the "Rigol sign disk" is inserted (if one does stupid things with it). Though, this took me a lot of time to figure out how to use that code excerpt and prepare a "Rigol sign disk" from it. This is different from the Rigol key-disk attached in
https://www.eevblog.com/forum/testgear/need-help-hacking-dp832-for-multicolour-option/msg2475702/#msg2475702 That key-disk.zip didn't work for me to downgrade the oscilloscope, but it worked just fine to change the model of a Rigol DP800 power supply.
Maybe it should be a separate topic to detail the steps for those who will prefer to prepare their own disk with Linux, though for now I'll just attach the "Rigol sign disk" prepared for myself. Worked for me to make a firmware downgrade. The disk is labeled "BRICK" as a reminder. It's only your responsibility to not brick your oscilloscope, don't blame others.
I have no idea how to recover a bricked oscilloscope, so just don't use the "Rigol sign disk" if you are not sure how to use that "Rigol sign disk".To deploy the "Rigol sign disk", find a USB known to work for firmware upgrades and dd it with the content of the zip file. Everything else on that USB will be lost. The format type of the USB disk doesn't matter, because the dd starts from sector 0 and contains the partition table, too.
# identify your USB drive, mine was /dev/sde
lsblk
# cd to the directory where the Rigol sign disk was unpacked, then dd it to /dev/sde
sudo dd if=card_FAT32_w_SIGN_manually_added_103E00 of=/dev/sde
# ignore any dd warnings/errors caused by any disk size mismatch
# but force a physical write on the USB before ejecting/unmounting/unplugging it
sync
# now plug the USB disk again into PC, copy any DS1000ZUpdate.GEL firmware
# then unplug from the PC and plug the USB disk into oscilloscope
# the oscilloscope should detect the USB disk and the firmware,
# and pop a message asking if OK/Cancel to upgrade