J’ai récupéré un routeur ASUS WL 500Gp qui ne fonctionne plus, lorsqu’il est branché, la led power clignotte lentement et rien ne se passe. Pourtant j’arrive à faire des pings sur 192.168.1.1
Après un rapide tour sur internet, j’ai confirmation de la présence d’un port série TTL sur la carte mère du routeur. Après avoir retiré les 4 vis présentes sous les patins en caoutchouc on peut facilement dégager la carte.
On repère rapidement l’emplacement d’un connecteur à 8 points, le schéma de cablage est sérigraphié sur la carte ce qui simplifie grandement le câblage 🙂
Et hop, un connecteur de récupération est soudé sur l’emplacement vide. Je n’ai plus qu’à ressortir le fameux adaptateur USB/TTL (sinon un montage a base de max3232 peut faire l’affaire) et à brancher les pins TX, RX et GND. Les réglages de la console sont : 115200, 8N1.
Voici ce que nous dit le routeur à l’allumage:
Initializing Arena Initializing Devices. et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.23.0 rndis0: Broadcom USB RNDIS Network Adapter (P-t-P) CPU type 0x29006: 264MHz Total memory: 16777216 KBytes Total memory used by CFE: 0x80800000 - 0x8089B590 (636304) Initialized Data: 0x80831700 - 0x80833DE0 (9952) BSS Area: 0x80833DE0 - 0x80835590 (6064) Local Heap: 0x80835590 - 0x80899590 (409600) Stack Area: 0x80899590 - 0x8089B590 (8192) Text (code) segment: 0x80800000 - 0x80831700 (202496) Boot area (physical): 0x0089C000 - 0x008DC000 Relocation Factor: I:00000000 - D:00000000 Device eth0: hwaddr 00-17-31-B4-23-12, ipaddr 192.168.1.1, mask 255.255.255.0 gateway not set, nameserver not set Null Rescue Flag. Boot program checksum is invalid Hello!! Enter Rescue Mode: (Check error) Reading :: TFTP Server. Failed.: Timeout occured
Hummm Boot program checksum is invalid
voilà qui ne semble pas très positif. Soit la flash est H.S soit elle est juste mal programmée. Visiblement le routeur attend un firmware en TFTP. Cette info est vite confirmée par une recherche sur internet. Il faut envoyer via TFTP le firmware. Pendant la phase de mise à jour, voilà ce que nous dit le routeur;
Failed.: Timeout occured Reading :: TFTP Server. TFTP_BLKLEN!! Done. 6955008 bytes read Download of 0x6a2000 bytes completed Write kernel and filesystem binary to FLASH (0xbfc40000) flash device 'flash1.trx' Programming... done. 6955008 bytes written
Visiblement tout à l’air OK, mais après de multiples essais, rien à faire j’ai toujours un problème de checksum. Le problème doit venir de la NVRAM et non de la flash. J’ai continué mes recherche et j’ai trouvé un forum parlant d’une bidouille risquée mais qui permet de mettre à zero toute la NVRAM. Il faut éteindre le routeur, brancher le pin 9 de la mémoire sur la masse (GND) puis démarrer le routeur quelques secondes. Ensuite, il faut l’éteindre, débrancher le shunt et le redémarrer.
Et là voilà quelque chose d’intéressant:
Initializing Arena Initializing Devices. et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.23.0 rndis0: Broadcom USB RNDIS Network Adapter (P-t-P) CPU type 0x29006: 200MHz Total memory: 16777216 KBytes Total memory used by CFE: 0x80800000 - 0x8089B590 (636304) Initialized Data: 0x80831700 - 0x80833DE0 (9952) BSS Area: 0x80833DE0 - 0x80835590 (6064) Local Heap: 0x80835590 - 0x80899590 (409600) Stack Area: 0x80899590 - 0x8089B590 (8192) Text (code) segment: 0x80800000 - 0x80831700 (202496) Boot area (physical): 0x0089C000 - 0x008DC000 Relocation Factor: I:00000000 - D:00000000 Committing NVRAM...done
Je retente alors un nouveau flashage via TFTP et là miracle, au démarrage suivant, j’obtiens ça:
Initializing Arena Initializing Devices. et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.23.0 rndis0: Broadcom USB RNDIS Network Adapter (P-t-P) CPU type 0x29006: 264MHz Total memory: 33554432 KBytes Total memory used by CFE: 0x80800000 - 0x8089B590 (636304) Initialized Data: 0x80831700 - 0x80833DE0 (9952) BSS Area: 0x80833DE0 - 0x80835590 (6064) Local Heap: 0x80835590 - 0x80899590 (409600) Stack Area: 0x80899590 - 0x8089B590 (8192) Text (code) segment: 0x80800000 - 0x80831700 (202496) Boot area (physical): 0x0089C000 - 0x008DC000 Relocation Factor: I:00000000 - D:00000000 Device eth0: hwaddr 00-17-31-B4-23-12, ipaddr 192.168.1.1, mask 255.255.255.0 gateway not set, nameserver not set Null Rescue Flag. Loader:raw Filesys:raw Dev:flash0.os File: Options:(null) Loading: .... 1753088 bytes read Entry at 0x80001000 Closing network. Starting program at 0x80001000 CPU revision is: 00029006 Primary instruction cache 16kb, linesize 16 bytes (2 ways) Primary data cache 16kb, linesize 16 bytes (2 ways) Linux version 2.4.20 (root@localhost.localdomain) (gcc version 3.2.3 with Broadcom modifications) #440 Mon Jan 8 21:35:29 EST 2007 Setting the PFC to its default value Determined physical RAM map: memory: 02000000 @ 00000000 (usable) On node 0 totalpages: 8192 zone(0): 8192 pages. zone(1): 0 pages. zone(2): 0 pages.
Linux boot 🙂
Et hop un routeur de réparé 🙂
Pour info, l’utilisation du port série n’est pas indispensable, je l’ai fait par curiosité et puis parce que ce routeur va me servir pour mes prochaines bidouilles…
Ya pas de port JTAG sur cette bestiole?
je ne crois pas qu’il ait un port jtag. Ou alors il est bien caché 😉
Bonjour, je suis tombé sur votre site car je suis à la recherche d’info pour réparer mon WL500gPremium V1.14 qui refuse de démarrer suite à une configuration de l’interface WEB de la version DD-WRT Mega V24. Vu que vous avez une grande expérience dans la bidouille de ce routeur, je voulais savoir si vous aviez des idées. Le symptome :
La LED Power reste allumé fixe, J’ai le Link sur le LAN0. Ma machine est configuré en 192.168.1.2/255.255.255.0 je n’arrive plus pingué le routeur en 192.168.1.1 meme avec le bouton restore maintenu au démarrage. J’ai monté un MAX3232 pour récupérer la sortie SERIE Voici ce quil me dit :
CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: $T 12$¿ 14 15:54:18 CST 2005 (root@localhost.localdomain)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.
Initializing Arena
Initializing Devices.
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.23.0
rndis0: Broadcom USB RNDIS Network Adapter (P-t-P)
CPU type 0x29006: 264MHz
Total memory: 33554432 KBytes
Total memory used by CFE: 0x80800000 – 0x8089B590 (636304)
Initialized Data: 0x80831700 – 0x80833DE0 (9952)
BSS Area: 0x80833DE0 – 0x80835590 (6064)
Local Heap: 0x80835590 – 0x80899590 (409600)
Stack Area: 0x80899590 – 0x8089B590 (8192)
Text (code) segment: 0x80800000 – 0x80831700 (202496)
Boot area (physical): 0x0089C000 – 0x008DC000
Relocation Factor: I:00000000 – D:00000000
Device eth0: hwaddr 00-17-31-97-92-38, ipaddr 192.168.1.1, mask 255.255.255.0
gateway not set, nameserver not set
Null Rescue Flag.
Reading :: TFTP Server.
Failed.: Timeout occured
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading:
Avec le bouton restore maintenu au démarrage, cela donne :
CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: T 12 14 15:54:18 CST 2005 (root@localhost.localdomain)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.
Initializing Arena
Initializing Devices.
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.23.0
rndis0: Broadcom USB RNDIS Network Adapter (P-t-P)
CPU type 0x29006: 264MHz
Total memory: 33554432 KBytes
Total memory used by CFE: 0x80800000 – 0x8089B590 (636304)
Initialized Data: 0x80831700 – 0x80833DE0 (9952)
BSS Area: 0x80833DE0 – 0x80835590 (6064)
Local Heap: 0x80835590 – 0x80899590 (409600)
Stack Area: 0x80899590 – 0x8089B590 (8192)
Text (code) segment: 0x80800000 – 0x80831700 (202496)
Boot area (physical): 0x0089C000 – 0x008DC000
Relocation Factor: I:00000000 – D:00000000
Device eth0: hwaddr 00-17-31-97-92-38, ipaddr 192.168.1.1, mask 255.255.255.0
gateway not set, nameserver not set
Null Rescue Flag.
Hello!! Enter Rescue Mode: (by Force)
Reading :: TFTP Server.
Failed.: Timeout occured
Reading :: TFTP Server.
J’ai tenté de shinter la pin 9 de la NVRAM, pas de changement
Voila où j’en suis ,boouu !
Salut,
Pour moi quand tu as
Reading :: TFTP Server.
Failed.: Timeout occured
Reading :: TFTP Server.
C’est tout bon, il suffit à ce moment d’envoyer le firmware en TFTP. Si tu es sous windows il y a un utilitaire ASUS qui fait ça il me semble. Si tu es sous Linux, tftp doit suffire. Tu as plus d’info ici:
http://wiki.openwrt.org/OpenWrtDocs/Hardware/Asus/WL500GP
A priori ton problème n’a pas l’air trop grave.
Sinon une autre méthode basée sur ces commandes:
load -r -b %{FREEMEMLO} openwrt-atheros-2.6-vmlinux.lzma
fis init
fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7
load -r -b %{FREEMEMLO} openwrt-atheros-2.6-root.squashfs
fis create -l 0x6F0000 rootfs
reset
Hello,
Bravo pour cette serie d’article sur le WL-500GP qui est sans doute l’un des meilleurs pour la bidouille.
Bidouille qui conduisent à quelques sueurs froides si on en abuse … ce qui est mon cas tu t’en sera douté ;). Le router fonctionnait sous openWRT.
J’ai fait un erase de toutes les variables de la NVRAM depuis la console ssh.
Au reboot la bestiole n’as pas redémarré (pas une bonne idée le raz nvram 😉 )
Le restore (tftp) ne fonctione pas non plus. Direction ton site et le clear NVRAM à la hussard.
Oh joie la bête ping a nouveau. Reload du firmware en mode restore, redémarrage, oki tout va bien ; activation du passwd, reboot et ….. rien
plus de ping. Remanip à la hussarde … rien de rien.
Je suis dans le même cas que CANARD94.
Comme dit l’autre, « Pas de bras pas de chocolat 🙁 » qu’on petu traduire ici par Pas de ping pas de TFTP possible.
Avant de monté l’interface série (je dois commander le module RS232/TTL => USB), je voulais savoir si j’ai bien compris la manip que tu donnes à CANARD94. Il s’agit de recharger le firmware en transferant ce dernier par la liaison série. ?
Peux-ton avoir accès à tout depuis CFE ? (ram / flash …) ?
Je te remercie de ton aide
A+
marc
@m3z, tu ne peux pas à ma connaissance transférer le firmware en série. Par contre, tu peux accéder au CFE, paramétrer un IP et là forcer le chargement du firmware en tftp. Vu que tu indiques les zones mémoire, c’est une méthode imparable si tu n’as comme moi qu’un problème de flash. Si c’est un problème de matériel (j’en doute) là… c’est foutu 🙁
Bon courage.
Bonjour et merci de ta réponse.
Si j’arrive à réactive un port, je devrais pouvoir m’en sortir alos.
Je te tiens au courant de la suite (à titre didactique pour d’autres expérimentateurs malchanceux … 😉 )
A+
Bonjour,
merci pour cet article très utile.
Désireux de pouvoir exploiter le port TTL, je ne trouve plus le lien repris dans votre texte « adaptateur USB/TTL ». Le lien est mort. Auriez-vous l’amabilité de nous mettre ce lien à jour afin que nous puissions disposer de votre expérience pour que je puisse arriver à faire usage de ce porte TTL ?
D’avance merci et excellente journée,
Miguipda 😉