@DS4000
i had a look at the bandwidth upgrade possiblities for the DS4k ...
1. the evaluation of the optioncode is very different from the DS2k - without initialized BSS and a real memory dump a lot of guesswork is neede to figure something out.
2. the firmware has the provision to do the bandwidth upgrade - what i cant tell is if the code that triggers it is actually reachable by a valid optioncode
i think Uuup did extensive testing on the option codes, but i think its worth a shot to repeat that with a little bruteforce given the following facts:
there are 8 different options that can be enabled (0-4 = the known ones) 5,6,7 = are bandwidth upgrades (so the bandwidth code should be the 3 bits left to the known codes ... *guessworkhere*)
i can see code that uses the 12 LSB bits of the option code, and does "something" with it - there are code references that then go on to change the model type (=bandwidth change), but without proper BSS setup its not possible to figure it out anymore.
Just probing the indvidiual 5,6,7th bits might not be enough, it could be a "combination" thats needed.
what i would do if i had a DS4k:
use the RLGLLDS keyformat - and bruteforce the remaining possible bits <B>
A B C D
54321 54321 54321 54321
10000 000BB BBBBB x0000 FlexRay Decode or alternate option
10000 000BB BBBBB 0x000 CAN Decode or alternate option
10000 000BB BBBBB 00x00 I2C Decode or alternate option
10000 000BB BBBBB 000x0 SPI Decode or alternate option
10000 000BB BBBBB 0000x RS232 Decode or alternate option
i guess you could do it with python via LXI easily within a resonable timeframe