JTAG-adapter
From DD-WRT Wiki
Revision as of 19:49, 17 July 2008 (edit) Sash (Talk | contribs) m (→Intro) ← Previous diff |
Revision as of 20:28, 17 July 2008 (edit) (undo) Sash (Talk | contribs) m (→Intro) Next diff → |
||
Line 10: | Line 10: | ||
===Intro=== | ===Intro=== | ||
- | What us JTAG | + | What us [http://en.wikipedia.org/wiki/JTAG JTAG] Its communication/debug interface to access flash chips direktly even when the OS is corrupted or not installed.<br> |
- | + | I you have [http://en.wikipedia.org/wiki/Brick_%28electronics%29 bricked] (nice story) device by flashing with a wrong firmware, interrupting the flashing process or someting else you can use JTAG to get your device back to life! The 2nd | |
+ | thing you can do with it is making backups of you existing flash content. This is very usfull for porting.<br> | ||
+ | All you need is a short adapter cable, a piece of software and of cause a JTAG header on you devices pcb.<br> | ||
+ | The JTAG header is mostly located in the near area of the flash chip. In most cases its a 12 to 14 pin header which must be assembled with 2,54mm pins.<br> | ||
+ | JTAG software is available from [http://www.dd-wrt.com/phpBB2/profile_sec.php?mode=viewprofile&u=103 Tornado ] a DD-WRT developer. His current builds for windows and the sources for linuy can be found in the DD-WRT download section in the "others->tornado" folder.<br> | ||
===Building the Cable=== | ===Building the Cable=== |
Revision as of 20:28, 17 July 2008
Contents |
English
Intro
What us JTAG Its communication/debug interface to access flash chips direktly even when the OS is corrupted or not installed.
I you have bricked (nice story) device by flashing with a wrong firmware, interrupting the flashing process or someting else you can use JTAG to get your device back to life! The 2nd
thing you can do with it is making backups of you existing flash content. This is very usfull for porting.
All you need is a short adapter cable, a piece of software and of cause a JTAG header on you devices pcb.
The JTAG header is mostly located in the near area of the flash chip. In most cases its a 12 to 14 pin header which must be assembled with 2,54mm pins.
JTAG software is available from Tornado a DD-WRT developer. His current builds for windows and the sources for linuy can be found in the DD-WRT download section in the "others->tornado" folder.
Building the Cable
Using the Cable
German
Einführung
Falls man sich sein Graet kaputt geflasht hat, ist es praktisch so wie blockiert. Die POWER-LED blinkt nur noch, und er reagiert nicht mehr auf Pings oder Zugriffsversuche über den Browser. Abhilfe schafft da ggf. ein sogenannter JTAG-Adapter. Dieser wird an vorgesehene Pins am WRT und an einen parallelen 25poligen Anschluss am PC angeschlossen. Nun ist es einfach möglich über eine Software ganz gezielt bestimmte Bereiche (CFE, Kernel und NVRAM) des Intel-Flash-Chips zu sichern, löschen oder neu zu beschreiben.
Aufbau
Für den Aufbau benötigt man folgende Teile:
- 4x 100Ohm Widerstände
- 1x 25pol.D-SUB-Stecker (für an den Parallel-Port des PCs)
- 1x D-SUB-Kappe für den Stecker
- etwas Kabel/Flachbandkabel
- nach Wunsch Wannenstecker und Pfostenbuchse fürs Flachbandkabel
- Lötkolben usw.
Schaltplan:
D-SUB-Stecker JTAG (JP2 am WRT) Pin 2 -------[100Ohm]------- Pin 3 D0 TDI Pin 3 -------[100Ohm]------- Pin 9 D1 TCK Pin 4 -------[100Ohm]------- Pin 7 D2 TMS Pin 13 -------[100Ohm]------- Pin 5 Select TD0 Pin 20 ---+------------------ Pin 6 GND | GND | Pin 25 ---+ GND
Wer keine 100 Ohm Widerstände zu Hand hat, kann sie u.U. auch weglassen: Die Eingänge der JTAG Schnittstelle sind ohnehin mit 4,7 KOhm Widerständen beschaltet. So war das zumindest bei meinem WRT54G v5, also bei anderen Versionen lieber nochmal nachschauen. Achtung: Bei dem Modell WRT54G v.3.1 fehlen die SMD-Widerstände RH4 - RH9 (PullUp) und RG4 (PullDown).
Vorsicht! Die Beschriftung der Anschlußfelder kann variieren. Auf manchen Platinen ist das JTAG mit "JP1" und der COM-Anschluß mit "JP2"beschriftet. Grade die Nummerrierung am COM-Anschluß ist etwas verwirrend. Aber: JTAG hat 12 Kontakte, der COM-Anschluß 10 Kontakte. Bei WRT54G 1.0 , 1.1 und WRT54GS 1.0 sind zwei COM-Anschlüsse vorgesehen und das Anschlußfeld ist 20-polig. Fazit: den 12poligen benutzen ;-)
Verwendung des Adapters
Nachdem man den Adapter gebaut hat und alle Kontakte überprüft sind, muss der WRT geöffnet werden. Dazu den blauen vorderen Bereich von dem zweigeteilten hinteren Bereich entfernen. Geht etwas schwer anfangs.
Nun die Kabelenden bzw. den Wannenstecker entsprechend dem Schaltplan anlöten und mit dem Adapter verbinden.
Nun den Adapter an den PC anschliessen. (WRT ist dabei stromlos!)
In der Konsole nun folgende Zeile eintippen aber noch nicht ausführen:
./wrtjtag -erase:nvram
Jetzt erst den WRT mit Strom versorgen und gleich dannachbinnerhalb von 0,5s bis 2,0s nach der Stromzufuhr Enter drücken und das Programm ausführen. Es wird nun der NVRAM-Bereich gelöscht. Nach erfolgreichem Löschen den WRT wieder stromlos machen und obiges Spielchen mit folgender Zeile wiederhohlen:
./wrtjtag -erase:kernel
Wenn nun auch der Kernel erfolgreich gelöscht wurde, sollte der WRT auf eine neue Firmware warten. Diese kann man mittels TFTP an die IP 192.168.1.1 an den WRT senden (sollte unter 2,8MB sein):
tftp -i 192.168.1.1 PUT Firmware.bin
Der WRT erhält durch das Löschen automatisch die IP 192.168.1.1.
http://www.linksysinfo.org/modules.php?name=Content&pa=showpage&pid=33
cfe.bin Datei Lonewolf von Sveasoft betreibt eine Seite wo man die verschiedenen Versionen runterladen kann.