Réparation d’un Routeur WIFI ASUS WL 500Gp

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

asusWL500Gp.jpg

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.


IMG_1159_800x600.jpg

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 🙂

IMG_1160_800x600.jpg

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.

IMG_1161_800x600.jpg

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.

IMG_1162_800x600.jpg

IMG_1162_bis_800x600.jpg

IMG_1165_800x600.jpg

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…

8 réponses sur “Réparation d’un Routeur WIFI ASUS WL 500Gp”

  1. 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 !

  2. 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

  3. 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

  4. @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.

  5. 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+

  6. 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 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.