Author Topic: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China  (Read 493901 times)

0 Members and 19 Guests are viewing this topic.

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 9842
  • Country: ca
  • Non-expert
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1350 on: October 29, 2025, 09:48:18 pm »
I did a experimental version. As for now, only as a apk file. Later I will do a .GEL file.

Thank you for that. Could you help with the install process?
I did the stuff mentioned here: https://github.com/mriscoc/RIGOL_DHO800_DHO900_GUI/discussions/4
but stuck at this point:

Code: [Select]
C:\Downloads>adb install -g -r "Auklet.apk"
Performing Streamed Install
adb: failed to install Auklet.apk: Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE: Package couldn't be installed in /data/app/com.rigol.scope-1: Package com.rigol.scope has no signatures that match those in shared user android.uid.system; ignoring!]

Or is there a way to run it without installing it.
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1351 on: October 29, 2025, 10:11:00 pm »
adb: failed to install Auklet.apk: Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE: Package couldn't be installed in /data/app/com.rigol.scope-1: Package com.rigol.scope has no signatures that match those in shared user android.uid.system; ignoring!

That's exactly why I needed some dumps from the DHO1000/4000 to make a .GEL file which has Android hacks included. Which I did the same with DHO800/900.

Originally code in Android Package Manager checks if it's a app declared as a system app and checks if this has same encryption signature (key) as the whole system was signed.

There are two possibilities - either hack this PM or remove this:

Code: [Select]
android:sharedUserId="android.uid.system"
from the file AndroidManifest.xml in apk.

This second one not always works and if it will be installed, it will not have "system" privileges, which in this case means no screenshots from the app directly.



I was expecting DHO1000 and DHO4000 to use same exact system compilation, only with different framebuffer resolution, but I wasn't 100% sure.

DHO800 and DHO900 advantage is with everything being on a SD card - in case of worst case scenario, it can be fixed externally after removing it.

From what I know DHO1000 and DHO4000 uses MMC chip soldered directly on PCB and I didn't have any real contents from it, until recently - literally I was waiting 24h for anybody who will dump at least contents from /system/framework just to compare it with DHO800/900 and eventually make a new hack for it - if it's the same, I can use same prepared file, but if it's not, I have to make a new one.
 
The following users thanked this post: thm_w

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 9842
  • Country: ca
  • Non-expert
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1352 on: October 29, 2025, 11:10:24 pm »
Ah, sorry about this, stuck at rigol logo. If you get time to dig me out of this hole I appreciate it, but can wait until you finish your other work, no rush. Not sure if I should delete the -2 folders or remove them some other way.
Code: [Select]
rk3399_rigol:/ # pm uninstall com.rigol.scope
Success
rk3399_rigol:/data/app # pm uninstall --user 0 com.rigol.scope
Success
rk3399_rigol:/data/app # ls
com.rigol.en.floatbrowser-2 com.rigol.floatbrowser-2 com.rigol.launcher-2 com.rigol.webcontrol-2

F:\dho1000_backup\rigol\app>adb install -g -r "Auklet.apk"
Performing Streamed Install
Success

rk3399_rigol:/rigol # cd /data/app/
com.rigol.en.floatbrowser-2/            com.rigol.scope-1/
com.rigol.floatbrowser-2/               com.rigol.webcontrol-2/
com.rigol.launcher-2/

I attached the rigol data folder, I'll send a PM with the mmcblk2 link.
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1353 on: October 29, 2025, 11:32:01 pm »
This framework folder is identical between DHO800/900, Your and from previous person. Which means I can use the same hacked services.jar as I did with DHO800/900.

Before I will make the first .GEL, I will just upload services.jar, updated apk (with 50 ohm switch for DHO1000) and short instruction how to install it properly via adb.



From Your logcat:

Code: [Select]
PackageManager: Failed to parse /system/app/Auklet: Package com.rigol.scope at /system/app/Auklet ignored: updated version 1008000 better than this 1008000
Before installing it (with hacked PM or without), You should delete old app folders as below - also You can backup it just in case.

Code: [Select]
adb shell rm -rf /system/app/Auklet*
BTW. I think those mmc images (likely I only need to update DT at least for different LCD panel) should work on my scope, so I will be able to do a more reliable tests with .GEL without any worry to brick somebody scope (only in MMC memory...).
« Last Edit: October 30, 2025, 12:07:17 am by norbert.kiszka »
 
The following users thanked this post: thm_w

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1354 on: October 29, 2025, 11:59:30 pm »
It's published also with the instructions.

Tomorrow I will try to make my DHO924S to "think" that he is DHO1000 with those dumped images and I will prepare and test .GEL file.
 
The following users thanked this post: thm_w

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1355 on: October 30, 2025, 12:53:02 am »
I took a quick look at the Dave photos and looks like DHO1000 has exactly 4 times more memory for FPGA than DHO800/900. I think there is a huge chance to make a 200 Mpts instead of 100 Mpts.

Theoretically even 400 Mpts. It all depends on the FPGA firmware (app just sends required depth and other things). So I need to make two one additional experimental apks - at worst case scenario it will not work (or it will overwrite part of the memory - which will be visible on the waveform) after setting such depth.

BTW I found similar memory which probably will allow to use it in DHO800/900 to gain more sample rate without limited memory to not more than 15 kpts. With this limit I had everything working properly up to around 2.1 GSa/s (PLL 2.1 GHz) - right now I don't remember exact frequency.
 
The following users thanked this post: thm_w

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 9842
  • Country: ca
  • Non-expert
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1356 on: October 30, 2025, 01:25:00 am »
Appreciate the help, its loading now.

- 20M, 70M, 100M, 200M filter is working. 250M and OFF options are there but don't seem to extend the BW, so maybe they've limited it elsewhere.
- Power analysis appears working
- Logo gone is nice
- 50R relay works, and resistor is inside (50R measured from BNC), but 50R SelfCal box is greyed out, so has some offset
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 
The following users thanked this post: norbert.kiszka

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1357 on: October 30, 2025, 01:42:15 am »
so maybe they've limited it elsewhere.

I guess LC filters between AFE and ADC are around 200-250 MHz.

I found and I added 400 MHz filter for DHO800/900 by manipulating bits in one flag, but LC filters are at ~270 MHz. I have one channel with desoldered filters (~1 GHz bandwidth). But even with other channels I see significantly smaller noise when I change OFF to 400 MHz.

Maybe try it with some high frequency noise source or measure rise time if there is any change - I suggest to look into average value (reset stats after changing filter).

but 50R SelfCal box is greyed out, so has some offset

I will take a look into "greying out" code :)

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1358 on: October 30, 2025, 02:51:25 am »
After a quick research I found in this Utility view (programatically speaking) one "license" function (it was checking many ID's for some reason) and I hacked it to always return 1 - after this 50Ω is available and checked by default.

It's the only one change in v0.0.3 - let me know if this works.

Offline skander36

  • Frequent Contributor
  • **
  • Posts: 970
  • Country: ro
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1359 on: October 30, 2025, 07:36:59 am »
...

That's exactly why I needed some dumps from the DHO1000/4000 to make a .GEL file which has Android hacks included.

 ...
I have put from yesterday also the mmcblk2 dump in the same location. I have sent you PM.
 

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1360 on: October 30, 2025, 01:30:20 pm »
...

That's exactly why I needed some dumps from the DHO1000/4000 to make a .GEL file which has Android hacks included.

 ...
I have put from yesterday also the mmcblk2 dump in the same location. I have sent you PM.

Thank You. I noticed this earlier - I thought You uploaded this and forget to notice :) I also sent You PM.

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 9842
  • Country: ca
  • Non-expert
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1361 on: October 30, 2025, 09:59:46 pm »
The 50R can now be checked off, I ran self cal and now no offset on 50R mode. Nice work.

The 2.13 version has full BW which is how I noticed above. So the front end does not need to be modified, at least for 450MHz, but that would be interesting to try your modification in the future. Its something rigol changed to limit the BW in 2.14.

I was wrong before, if I set 20MHz, then set OFF, it goes to some intermediate state that looks very similar to 20MHz. So its setting some AFE values but maybe not all of them, or maybe not the correct ones.

If I set 200MHz then OFF there is no change, so whatever its doing is the same there.
If I look at the log its not calling DrvChannel_SetAfeBandLimit() in the case of 250MHz or OFF.

Code: [Select]
- Press 20MHz:
10-30 00:21:05.541  1307  1374 E [NK.SCOPE]: [drv_channel.cpp][DrvChannel_SetAfeBandLimit][1650]:CH1: CC_TRIM_MUX4:0, CC2_TRIM_MUX4: 0, BW_TRIM_MUX4: 5
10-30 00:21:05.544  1307  1374 E [NK.SCOPE]: [drv_channel.cpp][DrvChannel_SetBandLimit][1600]:DrvChannel_SetBandLimit:20M

- Press 200MHz:
10-30 00:23:54.658  1307  1374 E [NK.SCOPE]: [drv_channel.cpp][DrvChannel_SetAfeBandLimit][1650]:CH1: CC_TRIM_MUX4:3, CC2_TRIM_MUX4: 1, BW_TRIM_MUX4: 27
10-30 00:23:54.661  1307  1374 E [NK.SCOPE]: [drv_channel.cpp][DrvChannel_SetBandLimit][1233]:DrvChannel_SetBandLimit:200M

- Press OFF or 250MHz, does not call function:
10-30 00:30:30.235  1307  1374 E [NK.SCOPE]: [vertical_offset.cpp][ApiChannel_SetOffset][37]:ApiChannel_SetOffset offset=40000
10-30 00:30:30.239  1307  1374 E [NK.SCOPE]: [drv_scope.cpp][ConfigHorizontal][2691]: >>>> WavePlay main>>>>
10-30 00:30:30.241  1307  1374 E [NK.SCOPE]: [drv_scope.cpp][ConfigHorizontal][2692]:WavePlay:ChnMode     :1

So maybe its a change in there or DrvChannel_SetBandLimit(unsigned int, unsigned int, unsigned int)

I see some switch statements referring to "1000" and "4000" I guess that its how it differentiates the model.
Code: [Select]
case 3:
    if (iVar3 == 1000) {
LAB_002de780:
...
LAB_002de9d0:
      DrvChannel_SetAfeBandLimit
                (param_1,iVar3,iVar4,*(int *)(lVar8 + uVar7 * 0x60 + (ulong)(uVar15 | 0x350000)));
    }
    else {
      if (iVar3 == 4000) {
...  //HDO4000?
      }
      if (iVar3 == 2000) goto LAB_002de780;  //HDO2000?
    }
    if (lVar11 < 1000000000) {
      if ((lVar11 != 250000000) && (lVar11 == 500000000)) { 
        uVar15 = 0xb;
        goto LAB_002ded94;
      }
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1362 on: October 30, 2025, 10:16:22 pm »
Looks like I need to investigate bandwidth ID's between functions. I didn't modified one function, because same function in DHO800/900 was problematic for me at the beginning, but finally I modified it. I think the problem is here - let me check this.

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1363 on: October 30, 2025, 10:51:26 pm »
Now I see that OFF and 250 MHz options doesn't call function which sends data to the AFE.

I need to figure out where to make a jumps to bypass some conditions.
« Last Edit: October 31, 2025, 12:34:41 am by norbert.kiszka »
 
The following users thanked this post: thm_w

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1364 on: October 31, 2025, 02:40:21 am »
It's fixed with some extras.

Please confirm if it's ok or not so much.



BTW. After some optimizations would be nice to see waveform update rate - how much faster it is right now vs. stock app.
 
The following users thanked this post: thm_w

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1365 on: October 31, 2025, 02:50:54 am »
On the side note I noticed there is a lot of BW filters in AFE and ADC.

For example DHO800/900 has 125 MHz and MHO900 has 350 MHz and 500 MHz. Also MHO2000 has 350 MHz.

I need to make sure, but I think all of them has same AFE and ADC IC's.

It will be a lot of work to combine it together into one series mod. But I think it should be worth it.

And with some experiments with communication with those, maybe even more. Enum in UI part (compiled Java) has a huge number of BW filters.

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 9842
  • Country: ca
  • Non-expert
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1366 on: October 31, 2025, 10:21:56 pm »
It's fixed with some extras.

Incredible work, norbert has unlocked 1GHz!:


The 20MHz has some higher frequency leakage until switching to 70MHz then back to 20MHz, but I don't really care, this is amazing as it is.
As you said the AFE seems to have many filter options. I remember the older TI AFE they used before had only a few.

Quote
BTW. After some optimizations would be nice to see waveform update rate - how much faster it is right now vs. stock app.

I can't measure it currently, I'll bring some better equipment next week.

edit: -3dB in 50R mode measured at 900MHz using tinySA (not a clean sine source but should be close)
« Last Edit: November 01, 2025, 12:07:47 am by thm_w »
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 
The following users thanked this post: norbert.kiszka

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 3826
  • Country: gb
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1367 on: October 31, 2025, 10:47:43 pm »
I took a quick look at the Dave photos and looks like DHO1000 has exactly 4 times more memory for FPGA than DHO800/900. I think there is a huge chance to make a 200 Mpts instead of 100 Mpts.

Theoretically even 400 Mpts. It all depends on the FPGA firmware (app just sends required depth and other things).

The DHO1000 series ("max" 100MPts) seem to use the same FPGA and DDR as the DHO4000 series, which has 500MPts.
https://youtu.be/qEpkVa_ysaw?t=411
« Last Edit: October 31, 2025, 11:02:41 pm by voltsandjolts »
 
The following users thanked this post: norbert.kiszka

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1368 on: November 01, 2025, 12:24:19 am »
Incredible work, norbert has unlocked 1GHz!:

I was almost sure that DHO1000 has LC filters (SMD components close to ADC) calculated either for 200 MHz (-3 dB) or 800 MHz.

In earlier version (v0.0.3) I didn't read deassembled and decompiled code too much and I thought those 1000/4000 conditions are somehow related to actual hardware differences. After second look, it was clear that it's disabling possibility to use some filters.

The 20MHz has some higher frequency leakage until switching to 70MHz then back to 20MHz

I have to see if there is any call to ADC filters related to this. I still wonder how many more filters I will be able to "make". My DHO924S has exact the same AFE and ADC chip (with desoldered LC filters it has 1 GHz bandwith).

Some people was thinking that Im some idiot because "You can't measure such high bandwidth on a 1.25 GSa/s scope". But I know how ADC works and I know how I can measure bandwidth even beyond sample rate - maybe it's not very precise, but it is possible.

The DHO1000 series ("max" 100MPts) seem to use the same FPGA and DDR as the DHO4000 series, which has 500MPts.
https://youtu.be/qEpkVa_ysaw?t=411

Sounds like a plan to me :)

Im not 100% sure about FPGA being exactly the same - in the code it loads different FPGA firmware, which is selected by the "hdcode" which almost certainly is different between DHO1000 and DHO4000.

Of course hack of loading different image is simple - either copy file or make a symbolic link (Windows users probably don't know what are hard and symbolic links).
 
The following users thanked this post: thm_w

Offline skander36

  • Frequent Contributor
  • **
  • Posts: 970
  • Country: ro
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1369 on: November 01, 2025, 08:30:38 am »
...

almost certainly is different between DHO1000 and DHO4000.

...

Is different because it has to use both ADC's in DHO4000.
This is why vendor.bin method can't be used, it doubled or halves measurement values. But visually you can observe the same amplitude until 900 MHz using one channel.
Also this mod activate 500 Mpts of memory so it can a base for you to try to activate it with your mod, although I am not sure if there are really 500 Mpts on DHO1000 board.

P.S. Modified MB with Mpts
« Last Edit: November 01, 2025, 10:47:38 am by skander36 »
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 3826
  • Country: gb
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1370 on: November 01, 2025, 09:26:34 am »
According to Dave's video that I linked, the FPGA IC is the same and the DDR is equivalent, to the DHO4000.
Dave states that at the video time I linked.
Yes, the FPGA bitstream will be different - so maybe Rigol hardcoded a 100Mpts limit in the DHO1000 bitstream?

Dave Photo Albums with HDO1K and 4K:
https://www.flickr.com/photos/eevblog/albums/with/72177720307943576
« Last Edit: November 01, 2025, 12:14:45 pm by voltsandjolts »
 

Offline indeterminate

  • Regular Contributor
  • *
  • Posts: 216
  • Country: au
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1371 on: November 01, 2025, 09:36:40 am »
The 1000 & 4000 both use 4x Micron MT41K256M16TW-107:P dram chips
IC DRAM 4GBIT PAR 96FBGA
organized as 256M x 16

 

Offline skander36

  • Frequent Contributor
  • **
  • Posts: 970
  • Country: ro
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1372 on: November 01, 2025, 10:52:25 am »
...

Minor typo there; you meant 500Mpts (not MB). There is 2GB total memory attached to FPGA (on DHO1K and 4K).

Yes you are right. I've modified in post.
With vendor.bin mod when you choose 500 Mpts in acquisition menu, the acquisition will slow more that whith 100 Mpts, as with any other scope when you increase memory to similar level.
 

Offline gf

  • Super Contributor
  • ***
  • Posts: 1832
  • Country: de
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1373 on: November 01, 2025, 12:56:18 pm »
Some people was thinking that Im some idiot because "You can't measure such high bandwidth on a 1.25 GSa/s scope". But I know how ADC works and I know how I can measure bandwidth even beyond sample rate - maybe it's not very precise, but it is possible.

The sample rate is, of course, not the problem if you measure a CW test signal. But do DHO800/900 have a true 50 Ohm input? An external terminator forms a lowpass with the input capacitance of the hi-Z input, and 25 Ohm || 15...10pF gives roughly 400...600 Mhz cutoff.
 

Offline norbert.kiszka

  • Super Contributor
  • ***
  • !
  • Posts: 1132
  • Country: pl
Re: Rigol HDO1000 and HDO4000 12bit oscilloscopes launched in China
« Reply #1374 on: November 01, 2025, 03:29:27 pm »
Some people was thinking that Im some idiot because "You can't measure such high bandwidth on a 1.25 GSa/s scope". But I know how ADC works and I know how I can measure bandwidth even beyond sample rate - maybe it's not very precise, but it is possible.

The sample rate is, of course, not the problem if you measure a CW test signal. But do DHO800/900 have a true 50 Ohm input? An external terminator forms a lowpass with the input capacitance of the hi-Z input, and 25 Ohm || 15...10pF gives roughly 400...600 Mhz cutoff.

I told it here hundreds times. I have modified one channel - including added permanently 50 ohm by soldering four resistors into soldering pads of a BNC socket.

Also I was providing square wave from logic gate soldered directly into BNC plug.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->