Welcome! Log In Create A New Profile

Advanced

Synology Diskstation DS414 Unbricking

Posted by bignellrp 
Re: Synology Diskstation DS414 Unbricking
February 19, 2021 03:13PM
That’s exactly the message I had. You can follow the steps in the guide I wrote and you should be able to restore.

Don’t worry, it’s not lost. You will get it back.
Re: Synology Diskstation DS414 Unbricking
February 23, 2021 05:50AM
Update

After searching on Google i fount next post:
https://conetix.com.au/blog/synology-nas-bootrom-recovery/
I was able to follow point by point and the unit DS414 started.
The problem was that at each restart need to follow the instruction again.

After installing the last DSM update the unit didn't shutdown. I try to shutdown from the UART console but no nothing happened. I leave it for 2 hour hoping that will restart then i unplug the unit. Fortunately the unit started and loaded the DSM. Restart is also working.

Hope that will help you guys.
VectraT
Re: Synology Diskstation DS414 Unbricking
March 02, 2021 07:07AM
Hi!
For today I can load zImage and rd.bin via serial to synology, but still no lan connection.
What is the right command to set boot?
I did "setenv bootcmd bootm 8000000 7500000 3B84008"
"saveenv"
When I just give command "reboot", it reboots, but when I power it off and on again, it says after u-boot:
Wrong Image Format for bootm command
ERROR: can't get kernel image!
ALPINE_DB>

So I made a mistake with this "setenv bootcmd..."
What could be the right command?
Re: Synology Diskstation DS414 Unbricking
March 02, 2021 04:11PM
VectraT,

Need a quote/double-quote when there is a space.
setenv bootcmd 'bootm 8000000 7500000 3B84008'



Edited 1 time(s). Last edit at 03/02/2021 04:12PM by bodhi.
VectraT
Re: Synology Diskstation DS414 Unbricking
March 03, 2021 01:59AM
Thank's bodhi, I'll try it right away!
VectraT
Re: Synology Diskstation DS414 Unbricking
March 03, 2021 02:51AM
setenv bootcmd 'bootm 08000000 07500000 03B84008'

As soon I pull the wire off and plug it back again, it says:

Press Ctrl+C to abort autoboot in 3 second
Wrong Image Format for bootm command
ERROR: can't get kernel image!
ALPINE_DB>

If I entered "reboot", it reboots ok.
How I can add "print" to boot, to see the boot process?
Re: Synology Diskstation DS414 Unbricking
March 03, 2021 04:18AM
VectraT,

> How I can add "print" to boot, to see the boot
> process?

There is no "verbose" mode that will print out everything. However, in each env, you can put an echo command to print out something. For example,

setenv bootcmd 'echo Booting stock OS...;  bootm 08000000 07500000 03B84008'
And so on, so you can see the part of a long env where it failed.

And you can print out an env witth echo, too. For example,

setenv loadaddr 0x08000000
setenv bootcmd 'echo Booting stock OS... at $(loadaddr);  bootm $(loadaddr)  07500000 03B84008'

BTW, it is good practice to use 0x notation such as 0x08000000.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
VectraT
Re: Synology Diskstation DS414 Unbricking
March 03, 2021 02:19PM
Loaded zImage to 0x08000000
rd.bin to 0x07500000
with Tera Term "loady" command

setenv bootcmd 'bootm 0x08000000 0x07500000 0x03B84008'
saveenv
boot
Booted to diskstation (not showing list what is booting, as on original firmware)
Turned it off by button and then on again -

Press Ctrl+C to abort autoboot in 3 second
Wrong Image Format for bootm command
ERROR: can't get kernel image!
ALPINE_DB>

So, my question is, why boot files are not saved?
VectraT
Re: Synology Diskstation DS414 Unbricking
March 03, 2021 03:00PM
And again...loady+ loady (10 minutes), setenv, saveenv, boots up, give command "reboot", boots up, give command "reboot", boots up,disconnect power and here I am again...
Wrong Image Format for bootm command
ERROR: can't get kernel image!
ALPINE_DB>
Kinda frustrating...and still not getting IP-address...
It will be smart give up, not to waste my time with this DS416 any more, and throw it in the trash...:(
Re: Synology Diskstation DS414 Unbricking
March 03, 2021 05:12PM
VectraT,

> Kinda frustrating...and still not getting
> IP-address...
> It will be smart give up, not to waste my time
> with this DS416 any more, and throw it in the
> trash...:(

Nah, you're close to fix it.

So at the u-boot prompt

ALPINE_DB>

Set the envs like you did. And then list all envs

printenv

And then boot

boot
or
run bootcmd

Post the log here to see where the problem is.

Later on after you saveenv, they should be permanently changed. If they were not, then this u-boot has reset them back to internal values. In that case, you would need to boot with serial console temporarily this way until you can reflash stock.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
VectraT
Re: Synology Diskstation DS414 Unbricking
March 04, 2021 02:01AM
loady+printenv:

ALPINE_DB> loady 0x08000000
## Ready for binary (ymodem) download to 0x08000000 at 115200 

bps...
CCxyzModem - CRC mode, 2(SOH)/2388(STX)/0(CAN) packets, 4 

retries
## Total Size      = 0x00254e08 = 2444808 Bytes
ALPINE_DB> loady 0x07500000
## Ready for binary (ymodem) download to 0x07500000 at 115200 

bps...
CCxyzModem - CRC mode, 1(SOH)/3567(STX)/0(CAN) packets, 6 

retries
## Total Size      = 0x0037bb79 = 3652473 Bytes
ALPINE_DB> setenv bootcmd 'bootm 08000000 07500000 03B84008'
ALPINE_DB> saveenv
Saving Environment to SPI Flash...
SF: Detected MX25U6435F with page size 256 Bytes, erase size 64 

KiB, total 8 MiB
Erasing SPI flash...Writing to SPI flash...done
ALPINE_DB> printenv
arch=arm
ata_hdd_act_led=syno_hdd_act_led=10,11,22,23
ata_hdd_detect=
ata_hdd_enable=syno_hdd_enable=24,25,26,27
autoload=n
baudrate=115200
board=alpine_db
board_name=alpine_db
boot_instance_active=0
boot_instance_non_active=1
boot_recovery=yes
bootargs=
bootcmd=bootm 08000000 07500000 03B84008
bootdelay=2
bootm=0x08000000
bootsmd=bootm 8000000
bootspi=sf probe;sf read $loadaddr_kernel $spi_pt_addr_kernel 

$spi_pt_size_kernel;sf read $loadaddr_rootfs $spi_pt_addr_fs 

$spi_pt_size_fs;bootm $loadaddr_kernel $loadaddr_rootfs 

$fdtaddr;
clean_env=sf probe; sf erase $spi_pt_addr_env $spi_pt_size_env;
cpu=armv7
cvos_tags=0x01000000
cvos_tags_seed_a=0x01000004
cvos_tags_seed_b=0x01000008
cvos_tags_validate=mw.l ${cvos_tags} 0xcf05cf05
default_bootcmd=run 0x08000000
dnsip=192.168.1.1
dt_filename=dt.img
dt_is_from_toc=1
dt_location=89000
env_offset=7e0000
env_offset_redund=7f0000
eth0=00:11:32:4A:19:A0
eth0addr=00:11:32:4A:19:9F
eth1=00:11:32:4A:19:9F
eth1addr=52:9d:99:48:82:4e
ethact=al_eth1
ethaddr=00:11:32:4A:19:9F
ethprime=al_eth0
fdtaddr=3b84008
file_dt=alpine/alpine_db.dtb
file_eeprom=alpine/eeprom
file_flash=alpine/flash.bin
file_kernel=alpine/uImage
file_rootfs=alpine/rd.bin
file_uboot=alpine/u-boot.img.withdt
filesize=37bb79
fix_sata_link_speed=mw.l 0xfc8f821c 0x4000000;mw.l 0xfc9f821c 

0x4000000;
fwupd=tftpboot ${tftpdir}uboot_script_fw_update.bin;source 

${loadaddr}
gatewayip=192.168.1.1
iocc_force=1
iocc_force_val=1
ipaddr=192.168.1.102
loadaddr=0x08000000
loadaddr_dt=0x07000000
loadaddr_kernel=0x08000000
loadaddr_rootfs=0x07500000
mmcdev=0
netmask=255.255.255.0
opt_ata1=serdes wr 1 p0 pma 201 7 0 0xFC;serdes wr 1 p0 pma 202 

7 0 0xff;serdes wr 1 p0 pma 203 7 0 0xff;serdes wr 1 p0 pma 204 

7 0 0xff;serdes wr 1 p0 pma 205 7 0 0x7f;serdes wr 1 p0 pma 205 

7 0 0xff;
opt_ata2=serdes wr 1 p1 pma 201 7 0 0xFC;serdes wr 1 p1 pma 202 

7 0 0xff;serdes wr 1 p1 pma 203 7 0 0xff;serdes wr 1 p1 pma 204 

7 0 0xff;serdes wr 1 p1 pma 205 7 0 0x7f;serdes wr 1 p1 pma 205 

7 0 0xff;
opt_ata3=serdes wr 1 p2 pma 201 7 0 0xFC;serdes wr 1 p2 pma 202 

7 0 0xff;serdes wr 1 p2 pma 203 7 0 0xff;serdes wr 1 p2 pma 204 

7 0 0xff;serdes wr 1 p2 pma 205 7 0 0x7f;serdes wr 1 p2 pma 205 

7 0 0xff;
opt_ata4=serdes wr 1 p3 pma 201 7 0 0xFC;serdes wr 1 p3 pma 202 

7 0 0xff;serdes wr 1 p3 pma 203 7 0 0xff;serdes wr 1 p3 pma 204 

7 0 0xff;serdes wr 1 p3 pma 205 7 0 0x7f;serdes wr 1 p3 pma 205 

7 0 0xff;
opt_ata5=serdes wr 2 p0 pma 201 7 0 0xFC;serdes wr 2 p0 pma 202 

7 0 0xff;serdes wr 2 p0 pma 203 7 0 0xff;serdes wr 2 p0 pma 204 

7 0 0xff;serdes wr 2 p0 pma 205 7 0 0x7f;serdes wr 2 p0 pma 205 

7 0 0xff;
opt_ata6=serdes wr 2 p1 pma 201 7 0 0xFC;serdes wr 2 p1 pma 202 

7 0 0xff;serdes wr 2 p1 pma 203 7 0 0xff;serdes wr 2 p1 pma 204 

7 0 0xff;serdes wr 2 p1 pma 205 7 0 0x7f;serdes wr 2 p1 pma 205 

7 0 0xff;
opt_ata7=serdes wr 2 p2 pma 201 7 0 0xFC;serdes wr 2 p2 pma 202 

7 0 0xff;serdes wr 2 p2 pma 203 7 0 0xff;serdes wr 2 p2 pma 204 

7 0 0xff;serdes wr 2 p2 pma 205 7 0 0x7f;serdes wr 2 p2 pma 205 

7 0 0xff;
opt_ata8=serdes wr 2 p3 pma 201 7 0 0xFC;serdes wr 2 p3 pma 202 

7 0 0xff;serdes wr 2 p3 pma 203 7 0 0xff;serdes wr 2 p3 pma 204 

7 0 0xff;serdes wr 2 p3 pma 205 7 0 0x7f;serdes wr 2 p3 pma 205 

7 0 0xff;
opt_rx=serdes rx_params_set 1 0 00 07 00 00 08 00 08 07 

00;serdes rx_params_set 1 1 00 07 00 00 08 00 08 07 00;serdes 

rx_params_set 1 2 00 07 00 00 08 00 08 07 02;serdes 

rx_params_set 1 3 00 07 00 00 08 00 08 07 02;serdes 

rx_params_set 2 0 00 07 00 00 08 00 08 07 04;serdes 

rx_params_set 2 1 00 07 00 00 08 00 08 07 04;serdes 

rx_params_set 2 2 00 07 00 00 08 00 08 07 04;serdes 

rx_params_set 2 3 00 07 00 00 08 00 08 07 04;
opt_tx=serdes tx_params_set 1 0 1 20 3 0 0;serdes tx_params_set 

1 1 1 20 3 0 0;serdes tx_params_set 1 2 1 22 4 0 0;serdes 

tx_params_set 1 3 1 22 4 0 0;serdes tx_params_set 2 0 3 19 3 0 

0;serdes tx_params_set 2 1 4 20 4 0 0;serdes tx_params_set 2 2 4 

23 5 0 0;serdes tx_params_set 2 3 4 22 6 0 0;
optimize_sata=serdes rx_params_set 1 0  00 07 00 00 08 00 08 07 

10;serdes rx_params_set 1 1  00 07 00 00 08 00 08 07 10;serdes 

rx_params_set 1 2  00 07 00 00 08 00 08 07 10;serdes 

rx_params_set 1 3  00 07 00 00 08 00 08 07 10;serdes 

rx_params_set 2 0  00 07 00 00 08 00 08 07 10;serdes 

rx_params_set 2 1  00 07 00 00 08 00 08 07 10;serdes 

rx_params_set 2 2  00 07 00 00 08 00 08 07 10;serdes 

rx_params_set 2 3  00 07 00 00 08 00 08 07 10;mw.l 0xFC8000BC  

870e182b;mw.l 0xFC8000BC  870e182b;mw.l 0xFC8000BC  

070e182b;mw.l 0xFC9000BC  870e182b;mw.l 0xFC9000BC  

870e182b;mw.l 0xFC9000BC  070e182b;serdes wr 1 p4 pma 13 4 4 

0;serdes wr 1 p4 pma 15 2 0 2;serdes wr 2 p4 pma 13 4 4 0;serdes 

wr 2 p4 pma 15 2 0 2;serdes tx_params_set 1 0 1 20 4 0 0;serdes 

tx_params_set 1 1 1 20 4 0 0;serdes tx_params_set 1 2 1 20 4 0 

0;serdes tx_params_set 1 3 1 20 4 0 0;serdes tx_params_set 2 0 1 

20 4 0 0;serdes tx_params_set 2 1 1 20 4 0 0;serdes 

tx_params_set 2 2 1 20 4 0 0;serdes tx_params_set 2 3 1 20 4 0 

0;
pld_i2c_addr=57
sata_lot=serdes wr 1 p4 pma 13 4 4 0;serdes wr 1 p4 pma 15 2 0 

0;serdes wr 2 p4 pma 13 4 4 0;serdes wr 2 p4 pma 15 2 0 0;
sata_lot3=serdes wr 1 p4 pma 13 4 4 1;serdes wr 1 p4 pma 15 4 3 

3;serdes wr 2 p4 pma 13 4 4 1;serdes wr 2 p4 pma 15 4 3 3;
serverip=192.168.0.118
soc=alpine
spi_pt_addr_al_boot=0x00020000
spi_pt_addr_dt=0x00080000
spi_pt_addr_env=0x007E0000
spi_pt_addr_fs=0x00370000
spi_pt_addr_kernel=0x00090000
spi_pt_size_al_boot=0x00060000
spi_pt_size_dt=0x00010000
spi_pt_size_env=0x00010000
spi_pt_size_fs=0x00460000
spi_pt_size_kernel=0x002E0000
syno_boot_dev=/dev/md0
syno_bootargs=setenv bootargs console=ttyS0,115200 ip=off 

pci=pcie_bus_perf initrd=$loadaddr_rootfs root=$syno_boot_dev rw 

$syno_extra_args syno_hw_version=$syno_hw_version ihd_num=

$syno_hdd_powerup_seq netif_num=$syno_net_if_num vmalloc=

$syno_vmalloc $ata_hdd_act_led $ata_hdd_detect $ata_hdd_enable
syno_extra_args=HddHotplug=4
syno_hdd_powerup_seq=4
syno_hw_version=DS416
syno_net_if_num=2
upd_dt=setenv tftpfile $file_dt;mw.b $loadaddr 0xFF 

$spi_pt_size_dt; tftpboot $loadaddr $tftpfile; if test $? -eq 0; 

then sf probe; sf erase $spi_pt_addr_dt $spi_pt_size_dt; sf 

write $loadaddr $spi_pt_addr_dt $spi_pt_size_dt; echo "Device 

Tree Update Done";fi;
upd_eeprom=confirm_msg "Perform EEPROM update? [y/n] ";if test 

$? -ne 0; then exit; fi;tftpboot $loadaddr $file_eeprom;if test 

$? -ne 0; then exit; fi;i2c probe ${pld_i2c_addr};if test $? -ne 

0; then exit; fi;i2c write $loadaddr ${pld_i2c_addr} 0.2 

$filesize;if test $? -ne 0; then exit;fi;echo eepromupd done;
upd_flash=setenv tftpfile $file_flash; tftpboot $loadaddr 

$tftpfile; if test $? -eq 0; then echo "This may take a while, 

please be patient..."; sf probe; sf erase 0 +$filesize; sf write 

$loadaddr 0 $filesize; echo "Flash Update Done"; fi;
upd_kernel=setenv tftpfile $file_kernel;mw.b $loadaddr 0xFF 

$spi_pt_size_kernel;tftpboot $loadaddr $tftpfile; if test $? -eq 

0; then sf probe; sf erase $spi_pt_addr_kernel 

$spi_pt_size_kernel; sf write $loadaddr $spi_pt_addr_kernel 

$spi_pt_size_kernel; echo "Kernel Update Done"; fi;
upd_rootfs=setenv tftpfile $file_rootfs;mw.b $loadaddr 0xFF 

$spi_pt_size_rootfs; tftpboot $loadaddr $tftpfile;if test $? -eq 

0; then sf probe; sf erase $spi_pt_addr_fs +$filesize; sf write 

$loadaddr $spi_pt_addr_fs $filesize;echo "Rootfs Update 

Done";fi;
upd_uboot=setenv tftpfile $file_uboot;tftpboot $loadaddr 

$tftpfile; if test $? -eq 0; then sf probe; sf erase 0 +

$filesize; sf write $loadaddr 0 $filesize; echo "Uboot Update 

Done"; fi;
vendor=annapurna-labs

Environment size: 7671/16380 bytes
ALPINE_DB>


==========
moderator edit: please use code tags to post log. It's impossible to read a large log without it.



Edited 1 time(s). Last edit at 03/04/2021 11:24PM by bodhi.
VectraT
Re: Synology Diskstation DS414 Unbricking
March 04, 2021 02:04AM
after boot command:

DiskStation> reboot
The system is going down NOW!
Sent SIGTERM to all processes
Terminated
Unmounting /sys[  191.094710] VFS: opened file in mnt_point: 

(/dev), file: (/ttyS1)
/kernel/debug ...
Unmounting /sys ...
Unmounting /dev/pts ...
Unmounting /dev ...
Failed to umount /dev, 16
Unmounting /tmp ...
Unmounting / ...
All file systems unmounted.
rmmod usb_stora[  194.114274] usbcore: deregistering interface 

driver usb-storage
ge
Requesting system reboot
[  198.144538] Restarting system.
[  198.147587] Synology restart
Annapurna Labs stage 2: stage2_eth3_ram_loader v1.49.3
Executing next!
Annapurna Labs stage 2: stage2.5_loader v1.49.3
SPD I2C Address:00000057
Executing next!


Stage 3 2013.10-alpine_spl-1.49.4-00666-gccfe35f (Sep 08 2014 - 

09:15:21)

DRAM:  1 GiB
EEPROM Revision ID = 34
Device ID = a212
Device Info: AL21200-1400
!!! board.c:2014
Loading DT to 00100000 (17059 bytes)...
Board config ID: Synology DS416
SRAM agent up: agent_wakeup v1.49.3
Loading U-Boot to 00100000 (373616 bytes)...
Executing U-Boot...


U-Boot 2013.10-alpine_db-1.49.4-SYNO-768e80b-2016-01-04 (Jan 04 

2016 - 18:44:17)

Annapurna Labs
Board: Alpine Development Board
I2C:   ready
DDR size is 1024 MB according to shared params
DRAM:  1 GiB

   _
  /_\  _ __  _ __   __ _ _ __  _   _ _ __ _ __   __ _
 //_\\| '_ \| '_ \ / _` | '_ \| | | | '__| '_ \ / _` |
/  _  \ | | | | | | (_| | |_) | |_| | |  | | | | (_| |
\_/ \_/_| |_|_| |_|\__,_| .__/ \__,_|_|  |_| |_|\__,_|
   __       _           |_|
  / /  __ _| |__  ___
 / /  / _` | '_ \/ __|
/ /__| (_| | |_) \__ \
\____/\__,_|_.__/|___/
               ___             _
 /\ /\        / __\ ___   ___ | |_
/ / \ \_____ /__\/// _ \ / _ \| __|
\ \_/ /_____/ \/  \ (_) | (_) | |_
 \___/      \_____/\___/ \___/ \__|

CPU DevID = 0, rev_id = 1
eeprom_per_device_init: no valid information found!
power_init_board: EEPROM per device information is not valid - 

using defaults!
Zero device ID! Base=0xFBFF5AE0
Early init addr = 00000400
Early init DT offset = 00080000
SF: Detected MX25U6435F with page size 256 Bytes, erase size 64 

KiB, total 8 MiB
U-Boot script not found in TOC!
U-Boot redundant environment not found in TOC!
DT info:
--------------------
Board config ID: Synology DS416
Muxed interfaces:
        if_uart_1(0)
GPIO configuration:
        GPIO 0 is input
        GPIO 1 is input
        GPIO 2 is input
        GPIO 3 is input
        GPIO 35 is input
        GPIO 36 is input
        GPIO 5 is output, value = 1
        GPIO 10 is output, value = 0
        GPIO 11 is output, value = 0
        GPIO 19 is output, value = 0
        GPIO 22 is output, value = 0
        GPIO 23 is output, value = 0
        GPIO 24 is output, value = 0
        GPIO 25 is output, value = 0
        GPIO 26 is output, value = 0
        GPIO 27 is output, value = 0
        GPIO 29 is output, value = 0
        GPIO 31 is output, value = 0
        GPIO 32 is output, value = 0
        GPIO 33 is output, value = 0
        GPIO 38 is output, value = 0
        GPIO 39 is output, value = 0
        GPIO 40 is output, value = 0
        GPIO 41 is output, value = 0
        GPIO 43 is output, value = 0
dt_based_init_gpio: GPIO  0: 1
dt_based_init_gpio: GPIO  1: 1
dt_based_init_gpio: GPIO  2: 1
dt_based_init_gpio: GPIO  3: 1
dt_based_init_gpio: GPIO  4: 1
dt_based_init_gpio: GPIO  5: 1
dt_based_init_gpio: GPIO  6: 1
dt_based_init_gpio: GPIO  7: 1
dt_based_init_gpio: GPIO  8: 0
dt_based_init_gpio: GPIO  9: 0
dt_based_init_gpio: GPIO 10: 0
dt_based_init_gpio: GPIO 11: 0
dt_based_init_gpio: GPIO 12: 1
dt_based_init_gpio: GPIO 13: 1
dt_based_init_gpio: GPIO 14: 1
dt_based_init_gpio: GPIO 15: 1
dt_based_init_gpio: GPIO 16: 1
dt_based_init_gpio: GPIO 17: 0
dt_based_init_gpio: GPIO 18: 1
dt_based_init_gpio: GPIO 19: 0
dt_based_init_gpio: GPIO 20: 0
dt_based_init_gpio: GPIO 21: 0
dt_based_init_gpio: GPIO 22: 0
dt_based_init_gpio: GPIO 23: 0
dt_based_init_gpio: GPIO 24: 0
dt_based_init_gpio: GPIO 25: 0
dt_based_init_gpio: GPIO 26: 0
dt_based_init_gpio: GPIO 27: 0
dt_based_init_gpio: GPIO 28: 1
dt_based_init_gpio: GPIO 29: 0
dt_based_init_gpio: GPIO 30: 1
dt_based_init_gpio: GPIO 31: 0
dt_based_init_gpio: GPIO 32: 0
dt_based_init_gpio: GPIO 33: 0
dt_based_init_gpio: GPIO 34: 1
dt_based_init_gpio: GPIO 35: 1
dt_based_init_gpio: GPIO 36: 1
dt_based_init_gpio: GPIO 37: 1
dt_based_init_gpio: GPIO 38: 0
dt_based_init_gpio: GPIO 39: 0
dt_based_init_gpio: GPIO 40: 0
dt_based_init_gpio: GPIO 41: 0
dt_based_init_gpio: GPIO 42: 1
dt_based_init_gpio: GPIO 43: 0
dt_based_init_gpio: GPIO 44: 1
dt_based_init_gpio: GPIO 45: 1
dt_based_init_gpio: GPIO 46: 1
dt_based_init_gpio: GPIO 47: 1
Ethernet port 0:
        mode: sgmii
        SFP module: N/A
        10gbe params: N/A
        PHY address: 1
        i2c-id: N/A
Ethernet port 1:
        mode: sgmii
        SFP module: N/A
        10gbe params: N/A
        PHY address: 2
        i2c-id: N/A
Ethernet port 2:
        mode: sgmii
        SFP module: N/A
        10gbe params: N/A
        PHY address: 3
        i2c-id: N/A
Ethernet port 3:
        mode: sgmii
        SFP module: N/A
        10gbe params: N/A
        PHY address: 0
        i2c-id: N/A
PCIe endpoint ports:
PCIe port 0:
        PCIe port status: enabled
        Gen: 2
        Width: 2
PCIe port 1:
        PCIe port status: enabled
        Gen: 2
        Width: 2
PCIe port 2:
        PCIe port status: disabled
        Gen: 2
        Width: 4
NAND:  0 MiB
SF: Detected MX25U6435F with page size 256 Bytes, erase size 64 

KiB, total 8 MiB
  00:01.0     - 1c36:0001 - Network controller
  00:05.0     - 1c36:0021 - Base system peripheral
pci_init_board_external: PCIE_0 no link found
pci_init_board_external: PCIE_1 no link found
In:    serial
Out:   serial
Err:   serial

Synology Model: DS416
Fan Status: Not Good
Fan 1: Not Good
Fan 2: Not Good

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


   Bootstraps / DT / Capabilities Mismatch!


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Net:
Turn off EEE of rl8211D
Disable eth0 green mode
Turn off EEE of rl8211D
Disable eth1 green mode
, al_eth1
Press Ctrl+C to abort autoboot in 3 second
## Booting kernel from Legacy Image at 08000000 ...
   Image Name:   Linux-3.10.105
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2444744 Bytes = 2.3 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 07500000 ...
   Image Name:   synology_alpine4k_ds416 25554
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    3652409 Bytes = 3.5 MiB
   Load Address: 08000000
   Entry Point:  08000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 03b84008
   Booting using the fdt blob at 0x3b84008
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=0 size=100000
   Loading Ramdisk to 03807000, end 03b82b39 ... OK
   Loading Device Tree to 037ff000, end 038062a2 ... OK
ft_board_setup_clock: setting /soc/clocks/refclk.clock-frequency 

to 100000000 Hz
ft_board_setup_clock: setting /soc/clocks/sbclk.clock-frequency 

to 375000000 Hz
ft_board_setup_clock: setting /soc/clocks/nbclk.clock-frequency 

to 800000000 Hz
ft_board_setup_clock: setting /soc/arch-timer.clock-frequency to 

50000000 Hz
ft_board_setup_clock: setting /cpus/cpu@0.clock-frequency to 

1500000000 Hz
ft_board_setup_clock: setting /cpus/cpu@1.clock-frequency to 

1500000000 Hz
ft_board_setup_clock: setting /cpus/cpu@2.clock-frequency to 

1500000000 Hz
ft_board_setup_clock: setting /cpus/cpu@3.clock-frequency to 

1500000000 Hz
ft_board_setup_clock: setting /soc/clocks/cpuclk.clock-frequency 

to 1500000000 Hz
ft_board_setup_clock: setting /soc/uart0.clock-frequency to 

375000000 Hz
ft_board_setup_clock: setting /soc/uart1.clock-frequency to 

375000000 Hz
ft_board_setup_clock: setting /soc/uart2.clock-frequency to 

375000000 Hz
ft_board_setup_clock: setting /soc/uart3.clock-frequency to 

375000000 Hz
ft_board_setup_feature_disable: setting /soc/pcie-

external0.status to disabled
ft_board_setup_feature_disable: setting /soc/pcie-

external1.status to disabled
ft_board_setup_feature_disable: setting /soc/pcie-

external2.status to disabled
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I/O CC forced to 1!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ft_board_setup_prop_u32_set: setting /soc/ccu.io_coherency to 1

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
?¢*6.2-
Tue Jan  4 20:10:53 2000

DiskStation login:

========
moderator edit: code tags



Edited 1 time(s). Last edit at 03/04/2021 11:25PM by bodhi.
VectraT
Re: Synology Diskstation DS414 Unbricking
March 08, 2021 05:37AM
Until I wrote command: setenv bootcmd ' bootm 0x08000000 0x07500000 3b84008', saveenv - the unit after power down booted to stock firmware.
Now, after this command, I get on boot:
Wrong Image Format for bootm command
ERROR: can't get kernel image!
ALPINE_DB>

So, the "setenv bootcmd bootm 0x08000000... is wrong!
Could somebody give me right boot string for DiskStation?
Re: Synology Diskstation DS414 Unbricking
March 09, 2021 04:52AM
VectraT,

> Until I wrote command: setenv bootcmd ' bootm
> 0x08000000 0x07500000 3b84008', saveenv

> Should not saveenv during testing!
> So, the "setenv bootcmd bootm 0x08000000... is
> wrong!
> Could somebody give me right boot string for
> DiskStation?

Did you list the envs somewhere in this thread? that has the original bootcmd.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Synology Diskstation DS414 Unbricking
June 28, 2022 09:58PM
I've got a DS416 that won't boot, but a different issue than @VectraT. I get a constant flashing blue light, and the reset button won't work.

I connected to the serial console, and initially after a few retries I got:

Starting kernel ...

Uncompressing Linux...

LZMA data is corrupt

-- System halted

I tried following the directions earlier for the DS414, and was able to load zImage and rd.bin via tftp, but when I run bootm 0x2000000 0x8000000 I get the following.

Annapurna Labs stage 2: stage2_eth3_ram_loader v1.49.3
Executing next!
Annapurna Labs stage 2: stage2.5_loader v1.49.3
SPD I2C Address:00000057
Executing next!


Stage 3 2013.10-alpine_spl-1.49.4-00666-gccfe35f (Sep 08 2014 - 09:15:21)

DRAM:  1 GiB
EEPROM Revision ID = 34
Device ID = a212
Device Info: AL21200-1400
Loading DT to 00100000 (17059 bytes)...
Board config ID: Synology DS416
SRAM agent up: agent_wakeup v1.49.3
Loading U-Boot to 00100000 (373616 bytes)...
Executing U-Boot...


U-Boot 2013.10-alpine_db-1.49.4-SYNO-768e80b-2016-01-04 (Jan 04 2016 - 18:44:17)

Annapurna Labs
Board: Alpine Development Board
I2C:   ready
DDR size is 1024 MB according to shared params
DRAM:  1 GiB

   _
  /_\  _ __  _ __   __ _ _ __  _   _ _ __ _ __   __ _
 //_\\| '_ \| '_ \ / _` | '_ \| | | | '__| '_ \ / _` |
/  _  \ | | | | | | (_| | |_) | |_| | |  | | | | (_| |
\_/ \_/_| |_|_| |_|\__,_| .__/ \__,_|_|  |_| |_|\__,_|
   __       _           |_|
  / /  __ _| |__  ___
 / /  / _` | '_ \/ __|
/ /__| (_| | |_) \__ \
\____/\__,_|_.__/|___/
               ___             _
 /\ /\        / __\ ___   ___ | |_
/ / \ \_____ /__\/// _ \ / _ \| __|
\ \_/ /_____/ \/  \ (_) | (_) | |_
 \___/      \_____/\___/ \___/ \__|

CPU DevID = 0, rev_id = 1
eeprom_per_device_init: no valid information found!
power_init_board: EEPROM per device information is not valid - using defaults!
Early init addr = 00000400
Early init DT offset = 00080000
SF: Detected MX25U6435F with page size 256 Bytes, erase size 64 KiB, total 8 MiB
U-Boot script not found in TOC!
U-Boot redundant environment not found in TOC!
DT info:
--------------------
Board config ID: Synology DS416
Muxed interfaces:
        if_uart_1(0)
GPIO configuration:
        GPIO 0 is input
        GPIO 1 is input
        GPIO 2 is input
        GPIO 3 is input
        GPIO 35 is input
        GPIO 36 is input
        GPIO 5 is output, value = 1
        GPIO 10 is output, value = 0
        GPIO 11 is output, value = 0
        GPIO 19 is output, value = 0
        GPIO 22 is output, value = 0
        GPIO 23 is output, value = 0
        GPIO 24 is output, value = 0
        GPIO 25 is output, value = 0
        GPIO 26 is output, value = 0
        GPIO 27 is output, value = 0
        GPIO 29 is output, value = 0
        GPIO 31 is output, value = 0
        GPIO 32 is output, value = 0
        GPIO 33 is output, value = 0
        GPIO 38 is output, value = 0
        GPIO 39 is output, value = 0
        GPIO 40 is output, value = 0
        GPIO 41 is output, value = 0
        GPIO 43 is output, value = 0
dt_based_init_gpio: GPIO  0: 0
dt_based_init_gpio: GPIO  1: 1
dt_based_init_gpio: GPIO  2: 1
dt_based_init_gpio: GPIO  3: 1
dt_based_init_gpio: GPIO  4: 1
dt_based_init_gpio: GPIO  5: 1
dt_based_init_gpio: GPIO  6: 0
dt_based_init_gpio: GPIO  7: 1
dt_based_init_gpio: GPIO  8: 0
dt_based_init_gpio: GPIO  9: 0
dt_based_init_gpio: GPIO 10: 0
dt_based_init_gpio: GPIO 11: 0
dt_based_init_gpio: GPIO 12: 1
dt_based_init_gpio: GPIO 13: 1
dt_based_init_gpio: GPIO 14: 1
dt_based_init_gpio: GPIO 15: 1
dt_based_init_gpio: GPIO 16: 1
dt_based_init_gpio: GPIO 17: 0
dt_based_init_gpio: GPIO 18: 1
dt_based_init_gpio: GPIO 19: 0
dt_based_init_gpio: GPIO 20: 0
dt_based_init_gpio: GPIO 21: 0
dt_based_init_gpio: GPIO 22: 0
dt_based_init_gpio: GPIO 23: 0
dt_based_init_gpio: GPIO 24: 0
dt_based_init_gpio: GPIO 25: 0
dt_based_init_gpio: GPIO 26: 0
dt_based_init_gpio: GPIO 27: 0
dt_based_init_gpio: GPIO 28: 1
dt_based_init_gpio: GPIO 29: 0
dt_based_init_gpio: GPIO 30: 1
dt_based_init_gpio: GPIO 31: 0
dt_based_init_gpio: GPIO 32: 0
dt_based_init_gpio: GPIO 33: 0
dt_based_init_gpio: GPIO 34: 1
dt_based_init_gpio: GPIO 35: 1
dt_based_init_gpio: GPIO 36: 1
dt_based_init_gpio: GPIO 37: 1
dt_based_init_gpio: GPIO 38: 0
dt_based_init_gpio: GPIO 39: 0
dt_based_init_gpio: GPIO 40: 0
dt_based_init_gpio: GPIO 41: 0
dt_based_init_gpio: GPIO 42: 1
dt_based_init_gpio: GPIO 43: 0
dt_based_init_gpio: GPIO 44: 1
dt_based_init_gpio: GPIO 45: 1
dt_based_init_gpio: GPIO 46: 1
dt_based_init_gpio: GPIO 47: 1
Ethernet port 0:
        mode: sgmii
        SFP module: N/A
        10gbe params: N/A
        PHY address: 1
        i2c-id: N/A
Ethernet port 1:
        mode: sgmii
        SFP module: N/A
        10gbe params: N/A
        PHY address: 2
        i2c-id: N/A
Ethernet port 2:
        mode: sgmii
        SFP module: N/A
        10gbe params: N/A
        PHY address: 3
        i2c-id: N/A
Ethernet port 3:
        mode: sgmii
        SFP module: N/A
        10gbe params: N/A
        PHY address: 0
        i2c-id: N/A
PCIe endpoint ports:
PCIe port 0:
        PCIe port status: enabled
        Gen: 2
        Width: 2
PCIe port 1:
        PCIe port status: enabled
        Gen: 2
        Width: 2
PCIe port 2:
        PCIe port status: disabled
        Gen: 2
        Width: 4
NAND:  0 MiB
SF: Detected MX25U6435F with page size 256 Bytes, erase size 64 KiB, total 8 MiB
*** Warning - bad CRC, using default environment

  00:00.0     - 1c36:0002 - Network controller
  00:01.0     - 1c36:0001 - Network controller
  00:04.0     - 1c36:0011 - Cryptographic device
  00:05.0     - 1c36:0021 - Base system peripheral
  00:09.0     - 1c36:0031 - Mass storage controller
PCIE_0: Link up. Speed 5GT/s Width x1
  01:00.0     - 1b6f:7023 - Serial bus controller
PCIE_1: Link up. Speed 5GT/s Width x1
  02:00.0     - 1b6f:7023 - Serial bus controller
In:    serial
Out:   serial
Err:   serial

Synology Model: DS416
Fan Status: Good

Net:
Turn off EEE of rl8211D
Disable eth0 green mode
Turn off EEE of rl8211D
Disable eth1 green mode
al_eth0 [PRIME]
Warning: al_eth0 using MAC address from net device
, al_eth1
Warning: al_eth1 using MAC address from net device

Press Ctrl+C to abort autoboot in 3 second
SF: Detected MX25U6435F with page size 256 Bytes, erase size 64 KiB, total 8 MiB
SF: 3014656 bytes @ 0x90000 Read: OK
SF: 4587520 bytes @ 0x370000 Read: OK
## Booting kernel from Legacy Image at 08000000 ...
   Image Name:   Linux-3.10.108
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2175152 Bytes = 2.1 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 07500000 ...
   Image Name:   synology_alpine4k_ds416 42218
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    3649828 Bytes = 3.5 MiB
   Load Address: 08000000
   Entry Point:  08000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 03b84008
   Booting using the fdt blob at 0x3b84008
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=0 size=100000
   Loading Ramdisk to 03807000, end 03b82124 ... OK
   Loading Device Tree to 037ff000, end 038062a2 ... OK
ft_board_setup_clock: setting /soc/clocks/refclk.clock-frequency to 100000000 Hz
ft_board_setup_clock: setting /soc/clocks/sbclk.clock-frequency to 375000000 Hz
ft_board_setup_clock: setting /soc/clocks/nbclk.clock-frequency to 800000000 Hz
ft_board_setup_clock: setting /soc/arch-timer.clock-frequency to 50000000 Hz
ft_board_setup_clock: setting /cpus/cpu@0.clock-frequency to 1400000000 Hz
ft_board_setup_clock: setting /cpus/cpu@1.clock-frequency to 1400000000 Hz
ft_board_setup_clock: setting /cpus/cpu@2.clock-frequency to 1400000000 Hz
ft_board_setup_clock: setting /cpus/cpu@3.clock-frequency to 1400000000 Hz
ft_board_setup_clock: setting /soc/clocks/cpuclk.clock-frequency to 1400000000 Hz
ft_board_setup_clock: setting /soc/uart0.clock-frequency to 375000000 Hz
ft_board_setup_clock: setting /soc/uart1.clock-frequency to 375000000 Hz
ft_board_setup_clock: setting /soc/uart2.clock-frequency to 375000000 Hz
ft_board_setup_clock: setting /soc/uart3.clock-frequency to 375000000 Hz
ft_board_setup_feature_disable: setting /soc/pcie-external2.status to disabled
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I/O CC forced to 1!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ft_board_setup_prop_u32_set: setting /soc/ccu.io_coherency to 1

Starting kernel ...

And it just hangs there.

If I interrupt boot, I can print my environment, which is much longer than VectraT's.

ALPINE_DB> printenv
arch=arm
ata_hdd_act_led=syno_hdd_act_led=10,11,22,23
ata_hdd_detect=
ata_hdd_enable=syno_hdd_enable=24,25,26,27
autoload=n
baudrate=115200
board=alpine_db
board_name=alpine_db
boot_instance_active=0
boot_instance_non_active=1
bootargs=
bootcmd=run syno_bootargs; run bootspi
bootdelay=2
bootspi=sf probe;sf read $loadaddr_kernel $spi_pt_addr_kernel $spi_pt_size_kernel;sf read $loadaddr_rootfs $spi_pt_addr_fs $spi_pt_size_fs;bootm $loadaddr_kernel $loadaddr_rootfs $fdtaddr;
clean_env=sf probe; sf erase $spi_pt_addr_env $spi_pt_size_env;
cpu=armv7
cvos_tags=0x01000000
cvos_tags_seed_a=0x01000004
cvos_tags_seed_b=0x01000008
cvos_tags_validate=mw.l ${cvos_tags} 0xcf05cf05
dt_filename=dt.img
dt_is_from_toc=1
dt_location=89000
env_offset=7e0000
env_offset_redund=7f0000
eth1addr=8a:0c:7a:3e:f9:8f
ethact=al_eth0
ethaddr=ca:a5:45:95:d4:6e
ethprime=al_eth0
fdtaddr=3b84008
file_dt=alpine/alpine_db.dtb
file_eeprom=alpine/eeprom
file_flash=alpine/flash.bin
file_kernel=alpine/uImage
file_rootfs=alpine/rd.bin
file_uboot=alpine/u-boot.img.withdt
fix_sata_link_speed=mw.l 0xfc8f821c 0x4000000;mw.l 0xfc9f821c 0x4000000;
fwupd=tftpboot ${tftpdir}uboot_script_fw_update.bin;source ${loadaddr}
iocc_force=1
iocc_force_val=1
loadaddr=0x08000000
loadaddr_dt=0x07000000
loadaddr_kernel=0x08000000
loadaddr_rootfs=0x07500000
opt_ata1=serdes wr 1 p0 pma 201 7 0 0xFC;serdes wr 1 p0 pma 202 7 0 0xff;serdes wr 1 p0 pma 203 7 0 0xff;serdes wr 1 p0 pma 204 7 0 0xff;serdes wr 1 p0 pma 205 7 0 0x7f;serdes wr 1 p0 pma 205 7 0 0xff;
opt_ata2=serdes wr 1 p1 pma 201 7 0 0xFC;serdes wr 1 p1 pma 202 7 0 0xff;serdes wr 1 p1 pma 203 7 0 0xff;serdes wr 1 p1 pma 204 7 0 0xff;serdes wr 1 p1 pma 205 7 0 0x7f;serdes wr 1 p1 pma 205 7 0 0xff;
opt_ata3=serdes wr 1 p2 pma 201 7 0 0xFC;serdes wr 1 p2 pma 202 7 0 0xff;serdes wr 1 p2 pma 203 7 0 0xff;serdes wr 1 p2 pma 204 7 0 0xff;serdes wr 1 p2 pma 205 7 0 0x7f;serdes wr 1 p2 pma 205 7 0 0xff;
opt_ata4=serdes wr 1 p3 pma 201 7 0 0xFC;serdes wr 1 p3 pma 202 7 0 0xff;serdes wr 1 p3 pma 203 7 0 0xff;serdes wr 1 p3 pma 204 7 0 0xff;serdes wr 1 p3 pma 205 7 0 0x7f;serdes wr 1 p3 pma 205 7 0 0xff;
opt_ata5=serdes wr 2 p0 pma 201 7 0 0xFC;serdes wr 2 p0 pma 202 7 0 0xff;serdes wr 2 p0 pma 203 7 0 0xff;serdes wr 2 p0 pma 204 7 0 0xff;serdes wr 2 p0 pma 205 7 0 0x7f;serdes wr 2 p0 pma 205 7 0 0xff;
opt_ata6=serdes wr 2 p1 pma 201 7 0 0xFC;serdes wr 2 p1 pma 202 7 0 0xff;serdes wr 2 p1 pma 203 7 0 0xff;serdes wr 2 p1 pma 204 7 0 0xff;serdes wr 2 p1 pma 205 7 0 0x7f;serdes wr 2 p1 pma 205 7 0 0xff;
opt_ata7=serdes wr 2 p2 pma 201 7 0 0xFC;serdes wr 2 p2 pma 202 7 0 0xff;serdes wr 2 p2 pma 203 7 0 0xff;serdes wr 2 p2 pma 204 7 0 0xff;serdes wr 2 p2 pma 205 7 0 0x7f;serdes wr 2 p2 pma 205 7 0 0xff;
opt_ata8=serdes wr 2 p3 pma 201 7 0 0xFC;serdes wr 2 p3 pma 202 7 0 0xff;serdes wr 2 p3 pma 203 7 0 0xff;serdes wr 2 p3 pma 204 7 0 0xff;serdes wr 2 p3 pma 205 7 0 0x7f;serdes wr 2 p3 pma 205 7 0 0xff;
opt_rx=serdes rx_params_set 1 0 00 07 00 00 08 00 08 07 00;serdes rx_params_set 1 1 00 07 00 00 08 00 08 07 00;serdes rx_params_set 1 2 00 07 00 00 08 00 08 07 02;serdes rx_params_set 1 3 00 07 00 00 08 00 08 07 02;serdes rx_params_set 2 0 00 07 00 00 08 00 08 07 04;serdes rx_params_set 2 1 00 07 00 00 08 00 08 07 04;serdes rx_params_set 2 2 00 07 00 00 08 00 08 07 04;serdes rx_params_set 2 3 00 07 00 00 08 00 08 07 04;
opt_tx=serdes tx_params_set 1 0 1 20 3 0 0;serdes tx_params_set 1 1 1 20 3 0 0;serdes tx_params_set 1 2 1 22 4 0 0;serdes tx_params_set 1 3 1 22 4 0 0;serdes tx_params_set 2 0 3 19 3 0 0;serdes tx_params_set 2 1 4 20 4 0 0;serdes tx_params_set 2 2 4 23 5 0 0;serdes tx_params_set 2 3 4 22 6 0 0;
optimize_sata=serdes rx_params_set 1 0  00 07 00 00 08 00 08 07 10;serdes rx_params_set 1 1  00 07 00 00 08 00 08 07 10;serdes rx_params_set 1 2  00 07 00 00 08 00 08 07 10;serdes rx_params_set 1 3  00 07 00 00 08 00 08 07 10;serdes rx_params_set 2 0  00 07 00 00 08 00 08 07 10;serdes rx_params_set 2 1  00 07 00 00 08 00 08 07 10;serdes rx_params_set 2 2  00 07 00 00 08 00 08 07 10;serdes rx_params_set 2 3  00 07 00 00 08 00 08 07 10;mw.l 0xFC8000BC  870e182b;mw.l 0xFC8000BC  870e182b;mw.l 0xFC8000BC  070e182b;mw.l 0xFC9000BC  870e182b;mw.l 0xFC9000BC  870e182b;mw.l 0xFC9000BC  070e182b;serdes wr 1 p4 pma 13 4 4 0;serdes wr 1 p4 pma 15 2 0 2;serdes wr 2 p4 pma 13 4 4 0;serdes wr 2 p4 pma 15 2 0 2;serdes tx_params_set 1 0 1 20 4 0 0;serdes tx_params_set 1 1 1 20 4 0 0;serdes tx_params_set 1 2 1 20 4 0 0;serdes tx_params_set 1 3 1 20 4 0 0;serdes tx_params_set 2 0 1 20 4 0 0;serdes tx_params_set 2 1 1 20 4 0 0;serdes tx_params_set 2 2 1 20 4 0 0;serdes tx_params_set 2 3 1 20 4 0 0;
pld_i2c_addr=57
sata_lot=serdes wr 1 p4 pma 13 4 4 0;serdes wr 1 p4 pma 15 2 0 0;serdes wr 2 p4 pma 13 4 4 0;serdes wr 2 p4 pma 15 2 0 0;
sata_lot3=serdes wr 1 p4 pma 13 4 4 1;serdes wr 1 p4 pma 15 4 3 3;serdes wr 2 p4 pma 13 4 4 1;serdes wr 2 p4 pma 15 4 3 3;
soc=alpine
spi_pt_addr_al_boot=0x00020000
spi_pt_addr_dt=0x00080000
spi_pt_addr_env=0x007E0000
spi_pt_addr_fs=0x00370000
spi_pt_addr_kernel=0x00090000
spi_pt_size_al_boot=0x00060000
spi_pt_size_dt=0x00010000
spi_pt_size_env=0x00010000
spi_pt_size_fs=0x00460000
spi_pt_size_kernel=0x002E0000
syno_boot_dev=/dev/md0
syno_bootargs=setenv bootargs console=ttyS0,115200 ip=off pci=pcie_bus_perf initrd=$loadaddr_rootfs root=$syno_boot_dev rw $syno_extra_args syno_hw_version=$syno_hw_version ihd_num=$syno_hdd_powerup_seq netif_num=$syno_net_if_num vmalloc=$syno_vmalloc $ata_hdd_act_led $ata_hdd_detect $ata_hdd_enable
syno_extra_args=HddHotplug=4
syno_hdd_powerup_seq=4
syno_hw_version=DS416
syno_net_if_num=2
upd_dt=setenv tftpfile $file_dt;mw.b $loadaddr 0xFF $spi_pt_size_dt; tftpboot $loadaddr $tftpfile; if test $? -eq 0; then sf probe; sf erase $spi_pt_addr_dt $spi_pt_size_dt; sf write $loadaddr $spi_pt_addr_dt $spi_pt_size_dt; echo "Device Tree Update Done";fi;
upd_eeprom=confirm_msg "Perform EEPROM update? [y/n] ";if test $? -ne 0; then exit; fi;tftpboot $loadaddr $file_eeprom;if test $? -ne 0; then exit; fi;i2c probe ${pld_i2c_addr};if test $? -ne 0; then exit; fi;i2c write $loadaddr ${pld_i2c_addr} 0.2 $filesize;if test $? -ne 0; then exit;fi;echo eepromupd done;
upd_flash=setenv tftpfile $file_flash; tftpboot $loadaddr $tftpfile; if test $? -eq 0; then echo "This may take a while, please be patient..."; sf probe; sf erase 0 +$filesize; sf write $loadaddr 0 $filesize; echo "Flash Update Done"; fi;
upd_kernel=setenv tftpfile $file_kernel;mw.b $loadaddr 0xFF $spi_pt_size_kernel;tftpboot $loadaddr $tftpfile; if test $? -eq 0; then sf probe; sf erase $spi_pt_addr_kernel $spi_pt_size_kernel; sf write $loadaddr $spi_pt_addr_kernel $spi_pt_size_kernel; echo "Kernel Update Done"; fi;
upd_rootfs=setenv tftpfile $file_rootfs;mw.b $loadaddr 0xFF $spi_pt_size_rootfs; tftpboot $loadaddr $tftpfile;if test $? -eq 0; then sf probe; sf erase $spi_pt_addr_fs +$filesize; sf write $loadaddr $spi_pt_addr_fs $filesize;echo "Rootfs Update Done";fi;
upd_uboot=setenv tftpfile $file_uboot;tftpboot $loadaddr $tftpfile; if test $? -eq 0; then sf probe; sf erase 0 +$filesize; sf write $loadaddr 0 $filesize; echo "Uboot Update Done"; fi;
vendor=annapurna-labs

Environment size: 7349/16380 bytes
ALPINE_DB>


I think m uboot is ok, but I suspect I need to load zImage and rd.bin to different addresses, or maybe clear the environment, bur I'm not sure how to proceed.

This was running DSM7, and the files on my tftp server are from DSM7, filename DSM_DS416_42218.pat. Any suggestions?

Thanks!
Re: Synology Diskstation DS414 Unbricking
September 09, 2022 10:14AM
Hi everyone,

I've the same problem VectraT says with the same model, and i´m stuck at the same point.

I've tried some different things, like load different versions of zImage and rd files, from DSM5 to DSM7 with no luck.

I don't know if any of you have seen a thing that i think is very important at startup log:

SF: Detected MX25U6435F with page size 256 Bytes, erase size 64 KiB, total 8 MiB
  00:01.0     - 1c36:0001 - Network controller
  00:05.0     - 1c36:0021 - Base system peripheral
pci_init_board_external: PCIE_0 no link found
pci_init_board_external: PCIE_1 no link found
In:    serial
Out:   serial
Err:   serial

Synology Model: DS416
Fan Status: Not Good
Fan 1: Not Good
Fan 2: Not Good

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


   Bootstraps / DT / Capabilities Mismatch!


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

I'm not an expert, but the problem i'm seeing here is that uboot didn't recognise some devices like USB and others. Let's compare with a different startup log, the one that mesnyder1 put here:

SF: Detected MX25U6435F with page size 256 Bytes, erase size 64 KiB, total 8 MiB
*** Warning - bad CRC, using default environment

  00:00.0     - 1c36:0002 - Network controller
  00:01.0     - 1c36:0001 - Network controller
  00:04.0     - 1c36:0011 - Cryptographic device
  00:05.0     - 1c36:0021 - Base system peripheral
  00:09.0     - 1c36:0031 - Mass storage controller
PCIE_0: Link up. Speed 5GT/s Width x1
  01:00.0     - 1b6f:7023 - Serial bus controller
PCIE_1: Link up. Speed 5GT/s Width x1
  02:00.0     - 1b6f:7023 - Serial bus controller
In:    serial
Out:   serial
Err:   serial

Synology Model: DS416
Fan Status: Good

Net:
Turn off EEE of rl8211D
Disable eth0 green mode
Turn off EEE of rl8211D
Disable eth1 green mode
al_eth0 [PRIME]
Warning: al_eth0 using MAC address from net device
, al_eth1
Warning: al_eth1 using MAC address from net device

Forgot the line about Fan status, I´ve it disconnected for testing.

So... What do you think? is still possible to bring it back? How we can follow?

** EDIT ** I forgot to say that i was able to log into DSM using default username "admin" and following the calcuations for generate the password. Once logged in, i didn't see any usb storage device in /dev.



Edited 1 time(s). Last edit at 09/09/2022 10:18AM by dmart.
Re: Synology Diskstation DS414 Unbricking
September 18, 2022 05:29AM
Hi again,

I´ve been working on this following other post and now i´m trying to reflashing uboot using a clip.

I´ve made a dump of the current /dev/mtd devices and i´m going to create the file to flash following this info:

https://community.synology.com/enu/forum/17/post/69287

@VectraT, what do you did with your unit? you got it working?
@bodhi, any suggestion?
Re: Synology Diskstation DS414 Unbricking
September 18, 2022 11:37PM
@dmart,

I have no suggestion for this DS416 box.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Fluide
Re: Synology Diskstation DS414 Unbricking
February 21, 2023 05:30PM
Hey guys,

I own a DS414 and I'm also suffering from the blue flashing light of dead syndrom.
I have not idea what happened, the DS wasn't updating and one day I just found it not responding.
I tried all the other methods (removing disks, resetting, holding power etc...), I also opened a ticket with support, but the suggestions were very generic. This is why I'm now trying to console to the DS414 to see what's going on.

Unofrtunately, I'm stuck at the very beginning, I can't even access the boot prompt via the serial port.
I followed the instructions posted above and watched the videos already a couple of times (thanks a lot), but when I boot the DS I only get random char in PuTTY such as

▒▒▒{▒▒▒


or

<▒|▒▒▒!▒▒▒▒▒▒▒a0▒a▒L▒▒▒ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒?▒


...each time it's different.

I've tried with this PL2303TA UART cable (https://www.amazon.de/Queen-Y-Pl2303ta-Converter-Raspberry-Programming-As-Shown/dp/B08HPSFFTT/ref=sr_1_1_sspa?crid=4LVZWN9T5W8Q&keywords=queen.+y+pl2303ta&qid=1677021323&sprefix=queen.y+pl2303ta%2Caps%2C64&sr=8-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1&smid=AIA8VZM2RO0OQ) and also with another chip USB UART-TTL 3.3V 5V CH340G without any luck.

The COM port and PuTTy are setup like this : https://pasteboard.co/w4uyvheNKmW0.png

Is my DS414 really dead or am I missing something ?
Re: Synology Diskstation DS414 Unbricking
February 21, 2023 05:48PM
Fluide,


> The COM port and PuTTy are setup like this :
> https://pasteboard.co/w4uyvheNKmW0.png

Looks right.

>
> Is my DS414 really dead or am I missing something
> ?

The firs thing to try is swapping TX and RX.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Dennis
Re: Synology Diskstation DS414 Unbricking
March 15, 2023 06:52PM
I also have a DS414 which suffered a power outage while updating. Now blue led flashing.
I have a UART Adapter connected to JP2 pins 2,4,6 (GND,RX,TX).
But I cannot get any response on the serial connection at all.
Settings are as mentioned above (115200 8N1).
Also swapped RX and TX already. Nothing.

If u-boot is damaged or missing, should there still be any messages on console when powering on?

I also tried a remote boot with kwboot as described.
It shows "please reboot the target" but then nothing happens.

Any ideas what I can try?
Re: Synology Diskstation DS414 Unbricking
March 15, 2023 07:03PM
Dennis,

Quote

If u-boot is damaged or missing, should there still be any messages on console when powering on?

No. If u-boot is damaged, you will not see anything powering on.

> Any ideas what I can try?


Make sure you are using newer version of kwboot. This is the ARM version I've built recently:

https://forum.doozan.com/read.php?3,27280\

Also try runningkwboot with -a option

Quote

-a: use timings for Armada XP

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 2 time(s). Last edit at 03/15/2023 07:07PM by bodhi.
Dennis
Re: Synology Diskstation DS414 Unbricking
March 15, 2023 07:28PM
> Make sure you are using newer version of kwboot.

I'm on ubuntu 22.04 LTS x64
with kwboot version 2022.01+dfsg-2ubuntu2.3

Is there a newer version for x64 somewhere?


> Also try running kwboot with -a option

I already had this option in my command:

kwboot -t -B 115200 /dev/ttyUSB0 -b u-boot-spl-2019.10-tld-1.ds414.kwb -a
Re: Synology Diskstation DS414 Unbricking
March 15, 2023 10:32PM
> I'm on ubuntu 22.04 LTS x64
> with kwboot version 2022.01+dfsg-2ubuntu2.3
>
> Is there a newer version for x64 somewhere?

Unfortunately, no. I have not built on x86 for a while.

Unless the power outage has fried the serial port (I'd doubt that), you should be able to kwboot it. The current kwboot version is quite robust, solving a lot of weird problems in Armada BootROM.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Synology Diskstation DS414 Unbricking
March 15, 2023 11:11PM
Dennis,

Try this kwboot on your Ubuntu. I assume you are running x86-64 hardware.

# file kwboot
kwboot: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=cbb159ab711700fc78e2222177d3b374aae58155, for GNU/Linux 3.2.0, not stripped
# sha256sum kwboot
863b163128178af530ae8be921fa848809b8819dd986e01f5fbff0c8cb7e1f35

# ./kwboot
kwboot version 2023.04-rc4-11476-g318af47668

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 2 time(s). Last edit at 03/15/2023 11:20PM by bodhi.
Attachments:
open | download - kwboot (39.9 KB)
Dennis
Re: Synology Diskstation DS414 Unbricking
March 16, 2023 08:15PM
>
> kwboot version 2023.04-rc4-11476-g318af47668
>

Thank you, I tried this version (with and without -a parameter) but no change unfortunately.


Is a newer u-boot.kwb file available perhaps?
(I'm trying with "u-boot-spl-2019.10-tld-1.ds414.kwb")


Is there any test I can do to confirm I have a proper connection to the serial port?
Re: Synology Diskstation DS414 Unbricking
March 16, 2023 10:31PM
> Is a newer u-boot.kwb file available perhaps?
> (I'm trying with
> "u-boot-spl-2019.10-tld-1.ds414.kwb")

That should be good enough. Besides, it's not relevant which u-boot image you use until it is completely loaded by kwboot and starts running.

Also try connecting GND to a ground source on the board (instead of the GND pin on the header). See if it will make any difference.

> Is there any test I can do to confirm I have a
> proper connection to the serial port?

- You can loop TX back to RX on the converter side and type something, it should echo back. That will prove the converter is working.

Other than that, I'm not sure how to do simple test at the board side. The fact that the blue LED is blinking give you some hope, though. If it is silent and LED not blinking, then it is really dead.

Another way of rescuing is using JTAG interface. I'm not sure this board has JTAG. Usually with JTAG you 'd need to do some soldering to install the header.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Dennis
Re: Synology Diskstation DS414 Unbricking
March 18, 2023 11:29AM
I unbricked it!!
Thank you for all the instructions on this forum.

Actually I had a working u-boot which I didn't realize at first.

I had followed this literally:
"Turn on the power while this is connected" (serial port).

But then I discovered this in another thread:

* Warning: the device may not boot with a 3.3V
* USB-serial converter connected when the power
* button is pressed. The converter needs to be
* connected a few seconds after pressing the
* power button. This is possibly due to UART0_TXD
* pin being sampled at reset (bit 0 of SAR).

That was the problem on my device as well.
So connecting serial after power-on did not show me the boot messages but the marvell prompt!

From this point on it was a piece of cake ;)
Loaded zImage and rd.bin from USB, booted perfectly, then updated firmware, done!


I'm just wondering how exactly the necessary order would have been for a potential kwboot...
power-on, start kwboot, connect serial? - all within 1 second? ;)
Re: Synology Diskstation DS414 Unbricking
March 18, 2023 02:42PM
Congrats!

> * Warning: the device may not boot with a 3.3V
> * USB-serial converter connected when the power
> * button is pressed. The converter needs to be
> * connected a few seconds after pressing the
> * power button. This is possibly due to UART0_TXD
> * pin being sampled at reset (bit 0 of SAR).

Cool! I forgot to look at the DTS for this box. This info is in there.

https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/armada-xp-synology-ds414.dts#L67

> I'm just wondering how exactly the necessary order
> would have been for a potential kwboot...
> power-on, start kwboot, connect serial? - all
> within 1 second? ;)

The probelm is if the converter USB is not plugged in, there is no ttyUSB0 device, so kwboot won't run.

Connect serial, but leave the TXD wire unplugged. kwboot. And then this need to done quickly: power on, and then plug in TXD. Probably not possible to plug in the wire fast enough. And when the wire is attached like that it causes some noise and kwboot migh stop running.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Rob
Re: Synology Diskstation DS414 Unbricking
March 23, 2023 11:59AM
i have marvell promt but no command fatload, how to download files by USB?
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: