Products > Test Equipment

Possible GW Instek GDS-1000B hack

(1/52) > >>

wgoeo:
From the old brochure here, options such as serial bus decode, waveform search, and segmented memory are mentioned. But in the newest brochure in the GW Instek site, the options part is removed. I wonder why they stopped advertising that feature.

I looked at the 1.12 firmware I got here. It seems like the options and bandwidth upgrades (up to 300 MHz) can be unlocked using a file in a USB drive. I was wondering if someone is willing to share the newer firmware update (in case the unlock feature is removed) and possibly test the unlock files.

To those who want to do their own analysis, I included a Python script that extracts the files inside a .upg file. Run python extract.py [upg file]; the extracted files will be in the extract directory. You will then see the following:

boot.bin (u-boot)
kernel.img (Linux kernel)
rootfs.img (UBI image)
fpga-core.gz
gds1000b.elf

You can use UBI reader to extract the files from the UBI image.


--- Code: ---from __future__ import print_function
import sys
import os
import os.path
import struct

OUTDIR = 'extract'

try:
os.mkdir(OUTDIR)
except:
pass

f = open(sys.argv[1], 'rb')
assert f.read(4) == b'\xA5UPG'
f.seek(32)

while True:
assert f.read(4)[:2] == b'GW'
file_size, section_size = struct.unpack('<LL', f.read(8))
file_name = f.read(20).strip(b'\x00')[1:].decode('ascii')
print(file_name, file_size)
open(os.path.join(OUTDIR, file_name), 'wb').write(f.read(file_size))
if section_size != 0xffffffff:
f.seek(section_size - file_size, os.SEEK_CUR)
else:
break

--- End code ---

nctnico:
Interesting!
What would be more usefull is to figure out how to write your own add-on applications for these scopes.

saturation:
NICE!!! Looking forward to seeing your results.

wgoeo:
Looking for volunteers who would like to test the license generator on their GDS-1000B oscilloscope

I haven't tried this on a real scope since I don't have one. The instructions below are what I would do if I had access. Also your unit may be damaged. Proceed at your own risk and only if you are familiar with messing around a Linux shell.

First make a backup of /home/dso. Do this by connecting to the scope via ssh. Username is root, password is rd2423 (thank you wer). Insert a USB drive, then check that the drive is mounted by listing the files:

ls /mnt/usb

Backup the /home/dso directory to your USB drive:

cd /home
tar cf /mnt/usb/homedso.tar dso
sync

Eject the USB drive then check the homedso.tar.gz file.

Download the attached file named lis.txt, rename it to lis.html, then open it in a browser. Enter the serial number of your unit, click "Generate", then you will be presented with several links. Download them to your USB drive, then insert the drive back to the scope.

Open a .lis file in File Utilities. I'm not sure what happens next, but I think there should be some message. I suggest trying Serial Decode first, then see if that feature will appear. For the bandwidth upgrades, do some rise time/bandwidth tests before and after the upgrade.

I think it is sufficient to restore the /home/dso/OptionConf file if you want to remove the installed licenses.

nctnico:
Maybe we should turn this into a more generic GW Instek Zync scope hacking thread. The root password also works on my GDS2204E!
I've been browsing around a bit and found some interesting things like FRA (bode plot) which is likely applicable for the MSO2000 series. There are also quite a few Lua scripts floating around.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod