Author Topic: Sniffing the Rigol's internal I2C bus  (Read 1831492 times)

0 Members and 1 Guest are viewing this topic.

Offline Harvs

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
Re: Sniffing the Rigol's internal I2C bus
« Reply #250 on: June 29, 2013, 05:38:48 am »
Attached is the python code for applying the code, using pyUSB.

On a RPi, first install pyUSB
Code: [Select]
sudo apt-get install python-pip
sudo pip install pyusb

Then drop the contents of the zip file in a folder somewhere and run from that folder:
Code: [Select]
sudo python applyCode.py

That'll install the licence code.  You can add that launch on occur on boot, then shutdown the pi afterwards
Code: [Select]
sudo shutdown -h -P nowso that you just need to power up the pi as you power up the scope or before (and you don't need a screen or keyboard connected.)

A rather annoying side effect of applying the code is the scope's setup is restored to default.  I'm 90% of the way to adding reading out the setup data, applying the code, then restoring the setup.  But something isn't quite working, and I have to now go drink beer, so maybe tomorrow I'll finish that bit off.

Edit: See later post for updated files
« Last Edit: June 29, 2013, 12:38:13 pm by Harvs »
 

Offline eastonwolfs

  • Contributor
  • Posts: 10
Re: Sniffing the Rigol's internal I2C bus
« Reply #251 on: June 29, 2013, 07:16:43 am »
Attached is the python code for applying the code, using pyUSB.

Harvs - just wanted to say thanks for sharing this.  I am a relatively new DS2102 user, and have a Raspberry Pi sitting in a drawer doing nothing, so this looks very interesting/useful to me!  :-+

Hope you enjoyed your beers, cheers.   :)
 

Offline ajr

  • Newbie
  • Posts: 2
  • Country: pl
Re: Sniffing the Rigol's internal I2C bus
« Reply #252 on: June 29, 2013, 09:17:44 am »
Works for my DS2072 perfectly, firmware 00.01.00.00.03.
As I still had my trial options available, I was a little hesitant to try this, but they are back to previous values after restart so nothing is lost.

VSA9LLL enabled all options as trial (2100+ minutes were added to remaining time for trigger, 56M and decode options) but 2ns timebase wasn't available.

DSA9LLL enabled 2ns timebase and 100M BW limit.

Great work, thanks  :-+

 

Offline marmad

  • Super Contributor
  • ***
  • Posts: 2979
  • Country: aq
    • DaysAlive
Re: Sniffing the Rigol's internal I2C bus
« Reply #253 on: June 29, 2013, 10:51:19 am »
Better not automatically i hope, like a button or something...

INI file, my friend.  ;)

Quote
Because next FW release the code will not be available anymore, even worse Rigol
will brick your DSO on next FW release if you use the code, so you have to send it in for repair.
Then Rigol can still make some money out of it.... >:D

BTW, uninstalling DSA9 on a DS2202 leaves it as a DS2202 - meaning that future FW routines COULD differentiate between an "optioned" DS2202 - and an "official" DS2202.
 

Offline mickpah

  • Regular Contributor
  • *
  • Posts: 148
  • Country: au
    • Yeti Hacks
Re: Sniffing the Rigol's internal I2C bus
« Reply #254 on: June 29, 2013, 11:12:02 am »
I was looking for visa drivers and found this, http://www.rigol.com/account/user.php?act=license
obviously not a key generator , but what , curious!
 

Offline marmad

  • Super Contributor
  • ***
  • Posts: 2979
  • Country: aq
    • DaysAlive
Re: Sniffing the Rigol's internal I2C bus
« Reply #255 on: June 29, 2013, 11:23:57 am »
I was looking for visa drivers and found this, http://www.rigol.com/account/user.php?act=license
obviously not a key generator , but what , curious!

Interesting - but not related to DS2000 since it will only except 4-character x4 groups - instead of the 7-character x4 groups needed for DS2000 codes.
 

Offline Harvs

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
Re: Sniffing the Rigol's internal I2C bus
« Reply #256 on: June 29, 2013, 12:52:22 pm »
Attached is the updated version of the python script for applying the code.

This will read back the scopes setup information before applying the code, then write it back.  This means it will not end up in a completely default state every time you apply the code (at boot is the assumption.)

Also there's a couple of lines of code in there which you can un-comment, and comment the read-back from the scope to read the setup from a file (which you just save to a USB under the storage menu in the scope.)

However, when the scope is rebooted, any setup that applied to the hacked options will naturally be reset to default (since on boot the options aren't there.)  This is where if you're doing a lot of work with the options, you're better off saving the setup to a file, and changing the script to load from the saved file.

If you've got any questions, just ask.

BTW, while I've talked about the RPi, this is operating system agnostic.
 

Offline bambam

  • Contributor
  • Posts: 10
  • Country: gb
Re: Sniffing the Rigol's internal I2C bus
« Reply #257 on: June 29, 2013, 01:34:30 pm »
Better not automatically i hope, like a button or something...

INI file, my friend.  ;)

Quote
Because next FW release the code will not be available anymore, even worse Rigol
will brick your DSO on next FW release if you use the code, so you have to send it in for repair.
Then Rigol can still make some money out of it.... >:D

BTW, uninstalling DSA9 on a DS2202 leaves it as a DS2202 - meaning that future FW routines COULD differentiate between an "optioned" DS2202 - and an "official" DS2202.
Does this apply to the DS2072 as well? If you uninstall the DSA9 code will it then still show as a DS2202 model?
pass me another i broke this one
 

Offline marmad

  • Super Contributor
  • ***
  • Posts: 2979
  • Country: aq
    • DaysAlive
Re: Sniffing the Rigol's internal I2C bus
« Reply #258 on: June 29, 2013, 01:53:19 pm »
Does this apply to the DS2072 as well? If you uninstall the DSA9 code will it then still show as a DS2202 model?

No - it goes back to showing 'DS2072' - it's not a permanent change. Good in terms of possible warranty issues - bad in terms of possible responses in later FW.
 

Offline bambam

  • Contributor
  • Posts: 10
  • Country: gb
Re: Sniffing the Rigol's internal I2C bus
« Reply #259 on: June 29, 2013, 02:08:31 pm »
Thanks for replying so quick. is there any where to find documentation on using ultra sigma. I had a quick scan on google to no avail.
I tried this in the scpi box of ultra :SYSTem:SETup? and got a garbled response. scpi is all new to me.
pass me another i broke this one
 

Offline marmad

  • Super Contributor
  • ***
  • Posts: 2979
  • Country: aq
    • DaysAlive
Re: Sniffing the Rigol's internal I2C bus
« Reply #260 on: June 29, 2013, 02:16:01 pm »
Thanks for replying so quick. is there any where to find documentation on using ultra sigma. I had a quick scan on google to no avail.
I tried this in the scpi box of ultra :SYSTem:SETup? and got a garbled response. scpi is all new to me.

No documentation really needed for that - it just sends SCPI commands and receives data back. Tons of information online for using SCPI (it's a standard protocol) and download and refer to the DS2000 Programming Guide for information about specific SCPI commands (and responses) to/from the DSO. Such as the following about :SYSTem:SETup? response:

Description:
Send/read the file data of the system setup.

Explanation:
When sending, the format of the data stream:
The Stream Block Header (::= #NXXXXXX) is used to describe the length of the data stream. Wherein, # is the start denoter of the data stream; N is less than or equal to 9; the N figures following N represents the length of the data stream in bytes. For example, #9000002493, wherein, N is 9 and 000002493 represents that the data stream contains 2493 bytes effective data.
When reading, directly put the data stream at the end of the character string to finish the sending with one operation.
<setup_data> is binary data block.
Make sure that the buffer is large enough to receive the data stream, otherwise the program might be abnormal during the reading.
 

Offline bambam

  • Contributor
  • Posts: 10
  • Country: gb
Re: Sniffing the Rigol's internal I2C bus
« Reply #261 on: June 29, 2013, 03:48:07 pm »
thank you marmad bed time reading ahead ;D.

although rigol obviously wont be happy about all this, but do you think if they would also consider the possible negative effects of delaying further support of there products like fw etc would put people off of buying there products. there customer support isn't the best at the moment and if possible buyers think there product wont be supported it could put them off. just a thought
pass me another i broke this one
 

Offline marmad

  • Super Contributor
  • ***
  • Posts: 2979
  • Country: aq
    • DaysAlive
Re: Sniffing the Rigol's internal I2C bus
« Reply #262 on: June 29, 2013, 04:49:20 pm »
although rigol obviously wont be happy about all this, but do you think if they would also consider the possible negative effects of delaying further support of there products like fw etc would put people off of buying there products.

IMO, no it won't put people off buying the DS2000/DS4000 because they can get stuff for free. Rigol already can't keep up with demand for the DSO as evidenced by the delays happening right now (which are from unanticipated over-demand). But I'm afraid, yes, it will delay FW updates, since Rigol will certainly try to counteract some of this. It's just history (DS1000E) repeating itself.
 

Offline bambam

  • Contributor
  • Posts: 10
  • Country: gb
Re: Sniffing the Rigol's internal I2C bus
« Reply #263 on: June 29, 2013, 07:43:15 pm »
I have found if you input> LLLLLLL-RLGLLDS-VSA9LLL-LLLLLLL <after the> LLLLLLL-RLGLLDS-DSA9LLL-LLLLLLL <then on reboot it reset my scope back to DS2072 even the model number changed back from DS2202 to DS2072 I also lost 2ns and the 100mhz BW limit. So that should help with warranty issues.
pass me another i broke this one
 

Offline bambam

  • Contributor
  • Posts: 10
  • Country: gb
Re: Sniffing the Rigol's internal I2C bus
« Reply #264 on: June 29, 2013, 08:06:52 pm »
I am using the 03 FW. I used the DSA9 key but after reboot my 2ns TB, 100mhz BW limit and DS2202 model No were there but no options. so I tried the VSA9 key and went and checked all was ok and found It had reset my scope back to DS2072 so I did a reboot checked everything and all was as standard DS2072. so I just put back the DSA9 key and if need to use the options ill just pop in the key when I boot its not a problem.
pass me another i broke this one
 

Offline Harvs

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
Re: Sniffing the Rigol's internal I2C bus
« Reply #265 on: June 30, 2013, 12:52:08 am »
Attached is the python code for applying the code, using pyUSB.

Harvs - just wanted to say thanks for sharing this.  I am a relatively new DS2102 user, and have a Raspberry Pi sitting in a drawer doing nothing, so this looks very interesting/useful to me!  :-+

Hope you enjoyed your beers, cheers.   :)

No problems mate. Hope it's helpful.

If you're interested in using the RPi with your scope, soon I'll be posting the code and setup for using the RPi to provide extra buttons, but I'll do that in it's own thread since it's not DS2000 specific.  Any instrument that uses the USBTMC class and SCPI commands can be controlled with it.
 

Offline Marc M.

  • Regular Contributor
  • *
  • Posts: 132
  • Country: us
Re: Sniffing the Rigol's internal I2C bus
« Reply #266 on: June 30, 2013, 01:21:28 pm »
Yesterday I was told by tequipment that they have an order coming in within 2-3 days and that 6 were still not sold from that older...

Again, I hope for your sake that's true, but just be aware: since this thread started (May 18th) there hasn't been a single new owner of a DS2072 posting from NA in the main Rigol thread. There have been many new owners posting from the EU (and elsewhere), but it appears even that stock has now dried up.

Edit: I'm very curious as to when this changes.

I was planning on ordering a DS later in the year, but with all the progress that's been made in this thread, I decided I should try to get one before any countermeasures are taken by Rigol.  I placed an order with TEquipment on June 26th.  I e-mailed them on the  27th regarding the status of a refund on shipping and when the scope would ship.  According to their order status page, my scope shipped on June 21st - 5 days before I placed the order :wtf:  In the reply I received from Dawn she stated the scope was due to ship in 48 hours which should be this Monday.  Time will tell but it appears that they have some stock in.  Dawn has been on top of every issue I've had so far so I hoping she's accurate with this date.  I'll follow up if/when I get the shipping notification.

Update: I received a tracking number from TE on 6/30 so a 2072 should be on its way.  Hopefully this means the lack of availability is due to supply/demand and not re-engineering.
« Last Edit: July 01, 2013, 04:22:05 am by Marc M. »
Don't replace the cap, just empty the filter!
 

Offline marmad

  • Super Contributor
  • ***
  • Posts: 2979
  • Country: aq
    • DaysAlive
Re: Sniffing the Rigol's internal I2C bus
« Reply #267 on: June 30, 2013, 02:11:57 pm »
I was planning on ordering a DS later in the year, but with all the progress that's been made in this thread, I decided I should try to get one before any countermeasures are taken by Rigol.  I placed an order with TEquipment on June 26th.  I e-mailed them on the  27th regarding the status of a refund on shipping and when the scope would ship.  According to their order status page, my scope shipped on June 21st - 5 days before I placed the order :wtf:  In the reply I received from Dawn she stated the scope was due to ship in 48 hours which should be this Monday.  Time will tell but it appears that they have some stock in.  Dawn has been on top of every issue I've had so far so I hoping she's accurate with this date.  I'll follow up if/when I get the shipping notification.
Marc: as posted in the other thread, it appears that shipments have started again - a few people have finally received their orders from TEquipment (although it still seems Rigol is having a hard time keeping up with demand).
 

Offline alank2

  • Super Contributor
  • ***
  • Posts: 2185
Re: Sniffing the Rigol's internal I2C bus
« Reply #268 on: June 30, 2013, 02:14:50 pm »
According to their order status page, my scope shipped on June 21st - 5 days before I placed the order :wtf:  In the reply I received from Dawn she stated the scope was due to ship in 48 hours which should be this Monday. 

My order showed it was supposed to ship on 6/21 as well even though it was placed after that date.

I *did* receive a tracking # from them this morning!!!
 

Offline cybernet

  • Regular Contributor
  • *
  • Posts: 247
  • Country: 00
  • pm deactivated, use the search function ...
Re: Sniffing the Rigol's internal I2C bus
« Reply #269 on: June 30, 2013, 02:44:09 pm »
back to topic, anyone with a DS4k firmware file around that is willing to share it with me ?
___________________
"all rights reversed :-)"
R0=-0x18;
UNLINK;
RTS;
 

Offline benemorius

  • Regular Contributor
  • *
  • Posts: 173
Re: Sniffing the Rigol's internal I2C bus
« Reply #270 on: June 30, 2013, 04:38:30 pm »
IMO, no it won't put people off buying the DS2000/DS4000 because they can get stuff for free. Rigol already can't keep up with demand for the DSO as evidenced by the delays happening right now (which are from unanticipated over-demand). But I'm afraid, yes, it will delay FW updates, since Rigol will certainly try to counteract some of this. It's just history (DS1000E) repeating itself.

The folks at Rigol have demonstrated that they aren't as daft as some. They will learn the error of their ways; they just need our help.

If you're buying or have bought their stuff because of the value added by hacked features, TELL THEM that's why they're getting your business. If we talk loud enough, the right person at Rigol will eventually cross reference and crunch some numbers, and they'll confirm what we're already suspecting - a small change in strategy could pay off big for them if they would only leave the hacks alone.

Rigol, you're making a lot of extra sales from these hacks. Stop fighting it and learn how to take better advantage of it.
 

Offline Maalobs

  • Contributor
  • Posts: 16
  • Country: se
Re: Sniffing the Rigol's internal I2C bus
« Reply #271 on: June 30, 2013, 06:36:07 pm »
Early DS2000s came with FW#00.00.01.00.02 - although I've never seen anyone with a copy of that GEL.

FW#00.00.01.00.05 is here.

FW#00.01.00.00.03 is here.

I'm a little late to this so maybe I'm asking a redundant question, but are those firmware-images common for the entire DS2000-series?
The reason I ask is that I have a DS2102, and the firmware-images above have the strings "DS2072" and "DS2202" in them, but not "DS2102". :)

The System Info menu on my unit shows:
Model: DS2102
Software version: 00.00.01.00.02
Hardware version: 1.1.0
FPGA version:
SPU 03.01.02
WPU 00.06.00
CCU 12.29.00
MCU 00.05

 

Offline Wim13

  • Regular Contributor
  • *
  • Posts: 241
  • Country: nl
Re: Sniffing the Rigol's internal I2C bus
« Reply #272 on: June 30, 2013, 06:38:01 pm »

From the Rigol website , the latest FW versions

Here are the latest Firmware versions by Rigol product family as of July 1, 2013:


DS2000 FW-Version: 00.01.01.00.02
DS4000 FW-Version: 00.01.00.00.07
DS6000 FW-Version: 00.01.04
DSA815 FW-Version: 00.01.07
DSA1000 FW-Version: 00.01.16
DG4000 FW-Version: 00.01.06
DG5000 FW-Version: 01.01.08
« Last Edit: July 02, 2013, 05:01:29 pm by Wim13 »
 

Offline Kobus

  • Contributor
  • Posts: 13
  • Country: za
Re: Sniffing the Rigol's internal I2C bus
« Reply #273 on: July 01, 2013, 05:52:37 pm »
The folks at Rigol have demonstrated that they aren't as daft as some. They will learn the error of their ways; they just need our help.

If you're buying or have bought their stuff because of the value added by hacked features, TELL THEM that's why they're getting your business. If we talk loud enough, the right person at Rigol will eventually cross reference and crunch some numbers, and they'll confirm what we're already suspecting - a small change in strategy could pay off big for them if they would only leave the hacks alone.

Rigol, you're making a lot of extra sales from these hacks. Stop fighting it and learn how to take better advantage of it.

I second that. I bought a Rigol because they can and have been hacked.

A quick case study for Rigol - No need to repeat the same mistake.

Linksys made a legendary router called wrt54g. It's rise to fame was quite simple, it got hacked. You could now buy a cheap consumer router and add pro level features.
Thus began the era of 3rd  party router FW. The wrt54g was everywhere. Entire websites and forums were dedicated to these routers.

Linksys, in their infinite wisdom, changed the chipset and OS of the wrt54g. They successfully locked out the hackers from their new HW revision. In addition , they also
slashed their sales. Duh!  I doubt they sold a single extra high end router due to their new hacker proof model.
Hackers want to hack, they want control over their machine, they won't pay $$$ to get an extra feature their hacked version could provide.

What happened, hackers took their business elsewhere. Linksys finally caught on and reissued the old hackable Linux version as the wrt54gl. Since then, they have
always had a linux router on offer for hacking. None of their other routers since then have taken off like the original wrt54g.

Note to forum readers, please don't de-rail this thread. All comments about router hacking should be taken to the appropriate forums or PM. 
 

Offline cybernet

  • Regular Contributor
  • *
  • Posts: 247
  • Country: 00
  • pm deactivated, use the search function ...
Re: Sniffing the Rigol's internal I2C bus
« Reply #274 on: July 01, 2013, 06:05:09 pm »
thx for the history lesson, does this look like linksys router history thread ? ;-)
___________________
"all rights reversed :-)"
R0=-0x18;
UNLINK;
RTS;
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf