Author Topic: Siglent SDS2000X Plus Hack  (Read 152936 times)

0 Members and 2 Guests are viewing this topic.

Offline miyagiTopic starter

  • Contributor
  • Posts: 12
  • Country: jp
Siglent SDS2000X Plus Hack
« on: May 28, 2020, 01:17:58 am »
Thank you for some members, there is a quick and easy way to hack Siglent SDS2000X Plus. I open this dedicated post for new owners of SDS2000X+, who may want to hack it. And if there will be some changes of the hack method, we can also discuss at here.

https://www.eevblog.com/forum/testgear/siglent-sds2000x-plus-coming/msg3040998/#msg3040998

Kengen link
https://repl.it/repls/DirectProbableTwintext
 
The following users thanked this post: EEVblog, egonotto, Elasia, Johnny B Good, Martin72, goldsun, Scott Holmes, stafil, tnn85, echo99, Bravo

Online Martin72

  • Super Contributor
  • ***
  • Posts: 5673
  • Country: de
  • Testfield Technician
Re: Siglent SDS2000X Plus Hack
« Reply #1 on: May 30, 2020, 10:32:28 pm »
Hi,

I´ll take this to my Threadlist....

Martin
 
The following users thanked this post: Bravo

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #2 on: June 02, 2020, 12:31:23 am »
I just dumped the Linux boot:

Code: [Select]
Start menu vdma ...
Config AXI VDMA...
Start menu vdma done.


U-Boot 2014.07-svn72330 (Aug 06 2019 - 22:37:18)

Board:  Xilinx Zynq
I2C:   ready
DRAM:  ECC disabled 496 MiB
NAND:  256 MiB
MMC:   zynq_sdhci: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
int board_late_init(void)+++++
[INFO]int fb_display_logo(void)++++++++++++
[INFO]pStorageMem=0x1fa00000, logo_data=0x200036, width=1024, height=600
 [INFO]int fb_display_logo(void)----------
int board_late_init(void)-----
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1:   ULPI request timed out
zynq ULPI viewport init failed
lowlevel init failed
       scanning usb for storage devices... 0 Storage Device(s) found
Copying Linux from USB to RAM...
** Bad device usb 0 **
** Bad device usb 0 **
Copying Linux from NAND flash to RAM...

NAND read: device 0 offset 0x780000, size 0x400000
 4194304 bytes read: OK

NAND read: device 0 offset 0xb80000, size 0x80000
 524288 bytes read: OK
## Booting kernel from Legacy Image at 02080000 ...
   Image Name:   Linux-3.19.0-01-svn165603
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3713480 Bytes = 3.5 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02000000
   Booting using the fdt blob at 0x2000000
EHCI failed to shut down host controller.
   Loading Kernel Image ... OK
   Loading Device Tree to 1dd0d000, end 1dd13e1b ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.19.0-01-svn165603 (xielindong@david-virtual-machine) (gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-50) ) #192 SMP PREEMPT Tue Aug 6 23:16:29 CST 2019
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Zynq Zed Development Board
[    0.000000] cma: Reserved 16 MiB at 0x1e000000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] PERCPU: Embedded 9 pages/cpu @5dfd0000 s8128 r8192 d20544 u36864
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 125984
[    0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mtdblock5 rootfstype=cramfs init=/linuxrc earlyprintk uboot_version=05
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 479828K/507904K available (4638K kernel code, 234K rwdata, 1800K rodata, 200K init, 223K bss, 11692K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x5f800000 - 0xff000000   (2552 MB)
[    0.000000]     lowmem  : 0x40000000 - 0x5f000000   ( 496 MB)
[    0.000000]     pkmap   : 0x3fe00000 - 0x40000000   (   2 MB)
[    0.000000]     modules : 0x3f000000 - 0x3fe00000   (  14 MB)
[    0.000000]       .text : 0x40008000 - 0x40651d7c   (6440 kB)
[    0.000000]       .init : 0x40652000 - 0x40684000   ( 200 kB)
[    0.000000]       .data : 0x40684000 - 0x406beae0   ( 235 kB)
[    0.000000]        .bss : 0x406beae0 - 0x406f6a44   ( 224 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 1 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
[    0.000000] slcr mapped to 5f804000
[    0.000000] zynq_clock_init: clkc starts at 5f804100
[    0.000000] Zynq clock init
[    0.000010] sched_clock: 64 bits at 383MHz, resolution 2ns, wraps every 2868291043328ns
[    0.000117] timer #0 at 5f806000, irq=17
[    0.000446] Console: colour dummy device 80x30
[    0.000464] Calibrating delay loop... 1528.62 BogoMIPS (lpj=7643136)
[    0.090219] pid_max: default: 32768 minimum: 301
[    0.090357] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090370] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090945] CPU: Testing write buffer coherency: ok
[    0.091135] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.091208] Setting up static identity map for 0x45fe58 - 0x45feb0
[    0.190210] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.190281] Brought up 2 CPUs
[    0.190298] SMP: Total of 2 processors activated (3057.25 BogoMIPS).
[    0.190306] CPU: All CPU(s) started in SVC mode.
[    0.190776] devtmpfs: initialized
[    0.191512] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.196761] NET: Registered protocol family 16
[    0.198696] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.221112] cpuidle: using governor ladder
[    0.251082] cpuidle: using governor menu
[    0.258643] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.258658] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.258787] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x5f880000
[    0.275148] vgaarb: loaded
[    0.275558] SCSI subsystem initialized
[    0.275939] usbcore: registered new interface driver usbfs
[    0.276022] usbcore: registered new interface driver hub
[    0.276103] usbcore: registered new device driver usb
[    0.276247] phy0 supply vcc not found, using dummy regulator
[    0.276333] phy1 supply vcc not found, using dummy regulator
[    0.276444] --------------usb_udc_init ------
[    0.276686] pps_core: LinuxPPS API ver. 1 registered
[    0.276696] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti[member=183778]linux[/member].it>
[    0.276742] PTP clock support registered
[    0.276982] EDAC MC: Ver: 3.0.0
[    0.278788] Switched to clocksource arm_global_timer
[    0.278832] cfg80211: Calling CRDA to update world regulatory domain
[    0.289700] NET: Registered protocol family 2
[    0.290403] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.290475] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.290565] TCP: Hash tables configured (established 4096 bind 4096)
[    0.290611] TCP: reno registered
[    0.290626] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.290655] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.290856] NET: Registered protocol family 1
[    0.291161] RPC: Registered named UNIX socket transport module.
[    0.291172] RPC: Registered udp transport module.
[    0.291180] RPC: Registered tcp transport module.
[    0.291186] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.291580] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    0.292801] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.294327] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.294464] fuse init (API version 7.23)
[    0.295456] io scheduler noop registered
[    0.295473] io scheduler deadline registered
[    0.295519] io scheduler cfq registered (default)
[    0.297397] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
[    0.297415] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[    0.297877] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 146, base_baud = 6249999) is a xuartps
[    0.880719] console [ttyPS0] enabled
[    0.884857] xdevcfg f8007000.devcfg: ioremap 0xf8007000 to 5f878000
[    0.891560] [drm] Initialized drm 1.1.0 20060810
[    0.903247] brd: module loaded
[    0.909902] loop: module loaded
[    0.917058] libphy: MACB_mii_bus: probed
[    0.998878] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 149 (00:0a:35:00:01:22)
[    1.008750] macb e000b000.ethernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=e000b000.etherne:1e, irq=-1)
[    1.020233] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.026684] ehci-pci: EHCI PCI platform driver
[    1.031266] usbcore: registered new interface driver usbtmc
[    1.036836] usbcore: registered new interface driver usb-storage
[    1.042972] e0002000.usb supply vbus not found, using dummy regulator
[    1.049670] ci_hdrc ci_hdrc.0: EHCI Host Controller
[    1.054482] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[    1.078756] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[    1.084216] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.090950] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.098125] usb usb1: Product: EHCI Host Controller
[    1.103000] usb usb1: Manufacturer: Linux 3.19.0-01-svn165603 ehci_hcd
[    1.109508] usb usb1: SerialNumber: ci_hdrc.0
[    1.114417] hub 1-0:1.0: USB hub found
[    1.118111] hub 1-0:1.0: 1 port detected
[    1.122498] e0003000.usb supply vbus not found, using dummy regulator
[    1.130731] mousedev: PS/2 mouse device common for all mice
[    1.136240] <<-GTP-INFO->> GTP driver installing...
[    1.141305] i2c /dev entries driver
[    1.146712] rtc-ds1307 0-0068: rtc core: registered ds1340 as rtc0
[    1.153387] <<-GTP-INFO->> GTP Driver Version: V2.4<2014/11/28>
[    1.159240] <<-GTP-INFO->> GTP Driver Built@23:12:41, Aug  6 2019
[    1.165296] <<-GTP-INFO->> GTP I2C Address: 0x14
[    1.169972] 0-0014 supply vdd_ana not found, using dummy regulator
[    1.176101] 0-0014 supply vcc_i2c not found, using dummy regulator
[    1.182304] <<-GTP-INFO->> Guitar reset
[    1.309207] <<-GTP-INFO->> IC Version: 928_1060
[    1.314287] <<-GTP-INFO->> Sensor_ID: 0
[    1.318040] <<-GTP-ERROR->> Failed to parse config data form device tree.
[    1.324906] <<-GTP-ERROR->> GTP init panel failed.
[    1.329635] <<-GTP-INFO->> create proc entry gt9xx_config success
[    1.335901] input: goodix-ts as /devices/virtual/input/input0
[    1.341791] <<-GTP-INFO->> GTP works in interrupt mode.
[    1.346948] cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 144
[    1.353696] lm75 0-0048: hwmon0: sensor 'adt75'
[    1.359194] zynq-edac f8006000.memory-controller: ecc not enabled
[    1.365373] Xilinx Zynq CpuIdle Driver started
[    1.370301] ledtrig-cpu: registered to indicate activity on CPUs
[    1.376485] usbcore: registered new interface driver usbhid
[    1.382096] usbhid: USB HID core driver
[    1.385962] usbcore: registered new interface driver r8188eu
[    1.392302] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
[    1.398571] nand: Micron MT29F2G08ABAEAWP
[    1.402598] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.410135] nand: WARNING: pl353-nand: the ECC used on your system is too weak compared to the one required by the NAND chip
[    1.421601] Bad block table found at page 131008, version 0x01
[    1.427816] Bad block table found at page 130944, version 0x01
[    1.433905] 10 ofpart partitions found on MTD device pl353-nand
[    1.439805] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[    1.446188] Creating 10 MTD partitions on "pl353-nand":
[    1.451441] 0x000000000000-0x000000780000 : "fsbl"
[    1.457148] 0x000000780000-0x000000b80000 : "kerneldata"
[    1.463308] 0x000000b80000-0x000000c00000 : "device-tree"
[    1.469463] 0x000000c00000-0x000001100000 : "Manufacturedata"
[    1.475978] 0x000001100000-0x000001600000 : "reserved1"
[    1.482017] 0x000001600000-0x000002a00000 : "rootfs"
[    1.487783] 0x000002a00000-0x000003400000 : "firmdata0"
[    1.493824] 0x000003400000-0x00000a200000 : "siglent"
[    1.499858] 0x00000a200000-0x00000fc00000 : "datafs"
[    1.505738] 0x00000fc00000-0x000010000000 : "reserved2"
[    1.513688] TCP: cubic registered
[    1.516926] NET: Registered protocol family 17
[    1.521388] lib80211: common routines for IEEE802.11 drivers
[    1.527308] Registering SWP/SWPB emulation handler
[    1.533808] rtc-ds1307 0-0068: setting system clock to 2020-06-02 08:18:52 UTC (1591085932)
[    1.546668] cramfs_fill_nand blocks is 160-----------------------
[    1.546668]
[    1.546668]
[    1.546668]
[    1.559627] VFS: Mounted root (cramfs filesystem) readonly on device 31:5.
[    1.566468] devtmpfs: mounted
[    1.569783] Freeing unused kernel memory: 200K (40652000 - 40684000)
[    1.599337] usb 1-1: New USB device found, idVendor=0424, idProduct=2514
[    1.605968] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.613884] hub 1-1:1.0: USB hub found
[    1.617718] hub 1-1:1.0: 2 ports detected
Starting rcS...
 Mounting filesystem
[    1.948456] UBI-0: ubi_attach_mtd_dev:attaching mtd8 to ubi0
[    2.291832] UBI-0: scan_all:scanning is finished
[    2.303543] UBI-0: ubi_attach_mtd_dev:attached mtd8 (name "datafs", size 90 MiB)
[    2.310901] UBI-0: ubi_attach_mtd_dev:PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.319461] UBI-0: ubi_attach_mtd_dev:min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.327952] UBI-0: ubi_attach_mtd_dev:VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.336646] UBI-0: ubi_attach_mtd_dev:good PEBs: 720, bad PEBs: 0, corrupted PEBs: 0
[    2.344380] UBI-0: ubi_attach_mtd_dev:user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.353310] UBI-0: ubi_attach_mtd_dev:max/mean erase counter: 7/2, WL threshold: 4096, image sequence number: 1124879481
[    2.364161] UBI-0: ubi_attach_mtd_dev:available PEBs: 0, total reserved PEBs: 720, PEBs reserved for bad PEB handling: 40
[    2.375111] UBI-0: ubi_thread:background thread "ubi_bgt0d" started, PID 665
[    2.379086] UBI-1: ubi_attach_mtd_dev:attaching mtd7 to ubi1
[    2.794881] UBI-1: scan_all:scanning is finished
[    2.806840] UBI-1: ubi_attach_mtd_dev:attached mtd7 (name "siglent", size 110 MiB)
[    2.814348] UBI-1: ubi_attach_mtd_dev:PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.822932] UBI-1: ubi_attach_mtd_dev:min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.831437] UBI-1: ubi_attach_mtd_dev:VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.840122] UBI-1: ubi_attach_mtd_dev:good PEBs: 880, bad PEBs: 0, corrupted PEBs: 0
[    2.847832] UBI-1: ubi_attach_mtd_dev:user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.856784] UBI-1: ubi_attach_mtd_dev:max/mean erase counter: 5/1, WL threshold: 4096, image sequence number: 1618119446
[    2.867633] UBI-1: ubi_attach_mtd_dev:available PEBs: 0, total reserved PEBs: 880, PEBs reserved for bad PEB handling: 40
[    2.878582] UBI-1: ubi_thread:background thread "ubi_bgt1d" started, PID 669
[    2.888773] UBI-2: ubi_attach_mtd_dev:attaching mtd6 to ubi2
[    2.931980] UBI-2: scan_all:scanning is finished
[    2.942379] UBI-2 warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 9, need 40
[    2.953344] UBI-2: ubi_attach_mtd_dev:attached mtd6 (name "firmdata0", size 10 MiB)
[    2.960953] UBI-2: ubi_attach_mtd_dev:PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.969522] UBI-2: ubi_attach_mtd_dev:min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.978014] UBI-2: ubi_attach_mtd_dev:VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.986715] UBI-2: ubi_attach_mtd_dev:good PEBs: 80, bad PEBs: 0, corrupted PEBs: 0
[    2.994347] UBI-2: ubi_attach_mtd_dev:user volume: 1, internal volumes: 1, max. volumes count: 128
[    3.003310] UBI-2: ubi_attach_mtd_dev:max/mean erase counter: 3/1, WL threshold: 4096, image sequence number: 1498106769
[    3.014156] UBI-2: ubi_attach_mtd_dev:available PEBs: 0, total reserved PEBs: 80, PEBs reserved for bad PEB handling: 9
[    3.024976] UBI-2: ubi_thread:background thread "ubi_bgt2d" started, PID 673
[    3.106569] UBIFS: mounted UBI device 1, volume 0, name "siglent", R/O mode
[    3.113469] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    3.122575] UBIFS: FS size: 104755200 bytes (99 MiB, 825 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[    3.132292] UBIFS: reserved for root: 0 bytes (0 KiB)
[    3.137322] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 08B2ABD4-1A1E-4DF4-9158-DC2A5EC267D7, small LPT model
[    3.200687] UBIFS: mounted UBI device 2, volume 0, name "firm0", R/O mode
[    3.207393] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    3.216534] UBIFS: FS size: 7237632 bytes (6 MiB, 57 LEBs), journal size 1650688 bytes (1 MiB, 13 LEBs)
[    3.225893] UBIFS: reserved for root: 0 bytes (0 KiB)
[    3.230929] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 404D2EC9-F719-4064-9936-52B4861B89F6, small LPT model
[    3.244652] UBIFS: background thread "ubifs_bgt0_0" started, PID 678
[    3.274545] UBIFS: recovery needed
[    3.352146] UBIFS: recovery completed
[    3.355797] UBIFS: mounted UBI device 0, volume 0, name "datafs"
[    3.361738] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    3.370842] UBIFS: FS size: 84439040 bytes (80 MiB, 665 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[    3.380471] UBIFS: reserved for root: 0 bytes (0 KiB)
[    3.385501] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 927FB5FE-9078-46E4-8BB5-01A513E5E925, small LPT model
Upgrade start
 Configure eth0
Starting mdev
udhcpc (v1.20.1) started
Sending discover...
[    4.214498] xilinx-dma 40400000.dma: Probing xilinx axi dma engine...Successful
[    4.239650] xilinx-vdma 43010000.dma: Xilinx AXI VDMA Engine Driver Probed!!
[    4.253215] sigdma_init++++++
[    4.279109] siglentkb probe
[    4.281898] ##### siglentkb registers 5fa9e580 5faba5a4 5fabc5b8
[    4.303161] usbcore: registered new interface driver mt7601u
[    4.314912] irq = 169
[    4.337361] sigirq_init++++++
[    4.340693] sigirq_cpld++
[    4.343255] irq = 172
[    4.345785] sigirq_cpld--
config read
###### Config vdma for wave transform #######
config write
config read
dump s2mm registers
dump mm2s registers
####### done! ########
Config vnc  data to memory
Config done!
/lib:/usr/lib:/usr/bin/siglent/lib/qt/lib:/usr/bin/siglent/lib
[    4.677395] UBIFS: background thread "ubifs_bgt1_0" started, PID 799
ln: /usr/bin/siglent/config/www/web_img/usr: File exists
Starting Lighttpd Web Server: Initializing framebuffer device /dev/fb0...
xres=1024, yres=600, xres[    4.738195] input: PolyVision Touch Screen as /devices/virtual/input/input1
v=1024, yresv=600, xoffs=0, yoffs=0, bpp=16
Initializing touch device /dev/input/event0 ...
Reading From :(goodix-ts)
buttonMask: xmin:0
xmax: 1024
ymin:0
ymax: 600
Initializing VNC server:
        width:  1024
        height: 600
        bpp:    16
        port:   5900
Initializing server...
02/06/2020 08:18:55 Listening for VNC connections on TCP port 5900
[    4.785407] random: lighttpd urandom read with 17 bits of entropy available
lighttpd.
[    4.914355] UBIFS: background thread "ubifs_bgt1_0" stops
rcS Complete
/ # Sending discover...
[INFO]:calibrate_t():line=81:calibrate_t::calibrate_t()
[    8.852781] random: nonblocking pool is initialized
ACQ1 done_value++
Sending discover...
ACQ2 done_value++
MSO done_value++
product_type SDS2004X_PLUS
[INFO]:qui_main():line=183: ms = 12544
mkdir: can't create directory '/usr/bin/siglent/usr/wifi/': File exists
rm: can't remove '/usr/bin/siglent/usr/wifi/wpa_supplicant': No such file or directory
-------------------------OCL init failed.-------------
No lease, failing
[   12.925507] <<-GTP-INFO->> System resume.
[   12.925519] gpio-926 (GTP INT IRQ): _gpiod_direction_output_raw: tried to set a GPIO tied to an IRQ as output
[   12.938943] <<-GTP-INFO->> GTP wakeup sleep.
[   12.938951] gpio-926 (GTP INT IRQ): _gpiod_direction_output_raw: tried to set a GPIO tied to an IRQ as output
[   12.978754] <<-GTP-INFO->> Error occured in init_panel, no config sent
rotationAngle:  0 invertx:  false inverty:  false
Fontconfig warning: line 142: blank doesn't take any effect anymore. please remove it from your fonts.conf
rotationAngle:  0 invertx:  false inverty:  false

@@@ board_init @@@

[INFO]:GetMcuId():line=891: CMcuSpj::GetMcuId  ret =-1

Scope ID: 00 00 00 00 00 00 00 00 00 00 00 00
8dd6-bb73-29a7
ScopeID(64): 4914a72973bbd68d
[INFO]:qui_main():line=206:@ QuiParaFanCtrl = 0
sh: write error: Invalid argument
[   18.423355] cpldirq_open++
[   18.428713] cpldirq_open--
drv_instance_manage_t: produce_id: 16001
(DRV_PRODUCT_SDS2000XPLUS_SDG)
_drv_product=5
sh: can't create /mnt/ota/bug.txt: nonexistent directory
[   18.961189] export_store: invalid GPIO 115
sh: write error: Invalid argument
sh: can't create /sys/class/gpio/gpio115/direction: nonexistent directory
sh: can't create /sys/class/gpio/gpio115/value: nonexistent directory
+++++++++++++++++++++++   load_cali_data   ++++++++++++++++++++++++
[INFO]:load_cali_data():line=1561:sds2000xplus_awg  OK!!!!!!!!!!!!!!
[INFO]:initialize():line=1474:cali_data_sds2000xplus_awg_t::initialize()--------
Fontconfig warning: line 142: blank doesn't take any effect anymore. please remove it from your fonts.conf
T1 CH3_SKEW = 62.000000 ns
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
T2 CH3_SKEW = 62.000000 ns

                                                       $Task start:: awg_thread

                                                       $Task start:: usbtmc_interrupt_thread
 color_setup == null
Unknown property hight
Unknown property hight
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
[INFO]:qui_main():line=220:@ ms = 30755
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
usbtmc_para = insmod /usr/bin/siglent/drivers/g_usbtmc.ko idVendor=0xf4ec idProduct=0x1011 iManufacturer=Siglent iProduct=SDS2354XPlus iSerialNum=SDS2PCBC4R0071
[   35.395239] ######################### usb_gadget_probe_driver 3f05b46c ##################
[   35.403419] usbtmc_bind+++
[   35.408292] SIGLENT_DEV: SIGLENT_DEV, version: 2007 OCT 06
[   35.414864] usbtmc_open()++
[   35.417611] dev->usbtmc_cdev_open ret = 0
[   35.421636] ret = 0
[   35.423659] usbtmc_open--
[   35.426397] show_send_buffer_size = 61440
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
 
The following users thanked this post: Eliminateur

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #3 on: June 02, 2020, 02:32:35 am »
Kengen link
https://repl.it/repls/DirectProbableTwintext

Both that link and this link produce the same result
https://repl.it/repls/ElasticEnormousMice
I'm putting in the ScopeID(64) from the boot log and trying the generated code for option 4BW05 but no joy.
Any ideas?

 
The following users thanked this post: Johnny B Good

Online tautech

  • Super Contributor
  • ***
  • Posts: 28138
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Siglent SDS2000X Plus Hack
« Reply #4 on: June 02, 2020, 03:12:11 am »
Kengen link
https://repl.it/repls/DirectProbableTwintext

Both that link and this link produce the same result
https://repl.it/repls/ElasticEnormousMice
I'm putting in the ScopeID(64) from the boot log and trying the generated code for option 4BW05 but no joy.
Any ideas?
The ScopeID called for is a hexadecimal string retrievable from the scope with an unpublished SCPI command.
Not hard, you'll work it out.
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #5 on: June 02, 2020, 03:24:56 am »
Kengen link
https://repl.it/repls/DirectProbableTwintext

Both that link and this link produce the same result
https://repl.it/repls/ElasticEnormousMice
I'm putting in the ScopeID(64) from the boot log and trying the generated code for option 4BW05 but no joy.
Any ideas?
The ScopeID called for is a hexadecimal string retrievable from the scope with an unpublished SCPI command.
Not hard, you'll work it out.

I have the boot serial output that spits out a 16 digit hex number, is that not it?
The code in the script shows 16 digits too.
Code: [Select]
Scope ID: 00 00 00 00 00 00 00 00 00 00 00 00
8dd6-bb73-29a7
ScopeID(64): 4914a72973bbd68d
 

Offline Elasia

  • Frequent Contributor
  • **
  • Posts: 726
  • Country: us
Re: Siglent SDS2000X Plus Hack
« Reply #6 on: June 02, 2020, 03:39:27 am »
Press the Utility Key then -> System Setting -> System Status and all the info is there, then just insert into the fields as needed, lower case as shown in the display

Also all keys should be entered in upper case format for all of them
« Last Edit: June 02, 2020, 03:53:04 am by Elasia »
 
The following users thanked this post: Johnny B Good

Online tautech

  • Super Contributor
  • ***
  • Posts: 28138
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Siglent SDS2000X Plus Hack
« Reply #7 on: June 02, 2020, 03:40:37 am »
The 16 digit string.

There has been some discussion the 500 MHz option does not work for all but now there are a few scripts available so some might work better than others.....dunno.

@ Dave
PM sent.
« Last Edit: June 02, 2020, 03:45:34 am by tautech »
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Offline Elasia

  • Frequent Contributor
  • **
  • Posts: 726
  • Country: us
Re: Siglent SDS2000X Plus Hack
« Reply #8 on: June 02, 2020, 03:44:09 am »
Kengen link
https://repl.it/repls/DirectProbableTwintext

Both that link and this link produce the same result
https://repl.it/repls/ElasticEnormousMice
I'm putting in the ScopeID(64) from the boot log and trying the generated code for option 4BW05 but no joy.
Any ideas?

Yeah just someone was being silly with semantics, technically they did have the more 'correct' version

The option code for 500 Mhz is "500M"
 

Offline Elasia

  • Frequent Contributor
  • **
  • Posts: 726
  • Country: us
Re: Siglent SDS2000X Plus Hack
« Reply #9 on: June 02, 2020, 03:50:14 am »
The 16 digit string.

There has been some discussion the 500 MHz option does not work for all but now there are a few scripts available so some might work better than others.....dunno.

@ Dave
PM sent.

No internal scripts needed.. by anyone, other than the one external python one
 
The following users thanked this post: Johnny B Good

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #10 on: June 02, 2020, 03:51:48 am »
Press the Utility Key then -> System Setting -> System Status and all the info is there, then just insert into the fields as needed
Also all should be entered in upper case format for all of them

Ah, that's very different to the 16digit ScopeID  I got in the boot dump. Still doesn't work unfortunately.
« Last Edit: June 02, 2020, 03:55:13 am by EEVblog »
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 28138
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Siglent SDS2000X Plus Hack
« Reply #11 on: June 02, 2020, 03:54:00 am »
The 16 digit string.

There has been some discussion the 500 MHz option does not work for all but now there are a few scripts available so some might work better than others.....dunno.

@ Dave
PM sent.

No internal scripts needed.. by anyone, other than the one external python one
There's more than just one out there !  ;)
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #12 on: June 02, 2020, 03:56:21 am »
The option code for 500 Mhz is "500M"

Yes, that's the one I've been using.
 

Offline Elasia

  • Frequent Contributor
  • **
  • Posts: 726
  • Country: us
Re: Siglent SDS2000X Plus Hack
« Reply #13 on: June 02, 2020, 03:56:44 am »
Press the Utility Key then -> System Setting -> System Status and all the info is there, then just insert into the fields as needed
Also all should be entered in upper case format for all of them

Ah, that's very different to the 16digit ScopeID  I got in the boot dump. Will try.

Be sure to use lower case for the scope id too and uppercase for all keys and if it doesnt work im tired and the scope id is upper case :P


Tau: Not my problem if someone gets lost in the maze :P
 

Offline Elasia

  • Frequent Contributor
  • **
  • Posts: 726
  • Country: us
Re: Siglent SDS2000X Plus Hack
« Reply #14 on: June 02, 2020, 04:08:03 am »
The bandwidth one might be only doable via the scpi command MCBD <key>
 

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #15 on: June 02, 2020, 04:11:51 am »
Well stupid me can't read my own hand writing. Code now works and was accepted as a valid license but when I repowered (because it didn't actually increase the bandwidth just after entering) the Bandwidth option is now missing completely from the Options menu!
But it still doesn't work!
Strange thing is, my 350MHz labeled model only has 100MHz -3dB bandwidth, tested and confirmed against my Keysight 500MHz.
Something very strange is happening...

BTW, no need for all upper case as someone mentioned.
« Last Edit: June 02, 2020, 04:14:41 am by EEVblog »
 
The following users thanked this post: pizzigri

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #16 on: June 02, 2020, 04:12:43 am »
The bandwidth one might be only doable via the scpi command MCBD <key>

Then why did it have the option enter a license code for the BW05 option?
 

Offline Elasia

  • Frequent Contributor
  • **
  • Posts: 726
  • Country: us
Re: Siglent SDS2000X Plus Hack
« Reply #17 on: June 02, 2020, 04:25:25 am »
Because I'm tired and its fuzzy if both worked

I know it has a bandwidth selector from I think it was 20M 200M and full bw

But that doesn't fit 100M?

Yeah it removes it and your scope badge should have changed to SDS2504X+ on the info page
 

Offline Elasia

  • Frequent Contributor
  • **
  • Posts: 726
  • Country: us
Re: Siglent SDS2000X Plus Hack
« Reply #18 on: June 02, 2020, 04:32:51 am »
some screens
 

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #19 on: June 02, 2020, 05:48:08 am »
Yeah it removes it and your scope badge should have changed to SDS2504X+ on the info page

Yep, it changed that, I now have a 2504X+, but the bandwidth is still -3dB down at 100MHz on Full BW setting!
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 28138
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Siglent SDS2000X Plus Hack
« Reply #20 on: June 02, 2020, 08:10:15 am »
I now have a 2504X+, but the bandwidth is still -3dB down at 100MHz on Full BW setting!
Interesting, it should be only +0.8dB @ 100 MHz according to the 50 Ohm BW flatness spec in the datasheet.  :-//
Nice flat signal source ? Have you confirmed that with a 2nd source ?
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #21 on: June 02, 2020, 08:21:27 am »
I now have a 2504X+, but the bandwidth is still -3dB down at 100MHz on Full BW setting!
Interesting, it should be only +0.8dB @ 100 MHz according to the 50 Ohm BW flatness spec in the datasheet.  :-//
Nice flat signal source ? Have you confirmed that with a 2nd source ?

Turns out it was the 10bit mode that activated. Turn it back to 8bit and I get 590MHz -3dB bandwidth.
Sure enough, the manual tells you that. Interesting.
« Last Edit: June 02, 2020, 08:24:22 am by EEVblog »
 
The following users thanked this post: tautech

Online tautech

  • Super Contributor
  • ***
  • Posts: 28138
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Siglent SDS2000X Plus Hack
« Reply #22 on: June 02, 2020, 08:34:25 am »
I now have a 2504X+, but the bandwidth is still -3dB down at 100MHz on Full BW setting!
Interesting, it should be only +0.8dB @ 100 MHz according to the 50 Ohm BW flatness spec in the datasheet.  :-//
Nice flat signal source ? Have you confirmed that with a 2nd source ?

Turns out it was the 10bit mode that activated. Turn it back to 8bit and I get 590MHz -3dB bandwidth.
Nice, and it also aligns very well with the graph on P4 of the datasheet where the front end is swept out to 800 MHz.
Quote
Sure enough, the manual tells you that. Interesting.
Yes the 10 bit mode BW is clearly specified as typically 100 MHz in the datasheet too on P3.
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Online tv84

  • Super Contributor
  • ***
  • Posts: 3212
  • Country: pt
Re: Siglent SDS2000X Plus Hack
« Reply #23 on: June 02, 2020, 08:56:10 am »
Press the Utility Key then -> System Setting -> System Status and all the info is there, then just insert into the fields as needed
Also all should be entered in upper case format for all of them

Ah, that's very different to the 16digit ScopeID  I got in the boot dump. Still doesn't work unfortunately.

The ScopeID for 2000X+ must be extracted with the SCPI command or looked up on the screen.

The ScopeID seen on the boot log was discarded by Siglent and, although it has been present in many models, only SDS5000X uses it. BTW, it's a "hash" of the MCU_ID.
 

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Siglent SDS2000X Plus Hack
« Reply #24 on: June 02, 2020, 10:40:59 am »
 
The following users thanked this post: KeBeNe, dcac, WaveyDipole, Elasia, KungFuJosh, Martin72, Simon_RL


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf