<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Push The Button &#187; jatg</title>
	<atom:link href="http://pushthebutton.es/archivos/tag/jatg/feed" rel="self" type="application/rss+xml" />
	<link>http://pushthebutton.es</link>
	<description>Worklog de electronica, DIY, e informática de Alwar</description>
	<lastBuildDate>Thu, 10 Nov 2011 16:28:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Reparar LINKSYS wrt54g v8 (debrick) con JTAG</title>
		<link>http://pushthebutton.es/archivos/reparar-linksys-wrt54g-v8-debrick-con-jtag</link>
		<comments>http://pushthebutton.es/archivos/reparar-linksys-wrt54g-v8-debrick-con-jtag#comments</comments>
		<pubDate>Wed, 30 Jul 2008 10:09:24 +0000</pubDate>
		<dc:creator>Alwar</dc:creator>
				<category><![CDATA[Electronica y Hardware]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Reparaciones]]></category>
		<category><![CDATA[bricked]]></category>
		<category><![CDATA[cable]]></category>
		<category><![CDATA[DD-WRT]]></category>
		<category><![CDATA[debrick]]></category>
		<category><![CDATA[debricked]]></category>
		<category><![CDATA[jatg]]></category>
		<category><![CDATA[linksys]]></category>
		<category><![CDATA[reparar]]></category>
		<category><![CDATA[unbrick]]></category>
		<category><![CDATA[wrt54g]]></category>

		<guid isPermaLink="false">http://pushthebutton.es/?p=66</guid>
		<description><![CDATA[Con motivo de este articulo voy a crear una categoría que sea la de reparar cosas que previamente hemos roto por manazas como es el caso de mi router LinkSys wrt54g comprado en un bestbuy de Chicago En este articulo voy a mostraros como construí mi Cable JTAG (sin buffer) y gracias a la utilidad [...]]]></description>
			<content:encoded><![CDATA[<p>Con motivo de este articulo voy a crear una categoría que sea la de reparar cosas que previamente hemos roto por manazas como es el caso de mi router LinkSys wrt54g comprado en un <a href="http://maps.google.es/maps?f=q&amp;hl=es&amp;geocode=&amp;q=best+buy+chicago&amp;jsv=119a&amp;sll=40.396764,-3.713379&amp;sspn=13.679115,27.246094&amp;ie=UTF8&amp;cd=3&amp;latlng=41910856,-87653132,8211767741403642972&amp;ei=h0uCSKGwJIiW2wKL0OiLDQ&amp;sig2=dVfV2R-WzKuVklpsYRBsQQ">bestbuy de Chicago</a><br />
<a href="http://pushthebutton.es/wp-content/uploads/2008/07/jtag-header.png"><img title="jtag-header" src="http://pushthebutton.es/wp-content/uploads/2008/07/jtag-header.png" border="0" alt="" width="400" height="297" /></a></p>
<p>En este articulo voy a mostraros como construí mi Cable JTAG (sin buffer) y gracias a la utilidad  &#8220;EJTAG Debrick Utility v2.1.4-Tornado-MOD&#8221; pude flashear el cacharro y subirle correctamente el firmware micro (el wrt54g v8 solo tiene 2Mb de memoria) de <a href="http://www.dd-wrt.com/dd-wrtv3/index.php">dd-wrt</a>.</p>
<p><span id="more-66"></span></p>
<p>Vamos a fabricar un cable JTAG sin buffer (Xilinx cable) es el cable mas sencillo y barato de fabricar pero puede no funcionar, ya que debéis hacerlo de menos de 15 cm de longitud.</p>
<p><strong>Lista de la compra:</strong></p>
<p>- 4 Resistencias de 100 Ohm<br />
- 1 Conector DB25 Macho<br />
- 12 (o 14) pines para soldar en placa (dependiendo de tu versión el router puede o no llevar el conector)<br />
- Barato eh? todo esto alrededor de 1€<br />
- Y ademas (opcional de compra, si puedes reutilizar algún cable viejo) un cable plano que tenga un conector de preferiblemente 12 pines, pero si tiene mas con solo usar los 12 que vamos a utiliza nos basta.<br />
<a href="http://pushthebutton.es/wp-content/uploads/2008/07/cable-plano.jpg"><img title="cable-plano" src="http://pushthebutton.es/wp-content/uploads/2008/07/cable-plano-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p><strong>A soldar!</strong></p>
<p>Dependiendo de la versión del router linksys wrt54g traerá o no los pines para conectar el cable JTAG. El mío es un v8.0 y no lo lleva a si que hay que soldarlo. Es un poco complicado ya que son unos agujeros pequeños y no tienen mucha superficie al rededor para que pegue el estaño, a mi la primera vez se me despego la mitad de los pines.<br />
<img title="jtag-lead" src="http://pushthebutton.es/wp-content/uploads/2008/07/jtag-lead.png" alt="" width="300" height="141" /></p>
<p>Una vez hallamos soldado el conector a la placa es el turno del cable.  Siguiendo este esquema (o el de HairyDairyMaid de mas abajo) soldamos las 4 resistencias a los 4 cables correspondientes que son los que van al 13, al 4, 3 y 2. En el conector corresponden al 3, 5, 7 y 9. Normalmente en los cables planos los conectores si son de dos filas de pines (como el que necesitamos),  los cables pares corresponden con una fila de agujeros y los impares con otra, fijate bien en que sueldas el cable correcto al pin del DB25 correctamente y asegurate con el polimetro (y ya de paso miras la continuidad para que salga bien, que esto es algo delicado).</p>
<p><a href="http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/JTAG_Cable"><img title="JTAG-unbuffered" src="http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/JTAG_Cable?action=AttachFile&amp;do=get&amp;target=JTAGunbuffered.png" alt="Esquema de conexion del JTAG a un DB25" width="340" height="462" /></a></p>
<p>Esto con una poca maña que tengáis hasta lo podéis hacer sin pbc, en el aire, si solo es soldar 4 resistencias.</p>
<p><img class="alignnone size-medium wp-image-78" title="jtag-db25" src="http://pushthebutton.es/wp-content/uploads/2008/07/jtag-db25.png" alt="" width="300" height="201" /></p>
<p><strong>JTAG-LPT mapping</strong><br />
-LPT:13 = JTAG:5<br />
-LPT:4 = JTAG:7<br />
-LPT:3 = JTAG:9<br />
-LPT:2 = JTAG:3<br />
-LPT:18~25 = JTAG:2,4,6,8,10,12</p>
<p>La versión de HairyDairyMaid tiene menos que soldar ya que solo el 25 y el 20 del LPT hay que soldarlos al 6 del JTAG (GND)</p>
<p><a href="http://pushthebutton.es/wp-content/uploads/2008/07/jtag-hairydairymaid.png"><img class="alignnone size-thumbnail wp-image-72" title="jtag-hairydairymaid" src="http://pushthebutton.es/wp-content/uploads/2008/07/jtag-hairydairymaid-150x150.png" alt="" width="150" height="150" /></a></p>
<p><strong>Una vez tenemos el cable JTAG soldado pasamos a la zona del software:</strong></p>
<p><img class="alignnone size-medium wp-image-77" title="jtag" src="http://pushthebutton.es/wp-content/uploads/2008/07/jtag-300x107.png" alt="" width="300" height="107" /></p>
<p>&#8230;</p>
<p>Necesitamos la utilidad <a href="http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Fothers%2Ftornado%2Fjtag/">TJTAGv2</a> (también puedes bajartela de <a href="http://alwar.mainfri.com/Downloads/tjtagv2/tjtagv2-1-4.zip">aquí</a>) (Tornado Debrick Utility). Este programa utilizando nuestro recien creado cable JTAG leera la memoria del router, la identifica, y te da la opcion de borrar y grabar datos en la flash. Nosostro vamos a borrar varias partes, incluido el Kernel para poder subirle nuestro DD-WRT (u otro firmware valido).</p>
<p>Cuando es bajaeis la utilidad TJTAGv2 os recomiendo que la descomprimais en C:\carpeta porque luego hay que ejecutarla a traves de la consola (simbolo del sistema). Inicio &gt; Ejecuta &gt; cmd</p>
<p>En la consola debereis ejecutar varias veces &#8220;cd ..&#8221; hasta que el promt se situe en C:\ luego con &#8220;cd carpeta&#8221; cambiais el directorio a la carpeta que creasteis para TJTAGv2 y cuando esteis en la carpeta que de windows (ya que en el zip viene compilado para windows y el source para compilarlo en linux) ejecutas &#8220;tjtagv2.exe&#8221; y os saldrá algo como esto:</p>
<p><a href="http://pushthebutton.es/wp-content/uploads/2008/07/tjtagv2.png"><img class="alignnone size-thumbnail wp-image-81" title="tjtagv2" src="http://pushthebutton.es/wp-content/uploads/2008/07/tjtagv2-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Es la lista de chips soportados por el programa. Este está mas actualizado que la utilidad de HairyDairyMod (creo que TJTAGv2 es una modificacion de la version de HairyDairyMaid) ya que soporta nuevos chipset como el mio.</p>
<p>Mas adelante os saldra la lista de parametros y flags opcionales que se le pueden añadir al programa:</p>
<p><a href="http://pushthebutton.es/wp-content/uploads/2008/07/tjtagv2-param.png"><img class="alignnone size-thumbnail wp-image-82" title="tjtagv2-param" src="http://pushthebutton.es/wp-content/uploads/2008/07/tjtagv2-param-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Y mas adelante por si tubierais problemas al detectar vuestro router, la lista de flash soportadas y como indicarselas al programa, esto no lo vamos a ver ni a tocar ya que no es necesario.</p>
<p>Lo primero que vamos a ejecutar es un -probeonly para probar la conexion ok?</p>
<p><code>tjtagv2.exe -probeonly</code></p>
<p>Si todo sale bien os dira el modelo de procesador y memoria. Lo siguiente es hacer el backup de toda la flash por seguridad (no se si realmente vale para algo, pero a mi me enseñaron  a hacer backup de todo antes de nada)</p>
<p><code>tjtagv2.exe -backupwholeflash</code></p>
<p>Esto tardara un ratillo, a si que podeis levantaros e ir al meodromo, asaltar la nevera o ver algún capitulo de Heidy, El equipo A o los power rangers&#8230; lo que mas os guste.</p>
<p>Cuando halla terminado habrá generado un archivo bin en la misma carpeta donde está el ejecutable.</p>
<p>Ahora a flashear!</p>
<p>Siguiendo consejos del propio TJTAGv2 flashearemos solo el NVRAM y probaremos a ver si funciona el TFTP, y si funciona subiremos por ahí la imagen del firmware para que el proceso sea mas rapido ¿mejor no?</p>
<p><code>tjtagv2.exe -erase:nvram</code></p>
<p>y después de flashear hacemos ping a ver si revive&#8230;</p>
<p><code>ping -t 192.168.1.1</code></p>
<p>Es importante poner el &#8220;-t&#8221; para que el ping no pare hasta que nosotros se lo digamos con &#8220;Ctrl+C&#8221;</p>
<p>También es importante que nuestra ip sea del rango 192.168.1.x</p>
<p>Si obtenemos respuestas con ping despues de flashear utilizando TFTP subiremos el nuevo firmware (o el viejo si encuentras el original de Linksys pero no tiene mucho sentido hacer esto&#8230;.)</p>
<p>Ahora copiar el firmware a C:\ o una carpeta en C:\ y en la consola mediante el comando &#8220;cd&#8221; os poneis en ese directorio y renombrais  a algo cortito el nombre del bin (yo creo que a mi me fallo por dejar el nombre superlargo que traia al descargarlo) y ejecutais tftp:</p>
<p><code>tftp -i 192.168.1.1 PUT kernel.bin</code></p>
<p>Y una vez termine de subir el kernel esperais a que el router se flashe con la nueva imagen y se reinicie (seguid observando las respuestas de ping) y una vez veais que ha terminado de reiniciarse abrir vuestro navegador favorito (expero que sea firefox) y comprobar que 192.168.1.1 os muestra la pagina de información de DD-WRT (o en caso de otros firmware ver que os pide un login, que será alguna convinación de 1234 o 12345 o admin etc&#8230;.)</p>
<p><strong>Mas información:</strong><br />
<a href="http://www.dd-wrt.com/wiki/index.php/Recover_from_a_Bad_Flash#Recovery_by_JTAG_cable">wiki DD-WRT</a><br />
<a href="http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/JTAG_Cable">wiki Open-WRT</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pushthebutton.es/archivos/reparar-linksys-wrt54g-v8-debrick-con-jtag/feed</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
	</channel>
</rss>

