Author Topic: Unlocking Siglent SDS1104X-E, step by step  (Read 217359 times)

0 Members and 11 Guests are viewing this topic.

Online robert.rozee

  • Frequent Contributor
  • **
  • Posts: 289
  • Country: nz
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #425 on: April 08, 2023, 05:55:56 pm »
So, you are trying to tell us that, if I'm measuring, say a complex set of 4 signals, the scope will perform better if limited to 100MHz rather than 200MHz when measuring the same set of signals??

At audio frequencies you won't see any difference.

With high frequency, real-world signals? Less aliasing.

given what you say is so, would the same rule not hold for the higher range Siglent scopes, for example the SDS2000X PLUS range that has FOUR model options of 100MHz, 200MHz, 350MHz and 500MHz?

you seems to be saying that for anyone who is interested in signal frequencies around the 100MHz area, compared to the base 100MHz SDS2104X+ model, the 200MHz variant will perform worse, the 350MHz variant will perform even worse, and the 500MHz variant will... well perhaps be most abysmal of all.

AND, if this is so, then why would Siglent not install a switch on their scopes, allowing the user to select a bandwidth limit appropriate to what they are measuring: the SDS2504X PLUS would have a 4 position selector for 100, 200, 350 and 500MHz limiting. or is this some sort of a marketing ploy, so that the poor user in a professional lab needs to own FOUR SDS2000X+ scopes, one for each bandwidth option.


cheers,
rob   :-)


cheers,
rob   :-)
 

Offline tautech

  • Super Contributor
  • ***
  • Posts: 28887
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #426 on: April 08, 2023, 07:49:10 pm »
So, you are trying to tell us that, if I'm measuring, say a complex set of 4 signals, the scope will perform better if limited to 100MHz rather than 200MHz when measuring the same set of signals??

At audio frequencies you won't see any difference.

With high frequency, real-world signals? Less aliasing.

given what you say is so, would the same rule not hold for the higher range Siglent scopes, for example the SDS2000X PLUS range that has FOUR model options of 100MHz, 200MHz, 350MHz and 500MHz?

you seems to be saying that for anyone who is interested in signal frequencies around the 100MHz area, compared to the base 100MHz SDS2104X+ model, the 200MHz variant will perform worse, the 350MHz variant will perform even worse, and the 500MHz variant will... well perhaps be most abysmal of all.

AND, if this is so, then why would Siglent not install a switch on their scopes, allowing the user to select a bandwidth limit appropriate to what they are measuring: the SDS2504X PLUS would have a 4 position selector for 100, 200, 350 and 500MHz limiting. or is this some sort of a marketing ploy, so that the poor user in a professional lab needs to own FOUR SDS2000X+ scopes, one for each bandwidth option.


cheers,
rob   :-)
SDS2504X Plus already does that. Siglent engineers aren't mugs and know sampling rates need be kept at levels where the risk of aliasing is much reduced.
Only 2 channels are supported at 500 MHz (much neared 600 !) and only by having one on each ADC and when a 2nd on either ADC is activated BW is automatically reduced to 350 MHz and indicated such with all the channel tabs changing from Full to a 350 MHz BW limit.
Avid Rabid Hobbyist.
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 6981
  • Country: hr
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #427 on: April 08, 2023, 08:03:11 pm »
So, you are trying to tell us that, if I'm measuring, say a complex set of 4 signals, the scope will perform better if limited to 100MHz rather than 200MHz when measuring the same set of signals??

At audio frequencies you won't see any difference.

With high frequency, real-world signals? Less aliasing.

given what you say is so, would the same rule not hold for the higher range Siglent scopes, for example the SDS2000X PLUS range that has FOUR model options of 100MHz, 200MHz, 350MHz and 500MHz?

you seems to be saying that for anyone who is interested in signal frequencies around the 100MHz area, compared to the base 100MHz SDS2104X+ model, the 200MHz variant will perform worse, the 350MHz variant will perform even worse, and the 500MHz variant will... well perhaps be most abysmal of all.

AND, if this is so, then why would Siglent not install a switch on their scopes, allowing the user to select a bandwidth limit appropriate to what they are measuring: the SDS2504X PLUS would have a 4 position selector for 100, 200, 350 and 500MHz limiting. or is this some sort of a marketing ploy, so that the poor user in a professional lab needs to own FOUR SDS2000X+ scopes, one for each bandwidth option.

cheers,
rob   :-)


No it doesn't mean that. Fungus just wrote something and didn't explain it and you interpolated something completely wrong.

And on my 2 Siglent scopes (one 500 MHz and other 1GHz) you have 20MHz, 200MHz and Full BW as options... But not because of reason you mentioned but because operator sometimes wants BW limited measurements on purpose..
 

Online FungusTopic starter

  • Super Contributor
  • ***
  • Posts: 16851
  • Country: 00
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #428 on: April 08, 2023, 08:04:27 pm »
given what you say is so, would the same rule not hold for the higher range Siglent scopes

Of course.

for example the SDS2000X PLUS range that has FOUR model options of 100MHz, 200MHz, 350MHz and 500MHz?
you seems to be saying that for anyone who is interested in signal frequencies around the 100MHz area, compared to the base 100MHz SDS2104X+ model, the 200MHz variant will perform worse, the 350MHz variant will perform even worse, and the 500MHz variant will... well perhaps be most abysmal of all.

It's not quite that simple...

a) I believe those 'scopes have two ADCs so they don't drop down to 1/4 the sampling rate, only half.

That means you could end up sampling a 500MHz sine wave at 1GS/sec. on the top end model. I don't see how that can end well, maybe somebody could try it and post a screenshot of the result.

b) If I feed in a 300MHz square wave to that model I'll have a sine wave at 300MHz, a sine wave at 900MHz, etc. This graphic from the Siglent web site shows the bandwidth rolloff of the front end.



As you can see: The 900MHz wave is attenuated by about -12dB. It will alias as a 100Mhz signal but it will be small. You'll have to look hard to see it (an FFT should show it best...)

So... the aliasing you see on screen depends a lot on the characteristics of the analog front end.

(cue tautech telling us that Siglent front ends are the absolute best at this)

c) Another thing to remember is that all these 'scopes change their sample rate as you adjust the horizontal time base. This can introduce aliasing too, although we don't normally notice because as humans we tend to adjust the horizontal scale so we can see the waveform with our eyes.
 
If you set it out of whack you'll get aliasing. eg. I just set my Micsig to 40kHz sample rate and fed it a 25kHz sine wave. This was what I saw on screen.


If I zoom in I can see the 25kHz signal has aliased around the 20kHz Nyquist point and become a 15kHz signal.


Aliasing at 25 kiloHz on a 100MHz 'scope? It happens!

Do I blame the Micsig? No, it's just the way the math works.


Bottom line ... it's complicated.

Maybe instead of fixing the bandwidth to 100Mhz you could get into the habit of turning channels on and off to get maximum sample rate on the channel of most interest. If you see the signal change when you flip between low/high sample rate? That's aliasing.
« Last Edit: April 08, 2023, 08:38:45 pm by Fungus »
 

Offline BillyO

  • Super Contributor
  • ***
  • Posts: 1575
  • Country: ca
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #429 on: April 08, 2023, 08:52:53 pm »
You still get the benefit of the higher BW with only one channel, and with certain well behaved signals, with two enabled.  Of course, as you increase the number of active channels the risk of aliasing increases but that does not mean it's not worth the 5 minutes it takes to enable it.

If you run into aliasing a lot you will be at frequencies that you probably need a bigger badder scope for anyway and would suffer from BW limitations at 100MHz.  I guess it's like with anything else, you have to give and take.  Or if you prefer, you can't have your cake and eat it too.
Bill  (Currently a Siglent fanboy)
--------------------------------------------------
Want to see an old guy fumble around re-learning a career left 40 years ago?  Well, look no further .. https://www.youtube.com/@uni-byte
 
The following users thanked this post: Fungus

Offline BillyO

  • Super Contributor
  • ***
  • Posts: 1575
  • Country: ca
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #430 on: April 08, 2023, 09:03:55 pm »
b) If I feed in a 300MHz square wave to that model I'll have a sine wave at 300MHz, a sine wave at 900MHz, etc. This graphic from the Siglent web site shows the bandwidth rolloff of the front end.



As you can see: The 900MHz wave is attenuated by about -12dB. It will alias as a 100Mhz signal but it will be small. You'll have to look hard to see it (an FFT should show it best...)

So... the aliasing you see on screen depends a lot on the characteristics of the analog front end.

(cue tautech telling us that Siglent front ends are the absolute best at this)

That's actually a pretty decent response curve for the front end of a 100MHz or even 200MHz scope.  It's not just a simple Gaussian roll-off and it looks like Siglent actually took some time an care to maximize the BW of it.  It looks to be -3dB down at ~550MHz.  Would you not say that's pretty good?
« Last Edit: April 08, 2023, 09:05:40 pm by BillyO »
Bill  (Currently a Siglent fanboy)
--------------------------------------------------
Want to see an old guy fumble around re-learning a career left 40 years ago?  Well, look no further .. https://www.youtube.com/@uni-byte
 

Offline TZ400T3B

  • Contributor
  • Posts: 11
  • Country: sk
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #431 on: April 08, 2023, 09:06:04 pm »
Hi, it work great, thanks !

I used SCPI to pass on 200MHz. For options it doesn't worked (while web UI told success), so i entered it manually.
And after unlocking all i restarted the scope & updated the firmware.

It's an awesome scope ❤️

Same here. Over the web I only got TEMPORARY licence. Had to type it into the machine itself to get PERMANENT.
 

Offline tautech

  • Super Contributor
  • ***
  • Posts: 28887
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #432 on: April 08, 2023, 09:12:51 pm »
Hi, it work great, thanks !

I used SCPI to pass on 200MHz. For options it doesn't worked (while web UI told success), so i entered it manually.
And after unlocking all i restarted the scope & updated the firmware.

It's an awesome scope ❤️

Same here. Over the web I only got TEMPORARY licence. Had to type it into the machine itself to get PERMANENT.
As mentioned the SCPI command syntax needs be perfect like this:
LCISL (lic type),(lic code) < remove brackets
Avid Rabid Hobbyist.
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 
The following users thanked this post: nikitasius

Offline BillyO

  • Super Contributor
  • ***
  • Posts: 1575
  • Country: ca
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #433 on: April 08, 2023, 09:30:40 pm »
It looks to be -3dB down at ~550MHz.  Would you not say that's pretty good?

Oscilloscopes are supposed to be -3dB at the bandwidth printed on the front, so... they overshot by 50MHz.  :)

I'm more bothered by the 'step' at 200MHz.
Are you talking about the SDS1104X-E or the SDS2504X-P?
Bill  (Currently a Siglent fanboy)
--------------------------------------------------
Want to see an old guy fumble around re-learning a career left 40 years ago?  Well, look no further .. https://www.youtube.com/@uni-byte
 

Online FungusTopic starter

  • Super Contributor
  • ***
  • Posts: 16851
  • Country: 00
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #434 on: April 08, 2023, 09:31:40 pm »
That's actually a pretty decent response curve for the front end of a 100MHz or even 200MHz scope.  It's not just a simple Gaussian roll-off and it looks like Siglent actually took some time an care to maximize the BW of it.

I suspect the log scale helps to make it look pretty.
 

Offline BillyO

  • Super Contributor
  • ***
  • Posts: 1575
  • Country: ca
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #435 on: April 08, 2023, 09:39:10 pm »
That's actually a pretty decent response curve for the front end of a 100MHz or even 200MHz scope.  It's not just a simple Gaussian roll-off and it looks like Siglent actually took some time an care to maximize the BW of it.

I suspect the log scale helps to make it look pretty.
They are usually done on log scales.  Look up a Gaussian roll-off.  You will se the difference.  BTW, where on Siglent's site did you find that graph?
Bill  (Currently a Siglent fanboy)
--------------------------------------------------
Want to see an old guy fumble around re-learning a career left 40 years ago?  Well, look no further .. https://www.youtube.com/@uni-byte
 

Offline BillyO

  • Super Contributor
  • ***
  • Posts: 1575
  • Country: ca
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #436 on: April 08, 2023, 09:43:41 pm »
You still get the benefit of the higher BW with only one channel, and with certain well behaved signals, with two enabled.
Actually, I need to correct myself here.  The SDS1004X-E scopes have two ADCs so you can full 1GHz sampling with 2 channels active.
Bill  (Currently a Siglent fanboy)
--------------------------------------------------
Want to see an old guy fumble around re-learning a career left 40 years ago?  Well, look no further .. https://www.youtube.com/@uni-byte
 

Online FungusTopic starter

  • Super Contributor
  • ***
  • Posts: 16851
  • Country: 00
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #437 on: April 08, 2023, 10:50:56 pm »
Look up a Gaussian roll-off.  You will se the difference.

Siglent chopped off the tail end of that graph so it's hard to say exactly where it goes next.

But yeah, non-gaussian rolloffs are common, eg.: https://edadocs.software.keysight.com/kkbopen/how-does-non-gaussian-bandwidth-roll-off-factor-into-oscilloscope-bandwidth-selection-criteria-part-2-614517537.html

BTW, where on Siglent's site did you find that graph?

On the front page: https://siglentna.com/digital-oscilloscopes/sds2000xp/
« Last Edit: April 08, 2023, 10:57:52 pm by Fungus »
 

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 6981
  • Country: hr
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #438 on: April 08, 2023, 11:34:57 pm »
That's actually a pretty decent response curve for the front end of a 100MHz or even 200MHz scope.  It's not just a simple Gaussian roll-off and it looks like Siglent actually took some time an care to maximize the BW of it.

I suspect the log scale helps to make it look pretty.

Log scale is what is used to show BW.... Hence specification in dB.. That is industry standard..
 
The following users thanked this post: Performa01, Wrenches of Death

Offline three_jeeps

  • Contributor
  • Posts: 11
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #439 on: April 23, 2023, 03:54:15 pm »
Just want to say 'Thank you' for this synopsis and the pointers.  I followed the synopsis here (Reply #332) and the instructions at https://www.makermatrix.com/blog/hacking-the-siglent-1104x-e-oscilloscope/ and used the web based python interpreter and the upgrade to 200MHz worked perfectly!
Using the online interpreter made things very easy.  I initially went the route of installing python 3 on my Win10 machine but when I ran the script I got an error.
Traceback (most recent call last):
  File "my_keygen.py", line 45, in <module>
    print('{:5} {}'.format(opt, gen(SCOPEID)))
  File "my_keygen.py", line 31, in gen
    m = b % 0x24
TypeError: not all arguments converted during string formatting

Using the online interpreter to work around the error worked fine.

Some of my product details:   Purchased my scope in Nov 2022:
Software version: 6.1.37R8
Uboot os: 8.3
FPGA version 2021-11-08
Original Product type: SDS 1104X-E......
Upgraded April 2023,  New Product Type: SDS1204X-E.....(very cool!)

Much thanks!
« Last Edit: April 23, 2023, 03:56:24 pm by three_jeeps »
 

Offline three_jeeps

  • Contributor
  • Posts: 11
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #440 on: April 23, 2023, 05:42:12 pm »
After enabling the 200 MHz BW of the scope, I realized that the probes are 100 MHz (PP510).  Siglent has a 200 MHz probe (PP215). 
The specs on the PP215 state: Bandwidth: 6 MHz (X1) / 200 MHz (X10) and for the PP510: Bandwidth: 6 MHz (X1) / 100 MHz (X10).
Capacitance is essentially the same for both probes at 1x and 10x.

It seems there is no need/advantage to get the 200 MHz probe....Thoughts?

TY
J


 

Offline Performa01

  • Super Contributor
  • ***
  • Posts: 1683
  • Country: at
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #441 on: April 24, 2023, 09:00:58 am »
After enabling the 200 MHz BW of the scope, I realized that the probes are 100 MHz (PP510).  Siglent has a 200 MHz probe (PP215). 
The specs on the PP215 state: Bandwidth: 6 MHz (X1) / 200 MHz (X10) and for the PP510: Bandwidth: 6 MHz (X1) / 100 MHz (X10).
Capacitance is essentially the same for both probes at 1x and 10x.

It seems there is no need/advantage to get the 200 MHz probe....Thoughts?
This and related topics have been discussed before in the corresponding thread.

For example here (reply #56):
https://www.eevblog.com/forum/testgear/siglent-sds1104x-e-in-depth-review/msg1434665/#msg1434665

or here (reply #191):
https://www.eevblog.com/forum/testgear/siglent-sds1104x-e-in-depth-review/msg3290546/#msg3290546
 

Offline radiolistener

  • Super Contributor
  • ***
  • Posts: 3568
  • Country: ua
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #442 on: April 25, 2023, 09:19:59 pm »
I haven't followed the topic of unlocking Siglent for a long time, just discovered that there is a keygen for SDS1000X-E model. But I have old SDS1102X model, can someone help if there is keygen for old SDS1000X model?

I know that bandwidth unlock for SDS1000X requires hw mod, but there are also other features which can be unlocked with key, such as serial decoders and harmonic analyzer. So, it will be interested to unlock it.
 

Offline tautech

  • Super Contributor
  • ***
  • Posts: 28887
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #443 on: April 25, 2023, 09:26:11 pm »
I haven't followed the topic of unlocking Siglent for a long time, just discovered that there is a keygen for SDS1000X-E model. But I have old SDS1102X model, can someone help if there is keygen for old SDS1000X model?

I know that bandwidth unlock for SDS1000X requires hw mod, but there are also other features which can be unlocked with key, such as serial decoders and harmonic analyzer. So, it will be interested to unlock it.
Nothing available to the public unfortunately but tv84 might help you is you ask him nicely.
Avid Rabid Hobbyist.
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Offline BillyO

  • Super Contributor
  • ***
  • Posts: 1575
  • Country: ca
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #444 on: April 25, 2023, 09:31:14 pm »
.. tv84 might help you ..

How does tv84 do this?  :-// Especially since he has rarely seen any of these instruments.
Bill  (Currently a Siglent fanboy)
--------------------------------------------------
Want to see an old guy fumble around re-learning a career left 40 years ago?  Well, look no further .. https://www.youtube.com/@uni-byte
 

Offline t1d

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #445 on: May 13, 2023, 12:28:54 pm »
A Python problem?

I am trying to unlock my 1104X-E using this method:
https://www.makermatrix.com/blog/hacking-the-siglent-1104x-e-oscilloscope/

Here's my note to the author about the problem I have encountered:
Thank you so much for sharing this! I have a 1104X-E and I have made good progress with your instructions -- to a point. I have not been able to run the Python code successfully.
 
I downloaded Python v3.11, from the Microsoft App Store. I copied/pasted your code to NotePad. I adjusted the Scope ID and Serial number to my numbers (the last five changed to "#####," for personal security.) See RAW Paste Data ( I hope this is where I am supposed to put my code.) I copied the adjusted code to the Clipboard.
 
I opened Python and right clicked to paste the updated code. Windows gives me a warning and I accept. Python opens and automatically pastes my code on the page.
 
I know little of coding and nothing of Python, but it appears that the script runs automatically and fails =
SyntaxError: invalid syntax
>>>     print('{:5} {}'.format(opt, gen(SN)))
 
I rather think that this is not related to the scope ID and serial numbers that I adjusted. However, please confirm the syntaxes are correct for both. Please also confirm that the code runs automatically and that I do not need to clean/compile/run it, in some manner. Of course, I need to know what to do to get things to work correctly, as well. Please be very specific with your instructions, step by step.


Not knowing when the author might check for comments, I thought that I would ask here, as well. Please and thank you, for your help.
t1d
HP All-in-One
Windows 11 - Current version

Full code:
Python 3.11.3 (tags/v3.11.3:f3909b8, Apr  4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> # Keygen program for Siglent oscilloscopes
>>>
>>> import hashlib
>>>
>>> # You get this by running "SCOPEID?" at the SCIP prompt and removing the dashes
>>> SCOPEID = '000225480f4#####'
>>> # Replace this with your SN
>>> SN = 'SDSMMEBQ3#####'
>>> # This is one of the four options below
>>> Model = 'SDS1000X-E'
>>> # 'SDS1000X-E', 'SDS2000X-E', 'SDS2000X+', 'SDS5000X', 'ZODIAC-'
>>>
>>> bwopt = ('25M', '40M', '50M', '60M', '70M', '100M', '150M', '200M',
...          '250M', '300M', '350M', '500M', '750M', '1000M', 'MAX')
>>> otheropt = ('AWG', 'WIFI', 'MSO', 'FLX',
...             'CFD', 'I2S', '1553', 'FG', '16LA')
>>>
>>> hashkey = '5zao9lyua01pp7hjzm3orcq90mds63z6zi5kv7vmv3ih981vlwn06txnjdtas3u2wa8msx61i12ueh14t7kqwsfskg032nhyuy1d9vv2wm925rd18kih9xhkyilobbgy'
>>>
>>> def gen(x):
...     h = hashlib.md5((
...         hashkey +
...         (Model+'\n').ljust(32, '\x00') +
...         opt.ljust(5, '\x00') +
...         2*(((SCOPEID if opt in bwopt else SN) + '\n').ljust(32, '\x00')) +
...         '\x00'*16).encode('ascii')
...     ).digest()
...     key = ''
...     for b in h:
...         if (b <= 0x2F or b > 0x39) and (b <= 0x60 or b > 0x7A):
...             m = b % 0x24
...             b = m + (0x57 if m > 9 else 0x30)
...         if b == 0x30:
...             b = 0x32
...         if b == 0x31:
...             b = 0x33
...         if b == 0x6c:
...             b = 0x6d
...         if b == 0x6f:
...             b = 0x70
...         key += chr(b)
...     return key.upper()
...
>>> for opt in bwopt:
...     print('{:5} {}'.format(opt, gen(SCOPEID)))
... for opt in otheropt:
  File "<stdin>", line 3
    for opt in otheropt:
    ^^^
SyntaxError: invalid syntax
>>>     print('{:5} {}'.format(opt, gen(SN)))
« Last Edit: May 13, 2023, 12:33:29 pm by t1d »
 

Offline t1d

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #446 on: May 13, 2023, 04:08:09 pm »
I thought there was some possibility that I had dropped a line of the code, when I originally cut/pasted it. So, I tried it all again. I now think that my original cut/paste was okay, but I get more error codes. See additional code, attached.
...
... for opt in bwopt:
  File "<stdin>", line 25
    for opt in bwopt:
    ^^^
SyntaxError: invalid syntax
>>>     print('{:5} {}'.format(opt, gen(SCOPEID)))
  File "<stdin>", line 1
    print('{:5} {}'.format(opt, gen(SCOPEID)))
IndentationError: unexpected indent
>>> for opt in otheropt:
...     print('{:5} {}'.format(opt, gen(SN)))


The author published on June 24, 2021. I think the current version of Python, at that time, was v3.9. So, I tried it and still no joy.

Thanks for the help.

Python 3.11.3 (tags/v3.11.3:f3909b8, Apr  4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> # Keygen program for Siglent oscilloscopes
>>>
>>> import hashlib
>>>
>>> # You get this by running "SCOPEID?" at the SCIP prompt and removing the dashes
>>> SCOPEID = '000225480f4#####'
>>> # Replace this with your SN
>>> SN = 'SDSMMEBQ3#####'
>>> # This is one of the four options below
>>> Model = 'SDS1000X-E'
>>> # 'SDS1000X-E', 'SDS2000X-E', 'SDS2000X+', 'SDS5000X', 'ZODIAC-'
>>>
>>> bwopt = ('25M', '40M', '50M', '60M', '70M', '100M', '150M', '200M',
...          '250M', '300M', '350M', '500M', '750M', '1000M', 'MAX')
>>> otheropt = ('AWG', 'WIFI', 'MSO', 'FLX',
...             'CFD', 'I2S', '1553', 'FG', '16LA')
>>>
>>> hashkey = '5zao9lyua01pp7hjzm3orcq90mds63z6zi5kv7vmv3ih981vlwn06txnjdtas3u2wa8msx61i12ueh14t7kqwsfskg032nhyuy1d9vv2wm925rd18kih9xhkyilobbgy'
>>>
>>> def gen(x):
...     h = hashlib.md5((
...         hashkey +
...         (Model+'\n').ljust(32, '\x00') +
...         opt.ljust(5, '\x00') +
...         2*(((SCOPEID if opt in bwopt else SN) + '\n').ljust(32, '\x00')) +
...         '\x00'*16).encode('ascii')
...     ).digest()
...     key = ''
...     for b in h:
...         if (b <= 0x2F or b > 0x39) and (b <= 0x60 or b > 0x7A):
...             m = b % 0x24
...             b = m + (0x57 if m > 9 else 0x30)
...         if b == 0x30:
...             b = 0x32
...         if b == 0x31:
...             b = 0x33
...         if b == 0x6c:
...             b = 0x6d
...         if b == 0x6f:
...             b = 0x70
...         key += chr(b)
...     return key.upper()
...
... for opt in bwopt:
  File "<stdin>", line 25
    for opt in bwopt:
    ^^^
SyntaxError: invalid syntax
>>>     print('{:5} {}'.format(opt, gen(SCOPEID)))
  File "<stdin>", line 1
    print('{:5} {}'.format(opt, gen(SCOPEID)))
IndentationError: unexpected indent
>>> for opt in otheropt:
...     print('{:5} {}'.format(opt, gen(SN)))
 

Offline t1d

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #447 on: May 13, 2023, 04:21:32 pm »
Forgot to say my scope software version = 6.1.35R2. Sorry for that...
 

Offline .RC.

  • Frequent Contributor
  • **
  • Posts: 274
  • Country: au
 

Offline t1d

  • Super Contributor
  • ***
  • Posts: 1232
  • Country: us
Re: Unlocking Siglent SDS1104X-E, step by step
« Reply #449 on: May 14, 2023, 09:26:56 am »
Why not use this code https://replit.com/@wgoeo/siglent-keygen#main.py  as per https://www.eevblog.com/forum/testgear/unlocking-siglent-sds1104x-e-step-by-step/msg4066828/#msg4066828
Thanks, RC, for you reply.
Why not use wgoeo's code and the forum post's instructions? Because the link I provided has step by step instructions with pictures to guide you. As I mentioned, I am not much of a coder and I know nothing of Python. I did not compare the two sets of code line by line, but they look to be the same. That makes me wonder if I might not be using Python correctly.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf