Upgrade Rigol DS2072A to DS2302A

This is my Rigol DS2072A, a very nice oscilloscope that features some different seriell decoders like RS232, SPI, I2C, CAN, etc.. The problem is, that it only supports up to 70MHz sampling rate.

 

My goal

How would it be to get the additional optional features including a hidden 300MHz (DS2302A) option for free. Sounds nice? Read on…

I already bought all available features, so for me only the 300MHz option is of value. Anyways all the amazing software is available for free and done by some really engaged people. The initial discussions started on EEVblog years ago, so I will describe how I used the information to upgrade my DS2072A (750€) to an DS2032A (2500€).

Why is this possible?

This is possible, because the whole DS2000A series uses the same software and hardware. The difference is the license key. And these hacker hereos at EEVBlog wrote kind of keygen…

My original DS2072A

Original DS2072A options

Hardware version: 2.3

Firmware version: 00.03.05.SP3

No additional options activate.

After firmware update and license key installation

My DS2072A licensed options

Firmware version: 00.03.05.SP4

All buyable options are activated now.

So far so good. Until here it’s just coping firmware file and license file from Rigols website to an USB stick and following the upgrade instructions.

Now the result after hacking: DS2302A

Hacked DS2302A options

Firmware version: 00.03.05.SP4

300MHz option activated and changed model to DS2302A on info screen!

How does this hack work?

It’s all about generating a license key and install it on oscilloscope via USB stick. You do not need to open devices, and so no warranty is lost.

To generate this key you need a memory dump of your device, and the “rigup-04” tool to generate your key. The generated key is only valid for your device and based on some values gathered from your osilloscopes memory.

How did I do that?

  1. Connect DS2072A to your LAN network and get an IP
  2. Now comes the ugly part. As none of the user friendly ways worked in my case, I had to go to the console and dump memory from there (Linux or MacOSX terminal; unfortunately I do not know how to do that on windows)
    1. open terminal as root (install netcat/nc if needed)
    2. Replace “<DS2072A-IP-Address>” with the oscilloscopes IP address and dump memory with:

      echo “:SYST:UTIL:READ? 1,33554432” | nc -w1 <DS2072A-IP-Address> 5555 | dd bs=1 of=ds2072a.bin

    3. After some minutes the ds2072a.bin File should be about 32MB
  3.  Now you need the “rigup-0.4” util (I used the windows version) to generate the license key
    1. Open a DOS box and execute these 2 commands
      1. rigup scan ds2072a.bin
      2. rigup ds2072a ds2072a.bin
    2. Create a license text file with information from above commands
      1. Filename need to be like: “<Your-DS2072A-serial>.lic”
        (e.g. “DS2D123123123.lic”)
      2. Copy one of the key lines into above file
        (e.g. ABC2ABC-ABC49D4-3E5ABC6-3C4AB5C)
    3. Copy license file to the root of a FAT formatted USB stick
    4. Boot your oscilloscope and insert USB stick into front USB port
    5. Oscilloscope will show a popup about a license file. So just install it (click on button besides “license” on the right side of the screen)
    6. Reboot oscilloscope
    7. Check your options now 😉 Every option should look like my above picture and within “System Info” you should even see the changed model “DS2302A” now. Done!

Problems I had with EEVBlog information and using some of the available tools

  • Way too old information and some hundred pages, so its really hard to find the needed information, even the summary thread is very big…
  • None of the found ways worked for me, due to my “new” firmware version, e.g.
    • Firmware downgrade to generated 2.x firmware (done by “Rigol USB.exe) is forbidden with my firmware
    • Dumping firmware with “DS2000A_Upgrade_Utility_1_0_0_1” didn’t work. My firmware is 32MB and this tool only supports 16MB at maximum.
    • Dumping firmware with “Rigol UltraSigma” ended up with 32MB of (ascii/hex) data, but this tool cannot save binary data to file.
  • Rigup (to create license key)
    • With all these corrupted dump files, rigup was not able to find needed “private key” and “serial number”.
    • rigup 0.4.2 didn’t work. Used 0.4 and it worked.