Products > Test Equipment
Siglent SDS5000X Oscilloscope Hack status - Dec 2021
djac:
Thanks for the tip, but with the serial number it does not work either. I have tried using lower and upper case letters. What is the correct designation for the 500MHz option, 4BW05 as stated in the scope or 500M as for the SDS2000X+?
Here are the tried and tested values of the variables:
# original script for SDS2000x+:
#SCOPEID = '0000000000000000'
#Model = 'SDS2000X+'
#bwopt = ('25M', '40M', '50M', '60M', '70M', '100M', '150M', '200M', '250M', '300M', '350M', \
# '500M', '750M', '1000M', 'MAX', 'AWG', 'WIFI', 'MSO', 'FLX', 'CFD', 'I2S', '1553', 'PWA')
#SCOPEID = 'sds5xhex5r0184' # serialnbr
SCOPEID = 'SDS5XHEX5R0184' # serialnbr
#SCOPEID = '4da12ee5deb6ef67' # scope id
Model = 'SDS5000X'
bwopt = ('4BW05', '4BW10', '500M', '1000M')
#bwopt = ('4bw05', '4bw10', '500m', '1000m')
The rest of the script is unchanged.
Regards Dieter
bson:
The option name for 1GHz is 1000M. ScopeID is the hex numbers of the scope id in the options dialogs, without dashes.
The current firmware doesn't allow upgrading a 350M scope to 1000M. A plausible workaround is to install an older firmware, install the bandwidth option, and upgrade the firmware back to the latest version. However, you may want to uninstall one of the other options first as there is a bug in older firmware that can cause the options screen to lock up when you have all options enabled (other than 1000M).
Martin72:
--- Quote from: djac on December 31, 2021, 07:31:24 pm ---After the changeover, the new software version no longer offers an extension to 1GHz.
--- End quote ---
Imho it makes sense, the 500Mhz version got different hardware afaik, so upgrading to 1Ghz is only possible with this version, not yours.
So forget the 1Ghz thing.
What the rest of the possible options concerns, lately I´ve got the permanent licenses for manchester and sent decoding via the known procedre.
https://www.eevblog.com/forum/testgear/siglent-sds2000x-plus-hack/msg3829499/#msg3829499
bson:
Well, it's possible but it won't quite make it to 1GHz. But 900MHz is better than a sharp stick in the eye... so why not.
djac:
My problem is not first of all whether the 1GHz can be activated under the new software version. That is the second step.
First of all, I need to clarify whether the SDS2000x+ script is applicable for the SDS5000X at all. I can easily check this, because I have a stock one for 500MHz. You can get the key for it on the siglenteu.com site. The algorithm behind the webpage must give the same result as the Python script. The input parameters on the webpage are model (selection list), option name (selection list), serial number (input) and authorised code (the authorisation to select options).
The webpage then returns the key '89ge ywwy h7tu dphy' for SDS5000X, SDS-5000X-4BW05, SDS5XHEX5R0184, <autcode>. And it works.
Incidentally, the same key is delivered for the SDS-5000X-2BW05 option (for the 2-channel version). This indicates that the option name for the script with 500M is probably correct, because the web page, via which all devices and their options can be activated, naturally wants to make the programming of the page as simple as possible. Therefore, the options for the bandwidth are probably mapped to a uniform name. Entering the serial number does not mean that the scopeid does not enter into the algorithm of the webpage, because the context should be known via an internal database.
The following parameters go into the python script: the model name here SDS5000X, the scopeid (or the serial number as Techneut thinks) and the option name. If you look at the python script, you will notice that upper or lower case letters give different results.
The actual code of the python script consists of the hashkey and the function gen. I don't want to publish both here because I don't know if it's legal. I use the one from https://replit.com. There are several there for the SDS2000x+, but they are all the same and only cosmetically different from each other (in terms of the useless parameter of the gen function). I have also changed it a bit cosmetically, but of course tested whether my version and the original version give the same result. They do.
Now, to clarify what results are delivered for upper and lower case, as well as for the option names, I use the following code:
--- Code: ---import hashlib
serial = 'SDS5XHEX5R0184' # serialnbr
scopeid = '4da12ee5deb6ef67' # scopeid
idnbr = ( serial, serial.lower(), scopeid, scopeid.upper())
Model = 'SDS5000X'
bwopt = ('4BW05', '500M') #, 4BW10, 1000M, 'MAX', 'AWG', 'WIFI', 'MSO', 'FLX', 'CFD', 'I2S', '1553', 'PWA', 'MANC', 'SENT')
"""
hashkey = ...
def gen(opt, idn):
...
#end gen
"""
print('{:6} {:16} {:16} {:16} {:16}'.format('option', 'SERIALNBR', 'serialnbr', 'scopeid', 'SCOPEID'))
for opt in bwopt:
keys = ''
for idn in idnbr:
keys += gen(opt, idn).ljust(17)
#end for
print('{:6} {}'.format(opt, keys))
#end for
The Output:
option SERIALNBR serialnbr scopeid SCOPEID
4BW05 6ngeqt5zk66jeahm 932zp3mymuvefa3y tfxpm5dakugx323w uvppjmbxt8ytbzg3
500M wh6g29uuhhpqh3sv fru78bmyfmmqmt9c vc4u3rk2xfpdefmz 2qg249wgwbe3gyht
--- End code ---
As you can see, none of the 500MHz keys correspond to the one I received from Siglent.
That's the problem for now!
You can try to find out what keys you can get with the data published here.
Regards Dieter
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version