Dans cet article, je tenterais de vous expliquer comment réparer votre DS213+.
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 :
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 :
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 |
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 |
Une fois le câble branché, ouvrez ExtraPutty, configurer de cette sorte :
Type | Paramètre |
---|---|
Bauds | 115200 |
xon/xoff | Disable |
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 !
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 :
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
Le checksum qui vous est donné correspond donc à votre adresse mac, noter le quelque part il est important pour la suite.
Éléments nécessaires :
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).
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 :
Ensuite faite la même chose pour le n° de série :
Cette fois ci écrivez dans la partie qui convertie le AINSI en HEX.
Enregistrer votre fichier, votre rom est prête à être gravée.
[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).
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.
[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.
[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.
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.
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.
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 : 759 fois.