Génération d'un disque

La procédure décrite ici permet de générer un disque vierge, de taille quelconque.

Principe

Le principe est le suivant :

  • on part d'un disque entièrement vierge de toutes informations compréhensibles par le décodeur
  • le disque est installé dans l'appareil, puis on le met sous tension
  • lors du démarrage, le disque est partitionné en fonction de sa taille, puis il se met en attente d'une mise à jour du firmware
  • on arrête l'appareil, on débranche le disque dur, il ne reste plus qu'à installer le nouveau firmware manuellement avec un éditeur de blocs.
  • on redémarre le décodeur avec le disque dur modifié et complété du nouveau firmware
  • le nouveau firmware va terminer de paramétrer le disque dur pour que tout soit fonctionnel.

Pour réaliser ce tutoriel, j'ai utilisé un disque dur Hitachi Deskstar de 60Go (IC35L060AVV207-0).

Initialisation du disque

J'ai commencé par le remplir entièrement de 0 avant de l'installer une première fois dans le décodeur.

Après avoir mit sous tension l'appareil, j'ai attendu d'avoir le code d'erreur er07 avant de le débrancher.

Édition et modification du disque

Le disque dur a ensuite été connecté sur un ordinateur à l'aide d'un convertisseur IDE/USB.

La suite de ce tutoriel utilise le logiciel HxD.

Il faut commencer par ouvrir le bon disque dur et décocher Ouvrir en lecture seule pour pouvoir sauvegarder les modifications :

Si le premier bloc du disque n'est pas remplis de zéros ou de uns, il y a de grandes chances que vous vous soyez trompés de disque.

Il faut maintenant récupérer et interpréter les données contenues dans le bloc n°1 :

A partir d'ici, on peut voir que le disque dur a été initialisé par le décodeur : la zone de firmware a été réservée et initialisée.

Notez dans un coin les informations que l'on trouve ici, elles vont servir plus tard.

Pour commencer, il y a le numéro de bloc du début de la zone de firmware : 07 23 A1 16 (héxa) = 119 775 510.

Puis la taille de cette zone en nombre de blocs : 00 04 B0 00 (héxa) = 307 200.

Du coup, le numéro du bloc de fin se trouve en : 119 775 510 + 307 200 - 1 = 120 082 709.

Récupérez et décompressez le Firmware DVR version 1.0.04 EU et ouvrez le avec HxD par Fichier puis Ouvrir.

HxD va vous ouvrir un nouvel onglet avec le contenu de ce fichier.
Via le menu Édition, faites Tout sélectionner puis Copier.

Revenez sur le 1er onglet, celui représentant le disque dur.

On fait un saut vers le 1er bloc de la zone de firmware, soit le bloc : 119 775 510.

Positionnez le curseur au tout début du secteur suivant puis Édition et Coller en écrasant.

Il faut maintenant copier une 2è fois le firmware à la suite du 1er.

Notez le numéro de secteur du début du 2è firmware, ici 119 784 051 = 07 23 C2 73 (héxa).

Vous pouvez maintenant refaire Coller en écrasant.

Nous allons maintenant modifier le 1er bloc de la zone de firmware pour lui dire où se trouvent les 2 copies que nous venons de déposer sur le disque : rendez-vous au secteur 119 775 510.

La 1ère copie du firmware a été mise juste après le 1er bloc de la zone de firmware, sa position de départ est donc le bloc 119 775 511 soit 07 23 A1 17 (héxa).

Le firmware fait une taille de 8 540 blocs soit 21 5C (héxa).

On inverse l'ordre des octets, on met ces 2 données à la suite et on obtient 17 A1 23 07 5C 21.

On écrit cette suite d'octets au début du secteur.

On refait la même manipulation avec la 2è copie du firmware : début en 119 784 051 = 07 23 C2 73 (héxa) et taille de 21 5C (héxa).
Ceci nous donne la suite : 73 C2 23 07 5C 21 que l'on positionne au début de la 2è moitié du secteur.

A présent, il faut calculer le checksum de ce bloc.

Commencez par sélectionner le secteur entier à l'exception des 8 derniers octets.

On va paramétrer puis utiliser l'outil Somme de contrôle du menu Analyse.

D'abord il faut utiliser CRC personnalisé avec les paramètres suivants :

  • Longueur de mot : 16 bits
  • Polynomial : 10 21
  • Valeur initiale : 0
  • Sortie XOR : 0
  • Réflexion en entrée : NON
  • Réflexion en sortie : NON

Validez, sélectionnez l'algorithme CRC personnalisé dans la liste et n'oubliez pas de préciser que le calcul s'applique à la sélection.

Le résultat du calcul est 41 EA. On inverse de nouveau l'ordre des octets (EA 41) et on saisit ces valeurs sur les 2 derniers octets du secteur.

Ce secteur est présent au début de la zone de firmware mais aussi en fin de zone. Nous devons donc dupliquer ce bloc.

Lors de l'analyse du secteur 1, on a calculé le numéro du dernier bloc de la zone de firmware : 120 082 709.

Il ne vous reste plus qu'à copier le secteur 119 775 510 pour le copier sur le secteur 120 082 709.

Il faut maintenant modifier le secteur n°1 pour :

  • lui dire quel firmware utiliser. Ici il n'y en a qu'un, ce sera donc le 0.
  • inscrire le nouveau checksum du bloc puisqu'une donnée a été modifiée.

On commence par modifier l'octet se trouvant après la taille de la zone de firmware : on remplace le FF par 00. A la mise sous tension, le décodeur démarrera sur le firmware 0.

Comme le secteur a été modifié, il faut recalculer le checksum. La procédure est sensiblement la même que celle vue précédemment.

On commence par sélectionner l'ensemble du bloc à l'exception des 4 derniers octets.

Puis on utilise de nouveau l'outil Sommes de contrôle.

Les paramètres de calcul sont les suivants :

  • Longueur de mot : 32 bits
  • Polynomial : 4 C1 1D B7
  • Valeur initiale : 37 7A 60 70
  • Sortie XOR : FF FF FF FF
  • Réflexion en entrée : OUI
  • Réflexion en sortie : OUI

On valide, on sélectionne le bon algorithme, on applique le calcul seulement à la sélection et on valide.

Le résultat du calcul est : FB 40 78 0A. On inverse de nouveau l'ordre des octets : 0A 78 40 FB et on les saisit dans les 4 derniers octets du secteur 1.

N'oubliez pas d'enregistrer les modifications sur le disque dur, il ne vous reste plus qu'à tester votre disque sur votre décodeur.

Le premier démarrage est assez long, comptez une bonne minute, avant d'avoir le menu de configuration de l'appareil.

sagem/dvr6280/generation.txt · Dernière modification: 21/10/2010 23:49 par lagamel
GNU Free Documentation License 1.2
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0