{"id":676,"date":"2006-09-20T23:54:38","date_gmt":"2006-09-21T03:54:38","guid":{"rendered":"http:\/\/www.chrismclaren.com\/blog\/archives\/2006\/09\/21\/some-really-deep-geekery\/"},"modified":"2006-09-21T00:22:56","modified_gmt":"2006-09-21T04:22:56","slug":"some-really-deep-geekery","status":"publish","type":"post","link":"http:\/\/www.chrismclaren.com\/blog\/2006\/09\/20\/some-really-deep-geekery\/","title":{"rendered":"Some really deep geekery"},"content":{"rendered":"<p>So, I finally got fed up today and took the plunge. I warn you that the elaboration on that statement is going to get pretty nerdy.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.chrismclaren.com\/blog\/wp-content\/images\/2006\/09\/wrt54g.jpg\" width=\"210\" height=\"191\" alt=\"WRT54G\" title=\"WRT54G\" class=\"alignright\"\/>My primary router is a <a href=\"http:\/\/en.wikipedia.org\/wiki\/WRT54G\">Linksys WRT54G<\/a>. It&#8217;s on the old side&#8211;it&#8217;s the V1.1 hardware. Over the years I&#8217;ve made some changes to get it the way I want it: I&#8217;ve replaced the default antennae with more powerful ones, I&#8217;ve added a <a href=\"http:\/\/www.tigerdirect.ca\/applications\/SearchTools\/item-details.asp?EdpNo=1533895&#038;CatId=374\">&#8220;range expander&#8221;<\/a> (apparently &#8220;repeater&#8221; is too difficult a concept for the masses), and I&#8217;ve done a lot of upgrading of the firmware <a href=\"http:\/\/www.linksys.com\/servlet\/Satellite?childpagename=US%2FLayout&#038;packedargs=page%3D2%26cid%3D1115416835852%26c%3DL_Content_C1&#038;pagename=Linksys%2FCommon%2FVisitorWrapper&#038;SubmittedElement=Linksys%2FFormSubmit%2FProductDownloadSearch&#038;sp_prodsku=1121874579658\">as Linksys released new versions<\/a>.<\/p>\n<p><!--more-->The antennae and range expander were simply to deal with the fact that the router is in the basement, and I wanted a strong signal all through the house, including the deck. No big deal there.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.chrismclaren.com\/blog\/wp-content\/images\/2006\/09\/linksys-wre54g.jpg\" width=\"140\" height=\"165\" alt=\"WRE54G\" title=\"WRE54G\" class=\"alignleft\"\/>The firmware thing is something I should have been doing for security reasons, but which I was actually doing because I lived in hope that Linksys would fix a particularly annoying characteristic of the router. Essentially the router remembered connections too long, so when it was used with software that made a lot of short term connections (like, oh I don&#8217;t know, Bittorrent clients) it would &#8220;run out&#8221; of connections. Whenever this happened, I had to power cycle the router, and then everything was fine again.<\/p>\n<p>Linksys&#8217; firmware never gave me the means to address that problem.<\/p>\n<p>Now, the WRT54G is an interesting piece of hardware, in that it&#8217;s &#8220;open&#8221; to the firmware that runs in the router being replaced with unofficial software. There are actually several open source firmware projects that provide firmware that turns this < $100 router into a serious piece of enterprise hardware.\n\nI've been following this for quite a while, from the original <a href=\"http:\/\/en.wikipedia.org\/wiki\/Sveasoft\"> Sveasoft <a name=\"foo\"><\/a> days, through <a href=\"http:\/\/en.wikipedia.org\/wiki\/WRT54G#Third-party_firmware_projects\">several other projects<\/a>, but I&#8217;ve never actually made the move. The various ominous notes about the possibility of &#8220;bricking&#8221; the router&#8211;i.e. turning it into a non-functional block of plastic&#8211;and the poor documentation of the powerful set of options available with the open source firmware kept me from making the move.<\/p>\n<p>Today, though, I finally had enough. I couldn&#8217;t be bothered to reboot that router one more time.<\/p>\n<p>So I resurveyed the projects out there, looking at <a href=\"http:\/\/en.wikipedia.org\/wiki\/OpenWrt\">OpenWRT, <\/a><a href=\"http:\/\/www.portless.net\/menu\/ewrt\/\">eWRT<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/HyperWRT\">Thibor&#8217;s HyperWRT<\/a>, <a href=\"http:\/\/www.dd-wrt.com\">DD-WRT<\/a>, <a href=\"http:\/\/www.linksysinfo.org\/portal\/forums\/showthread.php?t=47159\">etc.<\/a><\/p>\n<p>Finally I settled on <a href=\"http:\/\/www.dd-wrt.com\">DD-WRT<\/a> and made the move.<\/p>\n<p>I wish I could say it was a painless transition, but I actually came this close to bricking my router, and I actually had to open the box and do some manual pin-to-pin grounding to get the move completed. (Fortunately I had <a href=\"http:\/\/www.kataan.org\/techref\/barricade.html\">an old SMC router<\/a> in a drawer I could pull out to keep my wired machines connected while I got the information on how to do this. The wireless machines were hosed for most of the day).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.chrismclaren.com\/blog\/wp-content\/images\/2006\/09\/wrt54g_guts.jpg\" width=\"320\" height=\"240\" alt=\"WRT54G guts\" title=\"WRT54G guts\" class=\"aligncenter\"\/><\/p>\n<p>Anyway, after an hour or so of scary hardware pain, things were completed and I was up and running on <a href=\"http:\/\/www.dd-wrt.com\/dd-wrtv2\/down.php?path=downloads%2Fdd-wrt.v23+SP2\/\">the new DD-WRT firmware<\/a>.<\/p>\n<p>Pretty much immediately I started noticing a few things:<\/p>\n<p>1) Communications between machines inside the house were much faster&#8211;copying a file from one machine to a share on another was noticeably faster. I assume this is some optimization in the DD-WRT firmware. I wasn&#8217;t expecting this, so it&#8217;s extra good. Actually, since I have a terabyte of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Network-attached_storage\">NAS,<\/a> this is a great thing&#8211;any access to that <a href=\"http:\/\/en.wikipedia.org\/wiki\/Network-attached_storage\">NAS<\/a> stuff seems to be boosted almost 100%.<\/p>\n<p>2) Configuring MAC address based static IP assignment in the DHCP server is <a href=\"http:\/\/www.dd-wrt.com\/wiki\/index.php\/Static_DHCP\">trivially easy<\/a>. What that alphabet soup means is that I can very easily set it up so that specific computers always get the same IP address from the router. This makes port forwarding much less of a pain, which is nice for certain applications that require it. This also opens the door to my machines functioning as real servers on the broader internet at some point&#8230;<\/p>\n<p>3) The DD-WRT firmware lets me both see and delete UPnP mappings. This means I can tell which applications have punched a hole in my firewall, and I can close those holes if I wish. This was driving me nuts with <a href=\"http:\/\/azureus.sourceforge.net\/\">Azureus<\/a>, and I also expect it to be helpful in figuring out why MSN Messenger can send video, but <a href=\"http:\/\/www.ceruleanstudios.com\/\">Trillian<\/a> apparently can&#8217;t.<\/p>\n<p>4) The original thing that was bothering me&#8211;the holding connections too long\/running out of connections problem&#8211;is now gone. I t<a href=\"http:\/\/www.dd-wrt.com\/wiki\/index.php\/Router_Slowdown\">weaked three settings<\/a>, and the problem is a thing of the past. I note that Linksys could have exposed those settings in their firmware at any time and I would have been able to fix this.<\/p>\n<p>5) I&#8217;ve been able to turn on <a href=\"http:\/\/www.dd-wrt.com\/wiki\/index.php\/Quality_of_Service\">the QoS system<\/a> and configure it the way I want. What this means is that I can guarantee that my various torrents running full out won&#8217;t interfere with my web browsing, or the speed of my VPN connection to work.<\/p>\n<p>6) It&#8217;s also trivially easy to boost the transmit power to the radio signal. While this is less useful than a bigger antenna, it helps. I don&#8217;t need the repeater anymore.<\/p>\n<p>That&#8217;s all stuff that was easy. This firmware can do <a href=\"http:\/\/www.dd-wrt.com\/wiki\/index.php\/What_is_%22DD-WRT%22%3F#Feature_List\">A LOT more stuff<\/a>, some of it very interesting and complicated. I suspect I&#8217;ll have t<a href=\"http:\/\/www.dd-wrt.com\/wiki\/index.php\/Configuration_HOWTOs#HOWTOs_for_more_advanced_configuration_scenarios\">hings to play with<\/a> here for quite some time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">So, I finally got fed up today and took the plunge. I warn you that the elaboration on that statement is going to get pretty nerdy. My primary router is a Linksys WRT54G. It&#8217;s on the old side&#8211;it&#8217;s the V1.1 hardware. Over the years I&#8217;ve made some changes to get it the way I want it: I&#8217;ve replaced the default&hellip; <a href=\"http:\/\/www.chrismclaren.com\/blog\/2006\/09\/20\/some-really-deep-geekery\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3],"tags":[],"class_list":["post-676","post","type-post","status-publish","format-standard","hentry","category-technology","xfolkentry"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5UQvw-aU","_links":{"self":[{"href":"http:\/\/www.chrismclaren.com\/blog\/wp-json\/wp\/v2\/posts\/676","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.chrismclaren.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.chrismclaren.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.chrismclaren.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"http:\/\/www.chrismclaren.com\/blog\/wp-json\/wp\/v2\/comments?post=676"}],"version-history":[{"count":0,"href":"http:\/\/www.chrismclaren.com\/blog\/wp-json\/wp\/v2\/posts\/676\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.chrismclaren.com\/blog\/wp-json\/wp\/v2\/media?parent=676"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.chrismclaren.com\/blog\/wp-json\/wp\/v2\/categories?post=676"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.chrismclaren.com\/blog\/wp-json\/wp\/v2\/tags?post=676"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}