Hello Guys,
Pour la postérité voici comment j'ai débrické le routeur.
1. Essai sans démonter le routeur
Ces routeurs ont un mécanisme permettant de récupérer le firmware en cas de flash raté.
Normalement, le routeur doit automatiquement tenter de récupérer une image valide via TFTP.
Pour ce faire, un petit coup de WireShark.
Dommage. Il ne se passe absolument rien, il va falloir ouvrir la bête.
2. En démontant.
Commençons par faire sauter les quatre vis.
Ensuite, on déclipse le dessus du routeur et nous voici face au PCB de la bête.
On y remarque le port JTAG, inutile sur ce modèle car désactivé ainsi que le port RS232.
Soudons donc le port RS-232.
Et branchons-y un adaptateur USB - RS232 (TTL).
ATTENTION : TTL indique les niveaux logiques [0;5V]. Le RS-232 au cul d'un PC a des niveaux logiques de [-9;+9V].
NE SURTOUT PAS BRANCHER UN PORT SERIE ORDINAIRE LA DESSUS.
D'une manière générale, la sortie et l'entrée standards sont redirigées sur le port série.
Cela permet simplement d'avoir un terminal local, bien pratique.
Avec un émulateur de terminal (PuTTY), cela donne ça :
Le kernel est naze, ça ne risque pas de démarrer. Par contre, le bootloader est un U-Boot tout ce qu'il y a de plus classique et il a l'air de bien fonctionner.
Autrement dit, il est possible d'obtenir un shell directement via le bootloader.
Cool. Je peux causer au routeur maintenant. Il est temps d'y brancher un câble Ethernet.
Je lui donne une IP fixe.
Je lui indique l'adresse d'un serveur TFTP installé au préalable sur ma machine (TFTPd32 est pas mal pour ça sous Windows).
Je lui demande d'aller gauler le firmware stocké sur le serveur.
Je lui efface sa flash
Je la remplis de nouveau avec un nouveau firmware.
Reboot.
Et bim.
Pour les détails :
http://wiki.openwrt.org/fr/toh/tp-link/tl-wdr3600