I've been reading this thread since I got my new MS0-X-3052A about a week ago. I am mostly a hobbyist in my electronics interests and have no commercial use for this equipment. As such I feel fine about using the hacks discussed in this thread.
I wouldn't actually mind paying a fair price to get the scope's features enabled, but I have not found the licenses at anywhere near a reasonable price. So here I am.
The scope I got is apparently been sitting on some shelf for quite a while. It came with FW version 2.10, and it's manufacture date is 2012. It's a fine machine, and I got it for a very good price from eBay. It is completely new and in original packaging, and I'm happy with the purchase. After making my first pass at reading this thread I decided that I needed to upgrade the FW to version 2.35, as this seems to be the most preferred around here. I downloaded a copy from a link provided in
https://www.eevblog.com/forum/testgear/dsox2000-and-3000-series-licence-have-anyone-tried-to-hack-that-scope/msg616147/#msg616147 comment. I installed the upgrade, and it went just fine. So the scope now has FW version 2.35.
Next I proceeded to building a USB stick with the hack discussed earlier in the thread. Thanks to all the people involved in this ongoing project. This is one of the best threads on such a technical subject that I've ever seen, and I'm quite impressed with the fact that it is still active.
So my first version of the USB setup was a total mess, and of course it didn't work at all. Then I hunkered down and figured out the layout of the file system that is required, and I found that all the ones described herein have at least a few minor inaccuracies, and some are outright wrong. I started with the _setup.xml file found in the CAB FW file. I converted a copy of this file in stages into a set of commands for building the directory tree required for the USB stick, and populating it with the files appropriately renamed. The structure of the directories is most closely correctly given in the
https://www.eevblog.com/forum/testgear/dsox2000-and-3000-series-licence-have-anyone-tried-to-hack-that-scope/msg364171/#msg364171 post. It has just one minor inaccuracy. The web-socket-js folder should be inside the include folder. Thus:
\
+-infiniiVision
+-fpga
+-upgrade
+-web
+-css
+-help
+-image
+-include
+-web-socket-js
+-lib
+-Lxi
+-Identification
+-navbar
+-Startup
infiniivisionStartupOverride.txt
should be:
\
+-infiniiVision
+-fpga
+-upgrade
+-web
+-css
+-help
+-image
+-include
+-web-socket-js
+-lib
+-Lxi
+-Identification
+-navbar
+-Startup
infiniivisionStartupOverride.txt
I'm not actually sure how important this is, but I added this information in case it helps anybody.
Another minor problem I found was the case difference between some file names and references to them. One in particular seemed like a potential deal breaker is the one pointing to the infiniivisionLauncher.exe file in the infiniivision.lnk file in the Startup folder. Either the file was originally spelled with "vision" and the link with "Vision" or the other way around. I can't remember which at the moment. I'm aware that WinCE is most likely case insensitive like Windows, but I remember back in the ancient time when I was a Windows programmer I ran into a variety of exceptions to this rule. So I think some care should be taken here to match the cases properly. As a matter of fact some experimenting I did with testing this match led to USB stick configurations that behaved quite differently as I tried to boot the scope.
At any rate, I am now at the stage that I can produce USB sticks that will either seem to do nothing as I boot the scope, or else they hang it in a boot flashing-lights loop. I don't think I have yet successfully booted from a USB stick, partly because I haven't seen any error messages when I boot the scope. I also have not seen the list of enabled licenses change. Finally, I can always remove the USB stick after a successful boot without the scope rebooting, which seems to indicate that the scope must have booted from the internal FW.
In the meantime I've also enabled the 30 day trial, which may be affecting me in some way I don't understand yet.
I'll keep playing with this stuff until I get it to work. I think my next step is to setup some way to allow me to telnet to the scope. Then I can play with the internal code, which I have not yet done.
This is a lot of fun. Thanks to all participants!