Welcome! Log In Create A New Profile

Advanced

Unbrick Synology DS415+

Posted by felix_clerc 
Unbrick Synology DS415+
October 01, 2024 03:03AM
Hello,

Owner of a DS920+ and older DS415+, I wanted to use them in cluster.
Since it requires the same DSM version on both NASes, I "played" with my DS415+ to make it think it's a newer model.
I just quickly choose a model with the same CPU, did my upgrade fine, rebooted and... nothing :(

Ok, it's clearly my fault, but since I knew the hardware is ok, I started looking at recovering this (going back to proper firmware + DSM version)

I used the serial console, and I noticed it boots but mention my pci controller ( SATA controller: Intel Corporation Atom processor C2000 AHCI SATA3 Controller (rev 02)) was configured in SATA mode, and only 2 disks were recognized, the ports 3 and 4 were marked as DUMMY.

After some searching, I learned that it was possible to create à boot stick by modifying its VID and PID. I found on usbdev some tools to change the id of one of the sticks I had laying around, and successfully change the needed parameters on the stick.

I thenm installed System Rescue on the stick, and renamed the boot64.efi file in /EFI/boot to "SynoBootLoader.efi"

Plugin the usb stick in the front usb slot, I booted to rescue system on serial console successfully. moutall alowed me to access the internal storage, and I've been able to modify teh SynoBootLoader.conf to play with disks index, etc.. without being able to make more than 2 disks available.

I explored the way of using efivar to change the SATA setting to ahci but failed...
I then extracted the .pat file from synology latest release for DS415+ (using
syno-extract-system-patch and found out that the bios and the utility to flash it are in the content of the file.
Unfortunately, it doesn't work as the required isfl driver module is not loaded. I tried to modprobe the .ko files that comes with it but it didn't work. I also tried to compile it from isfl driver but it throwed me some errors and never compiled.

I then reverted to the flashrom utility included with system rescue, and to my atonement, it recognized the rom:
flashrom --programmer internal --read currentrom.bin
flashrom 1.4.0 (git:v1.4.0) on Linux 6.6.47-1-lts (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Opened /dev/mtd0 successfully
Found Programmer flash chip "Opaque flash chip" (8192 kB, Programmer-specific) on internal.
Reading flash... done.

This produced a 8Mb file :)

Based on the thread in this forum about unbricking the DS918+ I guess that I should now modify the 6Mb bios.ROM file found in the .pat file to remove some header stuff and also padd FF at the end of it to make it the correct size, but I struggle finding what to remove.

According to this forum post the firmware version of Radm is M.012, but mine is:

[root@sysrescue /mnt/sdd1/Bios/out]#  cat /sys/class/dmi/id/bios_version
M.702
[root@sysrescue /mnt/sdd1/Bios/out]#  cat /sys/class/dmi/id/bios_vendor
INSYDE Corp.
[


Can someone help on this? Knowing that my extracted firmware may be corrupt..
Or can someone dump its firmware from a running DS415+ and provide id to me?

Thanks in advance
Felix



Edited 2 time(s). Last edit at 10/01/2024 07:18AM by felix_clerc.
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: