(modifié le 2 juin 2016 à 0:32)

J'ai changé de routeur récemment, plus puissant, plus joli et plus cher.

wnr3500l-debrick-chip

Le nouveau routeur étant en place j'ai pu enfin mettre à jour l'ancien WNR3500L v1, dont le firmware Tomato était très ancien et vulnérable à de nombreuses failles comme heartbleed. Et puis c'est le drame, la brique. Plutôt que de caler un meuble avec voyons comment le ramener à la vie.

Attention

Avertissement : ces manipulations sont risquées et peuvent rendre inutilisable votre matériel. Ni moi ni Blogmotion ne seront responsables des éventuels dommages sur votre matériel. A partir de ce point vous êtes conscient que ces informations se destinent à des utilisateurs "avancés". Si vous avez un doute ne le faites pas.

Ce billet s'adresse uniquement aux possesseurs d'un routeur Netgear WNR3500L v1. Si vous disposez d'une v2 alors passez votre chemin.

Attention à la confusion car dans l'interface de Tomato (Status > Overview) il est indiqué chez moi : Netgear WNR3500L/U/v2. Mais il s'agit bien d'un routeur v1. Pour en être sûr regardez au dos du routeur que le modèle imprimé est bien : "WNR3500U/WNR3500L". Au dos d'un WNR3500L v2 il est toujours indiqué "WNR3500L v2". Sur la v1 le bouton "on/off" est situé entre le port jaune (internet) et le connecteur (power) :

wlan-ethernet

Avec une v2 c'est l'inverse. L'alimentation indiquée au dos est de 1.0A pour une v1 contre 1.5A pour une v2.

Et paf, led orange

J'étais revenu en firmware Netgear d'origine puis sur le firmware dd-wrt (initial firmware), en effet il faut passer par cette étape car Netgear n'accepte que des firmware en .chk.

Puis j'ai voulu mettre une version récente de Shibby et ça s'est mal terminé pour mon routeur... Led orange (power) allumée ainsi que la led du port ethernet auquel mon PC est connecté. Le routeur ne démarre plus et ne répond plus au ping. En bref il est brické, ou semi-brické. J'avais peut-être pris un firmware trop gros ou quelque chose s'est mal passé.

Mais tout n'est pas perdu.

Ping

Connecter un ordinateur en ethernet (rj45) sur le port ethernet numéro 1 (à ne pas confondre avec le port jaune internet). Désactiver toutes les éventuelles autres carte réseaux (wifi, ethernet).

Configurer une IP fixe : 192.168.1.2 / 255.255.255.0.

Passerelle et DNS : inutile, laisser vide.

Dans une invite de commande lancer un ping avec un temps défini à 2ms :

ping 192.168.0.254 -t -w 2

Cette commande est essentielle. Lancez le ping dès maintenant et laissez cette fenêtre ouvert et visible pour la suite. Pour l'instant le ping ne fonctionne pas, c'est normal.

Reset 30/30/30

Avant tout tentez un hard reset grâce à la méthode "30/30/30" qui permet dans la plupart des cas d'activer le serveur TFTP sur le routeur afin d'injecter un nouveau firmware :

  1. Routeur allumé
  2. Maintenir appuyé le bouton reset 30 secondes, ne le relachez plus
  3. Débrancher l'alimentation, attendre 30 secondes (reset toujours appuyé!)
  4. Rebrancher l'alimentation, attendre 30 secondes (reset toujours appuyé!)

Patienter environ 3 minutes.

Si le firmware était toujours intègre alors le routeur pourra redémarrer.

Dans le cas contraire passons à la suite. Vous pouvez essayer plusieurs fois cette méthode car on relache parfois le bouton reset sans s'en rendre compte... (et merci à myopenrouter qui a juste perdu mon post lors de la migration du site).

Forcer le firmware

Pour vérifier si votre routeur est "debrickable" il faut procéder au test suivant (avec le ping en fond qui continue).

Toujours connecté en ethernet entre votre ordinateur et le routeur :

  1. Eteindre le routeur avec le bouton ON/OFF
  2. Maintenir RESET et allumer le routeur avec le bouton ON/OFF (reset reste appuyé)
  3. La led orange va s'allumer
  4. Quand la led jaune (ethernet) s'allume relacher le RESET

Observez attentivement le ping :

...
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Réponse de 192.168.1.1 : octets=32 temps<1ms TTL=100
Réponse de 192.168.1.1 : octets=32 temps<1ms TTL=100
Réponse de 192.168.1.1 : octets=32 temps<1ms TTL=100
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
...

On observe quelques réponses au ping, 3 dans mon cas. Si vous avez au moins une réponse alors c'est parfait et votre routeur est simplement semi-brické, nous allons pouvoir le refaire partir rapidement.

Dans le cas contraire c'est foutu il faudra passer par un adaptateur série uart et souder les pins (pdf) car absentes sur la v1.

Repérer la puce

Démonter le routeur, il y a 2 vis en dessous. Ce sont des vis étoiles j'espère que vous avez le matériel qu'il faut pour ça. Ensuite il suffit de faire glisser la façade vers le bas du routeur. Attrapez la façade vers l'emplacement de la vis et ça viendra tout seul.

Une fois la bestiole ouverte, il faut localiser la puce MX nommée U32, juste à côté de la résistance R170 dans l'angle du chipset WiFi :

wnr3500l-debrick-chip

Nous devrons plus tard court-circuiter (mettre en contact) les deux pins en bas à droite. J'utilise un tournevis fin :

wnr3500l-debrick-pins

Attention à ne pas utiliser un objet trop large car si vous touchez d'autres pattes que ces deux là vous pouvez définitivement cramer votre routeur (je n'ai pas essayé!).

Préparez le firmware à injecter, je vous conseille de repartir sur le firmware stock (d'origine) de Netgear. Voici le dernier disponible sur le site support de Netgear:

Si ce n'est pas le cas activer le client TFTP de Windows :

  • programmes et fonctionnalités > activer ou désactiver des fonctionnalités de Windows : client TFTP

C'est parti pour le flash

Tournevis et ordinateur à proximité, avec toujours un ping en continue en fond.

C'est parti :

  1. Eteindre le routeur avec le bouton ON/OFF
  2. Maintenir RESET et allumer le routeur avec le bouton ON/OFF (reset reste appuyé)
  3. La led orange va s'allumer
  4. Quand la led jaune (ethernet) s'allume relacher le RESET
  5. Court-circuiter les deux deux pattes (une seconde suffit) comme indiqué
  6. Après 5s la led orange passe en jaune et clignote

note : il peut se passer plusieurs secondes entre l'étape 4 et 5 ce n'est pas génant

Si vous êtes arrivés à cette étape, c'est parfait ! Le ping doit maintenant répondre en continue. Si c'est le cas il est temps d'injecter le firmware, attention à bien préciser le chemin du fichier (c:\firmware dans l'exemple) :

tftp -i 192.168.1.1 PUT C:\firmware\WNR3500L-V1.2.2.48_35.0.55.chk
Transfert réussi : 5357626 octets en 4 secondes, 1339406 octets/s

Vous pouvez renommer le firmware avec un nom plus simple ou utiliser la touche "tabulation" pour auto-compléter le nom (comme sous linux). Après "tranfert réussi" il faut maintenant patienter environ 1 à 3 minutes, le routeur va ensuite redémarrer puis se réinitialiser complètement. Jettez un oeil sur la fenêtre de ping, une fois que c'est stable alors l'interface doit être accessible via : http://192.168.1.1.

Bingo c'est gagné !

On recommence ?

Vous pouvez à nouveau casser essayer un autre mode tomato. De mon côté je suis repassé par le dd-wrt (initial flash) puis j'ai installé cette version de Toastman :

  • tomato-K26USB-1.28.7507.2MIPSR2Toastman-RT-VLAN-VPN-NOCAT.trx

Il faut renommer le firmware *.trx en *.bin sinon dd-wrt dira que le format de l'image est incorrecte. Les mods de Toastman sont plus légers que ceux de Shibby et comme nous sommes limités à 8 mo avec le WNR3500L v1. Pensez à vous inscrire chez 4shared pour pouvoir récupérer les firmware de Toastman, sinon ça ne marchera pas.

Voici les différentes versions disponibles chez Toastman:

  • Mini - no USB, no CIFS, no Zebra
  • MiniIPV6 - no USB, no CIFS, no Zebra + IPv6
  • Std - normal build
  • Ext - normal + Extra utilities + NTFS
  • VPN - normal + Extras + NTFS + VPN
  • VPN-NOCAT - normal + Extras + NTFS + VPN + NOCAT portal

Et comme j'ai galéré à trouver la même information pour les versions de Shibby en fait il faut savoir que la description n'est plus présente après la version 99, voici donc la dernière en date (et toujours d'actualité). Il faut savoir que les firmwares de Shibby et Toastman sont très proches de toutes façons.

J'espère que ce tutoriel vous aura aidé, je me suis largement inspiré de cet article. A force de parcourir pas mal de forum je me suis dit que c'était pas mal de rassembler tout ça ici.

Auteur : Mr Xhark

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