Synology Diskstation DS414 Unbricking
April 16, 2020 01:46PM
----------------------------------------------------------------------

Synology Diskstation DS414 Unbricking

----------------------------------------------------------------------

This was many hours work so i thought it was a good idea to document properly rather than leave it online as 100 or so different forum posts (in multiple different languages) that i used to solve this tricky problem.

A special thanks to Bohdi from doozan.com and Greg Langford from greglangford.co.uk for their assistance.

----------------------------------------------------------------------

The problem

----------------------------------------------------------------------

After selling my DS on facebook marketplace (the first mistake) the guy who bought it managed to brick it. At first it seemed like the power had been pulled during an upgrade but now after recovery i have all the logs and can see he had attempted to use disks from an old DS2XX series which seemed to corrupt the boot image.

The device was delivered back at my door with a blue flashing light of death and so the project began to unbrick my DS.

The reason i say facebook marketplace was my first mistake was i couldn't find any support on what to do when a buyer returns something that they obviously broke themselves. Ebay on the other hand have processes in place to help with disputes like this. I'm not knocking facebook marketplace in general as it has been a good way to sell stuff quickly due to the amount of people it reaches in the local area but i will take this as a warning when i next come to sell something.

----------------------------------------------------------------------

The research

----------------------------------------------------------------------

So, where do you start with blue blinking light of death. Many unhelpful suggestions on the Synology forums, even from the synology support chat saying the box was “unrecoverable” but a couple of useful posts did start me on the right track.

The first one i found wasn't the most helpful but gave me hope it was fixable.

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

Now this was a scary read as soldering anything has not always worked out positively for me in the past. The important part of this post that should be carefully considered is the sentence “This guide is for all who are sure that u-boot has been corrupted and that there is no other way to recover.”

So how do i confirm if uboot is corrupted? I need to console!

Now Synology have not made this a simple plug and play process. The console pins are hidden underneath which first lead me to a youtube video on dismantling the box to find the pins. As it turns out all i needed to do was tape the correct 3 UART pins together and slide them through the correct gap in the underside of the case.

https://pasteboard.co/J46QuyY.png

I prefer the second video as until you realise which direction to push the inside bar it can be a pain to open.

**NOTE** if you are watching these thinking the DS414 can be memory upgraded then look at the photos below. The DS414 has the memory fixed to the motherboard unlike the DS415+

https://www.youtube.com/watch?v=UhsSmOLQA_g&t=135s

https://www.youtube.com/watch?v=eHCf51AytLM&t=51s


https://pasteboard.co/J46QYo5.png

https://pasteboard.co/J46RiiY.png

Once consoled i was off to a good start although I had a major pain getting tftp to work in the stock Marvel uboot.

Using a dutch post

https://gathering.tweakers.net/forum/list_message/61991482#61991482

I managed to get the DS booted but typing “save” set me back a few days as it didnt save the image correctly and meant even uboot was not loading back to its prompt. So a new search began, how to recover u-boot, hopefully without soldering or using a SOIC clip like the tweakers post suggested.

**NOTE** a SOIC clip is a clip that can attach to a rom chip for reading or writing without soldering. So for example if you couldnt console you could go direct to the chip. I think the problem for me would have been finding which chip to clip so im glad i didnt need to go down this route.

https://pasteboard.co/J46RHwE.png

Now its funny the order i found these in but the next post i came across when searching how to recover u-boot was back on the synology forum. A post by Greg Langford, most of which by this point i had done but i reached out to Greg via his website as the forum post was too old to post.

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

Clicking a link in Greg’s post led me to the doozan forum which was the most help of all.

https://forum.doozan.com/read.php?3,99414,page=2

Here I managed (with a lot of help) to load a custom uboot image using a tool called kwboot and load a custom built debian OS to reflash uboot and the zImage partitions.

I'm kinda glad it worked out that way as i learned a lot about how the Synology boots and different ways that devices running uboot can be hacked.

Using this custom debian build i restored the /dev/mtd1 partition and u-boot was back to a prompt. With a few final pointers from Greg on restoring the firmware once booted i finally had a working Synology again!

----------------------------------------------------------------------

The solution

----------------------------------------------------------------------


Step 1. Console the Synology

-- Label the disks so they go back in the correct order and remove them.
-- Remove network cable and any external USB.
-- Now console and find out why it’s not booting.
-- Does it stop before loading the image or after?
-- Do you get a Marvel prompt?


Console using a UART Cable

You can watch my videos on consoling the Synology here (using a raspberry pi or putty from windows)

Windows using Putty : https://youtu.be/zEcPw3UMAfc

Linux from Raspberry Pi: https://youtu.be/2WtcMX_d6Vk

To console the Synology dont do what i did and open the case, just turn the case on its side and find the back 3 pins closest to the board.


https://pasteboard.co/J46Sqtv.png

The pins you’re looking for are 2,4,6 but you wont see this without the case open so tape the UART together going BLACK / WHITE / GREEN (red is not needed)

Green goes closest to the power button.

Using your favourite terminal program, set the port to the correct COM port (find the COM port for the usb serial in Device Manager) and set the baud rate to 115200. Leave everything else default. Now a tip is to turn on terminal logging so you record ALL your outputs each time you load the console. I use SecureCrt and set my scroll back buffer to 128000 and the log file to append


https://pasteboard.co/J46SBuO.png

Turn on the power while this is connected and see if you get to the Marvel prompt.

If you do then that is a good sign!

Step 2. Prepare the USB

Now you can use TFTP but to save you the issue i had i highly recommend using a usb stick.

Find a usb stick, an old one 8Gb or under is perfect. Format in windows using a tool called rufus to make sure you get the partition exact.

Format it to be non bootable, MBR (important), labelled rootfs, fat32 and quick format.

**NOTE** I used ext2 as i was preparing a custom image from a raspberry pi running raspbian and the custom uboot i was using prefered ext2.

https://pasteboard.co/J46SSda.png

Download the latest DS for your synology in pat file format and use 7zip to unpack.

https://www.synology.com/en-uk/support/download/DS414#firmware

https://pasteboard.co/J46T7tv.png

The folder you extract should look like this:

https://pasteboard.co/J46ThZFz.png

The uboot file is important if you cannot boot into a Marvel prompt (i’ll cover that later) but if you are at the prompt you just need zImage and rd.bin.

Copy these to the usb and eject.

Step 3. Boot from usb (do not save)

I made the mistake here of changing envs trying to get it to boot. The best thing here is to load the image from the usb into RAM and boot.

Here are the commands you need (Plug the drives back in first):


*** Warning - bad CRC, using default environment

Wrong Image Format for bootm command
ERROR: can't get kernel image!

So i loaded the kernel back on by downloading the latest 414 firmware from Synology, unpacking the pat file and using a USB formatted with rufus to fat16 to copy zImage and rd.bin

Marvell>> usb start

(Re)start USB...
USB:   Active port:     0
Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 2 USB Device(s) found
       scanning bus for storage devices... 1 Storage Device(s) found



Marvell>> fatload usb 0:1 2000000 zImage
reading zImage


2123952 bytes read

Marvell>> fatload usb 0:1 8000000 rd.bin
reading rd.bin

3698039 bytes read


Marvell>> bootm 0x2000000 0x8000000

Step 4. Upgrade the firmware.

Hopefully this will boot back into the syno software and you can login and perform an upgrade using the pat file you downloaded.

https://pasteboard.co/J46TG83.png

View the console output here from the upgrade. It was very satisfying to watch it boot again by itself for the first time in weeks!!!

https://pastebin.com/wYBkJt8A



----------------------------------------------------------------------

What if u-boot doesn't give a Marvel prompt

----------------------------------------------------------------------

Now this was the fun part! I managed to type save as i said above which set me back a few steps as i had to find someone to help me boot a custom uboot and restore the image from debian. The fun part was seeing how this could easily be used to hack a DS into any OS from debian or even Freenas (hopefully a future guide coming soon)


Step 1. Download kwboot in Linux

Now I did all this using my raspberry pi model b. It's one of the original pis that normally sits on shelf as isn't powerful enough to run much these days but is perfect for a project like this!

The reasons i found it perfect were easy access to the usb ports as my other linux machines are all VMs plus i could start with a clean raspbian build.

I recommend the stretch version of raspian as buster seems to have a buggy version of kwboot in the main repo.

http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-04-09/2019-04-08-raspbian-stretch-lite.zip

Download the zip and use rufus to load the image to the SD card ready to boot the rpi.


Boot the rpi with the new SD card and SSH from SecureCrt. Make sure its connected to the network and do an apt-get update


https://pasteboard.co/J46UO3W.png


sudo apt-get update
sudo apt-get upgrade
sudo apt install u-boot-tools minicom -y

Plug in the UART console and check which tty it has loaded as and start minicom


cat /var/log/messages | grep ttyUSB
sudo minicom --device /dev/ttyUSB0

Plug in the console to the synology and power it on. At this point my boot was hanging at

MMC:   MRVL_MMC: 0
SF: Detected M25P64 with page size 64 KiB, total 8 MiB
PEX 0.0(0): Root Complex Interface, Detected Link X4, GEN 1.1
PEX 1.0(1): Root Complex Interface, Detected Link X1, GEN 2.0
PEX 1.1(2): Detected No Link.
PEX 1.2(3): Detected No Link.
FPU initialized to Run Fast Mode.
USB 0: Host Mode
USB 1: Host Mode
USB 2: Device Mode
Modules Detected:

---HANGS---


Step 2. Download the custom kwb and run kwboot


Download the kwb file for the DS414 ready to use with kwboot and winscp it across to the rpi. This is a custom u-boot that can run from UART.

kwb

Rename the file to correct the typo on the ds number and run kboot

mv u-boot-spl-2019.10-tld-1.ds114.kwb u-boot-spl-2019.10-tld-1.ds414.kwb
kwboot -t -B 115200 /dev/ttyUSB0 -b u-boot-spl-2019.10-tld-1.ds414.kwb -a

Sending boot message. Please reboot the target...-


Now power on the Synology and it should boot into a custom u-boot with a => prompt

https://pastebin.com/qZnHr1Sv



Step 3. Prepare the custom debian os usb stick

https://forum.doozan.com/read.php?2,32146

Format the usb as ext2 this time as this custom u-boot doesnt have ext3 or 4 loaded and seemed a little unstable using fat. Make sure its MBR not GPT and the label is rootfs

https://pasteboard.co/J46Wbyk.png

Download kernel and winscp it over to the rpi or wget direct into the home dir

https://bitly.com/37ygLsI

The run the following (assuming your usb is /dev/sda)



sudo su -
mount -t ext2 /dev/sda1 /media/usb/
cd /media/usb
tar -xvjf /home/pi/Debian-5.2.9-mvebu-tld-1-rootfs-bodhi.tar.bz2
cd boot
cp -a zImage-5.2.9-mvebu-tld-1 zImage.fdt 
cat dts/armada-xp-synology-ds414.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.2.9-mvebu-tld-1 -d zImage.fdt uImage
sed -i 's/ext3/ext2/' /media/usb/etc/fstab
cp -v /home/pi/uboot_DS414r1.bin /media/usb/root/
cp -v /home/pi/zImage /media/usb/root/
cd;sync;umount /media/usb


**NOTE** The lines below are from the pat file from the synology website. I used these to reflash mtd0 and mtd1 which got my Synology booting back to the Marvel prompt.


cp -v /home/pi/uboot_DS414r1.bin /media/usb/root/
cp -v /home/pi/zImage /media/usb/root/


Step 4. Boot into Debian from usb

Move the usb stick into the FRONT usb next to the power button. Use the kwboot command again to boot to the => prompt and run the following:


kwboot -t -B 115200 /dev/ttyUSB0 -b u-boot-spl-2019.10-tld-1.ds414.kwb -a

setenv bootargs 'console=ttyS0,115200 root=/dev/sda1 rootdelay=3 mtdparts=spi0.0:0x000d0000(u-boot),0x002d0000(zimage),0x00430000(rd),0x00010000(vendor),0x00010000(u-boot-envs),0x00010000(fis) earlyprintk=serial'

ext2load usb 0:1 2000000 boot/uImage

bootm 0x2000000


If this boots correctly the output should be similar to this.

https://pastebin.com/CHNGv0Sa

Step 5. Login to Debian and backup the mtd partitions

Login with root / root

Check the mtd parts have the u-boot labels NOT the RedBoot labels.

root@debian:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 000d0000 00001000 "u-boot"
mtd1: 002d0000 00001000 "zimage"
mtd2: 00430000 00001000 "rd"
mtd3: 00010000 00001000 "vendor"
mtd4: 00010000 00001000 "u-boot-envs"
mtd5: 00010000 00001000 "fis"


Backup each of these parts to usb. The counts are hex to decimal conversions of the above.


root@debian:~# dd if=/dev/mtd3 of=mtd3 bs=1 count=65536
root@debian:~# dd if=/dev/mtd4 of=mtd4 bs=1 count=65536
root@debian:~# dd if=/dev/mtd5 of=mtd5 bs=1 count=65536
root@debian:~# dd if=/dev/mtd0 of=mtd0 bs=1 count=851968
root@debian:~# dd if=/dev/mtd1 of=mtd1 bs=1 count=2949120
root@debian:~# dd if=/dev/mtd2 of=mtd2 bs=1 count=4390912


Step 6. Restore the stock u-boot and zImage

Now i got an error here verifying the data but this got me back to a working Marvel prompt where i was able to boot zImage and rd.bin from usb like the first part of this guide.

If this works for you without error then it’s possible that you won’t need any further steps and a reboot will boot you back into the stock syno OS.


root@debian:~# flash_unlock /dev/mtd0
root@debian:~# flashcp -v uboot_DS414r1.bin /dev/mtd0
Erasing blocks: 203/203 (100%)
Writing data: 808k/808k (100%)
Verifying data: 808k/808k (100%)
root@debian:~#


root@debian:~# flash_unlock /dev/mtd1
root@debian:~# flashcp -v zImage /dev/mtd1
Erasing blocks: 519/519 (100%)
Writing data: 2074k/2074k (100%)
Verifying data: 2050k/2074k (98%)File does not seem to match flash data. First mismatch at 0x001fe000-0x00200800


Good luck.



Edited 1 time(s). Last edit at 04/18/2020 12:47PM by bignellrp.
Re: Synology Diskstation DS414 Unbricking
April 17, 2020 04:54PM
bignellrp,

Thanks!

I've added this to the Wiki :

Quote

Unbricking with Serial Console & JTAG console

Repair Pogo E02 with Raspberry PI (JTAG) and OpenOCD
Serial Port connector - what are people using to make it work
Serial Console hookup - GoFlex Net (external link)
Serial Console hookup - Pogoplug E02 and Pogoplug Pro V3 (external link)
OSX Serial/Net Console
Use Phone Jack - Phone Jack Serial Console Pics
Adding serial connector to Pogoplug Mobile (external link)
WD Mycloud EX2100/4100 Serial Console pic1, also pic2, pic3
Dreamplug Serial Console
How to unbrick your box using serial console with kwboot
kwboot on Mac OSX 10
Unbrick a Pogoplug Pro v3 OXNAS by flashing u-boot in serial console
Unbricking Synology Diskstation DS414 - See also the working thread for this unbricking session

-bodhi
===========================
Forum Wiki
bodhi's corner



Edited 1 time(s). Last edit at 04/17/2020 05:04PM by bodhi.
Gilles
Re: Synology Diskstation DS414 Unbricking
August 29, 2020 11:05AM
Hello,

Your tutorial is awesome.

I have a 414j which is in the same state as your 414.

I am now stuck at the kwb step. Where can I find a custom kwb for the 414j ?

Any help would be welcome.

Gilles
Re: Synology Diskstation DS414 Unbricking
August 29, 2020 02:12PM
Hi Gilles,

Sorry to hear your 414j cannot boot. Hopefully you can fix as i did. Im pretty sure you can use the same 414 image as you only need it to boot into to follow the commands to restore the stock uboot. Follow all the steps above and try the u-boot-spl-2019.10-tld-1.ds414.kwb
Joshua
Re: Synology Diskstation DS414 Unbricking
January 01, 2021 05:58PM
I have a DS415+ that won't boot. I got a UART cable and tried to console and got nothing. I don't have a raspberry pi handy, just a Win10 laptop and a 64gb usb flash drive. Is there a way to make what I have work to get my DS415+ back on its feet?
Re: Synology Diskstation DS414 Unbricking
January 02, 2021 01:16AM
Hi Joshua,

You’re in the right place to get it working. Do you have any lights on it when you turn it on?

I did this video for connecting a UART to my Synology from windows. Hopefully you’ll find it useful.

https://youtu.be/zEcPw3UMAfc

Good luck.

Rik
Re: Synology Diskstation DS414 Unbricking
January 02, 2021 03:33AM
Joshua,

> I have a DS415+ that won't boot.

The Synology 415+ is an Intel Atom box. So there is not much we can do to help.

-bodhi
===========================
Forum Wiki
bodhi's corner
VectraT
Re: Synology Diskstation DS414 Unbricking
February 02, 2021 04:18AM
Hi!
Reading this fantastic job and wonder, if I can get an DS416 alive again.
Got it from friend and it booting up, blue light is flashing, after ~30 sec blue led stady, orange/yellow flashing. Unit came to me without disks.
Network led is flashing, but unit can't get IP adress from switch/router and Synology Assistant don't find it. Connected to serial, device booting, Annapurna U-boot,
.U-Boot script not found in TOC!
U-Boot redundant environment not found in TOC!
Not getting desent IP adress, only 169.254.12.171
Tried to configure DHPC range of router for that, but Synology Assistant not finding any devices...
Re: Synology Diskstation DS414 Unbricking
February 02, 2021 04:38AM
Hi,

It sounds like your boot partition is still ok.

I had this issue once when the network cable wasn’t seated correctly.

Try holding the cable in the port and confirm you get network lights either side of the port.

You can use a tool like Fing to scan the network and confirm you see the MAC address of the device.

Keep trying as it certainly doesn’t sound terminal.

Rik
VectraT
Re: Synology Diskstation DS414 Unbricking
February 02, 2021 04:49AM
Thanks for the quick ansfer!
Will try Fing!
I coult post the terminal log, if it helps!?
VectraT
Re: Synology Diskstation DS414 Unbricking
February 02, 2021 05:08AM
[  580.851528] eth [al_eth_0]: set auto negotiation to enable
[  580.857005] libphy: 8:02 - Link is Up - 100/Full
[00]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
*** Warning - bad CRC, using default environment

  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
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.105
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2437976 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 23824
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    3741660 Bytes = 3.6 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 037f1000, end 03b827dc ... OK
   Loading Device Tree to 037e9000, end 037f02a2 ... 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.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.10.105 (root@build1) (gcc version 4.9.3 20150311 (prerelease) (crosstool-NG 1.20.0) ) #23824 SMP Fri Oct 12 18:27:37 CST 2018
[    0.000000] CPU: ARMv7 Processor [412fc0f4] revision 4 (ARMv7), cr=30c73c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] Machine: AnnapurnaLabs Alpine (Device Tree), model: Annapurna Labs Alpine Dev Board
[    0.000000] vmalloc area too small, limiting to 16MB
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] PERCPU: Embedded 7 pages/cpu @81084000 s7552 r8192 d12928 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 259584
[    0.000000] Kernel command line: console=ttyS0,115200 ip=off pci=pcie_bus_perf initrd=0x07500000 root=/dev/md0 rw HddHotplug=4 syno_hw_version=DS416 ihd_num=4 netif_num=2 vmalloc= syno_hdd_act_led=10,11,22,23 syno_hdd_enable=24,25,26,27
[    0.000000] Support HDD Hotplug.
[    0.000000] Synology Hardware Version: DS416-j
[    0.000000] Internal HD num: 4
[    0.000000] Internal netif num: 2
[    0.000000] SYNO GPIO hdd active led pin: 10 11 22 23 
[    0.000000] SYNO GPIO hdd enable pin: 24 25 26 27 
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1024MB = 1024MB total
[    0.000000] Memory: 1027036k/1027036k available, 21540k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xff400000 - 0xff800000   (4096 kB)
[    0.000000]     vmalloc : 0xc0800000 - 0xff000000   (1000 MB)
[    0.000000]     lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
[    0.000000]     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
[    0.000000]     modules : 0x7f000000 - 0x7fe00000   (  14 MB)
[    0.000000]       .text : 0x80008000 - 0x805beb78   (5851 kB)
[    0.000000]       .init : 0x805bf000 - 0x805ebd80   ( 180 kB)
[    0.000000]       .data : 0x805ec000 - 0x80617b20   ( 175 kB)
[    0.000000]        .bss : 0x80617b20 - 0x8067577c   ( 376 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] sched_clock: 32 bits at 375MHz, resolution 2ns, wraps every 11453ms
[    0.000152] Calibrating delay loop... 2793.47 BogoMIPS (lpj=13967360)
[    0.060023] pid_max: default: 32768 minimum: 301
[    0.060087] Security Framework initialized
[    0.060100] AppArmor: AppArmor initialized
[    0.060125] Mount-cache hash table entries: 512
[    0.060489] CPU: Testing write buffer coherency: ok
[    0.060592] CPU speed: 1.5GHz
[    0.060611] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.060644] Setting up static identity map for 0x80456b80 - 0x80456bd8
[    1.060632] CPU1: failed to boot: -38
[    2.060631] CPU2: failed to boot: -38
[    3.060634] CPU3: failed to boot: -38
[    3.060663] Brought up 1 CPUs
[    3.060667] SMP: Total of 1 processors activated.
[    3.060671] CPU: All CPU(s) started in HYP mode.
[    3.060674] CPU: Virtualization extensions available.
[    3.060961] devtmpfs: initialized
[    3.065241] xor: measuring software checksum speed
[    3.160628]    arm4regs  :  3088.000 MB/sec
[    3.260627]    8regs     :  2437.600 MB/sec
[    3.360627]    32regs    :  2379.200 MB/sec
[    3.360632] xor: using function: arm4regs (3088.000 MB/sec)
[    3.360724] NET: Registered protocol family 16
[    3.360880] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    3.361684] Initializing System Fabric
[    3.361708] Enabling IO Cache Coherency.
[    3.365344] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    3.365349] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    3.376399] bio: create slab <bio-0> at 0
[    3.540671] raid6: int32x1  gen()   316 MB/s
[    3.710728] raid6: int32x1  xor()   254 MB/s
[    3.880654] raid6: int32x2  gen()   451 MB/s
[    4.050688] raid6: int32x2  xor()   274 MB/s
[    4.220673] raid6: int32x4  gen()   500 MB/s
[    4.390713] raid6: int32x4  xor()   284 MB/s
[    4.560734] raid6: int32x8  gen()   521 MB/s
[    4.730717] raid6: int32x8  xor()   276 MB/s
[    4.730721] raid6: using algorithm int32x8 gen() (521 MB/s)
[    4.730725] raid6: .... xor() 276 MB/s, rmw enabled
[    4.730729] raid6: using intx1 recovery algorithm
[    4.730768] [sched_delayed] sched: RT throttling activated
[    4.731139] SCSI subsystem initialized
[    4.732291] EDAC MC: Ver: 3.0.0
[    4.733075] Switching to clocksource arm,sp804
[    4.733322] AppArmor: AppArmor Filesystem Enabled
[    4.734759] NET: Registered protocol family 2
[    4.735113] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    4.735205] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    4.735293] TCP: Hash tables configured (established 8192 bind 8192)
[    4.735320] TCP: reno registered
[    4.735327] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    4.735347] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    4.735464] NET: Registered protocol family 1
[    4.735612] RPC: Registered named UNIX socket transport module.
[    4.735616] RPC: Registered udp transport module.
[    4.735620] RPC: Registered tcp transport module.
[    4.735624] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    4.735746] Trying to unpack rootfs image as initramfs...
[    5.834796] Freeing initrd memory: 3652K (837f1000 - 83b82000)
[    5.834942] hw perfevents: enabled with ARMv7 Cortex-A15 PMU driver, 7 counters available
[    5.835306] al-pcie pcie-internal.3: PCI host bridge to bus 0000:00
[    5.835315] pci_bus 0000:00: root bus resource [mem 0xfe000000-0xfeffffff]
[    5.835322] pci_bus 0000:00: root bus resource [bus 00]
[    5.835328] pci_bus 0000:00: root bus resource [io  0x1000-0xffff]
[    5.835419] pci 0000:00:01.0: PCI-E Max Payload Size set to  128/ 256 (was  128), Max Read Rq  128
[    5.835705] pci 0000:00:05.0: PCI-E Max Payload Size set to  128/ 256 (was  128), Max Read Rq  128
[    5.836460] PCI: bus0: Fast back to back transfers disabled
[    5.836502] pci 0000:00:01.0: BAR 0: assigned [mem 0xfe000000-0xfe01ffff 64bit]
[    5.836512] pci 0000:00:05.0: BAR 0: assigned [mem 0xfe020000-0xfe03ffff 64bit]
[    5.836521] pci 0000:00:01.0: BAR 4: assigned [mem 0xfe040000-0xfe043fff 64bit]
[    5.836529] pci 0000:00:05.0: BAR 4: assigned [mem 0xfe044000-0xfe045fff 64bit]
[    5.836538] pci 0000:00:01.0: BAR 2: assigned [mem 0xfe046000-0xfe046fff 64bit]
[    5.837026] Initialise module verification
[    5.837071] audit: initializing netlink socket (disabled)
[    5.837089] type=2000 audit(5.830:1): initialized
[    5.837714] VFS: Disk quotas dquot_6.5.2
[    5.837769] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    5.838081] NFS: Registering the id_resolver key type
[    5.838105] Key type id_resolver registered
[    5.838109] Key type id_legacy registered
[    5.838133] msgmni has been set to 2013
[    5.838636] async_tx: api initialized (async)
[    5.838643] Key type asymmetric registered
[    5.838647] Asymmetric key parser 'x509' registered
[    5.838741] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[    5.838747] io scheduler noop registered
[    5.838759] io scheduler cfq registered (default)
[    5.839564] al_dma: Annapurna Labs DMA Driver 0.01
[    5.941637] PCI: enabling device 0000:00:05.0 (0000 -> 0002)
[    5.941662] al_dma 0000:00:05.0: al_dma_pci_probe: pci_enable_sriov failed, status -19
[    5.943705] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    5.989231] fd883000.uart0: ttyS0 at MMIO 0xfd883000 (irq = 49) is a 16550A
[    6.714663] console [ttyS0] enabled
[    6.720061] fd884000.uart1: ttyS1 at MMIO 0xfd884000 (irq = 50) is a 16550A
[    7.083580] brd: module loaded
[    7.086632] Loading iSCSI transport class v2.0-870.
[    7.378889] dw_spi_mmio fd882000.spi: master is unqueued, this is deprecated
[    7.410126] m25p80 spi0.0: found mx25u6435f, expected spi_flash_jedec_detection
[    7.417449] m25p80 spi0.0: mx25u6435f (8192 Kbytes)
[    7.422336] Searching for RedBoot partition table in spi0.0 at offset 0x7f0000
[    7.458562] 6 RedBoot partitions found on MTD device spi0.0
[    7.464139] Creating 6 MTD partitions on "spi0.0":
[    7.468919] 0x000000000000-0x000000090000 : "RedBoot"
[    7.480809] 0x000000090000-0x000000370000 : "zImage"
[    7.515898] 0x000000370000-0x0000007d0000 : "rd.gz"
[    7.560882] 0x0000007d0000-0x0000007e0000 : "vendor"
[    7.578439] vender Mac0 address : 00:11:32:4a:19:9f
[    7.583328] vender Mac1 address : 00:11:32:4a:19:a0
[    7.588195] vender Mac2 doesn't set ucSum:0x00 Buf:0x00 Sum:0.
[    7.594022] vender Mac3 doesn't set ucSum:0x00 Buf:0x00 Sum:0.
[    7.599842] serial number='1550NKN051100'
[    7.645350] 0x0000007e0000-0x0000007f0000 : "RedBoot Config"
[    7.691399] 0x0000007f0000-0x000000800000 : "FIS directory"
[    7.768190] al_eth_drv: AnnapurnaLabs unified 1GbE and 10GbE Ethernet Driver al_eth v0.2 (Feb 18, 2013)
[    7.777645] al_eth 0000:00:01.0: Board info: phy exist Yes. phy addr 2. mdio freq 1000 Khz. SFP connected No. media 3
[    7.890143] al_eth 0000:00:01.0 eth0: AnnapurnaLabs unified 1Gbe/10Gbe found at mem fe000000, mac addr 2e:42:e6:be:49:d3
[    7.943656] i2c /dev entries driver
[    7.954930] Syno_HddMon: Initialization completed.
[    7.977670] al_thermal_probe: Thermal Sensor Loaded at: 0xc087ea00.
[    8.005725] md: linear personality registered for level -1
[    8.011218] md: raid0 personality registered for level 0
[    8.016516] md: raid1 personality registered for level 1
[    8.021824] md: raid10 personality registered for level 10
[    8.028582] md: raid6 personality registered for level 6
[    8.033891] md: raid5 personality registered for level 5
[    8.039188] md: raid4 personality registered for level 4
[    8.052118] device-mapper: ioctl: 4.25.0-ioctl (2013-06-26) initialised: dm-devel@redhat.com
[    8.060585] al_mc_edac fb080000.mc: No ECC present, or ECC disabled
[    8.081494] cpuidle: using governor ladder
[    8.085582] cpuidle: using governor menu
[    8.089708] ledtrig-cpu: registered to indicate activity on CPUs
[    8.095741] al_crypto: Annapurna Labs Crypto Driver 0.01
[    8.104020] TCP: cubic registered
[    8.107329] NET: Registered protocol family 17
[    8.111837] Key type dns_resolver registered
[    8.116181] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    8.142518] Loading module verification blacklist certificates
[    8.148337] Loading module verification certificates
[    8.153343] MODSIGN: Loaded cert 'Synology SDG kernel module signing key: 7bd0b0d6bcd31651c22ce3978bdc8c8bdc417329'
[    8.166744] MODSIGN: Loaded cert 'Synology Root Certification Authority: f2c075361f168425f8b5ef31b796406c3aab2089'
[    8.177115] MODSIGN: Loaded cert 'Synology Kernel Module Signing Certification Authority: 600839b5d127e0e11d817a31f0575d323a7c0e28'
[    8.188954] MODSIGN: Loaded cert 'Synology kernel module signing key: 4646ce54489669338118a3b1286da156ac366fa5'
[    8.199033] registered taskstats version 1
[    8.222041] Freeing unused kernel memory: 176K (805bf000 - 805eb000)
START /linuxrc.syno
Insert basic USB modules...
:: Loading module usb-common ... [  OK  ]
:: Loading module usbcore[    8.396497] usbcore: registered new interface driver usbfs
[    8.412060] usbcore: registered new interface driver hub
[    8.437350] usbcore: registered new interface driver ethub
[    8.446624] usbcore: registered new device driver usb
 ... [  OK  ]
Insert net driver(Mindspeed only)...
[    8.567700] ds416_synobios: module license 'Synology Inc.' taints kernel.
[    8.574496] Disabling lock debugging due to kernel taint
[    8.596812] Synobios DS416 GPIO initialized
[    8.601222] correction with 0x00
[    8.605321] 2000-1-2 1:36:49 UTC
[    8.608541] synobios: load, major number 201
[    8.612818] Brand: Synology
[    8.615626] Model: DS-416
[    8.618250] This is default settings: set group disks wakeup number to 1, spinup time deno 1
[    8.626691] synobios cpu_arch proc entry initialized
[    8.631654] synobios crypto_hw proc entry initialized
[    8.636694] synobios syno_platform proc entry initialized
[    8.642169] synobios open /dev/ttyS1 success
Starting /usr/syno/bin/synocfgen...
/usr/syno/bin/synocfgen returns 0
[    8.662627] synobios: unload
Exit on error [1] DISK NOT INSTALLED...
Sun Jan  2 01:36:49 UTC 2000
none /sys/kernel/debug debugfs rw,relatime 0 0
sys /sys sysfs rw,relatime 0 0
none /dev devtmpfs rw,relatime,size=513516k,nr_inodes=128379,mode=755 0 0
proc /proc proc rw,relatime 0 0

linuxrc.syno failed on 1

starting pid 1178, tty '': '/etc/rc'
:: Starting /etc/rc
:: Mounting procfs ... [  OK  ]
:: Mounting tmpfs ... [  OK  ]
:: Mounting devtmpfs ... [  OK  ]
:: Mounting devpts ... [  OK  ]
:: Mounting sysfs ... [  OK  ]
mdadm: error opening /dev/md1: No such file or directory
rc: Use all internal disk as swap.
rc: No internal disk installed.
swapon: can't stat '/dev/md1': No such file or directory
:: Loading module fat ... [  OK  ]
:: Loading module vfat ... [  OK  ]
mount: open failed, msg:No such file or directory
mount: mounting /dev/bus/usb on /proc/bus/usb failed: No such device
ln: /proc/bus/usb/devices: No such file or directory
:: Loading module synobios[    9.385187] Synobios DS416 GPIO initialized
[    9.391124] correction with 0x00
[    9.396914] 2000-1-2 1:36:50 UTC
[    9.400135] synobios: load, major number 201
[    9.404414] Brand: Synology
[    9.407222] Model: DS-416
[    9.409846] This is default settings: set group disks wakeup number to 1, spinup time deno 1
[    9.418288] synobios cpu_arch proc entry initialized
[    9.423251] synobios crypto_hw proc entry initialized
[    9.428292] synobios syno_platform proc entry initialized
[    9.433755] synobios open /dev/ttyS1 success
 ... [  OK  ]
[    9.685860] configured MAC to SGMII mode:
[    9.689863] eth [al_eth_0]: set auto negotiation to enable
[    9.695779] al_eth 0000:00:01.0 eth0: using MSI-X per Queue interrupt mode
[    9.709154] libphy: al mdio bus: probed
[    9.713010] al_eth 0000:00:01.0 eth0: phy[2]: device 8:02, driver RTL8211DN Gigabit Ethernet
[    9.721439] al_eth 0000:00:01.0 eth0: phy[2]:supported 2ff adv 2ff
udhcpc (v1.16.1) started
eth0      Link encap:Ethernet  HWaddr 00:11:32:4A:19:9F  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

:: Starting syslogd ... [  OK  ]
/etc/rc: line 262: /usr/syno/bin/syno_pstore_collect: not found
:: Starting scemd
[   13.731377] eth [al_eth_0]: set auto negotiation to enable
[   13.736853] libphy: 8:02 - Link is Up - 100/Full
:: Starting services in background
Starting findhostd in flash_rd...
Starting services in flash_rd...
Running /usr/syno/etc/rc.d/J01httpd.sh...
Starting httpd:80 in flash_rd...
Starting httpd:5000 in flash_rd...
Running /usr/syno/etc/rc.d/J03ssdpd.sh...
/usr/bin/minissdpd -i eth0
(15): upnp:rootdevice
(51): uuid:upnp_SynologyNAS-0011324a199f::upnp:rootdevice
(57): Synology/synology_alpine4k_ds416/6.2-23824/169.254.12.171
(47): http://169.254.12.171:5000/description-eth0.xml
Connected.
done.
/usr/syno/bin/reg_ssdp_service 169.254.12.171 0011324a199f 6.2-23824 synology_alpine4k_ds416 eth0
Running /usr/syno/etc/rc.d/J04synoagentregisterd.sh...
Starting synoagentregisterd...
Running /usr/syno/etc/rc.d/J30DisableNCQ.sh...
cat: can't open '/sys/block/sd*/device//model': No such file or directory
Running /usr/syno/etc/rc.d/J80ADTFanControl.sh...
Running /usr/syno/etc/rc.d/J98nbnsd.sh...
Starting nbnsd...
Running /usr/syno/etc/rc.d/J99avahi.sh...
Starting Avahi mDNS/DNS-SD Daemon
cname_load_conf failed:/var/tmp/nginx/avahi-aliases.conf
:: Loading module usb-storage[   18.269976] usbcore: registered new interface driver usb-storage
 ... [  OK  ]
============ Date ============
Sun Jan  2 01:36:59 UTC 2000
==============================

starting pid 20
Sun Jan  2 01:37:00 2000


DiskStation login: 
Re: Synology Diskstation DS414 Unbricking
February 02, 2021 12:17PM
It says the link is up but no dhcp.

If you plug a laptop in with the same cable does that get dhcp?

Technically you should be able to login on the console and set a static IP. Although it looks like DSM will overwrite it when you reboot:

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

If it’s factory reset the default username is admin and the password is blank.

Or configure a laptop on the same lan as the Synology with a static IP of 169.254.x.x 255.255.0.0

Then try and reach http://169.254.12.71:5000

I thought the disk station setup software found the device on MAC address anyway so the IP shouldn’t matter as long as your pc is on the same lan.

Are you using the following?

http://find.synology.com/
VectraT
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 02:39AM
Nothing helps...
Think, it's not factory reset, password don't work. When I press reset switch for 4 sec, I hear beep, nothing seems to reset. 2 stage reset - keep pressed 4 sec, beep, release, press again, 3 beeps=reset - no 3 beeps, only one again...
Disabled laptop wifi, connected to LAN, set computers IP 169.254.12.172, 255.255.0(255).0 - nothing...webpage 169.254.12.171:5000(80) not opening, Synology Assistant finds nothing, ping finds nothing. But LAN leds show traffic...Guess that network adapters may be faulty? This 169.254... adress comes, when LAN cable is in upper connector, when it is in lower, no link connection, but LAN leds showing activity. Checked LAN connector soldering - seems OK.
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 02:59AM
You can try the steps in the guide for booting into a Linux kernel which would allow you to test the hardware works.

You would need some help with the custom kernel though so you could boot it from USB.

@bohdi is the DS416 supported?
VectraT
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 04:09AM
Interesting, why the hard reset (3-beeps) not working?
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 04:16AM
bignellrp,

> @bohdi is the DS416 supported?

No it is not supported. It is a different Arch (Alpine4k) so it is not part of the MVEBU kernel (Marvell Armada) that I released here.

What VectraT should do is to reinstall Synology FW (ie. DSM). The box is currently in good shape, as the serial console showed:

Quote

DiskStation login:

So looks like just a matter of reinstallation to get stock FW reset to factory.

-bodhi
===========================
Forum Wiki
bodhi's corner
VectraT
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 04:30AM
"What VectraT should do is to reinstall Synology FW (ie. DSM). The box is currently in good shape, as the serial console showed"

And I'll do it how? :)
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 04:34AM
@bohdi is there a manual way of loading the stock firmware via usb similar to how I loaded your custom kernel?

E.g some steps that Vectra T can follow?

Or do we think he might be better discussing on the Synology forum?

The Synology forum was good to me when I had an issue even though my box was out of support.

Some of these might be helpful

https://www.howtogeek.com/344497/how-to-factory-reset-your-synology-nas/

https://www.synology.com/en-uk/knowledgebase/DSM/help/DSM/AdminCenter/system_dsmupdate



Edited 1 time(s). Last edit at 02/03/2021 04:38AM by bignellrp.
VectraT
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 04:57AM
First link - hold 5 sec, beep (yes), hold 5 more sec, beep(yes), release, several beeps (nothing)
So I can't get to it by LAN. Only option is to load FW from USB, but is that possible?
VectraT
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 04:59AM
When pressing reset button, serial show: synobios: reset button pressed, ret = 0
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 03:58PM
All,

IIRC, Synology has USB recovery, but I'm not sure how. I think this should be somewhere in Synology forum.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Synology Diskstation DS414 Unbricking
February 03, 2021 04:05PM
One way to find out if USB recovery is activated by u-boot is: interrupt serial console at this time:

Press Ctrl+C to abort autoboot in 3 second

And then

help
printenv

Please post the log here.

-bodhi
===========================
Forum Wiki
bodhi's corner
VectraT
Re: Synology Diskstation DS414 Unbricking
February 04, 2021 02:40AM
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: 0
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
*** Warning - bad CRC, using default environment

  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
Warning: al_eth1 using MAC address from net device

Press Ctrl+C to abort autoboot in 3 second
ALPINE_DB> <INTERRUPT>
ALPINE_DB> help
?       - alias for 'help'
WOLTest - Wake On Lan u-boot testing

base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
bootmenu- ANSI terminal bootmenu
bootp   - boot image via network using BOOTP/TFTP protocol
bootz   - boot Linux zImage image from memory
cmp     - memory compare
confirm_msg- get user input and updates "?" varialbe to 0 if 'y' was entered
coninfo - print console devices and information
cp      - memory copy
cpu_set_speed- Set CPU speed
crc32   - checksum calculation
ddr_ecc_stats- DDR ECC statistics
ddr_training_results- DDR training results
dev_info- Show the device configuration values
dhcp    - boot image via network using DHCP/TFTP protocol
dram_margins- The command provides current DRAM RDQS/WDQS margins by running a shmoo based on the DDR controller BIST feature
echo    - echo args to console
editenv - edit environment variable
eeprom_per_device- EEPROM per device operations
env     - environment handling commands
erase   - erase FLASH memory
eth_1g_params_set- configure 1G link parameters.these parameters will also be applied in Linux

eth_freeze_serdes_settings- freeze serdes parameters to be used in the upper layer (disable by default)
* enabling it will cause the upper layer to avoid replacing these parameters
* enabled mode should be used in case the serdes parameter were set in the u-boot

eth_link_training_enable- enable / disable link training

eth_lm_debug_enable- enable / disable link management debug enable

eth_mac_mode_set- override the mac mode from the device tree

eth_retimer_config- override retimer configuration

exit    - exit script
ext4load- load binary file from a Ext4 filesystem
ext4ls  - list files in a directory (default /)
false   - do nothing, unsuccessfully
fdt     - flattened device tree utility commands
flash_contents_obj_info_print- Print a specific flash object information
flash_contents_obj_read- Read a specific flash object
flash_contents_obj_read_mem- Read a specific flash object from memory
flash_contents_obj_update- Update a specific flash object
flash_contents_obj_validate- Validate a specific flash object
flash_contents_set_dev- Set flash contents current device
flash_contents_stage2_trash- Trash a stage 2 instance
flash_contents_stage2_untrash- Untrash a stage 2 instance
flash_contents_toc_print- Print the flash contents TOC
flinfo  - print FLASH memory information
go      - start application at address 'addr'
gpio    - input/set/clear/toggle gpio pins
help    - print command description/usage
i2c     - I2C sub-system
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
incenv  - increment environment variable
iodma_init- Initialize the RAID and memory services accelerator
iodma_memcpy- Memory copy using the RAID and memory services accelerator
iodma_memset- Memory set using the RAID and memory services accelerator
iodma_terminate- Terminates the RAID and memory services accelerator
is_nand_boot- Returns 1 if boot device is NAND
itest   - return true/false on integer compare
lcd_print- Clears LCD display
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
md5sum  - compute MD5 message digest
mdio    - MDIO utility commands
mem_pattern_set- set values alternately according to the even and odd values
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mtest   - simple RAM read/write test
muio_mux- Multi usage I/O pins (MUIO) multiplexing control - debug
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
pci     - list and access PCI Configuration Space
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
pxe     - commands to get and boot from pxe files
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
scripth - Show help menu for available scripts
scsi    - SCSI sub-system
scsiboot- boot from SCSI device
serdes  - Serdes debug
setenv  - set environment variables
setenvmem- set environment variable from memory
sf      - SPI flash sub-system
showvar - print local hushshell variables
sleep   - delay execution for some time
source  - run script from memory
syno_pwoff- bring the system down

sysboot - command to get and boot from syslinux files
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
tftpput - TFTP put command, for uploading files to a server
thermal_get- Thermal sensor get readout
thermal_init- Initialize the thermal sensor
true    - do nothing, successfully
version - print monitor, compiler and linker version
wfi     - CPU wait for interrupt CPU idle)
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_inst

Re: Synology Diskstation DS414 Unbricking
February 04, 2021 05:31PM
VectraT,

Looks like there is no apparent USB recovery in the envs. But it could have been implemented inside u-boot code.

So it is best to find out at Synology forum why your attempt to do factory reset did not work.

-bodhi
===========================
Forum Wiki
bodhi's corner
VectraT
Re: Synology Diskstation DS414 Unbricking
February 05, 2021 02:10AM
Thanks bodhi, I'll try there!
VectraT
Re: Synology Diskstation DS414 Unbricking
February 15, 2021 01:29PM
Figured out DiskStation login, root+passw, got in:

"BusyBox v1.16.1 (2018-08-10 04:41:35 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands."

Any help of that?
Re: Synology Diskstation DS414 Unbricking
February 15, 2021 04:47PM
VectraT,

> Figured out DiskStation login, root+passw, got
> in:
>
> "BusyBox v1.16.1 (2018-08-10 04:41:35 CST)
> built-in shell (ash)
> Enter 'help' for a list of built-in commands."
>
> Any help of that?

I don't have any idea about installing stock FW for Synology boxes, bignellrp can help you with that.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: Synology Diskstation DS414 Unbricking
February 15, 2021 05:35PM
VectraT,

Did you get any reply on the Synology forum?

If you get a login you should just be able to use Linux commands to diagnose your network issues.

Here are some Linux commands that work on syno cli.

https://iced-burn.medium.com/cli-list-to-get-around-the-synology-box-ac32e34e00d9
VectraT
Re: Synology Diskstation DS414 Unbricking
February 16, 2021 12:57AM
Yes, got replay at Synology forum, but nothing that reanimates this DiskStation...
Re: Synology Diskstation DS414 Unbricking
February 19, 2021 02:31PM
Hello

I brick my synology DS414 by removing the power while instaling DSM 25426 after is formating the HDD.
After connect with UART cable I get a Marvel prompt.
The problem is that doesn't pass Verifying Checksum
I test with zImage and rd.bin from 24922 and 25426

Any solution?

Marvell>> usb start
(Re)start USB...
USB:   Active port:     0
Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 2 USB Device(s) found
       scanning bus for storage devices... 1 Storage Device(s) found
Marvell>> fatload usb 0:1 2000000 zImage
reading zImage

2125480 bytes read
Marvell>> fatload usb 0:1 8000000 rd.bin
reading rd.bin

3571599 bytes read
Marvell>> bootm 0x2000000 0x8000000
## Booting kernel from Legacy Image at 02000000 ...
   Image Name:   Linux-3.2.40
   Created:      2020-05-11  20:50:26 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2125416 Bytes = 2 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!



Edited 1 time(s). Last edit at 02/19/2021 02:34PM by usus.
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: