Author Topic: Hacking the Rigol DHO800/900 Scope  (Read 2539424 times)

stasalt, mattroidem and 86 Guests are viewing this topic.

Offline dzebrys

  • Contributor
  • Posts: 32
  • Country: pl
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4400 on: February 14, 2026, 03:19:22 pm »
Hello, after installing version NK-MOD-042, I am having trouble with the MemDepth setting. Only Auto can be set; everything else jumps to 100, but even Auto does not go above 100. Am I doing something wrong?

u need to reapply the license, this happens to me as well, sometimes scope loose the license. likely a bitflip after the sun was partying.
« Last Edit: February 14, 2026, 05:45:11 pm by dzebrys »
 

Offline mrisco

  • Frequent Contributor
  • **
  • Posts: 291
  • Country: pe
    • Github Profile
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4401 on: February 17, 2026, 06:34:44 pm »
A test of a panel in the DHOTools where is possible to show extra data calculations, in this case the THD (Total Harmonic Distortion) measurement.

https://www.reddit.com/r/ElectronicsNews/comments/1r7edw8/thd_calculus_using_python_and_the_dho804/

Offline LEER333

  • Contributor
  • Posts: 25
  • Country: hk
    • www.qq.com
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4402 on: March 01, 2026, 09:30:14 am »
The DHO8/9 series can now install the APP application by itself. However, there is one issue - the machine does not have a speaker. I would like to know if there is a simple way to add a speaker to the machine so that it can play sounds. Thank you!
 

Offline mmame

  • Contributor
  • Posts: 19
  • Country: ch
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4403 on: March 01, 2026, 09:23:09 pm »
I would like to know if there is a simple way to add a speaker to the machine so that it can play sounds.
Maybe add an USB "audio dongle"?
 

Offline stj

  • Super Contributor
  • ***
  • Posts: 2513
  • Country: gb
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4404 on: March 01, 2026, 09:34:50 pm »
it has "something" because it beeps when you press buttons,
if you can find how it's controlled you may be able to change the pitch or modulate it.

otherwise, yes - a usb "soundcard" and a small speaker - maybe even a mobile-phone speaker inside the dongle?
 

Offline sergoloer

  • Newbie
  • Posts: 1
  • Country: ru
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4405 on: March 04, 2026, 09:43:30 pm »
Does the hack described on the forum work for firmware 1.05?
 

Offline stj

  • Super Contributor
  • ***
  • Posts: 2513
  • Country: gb
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4406 on: March 04, 2026, 11:56:52 pm »
yes
 
The following users thanked this post: sergoloer

Offline hills

  • Newbie
  • Posts: 8
  • Country: cn
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4407 on: March 05, 2026, 11:13:07 am »
Update 05 January 2025: DHO824 support.
I decided to break down step by step the hack and upgrade of oscilloscopes of the DHO8xx/9xx series :) I translated it through Google, so please don’t scold me too much if you come across a translation error :)
Tools you will need:
  • USB-hub, any. You can buy a miniature one with 2-4 sockets and leave it on the oscilloscope permanently.
    (Attachment Link)
    A hub is needed so that you can connect a keyboard and WiFi at the same time. If you plan to connect to the network via cable, then a hub is not necessary.
  • Keyboard - regular USB or wireless with its own receiver plugged into USB. This one works great for me:
    (Attachment Link)
  • WiFi dongle or connecting to the network with a cable. In the case of WiFi, dongles based on the RTL8188EU chipset are suitable. This one definitely works:
    (Attachment Link)
     If you don’t want to bother with WiFi, you can connect to the network with a cable. In any case, you must have network access to the oscilloscope.
Software:
There are two ways to hack: 1 - turn your oscilloscope into an other model, 2 - generate options for it that expand its capabilities. In any case, the oscilloscope must be connected to the network and accessible over the network from the computer.
Important: The WiFi dongle must be connected to the oscilloscope before turning on the power, otherwise the oscilloscope will not see it.

Connect WiFi
  • Connect the WiFi dongle and keyboard, turn on the power to the oscilloscope.
  • After the oscilloscope is fully loaded, press the Win+N combination on the keyboard. This will cause the top curtain of Android to fall out, in which, among other things, there will be a settings gear.
    (Attachment Link)
  • Tap on this gear and you will be taken to the standard Android settings, where you will go to the WiFi settings.
  • Here you turn on Wi-Fi, wait until your network is detected (the network must be in the 2.4 GHz range), select it, enter the password and make sure that the connection is successful. Now you can use Alt+Tab to return to the oscilloscope application itself.
These settings will be saved even when the power is turned off, so if the WiFi dongle is connected, the oscilloscope will automatically connect to the network when turned on (and automatically update the current date/time, albeit with the Chinese time zone).

Attention! Before changing the oscilloscope model, you need to make sure that it has firmware version 00.01.02.00.02 or later installed, otherwise after changing the model from 8xx to 9xx you will get unpleasant vertical shifts on the channels.
To see the full version of the firmware, and not just its first three numbers, click the "About Product" item in the "Utility" menu three times in a row.
If the current firmware version is less than 00.01.02.00.02, then update the firmware before using hacks. You can download the firmware update here - https://www.rigolna.com/products/digital-oscilloscopes/dho900/.

1 - Changing the oscilloscope model
For example, you can turn the DHO804 into a DHO924, which will immediately have the appropriate bandwidth and maximum memory depth. Disadvantages of this method:
  • the inscription DHO814 will still remain on the face :))
  • a button for turning on the logic analyzer, which is in the 9xx series and not in the 8xx series, will be added to the interface below. There is nothing critical about this; you still won’t be able to turn it on; the message “The LA adapter is not connected".
How to do:
  • See the oscilloscope IP address in the menu:
    (Attachment Link)
  • Go to the directory with unpacked ADB and launch the command line there.
  • On the command line write the command:
    adb connect 192.168.1.171:55555
    Of course, replace the address 192.168.1.171 with the address of your oscilloscope.
  • Now write the command:
    adb pull /rigol/data
    When this command completes, the "data" directory will appear in the current directory. I recommend saving this directory with the original files as a backup, just in case.
  • From this “data” directory, copy two files into the directory with the unpacked utility “rigol_vendor_bin”: 1 - vendor.bin, 2 - Key.data or RKey.data (depending on the oscilloscope firmware version).
  • Go to the directory with the unpacked utility "rigol_vendor_bin" and write the command there:
    rigol_vendor_bin.exe -M DHO924
    Instead of the DHO924, you can substitute another model into which you want to turn your oscilloscope. Options:
    • DHO802
    • DHO804
    • DHO814
    • DHO824
    • DHO914
    • DHO914S
    • DHO924
    • DHO924S
  • As a result of the previous command, you should receive a vendor.enc file in the current directory. Copy it to the directory with ADB and rename it there to vendor.bin.
  • Go to the directory with ADB (in which you should already have a new vendor.bin file) and write the command there:
    adb push vendor.bin /rigol/data/
  • Reboot the oscilloscope and enjoy :)

2 - Generation of additional options that expand capabilities
With this method, the oscilloscope model remains the same, but you can expand the capabilities with additional options, which are usually sold for money :)
The first 5 points are similar to the previous method.
  • See the oscilloscope IP address in the menu:
    (Attachment Link)
  • Go to the directory with unpacked ADB and launch the command line there.
  • On the command line write the command:
    adb connect 192.168.1.171:55555
    Of course, replace the address 192.168.1.171 with the address of your oscilloscope.
  • Now write the command:
    adb pull /rigol/data
    When this command completes, the "data" directory will appear in the current directory. I recommend saving this directory with the original files as a backup, just in case.
  • From this “data” directory, copy two files into the directory with the unpacked utility “rigol_vendor_bin”: 1 - vendor.bin, 2 - Key.data or RKey.data (depending on the oscilloscope firmware version).
  • Go to the directory with the unpacked utility "rigol_vendor_bin" and write the command there:
    rigol_vendor_bin.exe -o >opts.txt
    This command will create a file "opts.txt", at the end of which a list of all options available for your model will be generated in the form of ready-made SCPI commands in the following form:
    :SYST:OPT:INST DHO900-BW15T25@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Instead of "x" there will be many different numbers and letters.
  • Open the page with the address of your oscilloscope in your browser and select the “SCPI Panel Control” item there:
    (Attachment Link)
  • Insert all the generated lines with options into the text field (one at a time) and click “Send & Read”. In response to an option that the oscilloscope recognizes, an “Option installed” notification will appear on its display. It seems that you can send several lines with options at once, but this is not 100% reliable.
  • Go to the “About” menu of the oscilloscope and enjoy the numbers of the new bandwidth, and in the Acquire settings you will be pleasantly surprised by the new memory depth :)

2 - Same as the previous one, alternative method
  • See the oscilloscope IP address in the menu:
    (Attachment Link)
  • From the directory of the unpacked utility "rigol_vendor_bin" copy the file "generate_all_options" to the directory with the unpacked ADB.
  • Go to the directory with unpacked ADB and launch the command line there.
  • On the command line write the command:
    adb connect 192.168.1.171:55555
    Of course, replace the address 192.168.1.171 with the address of your oscilloscope.
  • Now write the command:
    adb push generate_all_options /rigol/data/
    This will copy the "generate_all_options" file to the oscilloscope in the "/rigol/data" directory.
  • Launch the terminal to the oscilloscope in ADB:
    adb shell
    Now you should see the oscilloscope terminal command line with the following prompt - "rk3399_rigol:/$".
  • Here write the command:
    su
    The $ sign in the tooltip should change to #. This gives administrator rights to manipulate files.
  • Go to the "/rigol/data" directory:
    cd /rigol/data
  • Make the file "generate_all_options" in this directory executable:
    chmod 777 generate_all_options
  • Run the file "generate_all_options" for execution:
    ./generate_all_options
    As a result of executing this file, information about the operation of the program should appear in the terminal, something like this:
    Rigol 'vendor.bin' encoder/decoder v1.2 - Zelea
    -------------------------------------------------- ---------
    Model: DHO914
    SN: DHO9A25xxxxxxxx
    MAC: 0019xxxxxxxx
    -------------------------------------------------- ---------
    Generating options for DHO914
    -------------------------------------------------- ---------
    BW15T25 EMBD AUTO COMP BODE
    -------------------------------------------------- ---------

    To check, you can run the file list command:
    ls -l
    And make sure that files with the .lic extension appear:
    (Attachment Link)
  • Write the command:
    exit
    And repeat it again to exit to the command line of the operating system.
  • Reboot the oscilloscope, go to the oscilloscope's "About" menu and enjoy the new bandwidth numbers, and in the Acquire settings you will be pleasantly surprised by the new memory depth :)

Hey guys, I have created a script-based upgrade tool; simply running it enables the crack. Place all files in a single directory, then execute this .bat file. Note that all attachments must be placed in the same directory, as shown in my photo.
Code: [Select]
@echo off
chcp 437 >nul
title Rigol DHO800/900 Model Unlock Tool
cls

echo ======================================================
echo    Rigol DHO800/900 Model Unlock (Only vendor.bin)
echo ======================================================
echo.

:: Check required files
echo Checking files...
if not exist "adb.exe" (
    echo ERROR: Missing adb.exe
    pause
    exit /b 1
)
if not exist "rigol_vendor_bin.exe" (
    echo ERROR: Missing rigol_vendor_bin.exe
    pause
    exit /b 1
)
echo OK: Files are ready
echo.

:: Input IP once
set "SCOPE_IP="
set /p SCOPE_IP=Enter Oscilloscope IP:
if not defined SCOPE_IP (
    echo ERROR: No IP entered
    pause
    exit /b 1
)
set PORT=55555

echo.
echo Connecting to %SCOPE_IP%:%PORT%...
adb connect %SCOPE_IP%:%PORT%
if errorlevel 1 (
    echo ERROR: Connection failed
    pause
    exit /b 1
)
echo OK: Connected successfully
echo.

:: Select model
echo Select Target Model:
echo 1 - DHO824  [Recommended: 200MHz + 50Mpts Stable]
echo 2 - DHO924  [250MHz, may drift]
echo.
set "CHOICE="
set /p CHOICE=Enter 1/2:

if "%CHOICE%"=="1" set MODEL=DHO824
if "%CHOICE%"=="2" set MODEL=DHO924
if not defined MODEL (
    echo ERROR: Invalid input
    pause
    exit /b 1
)

echo.
echo Target Model: %MODEL%
echo Backing up current vendor.bin...
adb pull /rigol/data/vendor.bin vendor_backup_original.bin
echo OK: Backup completed
echo.

echo Modifying model...
rigol_vendor_bin.exe -M %MODEL% vendor_backup_original.bin
ren vendor.enc vendor.bin >nul 2>&1
echo.

echo Uploading new vendor.bin...
adb push vendor.bin /rigol/data/
echo.

echo Rebooting oscilloscope...
adb reboot
echo.
echo ======================================================
echo SUCCESS: Model changed to %MODEL%!
echo NOTE: After reboot, run: Utility → Calibration → Auto Calibration
echo ======================================================
echo.
pause
### Concise English Overview
This batch script enables one-click model unlocking/modification for Rigol DHO800/900 oscilloscopes (focused solely on `vendor.bin` edits, no extra plugins). It first verifies critical files (`adb.exe`, `rigol_vendor_bin.exe`), prompts for the oscilloscope’s IP (port 55555) and validates ADB connectivity, then lets users select a target model (DHO824: 200MHz/50Mpts, stable; DHO924: 250MHz, potential drift). The script safely backs up the original `vendor.bin`, modifies it via `rigol_vendor_bin.exe`, uploads the new file to the oscilloscope, and reboots the device to apply changes. It includes clear error prompts for issues like missing files/failed connections, and reminds users to run auto-calibration on the oscilloscope post-reboot. All files must be placed in the same directory for execution.
 
The following users thanked this post: sergoloer, oldthree

Offline hills

  • Newbie
  • Posts: 8
  • Country: cn
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4408 on: March 05, 2026, 11:22:37 am »
rigol_vendor_bin.exe and adb.exe are mandatory; all other files are not required as they are generated during the process. "vendor_backup_original" is a backup file. Please assess the risks on your own.
 
The following users thanked this post: sergoloer, N.Melo

Offline gabrovche

  • Newbie
  • Posts: 1
  • Country: de
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4409 on: March 08, 2026, 07:47:17 pm »
Hi hills,

thanks for your tool, but allow me small correction:

the line #71
Code: [Select]
rigol_vendor_bin.exe -M %MODEL% vendor_backup_original.bindoes not work as you expect - it does not return vendor.enc, that can be renamed in the following line #72, it returns instead vendor_backup_original.enc and then the next line quietly fails...
the concequence is that the push has no file to push to the scope and the upgrade fails!

The fix is to change the following line (#72) to:
Code: [Select]
copy vendor_backup_original.enc vendor.bin >nul 2>&1This will also leave the original and modified files for you as backup.

Have fun!  :-+
 
The following users thanked this post: N.Melo

Offline mrisco

  • Frequent Contributor
  • **
  • Posts: 291
  • Country: pe
    • Github Profile
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4410 on: March 09, 2026, 09:59:27 am »
DHOTools THD with dBV / Vrms selector and average disable for faster peak response.

https://www.youtube.com/shorts/t5JNUA2lfps

Offline hills

  • Newbie
  • Posts: 8
  • Country: cn
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4411 on: March 11, 2026, 08:03:12 am »
@gabrovche Thank you for pointing this out. At that time, I used it myself and it worked fine, so I didn't bother to carefully check the code.
I updated the code. I verified it with several AI to ensure there were no issues. Theoretically, it should be fine, but I don't have a device at hand to confirm it. Everyone can give it a try.
Code: [Select]
@echo off
:: 兼容中文/英文系统编码
chcp 936 >nul 2>&1 || chcp 437 >nul
title Rigol DHO800/900 Model Unlock Tool
cls

:: ===================== 日志初始化(避免无限追加)=====================
echo.>>unlock.log
echo ===== [%date% %time%] New Session Start =====>>unlock.log
echo [%date% %time%] Rigol DHO800/900 Unlock Tool Started >> unlock.log

echo ======================================================
echo    Rigol DHO800/900 Model Unlock (Only vendor.bin)
echo ======================================================
echo.

:: ===================== 必备文件检查 =====================
echo Checking required files...
if not exist "adb.exe" (
    echo ERROR: Missing adb.exe (ADB tool not found)
    echo [%date% %time%] Error: Missing adb.exe >> unlock.log
    pause
    exit /b 1
)
if not exist "rigol_vendor_bin.exe" (
    echo ERROR: Missing rigol_vendor_bin.exe (Model modify tool not found)
    echo [%date% %time%] Error: Missing rigol_vendor_bin.exe >> unlock.log
    pause
    exit /b 1
)
echo OK: All required files are ready
echo [%date% %time%] OK: Required files check passed >> unlock.log
echo.

:: ===================== 输入IP(规范set /p写法)=====================
set "SCOPE_IP="
set /p "SCOPE_IP=Enter Oscilloscope IP Address: "
if "%SCOPE_IP%"=="" (
    echo ERROR: No IP address entered (input cannot be empty)
    echo [%date% %time%] Error: Empty IP input >> unlock.log
    pause
    exit /b 1
)

:: ===================== 输入端口(简化处理,修复去空格缺陷)=====================
set "PORT="
set /p "PORT=Enter ADB Port (default: 55555, press Enter to use default): "
:: 仅判断空值,避免复杂去空格逻辑(端口输入空格概率极低,且空值已覆盖)
if "%PORT%"=="" set "PORT=55555"

echo [%date% %time%] Config: IP=%SCOPE_IP%, Port=%PORT% >> unlock.log
echo.
echo Connecting to %SCOPE_IP%:%PORT%...

:: ===================== ADB连接(优化友好性,显示排查信息)=====================
:: 发送连接命令
adb connect %SCOPE_IP%:%PORT% >nul 2>&1
:: 等待2秒确保连接完成
timeout /t 2 /nobreak >nul

echo Verifying connection status...
:: 双重筛选:IP:PORT + device状态
adb devices | findstr /C:"%SCOPE_IP%:%PORT%" | findstr /C:"device" >nul 2>&1
if errorlevel 1 (
    echo ERROR: ADB connection failed or device not ready
    echo.
    echo Current ADB devices list:
    adb devices
    echo.
    echo Possible reasons:
    echo 1. Scope ADB is not enabled (Utility -> IO -> ADB)
    echo 2. IP/Port incorrect
    echo 3. Firewall blocking connection
    echo [%date% %time%] Error: ADB connect failed to %SCOPE_IP%:%PORT% (not in device state) >> unlock.log
    pause
    exit /b 1
)

echo OK: Connected to %SCOPE_IP%:%PORT% successfully
echo [%date% %time%] OK: ADB connected to %SCOPE_IP%:%PORT% >> unlock.log
echo.

:: ===================== 模型选择(修正笔误,优化逻辑)=====================
echo Select Target Model:
echo 1 - DHO824  [Recommended: 200MHz + 50Mpts Stable]
echo 2 - DHO924  [250MHz, may drift]
echo.

:INPUT_CHOICE
set "CHOICE="
set /p "CHOICE=Enter only 1 or 2: "
if "%CHOICE%"=="1" set "MODEL=DHO824" & goto CHOICE_OK
if "%CHOICE%"=="2" set "MODEL=DHO924" & goto CHOICE_OK
echo ERROR: Invalid input! Only 1 or 2 is allowed.
goto INPUT_CHOICE

:CHOICE_OK
echo [%date% %time%] Selected Model: %MODEL% >> unlock.log
echo.
echo Target Model: %MODEL%
echo Backing up current vendor.bin from scope...

:: ===================== 备份原厂vendor.bin(增加大小检查)=====================
adb pull /rigol/data/vendor.bin vendor_backup_original.bin >nul 2>&1
if errorlevel 1 (
    echo ERROR: Failed to backup vendor.bin (check scope path or permissions)
    echo [%date% %time%] Error: ADB pull vendor.bin failed >> unlock.log
    pause
    exit /b 1
)

:: 验证备份文件是否存在
if not exist "vendor_backup_original.bin" (
    echo ERROR: Backup file vendor_backup_original.bin not found!
    echo [%date% %time%] Error: Backup file missing after pull >> unlock.log
    pause
    exit /b 1
)

:: 检查文件大小是否合理(vendor.bin 通常 > 1MB,防御性编程)
for %%F in ("vendor_backup_original.bin") do set BACKUP_SIZE=%%~zF
if %BACKUP_SIZE% LSS 1000000 (
    echo WARNING: Backup file size is suspiciously small (%BACKUP_SIZE% bytes)
    echo Original vendor.bin may be corrupted or incomplete
    set /p "CONTINUE=Continue anyway? (Y/N): "
    if /i not "%CONTINUE%"=="Y" exit /b 1
)

echo OK: vendor.bin backed up to vendor_backup_original.bin (%BACKUP_SIZE% bytes)
echo [%date% %time%] OK: vendor.bin backup completed (%BACKUP_SIZE% bytes) >> unlock.log
echo.

:: ===================== 生成修改后的文件(兼容多种输出文件名)=====================
echo Modifying model to %MODEL%...
rigol_vendor_bin.exe -M %MODEL% vendor_backup_original.bin >nul 2>&1
if errorlevel 1 (
    echo ERROR: Failed to modify model (check rigol_vendor_bin.exe or backup file)
    echo [%date% %time%] Error: rigol_vendor_bin.exe execution failed >> unlock.log
    pause
    exit /b 1
)

:: 兼容工具不同版本的输出文件名
set "OUTFILE="
if exist "vendor_backup_original.enc" set "OUTFILE=vendor_backup_original.enc"
if not defined OUTFILE if exist "vendor_backup_original.bin.enc" set "OUTFILE=vendor_backup_original.bin.enc"
if not defined OUTFILE if exist "vendor.bin" set "OUTFILE=vendor.bin"

:: 验证输出文件是否存在
if not defined OUTFILE (
    echo ERROR: Modified output file not found (tool output filename mismatch)
    echo [%date% %time%] Error: No valid modified file generated >> unlock.log
    pause
    exit /b 1
)

:: 统一复制为vendor.bin(加/y避免覆盖提示)
if /I not "%OUTFILE%"=="vendor.bin" (
    copy /y "%OUTFILE%" vendor.bin >nul 2>&1
    if errorlevel 1 (
        echo ERROR: Failed to copy modified file to vendor.bin
        echo [%date% %time%] Error: Copy to vendor.bin failed >> unlock.log
        pause
        exit /b 1
    )
)

echo OK: Model modified, vendor.bin generated successfully
echo [%date% %time%] OK: vendor.bin generated for %MODEL% >> unlock.log
echo.

:: ===================== 推送文件到示波器(兼容ADB版本)=====================
echo Uploading vendor.bin to scope...
:: 移除引号提升ADB shell兼容性,先删除旧文件
adb shell rm -f /rigol/data/vendor.bin >nul 2>&1
:: 推送新文件
adb push vendor.bin /rigol/data/ >nul 2>&1
if errorlevel 1 (
    echo ERROR: Failed to push vendor.bin to scope (check write permissions)
    echo [%date% %time%] Error: ADB push vendor.bin failed >> unlock.log
    pause
    exit /b 1
)

:: 二次验证:检查远端文件是否存在
adb shell ls -l /rigol/data/vendor.bin >nul 2>&1
if errorlevel 1 (
    echo ERROR: vendor.bin not found on scope after push
    echo [%date% %time%] Error: Remote vendor.bin missing >> unlock.log
    pause
    exit /b 1
)

echo OK: vendor.bin uploaded to scope successfully
echo [%date% %time%] OK: vendor.bin pushed to /rigol/data/ >> unlock.log
echo.

:: ===================== 发送重启命令(修复验证命令引号问题)=====================
echo Sending reboot command to scope...
adb reboot
echo.
echo Reboot command sent successfully!
echo Please wait 30-60 seconds for the scope to complete reboot.
echo ======================================================
echo OPERATION COMPLETED: Requested model change to %MODEL%
echo NOTE: After reboot, run: Utility → Calibration → Auto Calibration
echo To verify: adb connect %SCOPE_IP%:%PORT% ^&^& adb shell cat /proc/device-tree/model
echo Expected output: rigol,%MODEL%
echo ======================================================
echo [%date% %time%] Done: Reboot command sent for %MODEL% >> unlock.log
echo.

:: ===================== 临时文件清理(修复空值截取问题)=====================
set "CLEANUP="
set /p "CLEANUP=Clean up temporary files? (Y/N): "
:: 先判断Y/YES,避免空值截取失效
if /i "%CLEANUP%"=="Y" goto DO_CLEANUP
if /i "%CLEANUP%"=="YES" goto DO_CLEANUP
goto SKIP_CLEANUP

:DO_CLEANUP
del vendor_backup_original.bin 2>nul
del vendor_backup_original.enc 2>nul
del vendor_backup_original.bin.enc 2>nul
del vendor.bin 2>nul
echo OK: Temporary files deleted
echo [%date% %time%] Temporary files cleaned up >> unlock.log

:SKIP_CLEANUP

pause
:: 规范退出
exit /b 0
 
The following users thanked this post: N.Melo

Offline MiDi

  • Frequent Contributor
  • **
  • Posts: 825
  • Country: de
 

Offline stj

  • Super Contributor
  • ***
  • Posts: 2513
  • Country: gb
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4413 on: March 13, 2026, 02:00:05 pm »
image?
of what? the card ? the partition?
a description is usefull - specially on the github page.
 

Offline TUMEMBER

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: pl
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4414 on: March 13, 2026, 03:06:49 pm »
image?
of what? the card ? the partition?
a description is usefull - specially on the github page.
The card's contents are from an HDO 924S oscilloscope, I presume. But how do I write them to the card (directly into the reader in Windows 10—what program?) or only with Linux? An explanation would be helpful. I assume it's not a .gel file, meaning click and forget.
I downloaded it, but I don't know why I need it because I'm interested in one for the DHO 814 or 824. I don't want "functions and icons" that don't physically apply to the DHO 804 model.
« Last Edit: March 13, 2026, 03:09:52 pm by TUMEMBER »
W życiu nie ma nic za darmo, są tylko różne formy płatności.
Wciąż płacimy okruchami własnego czasu.
 

Offline stj

  • Super Contributor
  • ***
  • Posts: 2513
  • Country: gb
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4415 on: March 13, 2026, 04:01:20 pm »
the 800 and 900 have the same files on them, only the file describing the model is different.
"vendor.bin"
 

Offline ygi

  • Frequent Contributor
  • **
  • Posts: 267
  • Country: be
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4416 on: March 13, 2026, 04:43:47 pm »
The card's contents are from an HDO 924S oscilloscope, I presume. But how do I write them to the card (directly into the reader in Windows 10—what program?) or only with Linux? An explanation would be helpful. I assume it's not a .gel file, meaning click and forget.
I downloaded it, but I don't know why I need it because I'm interested in one for the DHO 814 or 824. I don't want "functions and icons" that don't physically apply to the DHO 804 model.

Yes, that's a full dump meant to be written from an external system (whereas a .gel file is only a differential update file meant to be used by the working oscilloscope). If your PC's running windows, you can extract the .xz archive with 7zip and write the ~30GB image with winimage.
Once your scope is running the 924 image, you can use the tool and follow instructions to turn it into an 824 and fix your serial number/MAC address : https://github.com/norbertkiszka/rigol_vendor_bin
Note: you need to enable adb first and to do that, you need a usb keyboard to access android settings. Once it's enabled, you can install any launcher and app that runs on android 7 (armv8).
 
The following users thanked this post: TUMEMBER

Online stasalt

  • Contributor
  • Posts: 10
  • Country: am
    • https://www.eevblog.com/forum/register2/
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4417 on: March 13, 2026, 08:48:22 pm »
The card's contents are from an HDO 924S oscilloscope, I presume. But how do I write them to the card (directly into the reader in Windows 10—what program?) or only with Linux? An explanation would be helpful. I assume it's not a .gel file, meaning click and forget.
I downloaded it, but I don't know why I need it because I'm interested in one for the DHO 814 or 824. I don't want "functions and icons" that don't physically apply to the DHO 804 model.

 and follow instructions to turn it into an 824 and fix your serial number/MAC address : https://github.com/norbertkiszka/rigol_vendor_bin

Tell us in more detail how to do this.
« Last Edit: March 13, 2026, 08:50:01 pm by stasalt »
 

Offline MiDi

  • Frequent Contributor
  • **
  • Posts: 825
  • Country: de
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4418 on: March 13, 2026, 11:13:56 pm »
Rigol DHO800/900 FW 1.05 Image (Recovery)

It is 1:1 dump of the system from SDCard for recovery, the description is in the Github release.
As a normal user you do not need it (only if Scope is bricked or SD failure).

The card's contents are from an HDO 924S oscilloscope, I presume. But how do I write them to the card (directly into the reader in Windows 10—what program?) or only with Linux? An explanation would be helpful. I assume it's not a .gel file, meaning click and forget.
I downloaded it, but I don't know why I need it because I'm interested in one for the DHO 814 or 824. I don't want "functions and icons" that don't physically apply to the DHO 804 model.

 and follow instructions to turn it into an 824 and fix your serial number/MAC address : https://github.com/norbertkiszka/rigol_vendor_bin

Tell us in more detail how to do this.


If you follow the link it is described in detail how to do it.
If you do not understand it, you need to point out what you do not understand:
Quote
Step-by-step guide:

    Install adb on your computer (if you haven't already)
    connect your scope to your local network and find its IP address then
    adb connect IP:55555
    adb -s IP:55555 pull /rigol/data/vendor.bin
    adb -s IP:55555 pull /rigol/data/RKey.data
    make sure that the generator and the 2 files you've downloaded are in the same directory and then generate all options
    rigol_vendor_bin -o
    open a browser and go to the scope IP address and click on SCPI commands
    copy and paste each option you desire installed in your browser and press "Send" (RLU for memory etc...)
    you won't get any confirmation in the browser but you'll see a message on your scope's display after each successful option is installed
 
The following users thanked this post: TUMEMBER, ygi, stasalt

Offline MiDi

  • Frequent Contributor
  • **
  • Posts: 825
  • Country: de
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4419 on: March 15, 2026, 11:54:15 pm »
Improved Web Control:
  • Resizeable
  • Remembers the last position & size
  • Fullscreen with double click
 
The following users thanked this post: thm_w, stj, rdtsc, ygi

Offline ygi

  • Frequent Contributor
  • **
  • Posts: 267
  • Country: be
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4420 on: March 17, 2026, 02:27:42 pm »
Improved Web Control:
  • Resizeable
  • Remembers the last position & size
  • Fullscreen with double click

Great job!
Since you're modding webcontrol, could you also fix the following untranslated UI strings:

assets/network-status.html line 136: There's a button 更改网络配置 translates to "Edit network settings"
assets/security.html line 130: 只能是字母、数字和下划线 translates to "Alphanumeric characters and underscores only."

Initially I also looked at assets/network-settings.html but there's no point changing labels when the code underneath's barely working.
Rigol's dev team can't be bothered with quality control when they sell to international customers, so here we are. :palm:
 

Offline Randy222

  • Super Contributor
  • ***
  • Posts: 1840
  • Country: ca
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4421 on: March 18, 2026, 10:04:33 pm »
A power question.

Does the 800/900 use VCONN from usb power line for anything? Or is it VBUS only?

I am right in middle of my power filter design, but I was only filtering VBUS.
 

Offline wond3r

  • Contributor
  • Posts: 22
  • Country: in
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4422 on: March 22, 2026, 01:42:52 pm »
Improved Web Control:
  • Resizeable
  • Remembers the last position & size
  • Fullscreen with double click
Do you have a screenshot of how the full screen looks like? I am just curious how it compares to the HDMI output. If they have the same quality then this change will save me a lot of trouble.
 

Offline ygi

  • Frequent Contributor
  • **
  • Posts: 267
  • Country: be
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4423 on: March 22, 2026, 06:26:04 pm »
Do you have a screenshot of how the full screen looks like? I am just curious how it compares to the HDMI output. If they have the same quality then this change will save me a lot of trouble.

It looks like an upscale but so does the HDMI output. In both cases, you don't get pixel perfect upscale so expect some blurriness. IMHO, they look very similar in 4K, though HDMI refreshes faster and is a lot lighter on the SoC.
 
The following users thanked this post: wond3r

Offline mrisco

  • Frequent Contributor
  • **
  • Posts: 291
  • Country: pe
    • Github Profile
Re: Hacking the Rigol DHO800/900 Scope
« Reply #4424 on: March 22, 2026, 07:47:06 pm »
Improved Web Control:
  • Resizeable
  • Remembers the last position & size
  • Fullscreen with double click
Do you have a screenshot of how the full screen looks like? I am just curious how it compares to the HDMI output. If they have the same quality then this change will save me a lot of trouble.

You can try the DHOVisor to have an idea: https://github.com/mriscoc/Sparrow-Extended-GUI-for-RIGOL-DHO800_DHO900/releases/tag/DHOvisor


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->