Awesome work guys, finally made it all the way through this topic.
I'm trying to figure out this code table made by 'Uup' for DS4000:
I 've been experimenting with the option codes on my DS4024 and have worked out the various options. However, I was unable to change the model number/bandwidth. It appears as though it may be done via a different means, such as hardware jumpers or other hardware configuration bits. Not really sure at this point.
Attached, and below, is what I have worked out. I suspect that the only people who will really gain from this information are the dealers who will be able to work out their own option licence keys to sell to customers, instead of getting them from Rigol.
Anyhow...
DS4000 Series DSO Option Codes:
Licence code string is in the following format:
LLLLLLL-RLGLLDS-****LLL-LLLLLLL
ABCD
A B C D
54321 54321 54321 54321
x0000 00000 00000 00000 0 = Official, 1 = Trial
0x000 00000 00000 00000 must = 0
00x00 00000 00000 00000 See Note(2)
000x0 00000 00000 00000 Option Bank Selection
0000x 00000 00000 00000 Option Bank Selection
00000 x0000 00000 00000 Licence re-application bit
00000 0x000 00000 00000 must = 0
00000 00x00 00000 00000 must = 0
00000 000x0 00000 00000 must = 0
00000 0000x 00000 00000 must = 0
00000 00000 x0000 00000 must = 0
00000 00000 0x000 00000 must = 0
00000 00000 00x00 00000 See Note(2)
00000 00000 000x0 00000 See Note(2)
00000 00000 0000x 00000 See Note(2)
00000 00000 00000 x0000 FlexRay Decode or alternate option
00000 00000 00000 0x000 CAN Decode or alternate option
00000 00000 00000 00x00 I2C Decode or alternate option
00000 00000 00000 000x0 SPI Decode or alternate option
00000 00000 00000 0000x RS232 Decode or alternate option
More Detailed description of Bits:
A - Control Bits
1. Option bank selection: Available options =1 (if = 1 then A.2 should = 0)
2. Option bank selection: Alternate options =1 (if = 1 then A.1 should = 0)
3. See Note(2)
4. Must = 0
5. Trial = 1, See note(1) : Official = 0
B - Control Bits
1. Must = 0
2. Must = 0
3. Must = 0
4. Must = 0
5. Alternating bit allows re-installation of the same licence, without uninstalling it (indicates "Option Installed!")
C - Control Bits
1. See Note(2)
2. See Note(2)
3. See Note(2)
4. Must = 0
5. Must = 0
D - Options (0 = OFF, 1 = ON)
1. RS232 Decode
2. SPI Decode
3. I2C Decode
4. CAN Decode
5. FlexRay Decode
Alternate Options (when A.1 =0 && A.2 =1)
1. Reserved (Empty Option)
2. Reserved (Empty Option)
3. Reserved (Empty Option)
4. Reserved (Empty Option)
5. Reserved (Empty Option)
Notes:
(1) Re-applying the same trial licence will extend the trial time by an additional 1932 minutes to a maximum time of 5796 minutes.
(2) If any one of these bits are = 1, then re-applying the same licence will result in the error "Licence Unavailable!"
If all of these bits are = 0, then re-applying the same licence will result in the message "The Option Has Been Installed!" or, in the case of a trial licence with maximum time reached, the message "Time Trial is Arrived!"
To work out the option code, use the following bit-to-code conversion table:
A = 00000
B = 00001
C = 00010
D = 00011
E = 00100
F = 00101
G = 00110
H = 00111
J = 01000
K = 01001
L = 01010
M = 01011
N = 01100
P = 01101
Q = 01110
R = 01111
S = 10000
T = 10001
U = 10010
V = 10011
W = 10100
X = 10101
Y = 10110
Z = 10111
2 = 11000
3 = 11001
4 = 11010
5 = 11011
6 = 11100
7 = 11101
8 = 11110
9 = 11111
Eg.
A) Option code to install SPI and FlexRay Decode Trial Options: 10001 00000 00000 10010 = T A A U
LLLLLLL-RLGLLDS-TAAULLL-LLLLLLL
B) Option code to install all 5 official options: 00001 00000 00000 11111 = B A A 9
LLLLLLL-RLGLLDS-BAA9LLL-LLLLLLL
Edit: use the above code you work out (eg. BAA9) along with your serial number and the private key to generate (eg. with RiKey) a license key. I only used the test key format above to indicate the placement of the code.
And compare the above table to this online key generator by 'studio25':
http://riglol.3owl.com/
DS4000 device options:
first character: D = official, V = trial
DSHB - RS232 Decoder
DSHC - SPI Decoder
DSHE - I2C Decoder
DSHJ - CAN Decode
DSHS - FlexRay Decoder
DSA9 - all options
Can anyone explain why the 3rd letter for 'all options' isn't the same as for all the other options? [
A vs.
H]
Wouldn't DS
H9 work to?
Trying to relate the 4 license letters back to the individual options in the table:
A B C D
54321 54321 54321 54321
x0000 00000 00000 00000 0 = Official, 1 = Trial
0x000 00000 00000 00000 must = 0
00x00 00000 00000 00000 See Note(2)
000
x0 00000 00000 00000 Option Bank Selection
0000x 00000 00000 00000 Option Bank Selection
00011 = D [3rd digit = 0 means the 1st of 4 "Note(2)" bits = 0] 00000
x0000 00000 00000 Licence re-application bit
00000 0x000 00000 00000 must = 0
00000 00x00 00000 00000 must = 0
00000 000x0 00000 00000 must = 0
00000
0000x 00000 00000 must = 0
10000 = S 00000 00000 x0000 00000 must = 0
00000 00000 0x000 00000 must = 0
00000 00000 00
x00 00000 See Note(2)
00000 00000 000
x0 00000 See Note(2)
00000 00000
0000x 00000 See Note(2)
00111 = H [for the last 3 of 4 "Note(2)" bits = 111] or
00000 = A [for the last 3 of 4 "Note(2)" bits = 000] 00000 00000 00000
x0000 FlexRay Decode or alternate option
00000 00000 00000 0
x000 CAN Decode or alternate option
00000 00000 00000 00
x00 I2C Decode or alternate option
00000 00000 00000 000
x0 SPI Decode or alternate option
00000 00000 00000
0000x RS232 Decode or alternate option
11111 = 9 [for all 5 options selected]DSH9 /
DSA9A vs. H changes 3 out of four bits in the "Note(2)":
(2) If any one of these bits are = 1, then re-applying the same licence will result in the error "Licence Unavailable!"
If all of these bits are = 0, then re-applying the same licence will result in the message "The Option Has Been Installed!" or, in the case of a trial licence with maximum time reached, the message "Time Trial is Arrived!"
D as the 1st letter means the 1st of 4 "Note(2)" bits is always = 0.
H as the 3rd letter means the last 3 of 4 "Note(2)" bits are always = 111. [All 4 "Note(2)" bits combined = 0111].
A as the 3rd letter means the last 3 of 4 "Note(2)" bits are always = 000. [All 4 "Note(2)" bits combined = 0000].