Comment résoudre les erreurs CMOS “162-System Options Not Set” et “163-Time & Date Not Set” ?

Contexte

Depuis pas mal de temps, je garde chez moi une pile de vieux ordinateurs inutilisés. Ce sont des machines que j’ai récupéré à droite à gauche au fur et à mesure du temps. À chaque fois que je récupérai un nouvel ordinateur, je me disais que cela allait être l’occasion de pouvoir expérimenter dessus. Pourtant, à part deux ou trois installations de serveurs ubuntu sur quelques unités, je n’avais jamais vraiment touché à ces ordinateurs. Ayant vu toutes ces machines prendre la poussière dans un coin de mon bureau, je me suis dis qu’il était temps de ressortir tout cela et de redémarrer ces petites merveilles.

Problème

C’est en démarrant un vieux HP Compaq 8000 Elite SFF de 2009 qu’un problème plutôt intéressant est apparu. Je vous laisse découvrir par vous même le message qui fût remonté à l’écran juste après un bip sonore provenant de la carte mère.

Image 1 : Premier message.

J’ai appuyé sur F1 pour sauvegarder les changements (sans trop comprendre les changements qui étaient appliqués) puis l’ordinateur a de nouveau démarré avec un nouveau message.

Image 2 : Deuxième message.

Une nouvelle fois, sans trop comprendre pourquoi l’ordinateur avait redémarré, j’ai appuyé une nouvelle fois sur F1. Le problème c’est que cela n’a pas marché. L’ordinateur n’arrêtait pas de redémarrer pour revenir à ce message d’erreur et ne voulait pas lancer le système d’exploitation. C’est à ce moment là que j’ai décidé d’allumer mon cerveau et d’arrêter d’appuyer sur F1 sans trop comprendre.

Comprendre le problème

J’ai une nouvelle fois démarré la machine, puis quand les deux messages à l’écran sont apparus, je les ai pris en photo afin de pouvoir les étudier plus amplement. Il était temps d’enquêter sur ces deux messages et de comprendre le réel problème.

Commençons par le premier message (cf. Image 1). À ce moment là, beaucoup de questions se sont posées dans ma tête. Qu’est-ce que l’erreur “62-System Options Not Set” ? Qu’est-ce qu’une “Real Time Clock” du point de vue d’un ordinateur ? Pourquoi l’ordinateur me demande de changer la batterie embarquée si le problème persiste ? (un ordinateur peut posséder une batterie embarquée ?!) Et sinon que veut dire “CMOS checksum invalid” ?

Concernant le deuxième message (cf. Image 2), celui-ci semble nous donner quelques informations en plus. En effet, l’erreur “63-Time & Date Not Set” est un peu plus claire. Apparemment la date et l’heure ne sont pas paramétrées et cela pourrait être la conséquence d’une perte d’énergie de la batterie embarquée. Est-ce que ce sont les options non configurées dont parlait le premier message ? Bref, après avoir collecté toutes ces données, il était temps de faire plus de recherches sur internet afin de bien comprendre toutes ces informations.

Après quelques recherches j’ai cru comprendre que l’erreur “162-System Options Not Set” pouvait apparaitre pour plusieurs raisons :

  1. Soit les configurations dans le Firmware (programme intégré dans l’ordinateur lui permettant de fonctionner) ne sont pas correctes ;
  2. Soit la configuration a changé depuis la dernière mise sous tension (comme par exemple après l’ajout d’un nouveau disque dur) ;
  3. Soit une perte de tension sur la “Real Time Clock” a eu lieu. Apparemment cela proviendrait d’un problème avec la batterie embarquée de l’ordinateur.

Pour ce qui est de la “Real Time Clock” ou “Horloge Temps Réel” en français (ci-après dénommé HTR), j’ai lu sur internet que c’était un petit circuit intégré présent dans l’ordinateur qui permet d’avoir un décompte très précis du temps. Afin de garder une trace du temps qui court, l’HTR possède une source d’énergie alternative à l’alimentation principale (provenant du bloc d’alimentation) lui permettant de continuer à fonctionner même quand l’ordinateur est éteint ! Donc la batterie embarquée dont parle le message doit sûrement désigner la source d’énergie alternative de l’HTR.

Sinon, concernant “CMOS Checksum invalid”. D’après mes recherches, Cette phrase indiquerait que la configuration du PC est incorrecte. J’ai dans le même temps trouvé beaucoup de ressources sur internet me disant que la solution à ce problème était de changer la pile de la carte mère (c’est à dire la batterie embarquée). Ok très bien, mais cela ne m’aide toujours pas à comprendre pourquoi il faut le faire. D’ailleurs, pour l’instant je ne sais toujours pas ce que veut dire “CMOS”.

Après quelques recherches, j’ai compris que le “CMOS” ou “Complementary Metal Oxide Semiconductor” est une “technologie de fabrication de composants électroniques”. C’est un terme très large mais on peut utiliser ce sigle pour désigner un circuit spécialisé contenant une petite mémoire, une horloge qui fonctionne de façon permanente grâce à une pile ainsi qu’un accumulateur qui se recharge quand l’alimentation de l’ordinateur est sous tension. C’est ce composant qui permet d’enregistrer l’heure et la date pour le système de l’ordinateur. Donc, si je comprends bien, le CMOS serait le nom du composant électronique qui contiendrait l’HTR. Et si l’on en croit le deuxième message, le problème de configuration proviendrait de l’horloge.

Pourquoi ce problème ?

Pour résumer, le problème viendrait du fait que l’ordinateur ait perdu la notion du temps et qu’il faudrait la lui redonner afin qu’il puisse fonctionner correctement. Très bien mais de mon point de vue cela n’a aucun sens. Pourquoi connaître la date et l’heure est essentiel pour qu’un ordinateur puisse démarrer ?

Bien sûr connaître la date et l’heure est important pour l’ordinateur afin qu’il puisse exécuter des tâches planifiées, rédiger correctement les métadonnées des fichiers qu’il sauvegarde sur son disque dur, etc… Cependant, cela ne me parait pas essentiel pour démarrer. Alors pourquoi l’ordinateur me demande de paramétrer l’heure et la date au préalable avant de lancer le système d’exploitation ?

D’ailleurs j’ai remarqué que très peu de monde se posait cette question sur internet. Nous avons énormément de personnes nous donnant la solution pour corriger ce problème (ce qui est important bien sûr) mais très peu nous explique pourquoi il faut faire cela. D’ailleurs j’ai fait le test en paramétrant une mauvaise date et cela fonctionne aussi bien. En fait il demande simplement de changer l’heure puis il considère le nouveau changement comme correct… Je suis perdu.

Un soir, alors que je continuai à chercher sur internet des réponses à mes questions, je suis tombé sur un article dont le titre était : “Why does my computer need a battery?”. D’après ce site, la mémoire du CMOS contiendrait plus que les données de l’HTR. Il contiendrait les données de configuration de l’ordinateur. Ok, là cela me parait beaucoup plus essentiel qu’une simple horloge. Nous avons une piste de solution. Plus tard dans la soirée, j’ai trouvé la documentation technique d’un HP Compaq 8000 Elite Series Business Desktop Computers. Ce n’est pas exactement le même modèle que mon ordinateur mais celui-ci est assez proche. En naviguant dans la documentation, j’ai pu découvrir ce schéma :

Image 3 : Décomposition de la mémoire du CMOS

Comme nous pouvons le constater dans le schéma, sur les 256 bytes de RAM du CMOS, seulement 14 bytes servent pour l’HTR. Ce qui laisse 242 bytes pour ce que l’on appelle la mémoire de configuration. Cela confirme les dires de l’article “Why does my computer need a battery?”. Très bien mais quand on parle de mémoire de configuration, que contient cette mémoire ? En allant plus loin dans le document, j’ai pu découvrir ce magnifique tableau :

Image 4 : Détails des fonctions enregistrées sur la mémoire du CMOS.

Sans rentrer forcément dans les détails, on peut tout à fait constater à la lecture de l’image 3 et 4 qu’il y a bien plus important que l’horloge interne pour permettre à l’ordinateur de démarrer. Après avoir feuilleté la documentation concernant le CMOS, j’ai découvert que si celui-ci n’est plus alimenté, toutes les configurations contenues dans la mémoire du CMOS reprennent les paramètres par défaut. Ces informations permettent de confirmer le message d’erreur que nous avions sur la première image : “CMOS checksum invalid, default values loaded”. Eureka !

Si je comprends bien, lors de la mise sous tension, l’ordinateur, n’ayant plus de mémoire, a besoin de paramétrer la totalité des configurations du système (notamment en identifiant les composants électroniques qui lui sont connectés). Sur l’image 1, on peut voir que l’ordinateur demande à l’utilisateur de confirmer la configuration qu’il a trouvé. L’utilisateur peut alors sauvegarder la configuration sur la mémoire du CMOS. Seulement l’horloge semble être la seule à devoir être paramétrée manuellement. C’est pour cela que le deuxième message arrive ensuite nous demandant de paramétrer manuellement la date et l’heure dans le BIOS. L’ordinateur ne peut valider la date et l’heure dans sa configuration par défaut. C’est pour cela qu’il ne peut pas démarrer. Par conséquent, l’utilisateur doit la paramétrer lui-même manuellement s’il veut débloquer la situation. Cela commence à faire plus de sens.

On pourrait croire qu’il suffirait de configurer l’heure et la date pour régler le problème. En effet, il suffirait de faire cette manipulation pour utiliser l’ordinateur normalement par la suite. Cependant, cela fait plusieurs fois que je redémarre cet ordinateur et il me présente toujours la même erreur. Je peux raisonnablement déduire que le problème vient du fait que la batterie embarquée avec le CMOS ne fonctionne plus. La source alternative du CMOS étant hors d’usage, les données de configuration ne peuvent être maintenues une fois l’ordinateur éteint. C’est pour cette raison que la configuration est à faire à chaque démarrage.

Bien entendu, il y a longtemps que j’avais compris que la solution à ce problème était le remplacement de la batterie embarquée du CMOS. En effet, quasiment tous les sites et vidéos que j’ai vues ne parlaient que de cela. Cependant, encore une fois, même si je savais ce qu’il fallait faire pour régler le problème, je voulais comprendre pourquoi je devais faire cela. Sinon pourquoi me prendre la tête à redémarrer un ordinateur hors d’usage ayant peu de puissance alors que j’en possède un beaucoup plus puissant ? Mon objectif est simple : m’éduquer et en apprendre un peu plus sur les ordinateurs. Si je ne suis là que pour suivre des tutoriels sans comprendre pourquoi je fait tout cela, cela n’a pas d’intérêt pour moi et je n’y prendrai aucun plaisir.

Solution

Bon je pense que l’on est sûr d’une chose, il faut changer la batterie embarquée. Il y a d’ailleurs un grand consensus sur internet concernant sur ce sujet. Nous pouvons raisonnablement penser que nous prenons la bonne décision en changeant celle-ci. Maintenant que nous avons fait ce constat, il faut tout de même répondre à d’autres questions : À quoi ressemble cette batterie ? Où se trouve-elle ? Où l’acheter ? Il est temps de repartir sur internet pour enquêter.

En allant sur la documentation technique de mon ordinateur, j’ai pu trouver les indications pour remplacer la pile. J’ai ouvert l’ordinateur pour identifier où était la pile et j’ai pu voir que celle-ci était bien en évidence sur la carte mère.

Image 5 : Emplacement de la pile sur la carte mère

En définitive, c’est une simple pile bouton de 3 volts. Par conséquent il sera très simple d’en trouver une dans le commerce. Maintenant que je sais où se trouve la pile et comment la remplacer, il ne me reste plus qu’à aller en acheter une nouvelle. Je pars alors au supermarché du coin pour en acheter une puis je me dépêche de revenir chez moi pour remplacer l’ancienne.

À peine rentré chez moi, je me précipite à mon ordinateur pour opérer le changement. Je fais attention à bien retirer le câble d’alimentation de l’ordinateur avant de faire la manipulation. J’ouvre le boitier, retire la pile usagée puis j’installe la nouvelle. Je referme le boitier, rebranche le câble d’alimentation puis allume l’ordinateur. Sans surprise, j’ai les deux messages d’erreurs “162-System Options Not Set” et “163-Time & Date Not Set”. Je rentre dans le BIOS pour mettre à jour l’heure puis l’ordinateur démarre sans soucis. Jusque là pas de changement par rapport à la dernière fois. J’éteins l’ordinateur puis pour être sûr qu’il n’y a plus de tension, je débranche le câble d’alimentation et appuie quelques secondes sur le bouton “Power”. Après quelques temps, je rebranche le PC. C’est alors que l’ordinateur démarre normalement sans message d’erreur. Problème résolu !

Image 6 : Enfin…

En définitive, l’ordinateur n’est jamais totalement éteint. Il existe toujours une petite partie de celui-ci qui fonctionne silencieusement (du moment que la pile du CMOS ait encore de l’énergie).

Historique de mes recherches