Products > Test Equipment
Help restore SDS1102CML+ after unsuccessful flashing
Zhenja:
After an erroneous firmware, the device turned into almost a brick.
I opened the device, found UART and looked at what was going on inside the device. The bottom line is that the application /usr/bin/siglent/SDS1000_arm.app responsible for the operation of the device crashes with an error:
--- Code: ---/ # check_and_upgrade:starting...
mount_fs: rw,ubi1_0,/usr/bin/siglent/usr
ubi1_0unattached
attach_ubi:datafs
attach_ubi:11
UBI device number 1, total 812 LEBs (103104512 bytes, 98.3 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
MOUNT_DIR_NAME = /usr/bin/siglent/usr
TEST_RESTURN =
is_fs_mounted 0 ---
is_need_upgrade
is_need_upgrade:not need upgrade
check_and_upgrade:end...
++mount_check_copy_appdata: starting
mount_fs: ro,ubi2_0,/usr/bin/siglent/firmdata0
ubi2_0unattached
attach_ubi:firmdata0
attach_ubi:9
UBI device number 2, total 400 LEBs (50790400 bytes, 48.4 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
MOUNT_DIR_NAME = /usr/bin/siglent/firmdata0
TEST_RESTURN =
is_fs_mounted 0 ---
--mount_check_copy_appdata: ending
Load Fpga Success!
The Help file load OK!!
Could not create log file: File exists
COULD NOT CREATE LOGFILE '19700101-000005.534'!
I0101 00:00:05.250442 534 module.cpp:568] ---------------------------------------------------------------------------------------
I0101 00:00:05.271838 534 module.cpp:569] Creat Log
-----------------------------------------------------------------------------------------------------------------------------------
I0101 00:00:05.476723 534 module.cpp:489]
-----------------------------------------------------------------------------------------------------------------------------------
vxi11_main = 5583
sh: portmap: Structure needs cleaning
Cannot register service: RPC: Unable to receive; errno = Connection refused
unable to register (DEVICE_ASYNC, DEVICE_ASYNC_VERSION, udp).Clean Up Ready!
--- End code ---
To flash the device again, there are 2 ways:
1) Run the "native" application for this device, for example with a USB flash drive - but where can I get it?
2) Find somewhere a memory dump with working firmware and upload it to my chip using the programmer. But where to get the dump?
Perhaps someone has experience in this task. Or other thoughts - how to solve this problem.
I downloaded the program: SDS_ads_014 (it seems to be the latest version - I wanted to use it to distribute the application from the ads firmware), but this software does not read the latest firmware :(
Please help to resurrect the device.
Update 05.03.2020
I would like to report that my problem has been resolved! This happened thanks to the efforts of the user tautech!
Thanks a lot to him! It was he who helped contact the manufacturer and get a new board. This procedure took several months and there were all sorts of attempts to restore my board and other problems BUT it was worth it!
As a result, I received a new motherboard!
This event took place in mid-January 2020, but I was able to report this only now.
I was able to assemble and restore the operation of my device!
Advice to others: if you encounter a problem, do not hesitate to contact the manufacturer to solve your problem! Most likely a solution will be found! As it was in my case.
tv84:
What .ADS did you flash?
Zhenja:
Downloaded from here: https://www.siglent.eu/Downloads
Section: SDS1000CML + Series Digital Storage Oscilloscopes
The latest version: SDS1000CML + Firmware - 6.01.01.21R2 (Release Date 09.25.19) Download
The device has accepted the firmware. The device has been flashed. And after rebooting, there is nothing but a splash screen ... the probability of error is minimal, but the device turned into a brick. Or did I still upload the wrong firmware?
The file was named like this: SDS1000CML + _6.01.01.21R2.ADS
Now I don’t know what to do ... I really do not want to buy a new one. I believe that there is a way to restore it to work.
At least there are several service recovery methods in the bootloader, but I do not have the necessary files. Maybe someone has them ...
PS
Is there any way to see which firmware is actually uploaded? Maybe this information is in some kind of file? Maybe I'm really mistaken that the exact firmware I am writing about is uploaded.
I am ready for almost any experiment. The only thing I would like to first sort through all the software solutions to the problem and only then move on to hardware methods.
Zhenja:
This is how the full load of the device from the moment of power supply looks:
--- Code: ---U-Boot SPL 2013.01.01-svn22880 (Dec 23 2015 - 15:35:13)
config ddr_pll_config()++
config ddr_pll_config()--
nand_init+++++
nand_init-----
Lcd_Init()++
SetUpLCD()++
SetUpLCD()--
len=768052, height=480, width=800
Logo from nandflash: base=0x81000000; end=0x810bb81f; end-base=0xbb81f; rwsize=0xbb820; r=0x0
Lcd_Init()--
U-Boot 2013.01.01-svn22880 (Dec 23 2015 - 15:53:58)
I2C: ready
DRAM: 128 MiB
NAND: 256 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Using default environment
set_default_env::7090
Net: <ethaddr> not set. Validating first E-fuse MAC
cpsw
Hit any key to stop autoboot
Booting from nand ...
NAND read: device 0 offset 0x3080000, size 0x300000
3145728 bytes read: OK
## Booting kernel from Legacy Image at 80200000 ...
Image Name: Linux-3.2.0+
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2157768 Bytes = 2.1 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
init started: BusyBox v1.13.2 (2012-04-08 17:28:57 CDT)
starting pid 519, tty '': '/etc/init.d/rcS'
rS in
/etc/init.d/rcS: line 15: setterm: not found
starting pid 536, tty '/dev/ttyO0': '-/bin/sh'
Processing /etc/profile... Done
/etc/init.d/rcS: line 24: portmap: Structure needs cleaning
/ # check_and_upgrade:starting...
mount_fs: rw,ubi1_0,/usr/bin/siglent/usr
ubi1_0unattached
attach_ubi:datafs
attach_ubi:11
UBI device number 1, total 812 LEBs (103104512 bytes, 98.3 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
MOUNT_DIR_NAME = /usr/bin/siglent/usr
TEST_RESTURN =
is_fs_mounted 0 ---
is_need_upgrade
is_need_upgrade:not need upgrade
check_and_upgrade:end...
++mount_check_copy_appdata: starting
mount_fs: ro,ubi2_0,/usr/bin/siglent/firmdata0
ubi2_0unattached
attach_ubi:firmdata0
attach_ubi:9
UBI device number 2, total 400 LEBs (50790400 bytes, 48.4 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
MOUNT_DIR_NAME = /usr/bin/siglent/firmdata0
TEST_RESTURN =
is_fs_mounted 0 ---
--mount_check_copy_appdata: ending
Load Fpga Success!
The Help file load OK!!
Could not create log file: File exists
COULD NOT CREATE LOGFILE '19700101-000005.534'!
I0101 00:00:05.193285 534 module.cpp:568] ---------------------------------------------------------------------------------------
I0101 00:00:05.214703 534 module.cpp:569] Creat Log
-----------------------------------------------------------------------------------------------------------------------------------
I0101 00:00:05.419588 534 module.cpp:489]
-----------------------------------------------------------------------------------------------------------------------------------
vxi11_main = 5542
sh: portmap: Structure needs cleaning
Cannot register service: RPC: Unable to receive; errno = Connection refused
unable to register (DEVICE_ASYNC, DEVICE_ASYNC_VERSION, udp).Clean Up Ready!
Clean Up Over!
/ #
--- End code ---
If during boot, use any key, then we get into the bootloader. In which you can see all the download options provided in it:
--- Code: ---U-Boot SPL 2013.01.01-svn22880 (Dec 23 2015 - 15:35:13)
config ddr_pll_config()++
config ddr_pll_config()--
nand_init+++++
nand_init-----
Lcd_Init()++
SetUpLCD()++
SetUpLCD()--
len=768052, height=480, width=800
Logo from nandflash: base=0x81000000; end=0x810bb81f; end-base=0xbb81f; rwsize=0xbb820; r=0x0
Lcd_Init()--
U-Boot 2013.01.01-svn22880 (Dec 23 2015 - 15:53:58)
I2C: ready
DRAM: 128 MiB
NAND: 256 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Using default environment
set_default_env::7090
Net: <ethaddr> not set. Validating first E-fuse MAC
cpsw
Hit any key to stop autoboot
U-Boot# printenv
a=echo tftp download MLO,u-boot.img,uImage,ubi.img image fpga nand ...; run m; run u; run k; run f; run b; run r; run d
arch=arm
b=echo tftp download logo.bmp to nand ...; tftp 0x83000000 logo.bmp; bmpload 0x82000000 0x83000000; nand erase 0x280000 0x300000; nand write.i 0x82000000 0x280000 0x300000; mw.b 0x82000000 0x0 0x300000
baudrate=115200
board=sds1000a
board_name=A335X_SK
board_rev=1.0A
bootargs_defaults=setenv bootargs console=${console} ${optargs}
bootcmd=if run nandboot; then;elif mmc rescan; then echo SD/MMC found on device ${mmc_dev};if run loadbootenv; then echo Loaded environment from ${bootenv};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;if run mmc_load_uimage; then run mmc_args;bootm ${kloadaddr};fi;fi;
bootdelay=1
bootenv=uEnv.txt
bootfile=uImage
console=ttyO0,115200n8
cpu=armv7
d=echo Upgrade the datafs.img by tftp ...; mw.b 0x82000000 0x0 0x2800000; if tftp 0x82000000 datafs.img; then nand erase 0x9a80000 0x6580000; nand write.i 0x82000000 0x9a80000 0x1500000; mw.b 0x82000000 0x0 0x1500000; fi
dfu_alt_info_emmc=rawemmc mmc 0 3751936
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw mmc 100 100;u-boot.img.raw mmc 300 3C0;u-boot.img fat 0 1;uEnv.txt fat 0 1
dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.backup3 part 0 4;u-boot part 0 5;rootfs part 0 8;kernel part 0 9
ethact=cpsw
ethaddr=60:64:05:37:5a:0c
f=echo Upgrade the rootfs.img by tftp ...; mw.b 0x82000000 0x0 0x2b00000; if tftp 0x82000000 rootfs.img; then nand erase 0x580000 0x2b00000; nand write.i 0x82000000 rootfs; mw.b 0x82000000 0x0 0x2b00000; fi
fdt_high=0xffffffff
fdtaddr=0x80F80000
findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; fi; if test $board_name = A33515BB; then setenv fdtfile am335x-evm.dtb; fi; if test $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi
gatewayip=10.11.13.1
i=echo Upgrade the image by tftp ...; if tftp 0x82000000 image; then nand erase 0x280000 0x300000; nand write.i 0x82000000 Manufacturedata; mw.b 0x82000000 0x0 0x300000; fi
importbootenv=echo Importing environment from mmc ...; env import -t $loadaddr $filesize
ip_method=none
ipaddr=10.11.13.250
k=echo Upgrade the uImage by tftp ...; if tftp 0x82000000 uImage; then nand erase 0x3080000 0x600000; nand write.i 0x82000000 kernel; mw.b 0x82000000 0x0 0x600000; fi
kloadaddr=0x80007fc0
loadaddr=0x80200000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}
loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz
loaduimage=ext2load mmc ${mmcdev}:2 ${kloadaddr} /boot/${bootfile}
loaduimagefat=fatload mmc ${mmcdev} ${kloadaddr} ${bootfile}
m=echo Upgrade the MLO by tftp ...; if tftp 0x82000000 MLO; then nand erase 0x0 0x20000; nand write.i 0x82000000 SPL; mw.b 0x82000000 0x0 0x20000; fi
mmc-all=nand erase.chip; run mmc-m; run mmc-u; run mmc-k; run mmc-rootfs; run mmc-datafs; run mmc-firm; run mmc-l; echo ================mmc-all Done===================;
mmc-datafs=echo =============datafs(datafs.img)=====================; echo [fatload mmc, download datafs to nand ...]; if fatload mmc 0 0x82000000 datafs.img; then nand erase 0x9a80000 0x6580000; nand write.i 0x82000000 0x9a80000 0x1500000; mw.b 0x82000000 0x0 0x1500000; fi;
mmc-firm=echo =============firmdata0(firmdata0.img)=====================; echo [fatload mmc, download firmdata0 to nand ...]; if fatload mmc 0 0x82000000 firmdata0.img; then nand erase 0x3680000 0x3200000; nand write.i 0x82000000 0x3680000 0x3200000; mw.b 0x82000000 0x0 0x3200000; fi;
mmc-k=echo =============kernel(uImage)======================; echo [fatload mmc, download kernel to nand ...]; if fatload mmc 0 0x82000000 uImage; then nand erase 0x3080000 0x500000; nand write.i 0x82000000 0x3080000 0x500000; mw.b 0x82000000 0x0 0x500000;fi;
mmc-l=echo =============logo(logo.bmp)=======================; mmc rescan; echo [fatload mmc, download logo to nand ...]; if fatload mmc 0 0x83000000 logo.bmp; then bmpload 0x82000000 0x83000000; nand erase 0x280000 ${filesize}; nand write.i 0x82000000 0x280000 ${filesize}; mw.b 0x82000000 0x0 ${filesize};mw.b 0x83000000 0x0 ${filesize};fi;
mmc-m=echo ===================MLO(MLO)======================; echo [fatload mmc, download MLO to nand ...]; if fatload mmc 0 0x82000000 MLO; then nand erase 0x0 0x20000; nand write.i 0x82000000 0x0 0x20000; mw.b 0x82000000 0x0 0x20000; fi;
mmc-rootfs=echo =============rootfs(rootfs.img)=====================; echo [fatload mmc, download rootfs to nand ...]; if fatload mmc 0 0x82000000 rootfs.img; then nand erase 0x0580000 0x2B00000; nand write.i 0x82000000 0x0580000 0x1500000; mw.b 0x82000000 0x0 0x1500000; fi;
mmc-u=echo =============u-boot(u-boot.img.program)==========; echo [fatload mmc, download u-boot to nand ...]; if fatload mmc 0 0x82000000 u-boot.img.program; then nand erase 0x80000 0x100000; nand write.i 0x82000000 0x80000 0x100000; mw.b 0x82000000 0x0 0x100000;fi;
mmcargs=run bootargs_defaults;setenv bootargs ${bootargs} root=${mmcroot} rootfstype=${mmcrootfstype} ip=${ip_method}
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${kloadaddr}
mmcdev=0
mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext3 rootwait
mtdids=nand0=omap2-nand.0
mtdparts=mtdparts=omap2-nand.0:128k(SPL),128k(SPL.backup1),128k(SPL.backup2),128k(SPL.backup3),1920k(u-boot),128k(u-boot-env),3m(Manufacturedata),43m(rootfs),6m(kernel),-(datafs)
nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfstype=${nandrootfstype}
nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} ${nandsrcaddr} ${nandimgsize}; bootm ${loadaddr}
nandimgsize=0x300000
nandroot=ubi0:rootfs rw ubi.mtd=7,2048
nandrootfstype=ubifs rootwait=1
nandsrcaddr=0x3080000
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; tftp ${loadaddr} ${bootfile}; run netargs; bootm ${loadaddr}
netmask=255.255.255.0
nfsopts=nolock
r=echo Upgrade the firmdata0.img by tftp ...; if tftp 0x82000000 firmdata0.img; then nand erase 0x3680000 0x3200000; nand write.i 0x82000000 0x3680000 0x3200000; mw.b 0x82000000 0x0 0x3200000; fi
ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype}
ramboot=echo Booting from ramdisk ...; run ramargs; bootm ${loadaddr}
ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M
ramrootfstype=ext2
rdaddr=0x81000000
rootpath=/export/rootfs
serverip=10.11.13.19
soc=am33xx
spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype}
spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootm ${loadaddr}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
spirootfstype=jffs2
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial
stdin=serial
stdout=serial
u=echo Upgrade the u-boot.img by tftp ...; if tftp 0x82000000 u-boot.img; then nand erase 0x80000 0x1e0000; nand write.i 0x82000000 u-boot; mw.b 0x82000000 0x0 0x1e0000; fi
vendor=ti
ver=U-Boot 2013.01.01-svn22880 (Dec 23 2015 - 15:53:58)
Environment size: 7391/131068 bytes
--- End code ---
It describes different download options from different sources ...
Perhaps this information will be useful.
Any ideas what can be done?
StillTrying:
--- Quote from: Zhenja on November 04, 2019, 09:15:56 am ---Downloaded from here: https://www.siglent.eu/Downloads
Section: SDS1000CML + Series Digital Storage Oscilloscopes
The latest version: SDS1000CML + Firmware - 6.01.01.21R2 (Release Date 09.25.19) Download
--- End quote ---
I'm glad I haven't tried .21R2 yet.
--- Quote ---I am ready for almost any experiment.
--- End quote ---
There's something about pressing MATH 5 times during power up.
There's only 6 or 7 CML+ posters here, and 3 of them are stuck in some way. :(
Navigation
[0] Message Index
[#] Next page
Go to full version