Réparation d'un serveur Nas DS213+ de Synology

blog synology eeprom ds213+

Dans cet article, je tenterais de vous expliquer comment réparer votre DS213+.

Préambule

alt

Mon serveur à eu il y a quelques temps un problème assez connu sur cette gamme, la LED bleue qui clignote.

Effectivement, j'ai récemment acheté ce serveur pour pièce, pour 70€, en me lançant le défi de le réparer, cela n'a pas été une mince à faire, mais, aujourd'hui il fonctionne et je m'en sers normalement.

Après plusieurs recherche sur le net, j'ai compris que la flash qui contient le kernel et u-boot été corrompue...

C'est simplement un petite puce de 8mo (64Mbit), qui avec le temps a des secteurs mort, ce qui rend le boot impossible, j'avais la chance que les secteurs contaminés étaient seulement le kernel et non le u-boot sinon je n'aurais pu accéder à la serial console.

Avant de commencer cette réparation, assurez-vous que vous avez ce matériel :

  • Un Raspberry Pi (Pour la programmation de la puce, ou tout autre programmateur compatible)
  • Une puce Micron 25Q064A ebay.com
  • Un convertisseur USB -> TTL ebay.com
  • Convertisseur SOP8 to DIP8 : ebay.com

Coût total : ~ 45€ avec la Raspberry Pi

Quelques liens qui m'ont été utile lors de la réparation :

Fichiers nécessaire pour la réparation :

Page de téléchargement DS213+

Découverte du DS213+

Sortie en 2013, au prix de 309€, ce NAS deux baies propose une vitesse 106mo/s en lecture et de 84mo/s en écriture selon la doc technique du NAS (Doc).

Spécification technique
Fréquence processeur 2,0GHz
Mémoire Ram 513 Mo
Type HDD 3.5
Capacité maximale 8 To
Port USB 2.0 1
Ports USB 3.0 2
LAN Gigabit
WOL Oui
Consommation repos 8,28W
Consommation en fonction 18,48W

alt

Vérification du problème

Pour vérifier si le problème correspond au miens, il vous suffit de brancher un convertisseur USB --> TTL sur le port de la console du NAS. Comme indiqué dans ce PDF de Synology, il vous suffit de vous brancher sur les pins :

Pin number Function
4 TX
6 RX
1 3.3V
2 GND

alt

Une fois le câble branché, ouvrez ExtraPutty, configurer de cette sorte :

Type Paramètre
Bauds 115200
xon/xoff Disable

alt

Sélectionner le port sur lequel vous avez branché votre convertisseur et lancer la connexion.
Une page noire devrait être présente, allumer votre NAS, plusieurs défilent jusqu'à s’arrêter et l'erreur qui empêche le boot vous est affichée.

         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|  ** LOADER **
 ** MARVELL BOARD: Synology Disk Station LE

U-Boot 1.1.4 (Dec  2 2011 - 15:56:02) Marvell version: 3.5.9

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 0068B3D4

Soc: 88F6282 A1CPU running @ 2000Mhz L2 running @ 500Mhz
SysClock = 500Mhz , TClock = 200Mhz

DRAM (DDR3) CAS Latency = 7 tRP = 7 tRAS = 20 tRCD=7
DRAM CS[0] base 0x00000000   size 256MB
DRAM CS[1] base 0x10000000   size 256MB
DRAM Total size 512MB  16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
Using default environment

[4096kB@f8000000] Flash:  4 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled

USB 0: host mode
PEX 0: PCI Express Root Complex Interface
PEX interface detected Link X1
PEX 1: PCI Express Root Complex Interface
PEX interface detected Link X1

Synology Model: DS212+r1
Fan Status: Good

Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0
## Booting image at f8080000 ...
   Image Name:   Linux-2.6.32.12
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1476672 Bytes =  1.4 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK
## Loading Ramdisk Image at f8280000 ...
   Image Name:   synology_88f6282_212+ 2661
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    677043 Bytes = 661.2 kB
   Load Address: 00800000
   Entry Point:  00800000
   Verifying Checksum ... OK

Starting kernel ...

Uncompressing Linux... error

Une fois cela fait, ne chercher pas plus loin, il vous sera plus simple de remplacer la puce que d'essayer de comprendre le problème... Tous les cas connus correspond à la puces qui à des secteurs morts...

Vous avez donc diagnostiqué le problème, nous pouvons passer à la résolution de ce problème !

Réparation

1. Préparation du checksum

Pour préparer le fichier rom, il vous faut calculer le checksum de l'adresse mac avec un programme écrit en C.

L'adresse mac est stockée dans les 6 premiers bits et le 7ième
contient le checksum. Le checksum est calculé en prennant la somme des bits de l'adresse mac. Ce programme permet d'automatiser ce calcul.

Source : forum.synology.com

Ouvrer le fichier checksum.c avec un éditeur tel que Notepad ++ et édité les octets de l'adresse :

alt

Exemple ici avec 00:00:00:00:00:00

Une fois cela fait, compiler le programme avec cmake :

gcc -o checksum mac_checksum.c

Exécuter le avec : (Sous Linux)

./mac_checksum.c

alt

Le checksum qui vous est donné correspond donc à votre adresse mac, noter le quelque part il est important pour la suite.

2. Édition de la rom

Éléments nécessaires :

  • L'adresse mac
  • Le checksum
  • Le n° de série
  • La puce
  • le Raspberry Pi

Pour continuer il vous faut éditer le fichier .rom que je vous ai donné, ouvrez le avec HxD Editor. Allez à la position 7D0000 (en HEX).

alt
alt

Une fois arrivé à cette adresse il vous faut changer certaine valeur :
Dans le champs MACADDRESS remplacer dans la partie hexadécimale par votre adresse mac suivie de votre checksum :

Exemple:

11:11:11:11:11:11 checksum : 22

Ce qui donne :

alt

Ensuite faite la même chose pour le n° de série :

alt

Cette fois ci écrivez dans la partie qui convertie le AINSI en HEX.

Enregistrer votre fichier, votre rom est prête à être gravée.

3. Gravure de la rom dans la flash

[Préparation de la Raspberry Pi]

Pour ce faire, nous utiliserons le logiciel flashrom.org, installer via les commandes indiqué sur le site.

Une fois la partie logiciel réalisée, il vous fait suivre un schéma électronique pour programmer la puce via le protocole I2C de la Raspberry (penser a l'activer dans config.txt).

alt

Ce schéma vous propose un montage simple qui permet la programmation de la puce, si vous avez acheté les convertisseurs SOP8 vers DIP8, souder la puce directement sur le PCB et relier les pins sur la RPI. Sinon, vous pouvez directement souder les fils sur la fils, mais cela importe plus de risque.

alt

Infos flashrom & RPI

[Gravure de la rom avec la RPI]

Avant d'essayer de graver la puce, exécuter cette commande :
bash
pour vérifier si la communication est correcte. Si la puce répond, et que flashrom arrive a détecter quelle type de puce c'est, vous pouvez lancer la gravure via cette commande :

flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1000 main.rom

Cela prendra quelques instants pour que la gravure soit effectuée.

[Remplacer la puce du NAS]

Si tout est correct, vous pouvez dessouder la puce avec un décapeur thermique ou directement avec un fer à souder et ressouder la bonne puce.

alt

[Premier démarrage]

Brancher votre convertisseur USB --> TTL sur le port de console du nas, allumer votre NAS et observer, si aucun problème n'a lieu, le NAS boot correctement sans erreur.

alt

4. Test et installation de DSM

Pour l'installation de DSM, il faut suivre un ordre bien particulier de l'installation des roms. N'oubliez pas qu'il vous est nécessaire de brancher au moins un disque dur pour que l'installation de DSM soit possible.

alt

Cela prendra environs 2 heures, et vous aurez en possession la dernière version de DSM.

Une fois l'installation terminée vous aurez accès a DSM. Votre fonctionne de nouveau.

alt

Plex pour le DS213+ est très difficile à trouver aujourd'hui, il est pas très utile car le serveur n'est pas assez puissant pour du transcodage mais si des personnes le souhaite le voici : files.stoneset.fr


Certaines images proviennent directement des manuels de Synology, la plupart proviennent de mon installation

Voila, j'espère que cet article vous aura aidé !

Vous pouvez me retrouver sur :

Article vu : 341 fois.

Article précédent Article suivant