Débriquage du WRT54G
Par Petaramesh le lundi 13 février 2006, 11:39 - Linksys WRT54G - Lien permanent
Où Swâmi Petaramesh vous apprend à jouer les Frankenstein en ramenant à la vie un WRT54G raide mort...
Alors voilà. Vous avez joué et vous avez perdu. En bidouillant le firmware de votre WRT54G, vous avez transformé celui-ci en une mignonne brique[1] de plastique gris et bleu, qui refuse désormais toute tentative de communication de votre part, et qui, si quelques voyants ne s'allumaient pas, vous paraîtrait aussi crevée qu'un hareng pêché l'année dernière.
Vous hésitez entre l'utiliser comme objet décoratif pour votre dessus de cheminée, ou le foutre par la fenêtre avec un grand cri de rage impuissante.
Pas de panique ! Il y a de bonnes chances que vous parveniez à le ramener à de meilleurs sentiments.
Nous allons maintenant tenter de procéder à la réanimation, et, si besoin, à la chirurgie.
I. Rebooter ne peut pas faire de mal
Si votre bestiau est coincé de chez coincé, et qu'après avoir installé un nouveau firmware, ou exécuté l'opération qui l'a mis dans ce triste état, vous avez attendu assez longtemps (au moins 5 minutes) sans amélioration, essayez de le rebooter électriquement. Débranchez la prise d'alimentation, attendez 10 secondes, rebranchez, laissez booter.
Toujours pas ? Essayez encore. Toujours rien ?
II. Lui parlez-vous bien à la bonne adresse ?
Quelle que soit l'adresse IP que vous avez configurée sur votre routeur, rappelez-vous que, si vous avez fait un reset usine de la NVRAM (voir mon article à ce propos), ou si, pour une quelconque raison, la configuration a été perdue, alors votre WRT54G est de retour à l'adresse IP par défaut, 192.168.1.1. Essayez de communiquer avec lui à cette adresse, et n'oubliez pas pour cela que vous devez configurer la carte Ethernet de votre ordinateur sur une adresse IP fixe du même réseau (par exemple 192.168.1.2), masque 255.255.255.0.
Toujours pas ?
III. N'est-il qu'à moitié boudeur ?
Avec certains firmwares de remplacement défectueux, ou mal adaptés à votre version de matériel, il peut arriver que seule la radio, ou seule la connexion réseau Ethernet, soit H.S., mais qu'il reste possible de contacter le routeur par l'autre voie. Si la liaison radio (WLAN) ne fonctionne pas, essayez par le câble Ethenet (sur la prise LAN 1). Si la connexion Ethernet semble cuite, essayez la liaison radio. Si les deux ne marchent pas, essayez la connexion LAN par la prise WAN. Certains firmwares mal foutus peuvent parfois provoquer l'interversion des prises LAN et WAN, particulièrement avec des modèles anciens de WRT54G.
IV. Essayez le reset NVRAM usine
Après avoir installé un firmware d'une nouvelle famille, il est toujours recommandé de faire un reset de la NVRAM par l'un des moyens indiqués dans mon article à ce propos. Il se peut que votre routeur soit de très mauvaise humeur tant que vous ne l'aurez pas fait.
Si votre routeur boude, la seule méthode à votre disposition est l'appui sur le bouton RESET pendant plus de 20 secondes.
Toujours rien ?
V. Essayez de recharger le firmware par TFTP
Même si le firmware ne démarre pas ou est défectueux, il est possible que le bootloader PMON ou CFE accepte toujours la connexion TFTP lors du boot. Si c'est le cas, vous êtes sauvé : Il vous suffit alors de recharger un firmware dont vous savez qu'il fonctionne, en utilisant la méthode TFTP au boot que je décris dans mon article Remplacement du firmware d'un WRT54G.
N.B.: Si vous avez remis la NVRAM à ses valeurs usine, il est probable que le flag boot_wait de votre routeur est désormais réglé sur off. Ceci rend la synchronisation beaucoup plus difficile pour uploader un nouveau firmware via TFTP.
Si cela ne marche pas du premier coup, réessayez plusieurs fois, en suivant bien les conseils donnés dans mon article, notamment le réglage de votre carte réseau en 10base-T half-duplex, et le fait d'envoyer par TFTP dès l'instant précis où le voyant link de votre carte réseau s'allume.
Toujours pas ?
VI. Sortons le tournevis : la méthode courjus
Bien. Faute de succès jusqu'ici, nous en arrivons aux choses saignantes, et, cette fois, apprêtez-vous à vraiment annuler la garantie de votre routeur, car vous allez devoir lui mettre les tripes à l'air, et, ce faisant, vous briserez le petit auto-collant de garantie qui se trouve dessous.
Comme d'habitude, je vous rappelle que je décline toute responsabilité concernant les conséquences des conneries que vous vous apprêtez à faire à suivant plus ou moins bien mes indications, quelles que puissent être ces conséquences, y compris si celles-ci résultent d'erreurs ou d'omissions présentes dans cet article, ce qui est toujours possible...
La méthode que nous allons appliquer maintenant consiste à rendre temporairement la mémoire flash volontairement défectueuse, par l'application d'un court-circuit judicieux, afin d'empêcher le bootloader de charger le firmware à partir de la mémoire flash.
Comme le bootloader sera incapable de charger le firmware, il devrait basculer en mode TFTP, et ainsi permettre le succès de la méthode expliquée au paragraphe (V.) précédent.
Allons-y, démontons le routeur.
Commencez par dévisser les deux antennes, et ôtez-les.
Le boîtier d'un WRT54G est simplement "clippé". Il est composé de trois parties, le corps gris, la plaque grise de fond sur laquelle est fixée la carte mère, et la face avant qui est clippée sur le corps, fermant l'ensemble.
Certaines versions récentes ont en plus deux vis sous les pieds avant !
Otez le patin caoutchouc de l'un des pieds avant du routeur, pour voir s'il y a une vis cachée dessous. Si c'est le cas, dévissez-la, et faites de même pour l'autre pied.
Prenez ensuite le routeur à deux mains, "à l'envers", pieds en l'air, la face avant bleue vers le haut. Mettez vos deux pouces sous les pieds. Poussez franchement d'un bon coup sec vers le haut. La face avant devrait se déclipser facilement.
Vous pouvez voir des images de l'opération, et sa description en anglais, sur cette page de LinksysInfo.org.
Une fois le boîtier ouvert, extrayez la carte mère qui coulisse facilement avec son support.
Vous obtiendrez la carte mère de votre WRT54G, qui, selon la version, se présente plus ou moins comme ceci (photo de mon WT54G 1.1) :

Revissez les antennes sur leurs connecteurs, nous allons faire fonctionner le WRT54G sans son boîtier.
Je me doute que vous êtes mort de peur à l'idée de ce que nous nous apprêtons à faire, essayez de vous rassurer en vous disant que j'ai moi-même ressuscité mon propre WRT54G 1.1 par la méthode que je décris ici, et que j'ai pris les photos jointes à cette occasion.
Pensez également que foutu pour foutu... Si votre routeur est actuellement une brique, ça ne risque pas de devenir bien pire. Enfin si, ça peut toujours devenir une brique cramée ;-)
Repérez, sur la carte mère, le chip de mémoire flash, qui a de bonnes chances de ressembler à ceci :
Normalement, sur la sérigraphie de la carte mère, comme on le voit ici, les papattes sont numérotées, de 1 (en bas à droite) à 24 (en haut à droite) et de 25 (en haut à gauche) à 48 (en bas à gauche). De plus, toutes les 5 pattes, un petit trait blanc vous aide à compter sans vous tromper.
Munissez-vous d'un petit objet métallique conducteur, comme un trombone déplié ou la pointe d'un tournevis fin. Cet objet devra vous permettre de mettre deux pattes adjacentes du chip flash en court-circuit l'une avec l'autre, sans toucher aucune autre zone de la carte mère.
Connectez votre WRT54G désossé à l'ordinateur via câble Ethernet. Ne branchez pas encore son alimentation.
Sur votre ordinateur, ouvrez deux fenêtres. Dans l'une, préparez la commande d'envoi du firmware par TFTP (comme indiqué dans mon article) de manière à ce que vous n'ayiez plus qu'à taper [Entrée] pour l'exécuter tout-à-l'heure.
Dans la deuxième fenêtre, lancez un ping permanent vers le routeur (192.168.1.1).
Déterminez quelles sont les pattes à courjuter en fonction de votre modèle de routeur :
- Flash 4 Mo (WRT54G v1.0, v1.1, v2.0) : pattes 15 et 16
- Flash 4 Mo (WRT54G v2.2) : pattes 16 et 17
- Flash 8 Mo (WRT54GS v1.0, v1.1) : pattes 5 et 6
A l'aide de votre objet métallique conducteur, mettez soigneusement en court-circuit les pattes adéquates du chip flash. Veillez à ce que votre objet métallique ne provoque aucun autre court-jus indésirable.
En maintenant le court-circuit, branchez l'alimentation. Ca ne devrait pas faire d'étincelles ni de fumée, sauf si vous vous êtes méchamment gourré ;-)
Regardez l'écran de votre ordinateur. Vous devriez voir le routeur se mettre à répondre aux pings au bout de moins de 5 secondes.
Dès que votre routeur répond aux pings, enlevez votre court-circuit.
Vous pouvez maintenant effectuer l'envoi du firmware par TFTP, ça devrait marcher.
Ca ne marche pas ? Certains ont rapporté que pour eux, la solution qui fonctionnait, était de relier la patte 16 de leur chip flash à la masse sur l'embase d'un connecteur d'antenne, en utilisant un bout de fil électrique fin (genre fil de câblage électronique, fil de téléphone rigide...). Je n'ai pas essayé, donc je vous donne cette info brute de décoffrage.
Ca a marché ? Votre firmware rechargé répond mieux que précédemment ? Parfait ! Vous n'avez plus qu'à remonter la boîboîte.
Ca n'a pas marché ?
VII. chirurgie lourde : Sortons le fer à souder
Si vous êtes arrivé jusqu'ici, c'est que votre WRT54G est vraiment très malade (il est même possible qu'il soit vraiment foutu).
[2] Normalement, si le bootloader PMON ou CFE est en état de marche, la méthode précédente aurait du fonctionner. Si cela n'a pas été le cas, il es probable que même le bootloader a été endommagé.
Il nous faut donc réécrire le bootloader complet sur la mémoire flash, mais, pour cela, il faut connecter le WRT54G au port parallèle de votre ordinateur en utilisant un câble spécifique, appelé câble JTAG. Pour ce faire, il va être nécessaire de souder un connecteur sur la carte mère de votre WRT54G. Puis, il faut recharger un PMON ou un CFE sur la mémoire flash.
Je n'ai moi-même jamais effectué cette opération, aussi ne vais-je pas la décrire en détail. Je me bornerai à vous fournir quelques liens utiles voire indispensables :
- Méthode de construction d'un câble JTAG : chez OpenWRT
- Programme de création d'un CFE tout neuf : MkCFE PMON/CFE bootloader creator
- Skynet Repair Kit, version plus récente du précédent.
- HairyDairyMaid Debrick Utility
Voilà, c'est tout pour aujourd'hui. En espérant que ce petit article vous aura aidé à vous sortir d'un mauvais pas...
N'hésitez pas à me faire part de votre propre expérience en commentaires de cet article.
Notes
[1] Pour aider Google : brick, bricked, debrick, unbrick, bloqué, coincé, planté...
[2] Schéma provenant de http://downloads.openwrt.org/inh/reference/JTAGschem.png











Commentaires
Bonjour Swami, Bonjour a tous.
Je temoigne ici que generalement, la methode I suffit et est tres efficace.
En effet, sur un vieux wrt54g v1.1, meme apres des upgrades de firmware (dd-wrt) qui avaient l'air de bien se passer (page Upgrade successful, continue), et bien, le routeur n'arrivait pas du tout a rebooter et il y avait 2 LEDs desesperement fixes ! -> J'appellerais cet etat 'stoned'.
La methode I a suffi pour lui faire faire des clins d'oeil a cette 'pierre' !
Je roule maintenant avec {{Firmware: DD-WRT v23 SP1 (02/08/06) Time: 09:45:43 up 3 days, 13:54, load average: 0.16, 0.03, 0.01 }}
Mon routeur francais ( ver. 1.0 ) à dut etre upgradé en courcircuitant les broches 16 et 17 du chip AM29LV320DB de chez AMD, sinon la methode décrite ici m'a sauvé car je ne pensait pas toujours à attendre et à rebouter, C'est finalement un reset du bouton arriere qui à tout remis en bonne marche!!!
Pour ma part j'ai utilisé la version Linksys du firmware pour routeur 1.0 FR : wrt54g_1.42.2_fw.exe L'executable est peut etre plus simple que les autres et au boot, à la seconde ou la diode de l'ethernet commence à clignoter, envoyer le test de communication puis confirmer l'upgrade...
Voila Merci encore pour votre aide à bientot LMC
J'aurai pu prendre des photos mais celle ci sont tellement belles...
Mon routeur WRT54G (FR?) v1.0
http://seattlewireless.net/~mattw/photos/linksyswrt54g/gallery/ @plus
cette astuce (voir ci dessou) m'as sauvé la mise avec mon wrt54gl passé en dd-wrt , un grand merci et bravo pour le site .
Si votre routeur boude, la seule méthode à votre disposition est l'appui sur le bouton RESET pendant plus de 20 secondes.
Toujours rien ?