Linksys WRT160NL DD-WRT Recovery nach fehlgeschlagenem Firmware Flash
Heute ist es mal wieder passiert, ich habe meinen Linksys WRT160NL Router mit einem Firmware Update von DD-WRT zerschossen... Was sagt mir das mal wieder, don't change a running system. Ich habe natürlich als erstes alles Mögliche versucht ihn wieder zum booten zu überreden, allerdings ohne Erfolg:
Also muss nun mal wieder mein selbstgebaute Konsolen Kabel her. Da ich mal wieder vergessen habe was zu tun ist, schreibe ich es diesesmal hier nieder.
Router auseinander schrauben
Als erstes muss der Router geöffnet werden. Dafür müssen lediglich die Vier Kreuzschlitzschrauben herausgedreht werden und der Deckel des Routers abgenommen werden. Ich habe zusätzlich auch die W-Lan Antennen abgeschraubt, da diese nur im Weg waren und ja zum Wiederherstellen nicht benötigt werden.
Konsolen Kabel installieren
Das von mir verwendete Konsolenkabel funktioniert leider nur unter Windows XP, also habe ich mir eine VM installiert und das Kabel mit der beigefügten CD zum laufen gebracht. Ich musste dann noch via Gerätemanager und direktem Pointing zum Win2k Treiber unter c:\Programme\USB To Serial Driver\Win2k
machen doch dann wurde alles korrekt installiert und ich hatte einen Com3 Port
Konsolen Kabel anschließen
Nachdem der Router geöffnet ist und wir das Konsolen Kabel am WinXP Rechner als Com3 Port am laufen haben, kann es mit dem Router am JTAG (J3) angeschlossen werden:
Konsolen Verbindung via Putty
Als nächstes benötigen wir das kleine Programm Putty, welches hier downloadbar ist:
Ist Putty installiert öffnen wir ihn und öffnen eine Serielle Konsole. Hier die Fakten:
- Connection Typ: Serial
- Serial Line: Com3
- Speed: 115200
Hat man dies Konfiguriert kann man die Verbindung Starten in dem man unten auf OPEN klickt. Nun sollte ein schwarzes, leeres Fenster geöffnet werden. Als nächste kann man nun zum ersten TEST einfach mal dem Router Strom spendieren und sollte dann einige Ausgaben im Putty Fenster zu gesicht bekommen.
Flash Wiederherstellung
Um die Wiederherstellung zu starten muss an der folgenden Stelle, gleich am Anfang des Bootens mittels CTRL-C
der Bootvorgang abgebrochen werden:
### main_loop entered: bootdelay=1 Hit any key to stop autoboot: 0
Wenn dies erfolgreich war, steht die Konsole nun an folgender Stelle:
ar7100>
Der Komplette Screen sollte wie folgt aussehen:
U-Boot 1.1.6 (Apr 14 2010 - 14:02:36) DRAM: ar7100_ddr_initial_config(237) enter! ar7100_ddr_initial_config(269) exit! U-Boot 1.1.6 (Apr 14 2010 - 14:02:36) AP81 (ar7100) U-boot sri 32 MB WRT160NL u-boot version: 1.0.0 Top of RAM usable for U-Boot at: 82000000 Reserving 279k for U-Boot at: 81fb8000 Reserving 192k for malloc() at: 81f88000 Reserving 44 Bytes for Board Info at: 81f87fd4 Reserving 36 Bytes for Global Data at: 81f87fb0 Reserving 128k for boot params() at: 81f67fb0 Stack Pointer at: 81f67f98 Now running in RAM - U-Boot at: 81fb8000 id read 0x100000ff flash size 8MB, sector count = 128 Flash: 8 MB *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: ag7100_enet_initialize... ag7100 get ethaddr for device eth0 Fetching MAC Address from 0x81feb1e0 --------***** Get the RTL8306SD Manufactory ID=379c *****------- Reg6: speed=0 nway=1 duplex=0 Reg5: speed=0 nway=0 duplex=0 Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0 a5=0 Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0 Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0 Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0 Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0 eth0: 20:aa:4b:c0:bc:55 eth0 up eth0 ### main_loop entered: bootdelay=1 Hit any key to stop autoboot: 0 ar7100>