(modifié le 5 octobre 2019 à 19:58)

J'ai eu entre les mains un pc portable Dell Inspiron 3521 qui refusait de démarrer.

J'ai tout tenté, et puis j'ai trouvé la solution. Récit d'une réparation positive.

Symptômes

Quand j'appuie sur le bouton de mise en route l'écran reste noir, puis un bip court retentit toutes les 2,5 secondes.

Le bios n'apparaît pas, pas d'erreur non plus, bref l'écran ne s'allume pas. J'ai simplement le lecteur CD qui fait son bruit classique car il est alimenté.

Bon, je me dis que la CM est sûrement morte, mais peut-être que ce bip indique que tout n'est pas perdu. Une carte mère HS donne souvent aucune phase de boot, ni buit, juste un ventilo qui tourne à fond. Ce qui n'est pas le cas ici.

Diagnostic

Première chose à faire : retirer un maximum de périphériques pour vérifier si l'un d'entre-eux empêche le démarrage. Lecteur CD, disque dur, 1 barrette de mémoire si vous en avez 2 (essayer l'une puis l'autre).

J'ai voulu tester l'écran : maintenir la touche D et démarrez le PC. Et là j'avais bien les tests de couleurs qui fonctionnaient. Je ne le savais pas comment mais si j'avais démarré sans maintenir D le pc aurait probablement démarré. Il se trouve que le PC doit démarrer une fois sur 20... Mais je ne le savais pas encore.

J'ai donc enlevé une barrette de RAM, et là bingo le PC démarre. Je me dis facile, ça fait des années que les barrettes sont ultra fiables, mais bon pourquoi pas... Pour savoir si ça vient du slot je mets la barrette qui marche dans le second slot. Et là : bip... je me dis alors que le slot a peut-être cramé la barrette, et que je viens de flinguer celle qui marchait...

Mais non, j'arrive de nouveau à faire démarrer le PC à force d'essayer.

La piste de la pile CMOS (CR2032)

Je retire la pile CR2032 du BIOS, heureusement accessible sans démontage complet. Et là j'ai 5 bips, donc le problème ne vient pas de là. Malheureusement le cache plastique un peu vieux se brise, donc je mets de la colle à chaud temporairement.

Mais la colle ne semble pas fonctionner comme attendu, parfois j'ai encore ces 5 bips. Donc je dois maintenir la pile avec mon doigt pour bien faire contact. Et c'est à c'est moment là que je me suis rendu compte que le PC avait tendance à démarrer quand j'avais le doigt sur la pile... étrange non ? la pile est bonne, elle donne 3 volts au multimètre.

Je continue mes essais et je me rends compte que finalement ce n'est probablement pas lié à la pile... mais plus à la fermeture puis ouverture du capot. Dans le doute je maintiens aussi le doigt sur la pile ^^ j'arrive à faire démarrer le PC une fois sur 10 environ, c'est mieux.

La piste du bios

Je ne comprends toujours pas la cause de la panne, et ça m'énerve. Comme le PC démarre une fois sur 10 je me dis que je devrais déjà commencer par mettre à jour le BIOS de A14 vers A16.

Mais... la batterie est HS donc l'assistant refuse de mettre à jour ce foutu BIOS. Et j'ai beau tester tous les switchs trouvés sur le net  :

La seule chose que j'arrivais à faire c'est utiliser une vieille version de BIOS qui supportait la lecture du platform.ini. Mais je me prends un beau message qui dit que ça ne peut pas aller plus loin. Probablement parce que le "vieux" InsydeFlash ne supporte pas le format du bios plus récent.

Du coup, j'ai voulu récupérer le bios "isflash.bin" pour le flasher sous freedos. Pour ça il faut utiliser universal extractor (7zip retourne une erreur) ou bien le récupérer dans %temp% quand l'erreur de batterie apparaît.

Mais l'utilitaire insydeflash.exe ne fonctionne que sous Windows et pas sous dos/freedos (ni celui de Dell 3521A16.exe). Damned!

Bon, comme le PC ne redémarrait jamais 2 fois de suite, je ne suis même pas sûr que le flash aurait fonctionné, même si j'avais acheté une batterie.

Démonter le PC

Du coup je me dis que mort pour mort... autant tenter de reprogrammer la puce du bios directement, électroniquement. Cette vidéo m'a d'ailleurs conforté dans l'idée :

J'ai donc suivi une vidéo pour démonter le PC sans difficulté particulière si ce n'est de la minutie et de la patience :

Conseils pour démonter :

  • prenez régulièrement des photos
  • notez l'emplacement des vis sur une feuille de papier (ou mieux dans une boite)

Et voilà la fameuse puce de bios Winbond.

J'ai essayé de lire la puce en circuit avec la pince adaptée, et je n'ai jamais réussi. J'ignore si c'est à cause des contacts approximatifs ou des composants autour qui perturbent la communication.

Dessouder la puce

Impossible de l'extraire au fer à souder, à moins d'avoir 2 fers et d'être particulièrement rodé. Donc dessoudage à l'air chaud après protection avec du kapton sur les autres composants voisins pour ne faire fondre que l'étain de la puce du bios :

Et voilà la puce extraite.

Lire la puce et la sauvegarder

J'ai utilisé un lecteur USB TL866A pour lire la puce avec Windows, grâce à un petit adaptateur (soic8 dip8) qui vient appuyer sur les pattes de la puce winbond. Je l'avais acheté il y a plusieurs années en me disant que ça me pourrait me sauver la mise sur un bios de pc fixe car il sont plus gros et extractibles, et finalement c'est sur un pc portable que je m'en sers pour la première fois 🙂

Première étape, lire le contenu de la puce et faire une sauvegarde dans un fichier bios-original.bin (peut importe l'extension, *.rom sinon) :

J'ai utilisé UEFITool pour voir si le dump était cohérent mais j'ai eu une erreur : "image is truncated", j'ignore pourquoi car j'ai refais le dump à 2 reprises. J'ai ouvert le fichier avec HxD pour comparer le format et c'est à ce moment là que j'ai compris que isflash.bin n'était pas dans le format binaire comme mon dump. L'utilitaire de flash Insyde H2O décompacte isflash.bin à la volée d'un format "MZ" propriétaire pour le transformer en fichier binaire pur et dur (lien utile). Ce format MZ contient le binaire que l'on cherche mais également d'autres choses inutiles qui ne font pas parties du bios.

Extraire le bios du fichier "isflash.bin"

Pour extraire le bios vous avez 2 options :

  1. InsydeImageExtractor (windows/mac)
  2. un script python (installez python depuis le microsoft store)

Personnellement j'ai utilisé la méthode 1 sous Windows avec succès. Le script python fait la même chose sauf qu'il ajoute une ligne "600000" inutile à la fin composée de "00". Je n'ai pas testé de flasher avec cette ligne en plus, mais il est possible que ça marche aussi. Dans le doute, virez cette ligne pour vous éviter des problèmes (et vérifiez avec notepad++ que le dernier caractère est "ôÿ").

Ensuite il reste à écrire ce fichier bios dans la puce winbond :

Reste à mettre de l'étain sur le PCB et ressouder la puce sur place, sans oublier de mettre un paquet de flux pour éviter que la soudure n'accroche sur 2 pattes en même temps.

Test final

Je remets la carte mère en place, avec juste ce qu'il faut pour voir si ça boot (écran, clavier, ram, hdd).

J'allume, sans grande confiance, et pourtant :

ça marcheeeeeeeeee 🙂 ! Nous sommes bien en bios A16 au lieu de A14, ce qui témoigne que le flash du bios a fonctionné. Plus de bip au démarrage, tout roule. J'ai simplement un "check media fail" car le bios essaie de démarrer sur la stack réseau (ipv6 et ipv4), il suffit de modifier l'ordre de boot UEFI pour ne plus voir le message.

Conclusion

Je voulais vous faire ce petit retour d'expérience, parce qu'avant de commencer tout ça j'étais sceptique sur la réparation. Et c'est vrai que c'est souvent décourageant, mais dans ce cas précis le PC était juste en panne à cause d'une puce qui coûte probablement 1€...

D'ailleurs sur eBay il est possible d'acheter cette puce déjà programmée, en demandant de la flasher avec votre bios, ça peut dépanner.

Bref, un happy ending, ça fait du bien car c'est loin d'être systématique dans le domaine de la réparation 💪 Après le flash du bios à l'aveugle avec une disquette (BM n'existait pas) cette réparation aura sa place dans les réparations mythiques ^^

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter