As far as I understand, the only firmware-thing here is the FPGA. Which is loaded at every boot. There's a bin file in the dso folder.
What I didn't figure out yet was what actually stores the FWxxxx version.
I'm not convinced that's it.
If you look at the diffs between 20210416 and 20210510 (that bumped firmware to 3202 when applied to my scope) the only files different are:
- package/do_update.sh (comments out a copy line, so not that)
- package/system.info (just some string tweeks)
- package/fpga/psram_board_test.fs.bin
There's a few more between 20210510 and 20210601, most of which look like string changes, but with the addition of an update to phoenix binary. And again, that package/fpga/psram_board_test.fs.bin file.
Cynically I doubt very much that Hantek are using these upgrades to improve their psram test every time, I very much suspect that this is a file they used for initial bringup and never bothered renaming, that possibly includes the FW. Just speculation.
This speculation is possibly further supported by "load_fpga_kb.sh" which has line: /dso/app/cfg_fpga /dev/tn652_fpga_cfg psram_board_test.fs.bin
...right before loading some kernel modules. Googling tn652 fpga turns up some links to the GoWin FPGAs that it has been speculated that these scopes populate.
https://www.gowinsemi.com/en/product/detail/2/This page mentions "Embedded pSRAM (GW1NR/1NSR only)" - a coincidence with the psram_board_test.fs.bin filename? I think not.
I tried putting the 20210510 psram_board_test.fs.bin into the 20210601 filesystem, overwriting the one there, re-packing and re-encrypting the tar.gz into a .upk. When I run the upgrade on the scope the progress bar moves, it says success and to reboot, but when I reboot, nothing has changed. Not the software version or firmware.
But it could be a problem with the signing or something else in the file structure.