Asus WL 500 gP debricking mit serieller Schnittstelle

January 24th, 2010 by wuerzelchen Leave a reply »

Was wird benötigt um einen seriellen Anschluss am Router zu haben?
Als erstes braucht man einen TTL umwandler, der die niedrige Spannung von 3.3V in 15V umwandelt.
Es gibt unterschiede bei den einzelnen Routern, der ASUS WL 500g Premium hat 3.3V.
Das ist auch eines meiner Probleme gewesen. Ich habe mir nach dieser Anleitung
einen TTL converter gebastelt aber nicht wirklich eine Anständige ausgabe auf meiner Konsole gehabt.
Im #openwrt Channel auf freenode hat man mir dann mal geraten einen MAX3232 zu nehmen anstatt den MAX232. Und es hat geholfen.

Wie geht ihr vor? Ganz einfach…
In meinem fall Usb->Seriell Kabel an den TTL converter anschließen.
Den TTL converter an die serielle Schnittstelle des Routers stecken.
Nun Putty anmachen und auf serial stellen mit COM3 und ner baudrate von 115200.
Wenn Putty an ist, Strom an den Router und STRG + C druekcen bis in etwa soetwas kommt:

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: ¤@  6¤ë 12 16:31:07 CST 2006 (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 - 0x8089B670 (636528)
Initialized Data:          0x808317E0 - 0x80833EC0 (9952)
BSS Area:                  0x80833EC0 - 0x80835670 (6064)
Local Heap:                0x80835670 - 0x80899670 (409600)
Stack Area:                0x80899670 - 0x8089B670 (8192)
Text (code) segment:       0x80800000 - 0x808317E0 (202720)
Boot area (physical):      0x0089C000 - 0x008DC000
Relocation Factor:         I:00000000 - D:00000000

Device eth0:  hwaddr 00-11-22-33-44-55, 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.: Interrupted
CFE> ^C

Sobal das erscheint seid ihr im CFE modus. Ihr habt jetzt eine kleine auswahl an möglichkeiten euren Router zu flashen. Ich habe mir, die für mich einfachste Variante gewählt. Ihr könnt schauen ob für euch lieber etwas anderes in Frage kommt. Wiki Openwrt

Um gleich mit eurem Router kommunizieren zu können benötigt ihr erst einmal die ip des Routers, entweder steht bei euch in der Konsole noch die ip da er die ganz am Anfang anzeigt oder ihr macht Folgendes. Falls ihr sie schon habt, könnt ihr den Schritt überspringen.
Ihr gebt einfach folgendes ein um die ip Adresse zu erhalten:

CFE> uci show network.lan.ipaddr
network.lan.ipaddr=192.168.1.1

Nun startet ihr auf eurem Rechner einfach TFTP und versucht an die ip des Routers die Firmware zu senden.
Zuerst am besten TFTP losfeuern und dann auf dem Router in den “Listenmodus” gehen, da ihr sonst eventuell mit so einem Fehler konfrontiert werdet.

CFE> flash -noheader : flash1.trx
Reading :: TFTP Server.
Failed.: Timeout occured
*** command status = -21

Lieber zuerst auf dem Rechner tftp abfeuern mit:

C:\Windows\System32> TFTP.EXE -i 192.168.1.1 PUT D:\router\openwrt-brcm-2.4-squashfs.trx
Übertragung erfolgreich: 2166784 Bytes in 3 Sekunde(n), 722261 Bytes/s

und dann auf dem Router empfangen mit:

CFE> flash -noheader : flash1.trx
Reading :: TFTP Server.
TFTP_BLKLEN!!
Done. 2166784 bytes read
Download of 0x211000 bytes completed
Write kernel and filesystem binary to FLASH (0xbfc40000)
flash device 'flash1.trx'
parseflag = 0, the copysize is 2166784
Programming...
after cfe_writeblk, the copysize is 2166784, amtcopy=2166784
done. 2166784 bytes written
*** command status = 0

Bei einem command status = 0 seid ihr eigentilch auf der sicheren seite und wisst dass alles glatt gelaufen ist.
Jetzt könnt ihr wieder alles zusammen schrauben und wie gewohnt anschließen. Jetzt dürfte wieder alles funktionieren.

Advertisement

Leave a Reply