<?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>pig-monkey.com &#187; tftp</title>
	<atom:link href="http://pig-monkey.com/tag/tftp/feed/" rel="self" type="application/rss+xml" />
	<link>http://pig-monkey.com</link>
	<description>Here are recorded many goings and comings, doings and beings; stories, symbols and meanings. Gossamer threads that may be woven into a larger web: a story of this Age of the World.</description>
	<lastBuildDate>Sun, 25 Jul 2010 08:11:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Recovering the Linksys WRT54GL via TFTP</title>
		<link>http://pig-monkey.com/2008/07/18/recovering-the-linksys-wrt54gl-via-tftp/</link>
		<comments>http://pig-monkey.com/2008/07/18/recovering-the-linksys-wrt54gl-via-tftp/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 00:55:49 +0000</pubDate>
		<dc:creator>Pig Monkey</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dd-wrt]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[linksys]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[tftp]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://pig-monkey.com/?p=1422</guid>
		<description><![CDATA[Last May, DD-WRT released the (long in development) v24 of their firmware. I had been running one of the release candidates for it on my Linksys WRT54GL, but decided today to upgrade to the stable release. I downloaded the appropriate file (dd-wrt.v24_std_generic.bin), followed the instructions for flashing through the web GUI, and promptly bricked the <a href="http://pig-monkey.com/2008/07/18/recovering-the-linksys-wrt54gl-via-tftp/">[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Last May, <a href="http://www.dd-wrt.com">DD-WRT</a> released the (long in development) v24 of their firmware. I had been running one of the release candidates for it on my Linksys WRT54GL, but decided today to upgrade to the stable release. I downloaded the appropriate file (<code>dd-wrt.v24_std_generic.bin</code>), followed the <a href="http://www.dd-wrt.com/wiki/index.php/Installation#Upload_The_Firmware">instructions for flashing through the web GUI</a>, and promptly bricked the router.</p>
<p>It wasn&#8217;t totally destroyed. I could still ping the router, but couldn&#8217;t access it in any other way. The power light would flash repeatedly, and no other lights came on. No amount of hard resets would fix it.</p>
<p><span id="more-1422"></span></p>
<p>According to <a href="http://www.dd-wrt.com/wiki/index.php/Recover_from_a_Bad_Flash#WRT54G.2FGL.2FGS">DD-WRT&#8217;s wiki article on bad flashes</a>, the repetitive blinking of the power light means that the bootloader is defective, but that the problem might be solved using a TFTP recovery. The idea is that when the router first boots up, there&#8217;s a brief moment where it will accept an upload. By pushing through firmware, you are able to temporarily boot the router.</p>
<p>On older Linksys routers, this only works with the official Linksys firmware, so I downloaded the latest version from <a href="http://www.linksys.com/servlet/Satellite?c=L_CASupport_C2&#038;childpagename=US%2FLayout&#038;cid=1166859841350&#038;packedargs=sku%3DWRT54GL&#038;pagename=Linksys%2FCommon%2FVisitorWrapper&#038;lid=4135041350B01&#038;displaypage=download">Linksys&#8217; support page for the WRT54GL</a>. Because the router will only accept the firmware at the very start of the boot process, I first unplugged the router, turning it off. To monitor the router during the process, I started a ping from my machine.<br />
<pre>
$ ping 192.168.1.1
</pre></p>
<p>Then, using the TFTP client that ships with OS X, I executed the upload<br />
<pre>
$ echo &quot;put FW_WRT54GL_4.30.12.3_US_EN_code.bin&quot; | tftp -e 192.168.1.1
</pre><br />
and immediately plugged the router back in. In 10 seconds, TFTP reported that the file had been sent.</p>
<p>At this point, the router stopped responding to my pings for about 30 seconds. When it began replying again, I was able to access the default Linksys web GUI. The first thing I did in the GUI was to hit the &#8220;reset to factory defaults&#8221; button, which clears the NVRAM of my bad DD-WRT image and installs the fresh Linksys image. After that, I installed a new DD-WRT &#8220;mini&#8221; image (the WRT54GL requires you flash with &#8220;mini&#8221; before upgrading to &#8220;standard&#8221; when moving from the default firmware), by uploading <code>dd-wrt.v24_mini_generic.bin</code> via the upgrade page. This worked without a hitch.</p>
<p>In the DD-WRT web interface, I tried to flash the router with the standard firmware, but was greeted by a vague error message that told me only that the upgrade had failed. I went <a href="http://www.dd-wrt.com/wiki/index.php/What_is_DD-WRT%3F#File_Versions">back to the wiki to see what the differences were between mini and standard</a> and decided that it would be find to leave the router with mini. All I needed was for the router to act as a wireless repeater with a virtual interfaces. The mini firmware supports this, so I was able to <a href="http://pig-monkey.com/2007/12/02/escapades-in-the-art-of-wireless-piracy/">setup the router just as before</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pig-monkey.com/2008/07/18/recovering-the-linksys-wrt54gl-via-tftp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
