Limitation: the result should still resemble a domestic router, i.e. keep the form factor and most part of its enclosure.
Purpose: see below
I decided to build the most hacked router in the world. Obviously to hack a router you need one first and the choice fallen to famous Linksys WRT54G-series (why you’re not not surprised?). In this particular project it is WRT54G-TM available for around $50 from ebay. Comparing to classical WRT54G(L) it has twice more ram and flash which makes it even more attractive object for hacking than its famous predecessor. So I grabbed one from the virtual shelf and
- Overclocked CPU – not much (12.5%), just for hacking sake
- Installed SD/MMC card reader – plus 1Gb of flash storage space
- Installed 16×2 LCD display – no more need to take my cellphone out of pocket to find out the time
- Wired out both serial ports. Don’t see the ugly DB9s? Keep reading as this is explained later.
- Installed 7 additional buttons – program them any way your want
- Reflashed with a non-stock operating system (OpenWRT Linux). Then customized the non-stock operating system.
- Added 4 expansion ports – I need from this device more than meets its form factor
- Implemented “Power over Ethernet” – both Internet and power come via the same RJ45. WARNING Before you go ahead and try one of those “Linksys POE” hacks available in the Internet please read this article. I found that under certain circumstances that “POE” would most definitely fry my router, my switch or both.
- Added support for X10 wireless protocol support – now I really don’t want this router to be hacked as it controls good half of lights in my home office
- Added active cooling system – tons of additional equipment jammed into the box gets warm and need something more than just enclosure perforation. Also added a small heatsink to the processor, again, just to make sure I implemented all router hacks I know about
- No fan goes without LED, so I added some illumination too
- Added speaker – your router finally can play “happy birthday to you” on your birthday!
- Added power switch to the front panel. Well, that’s not just a power toggle, but something more, keep reading
- Put a web interface in charge for all that insanity. Now an iPhone makes a great mains remote with an effective range of couple thousand miles.
- … and did something else to be announced later.
I think I implemented all known WRT54G hacks plus threw in a few more. Actually there are two hacks I intentionally left behind:
- using floppy drive connector to read SD cards – that kind of connector takes too much precious space in the router enclosure, so I verified that it actually works, but did not use in this project
- building a new enclosure from LEGO bricks – that hack is contradictory to the limitation (I wanted to keep the enclosure)
If you know other hacks applicable to this router please let me know and I’ll be happy to add them too. So far I haven’t seen any other router with similar list of mods/hacks and I think this allows me to call the result “the most hacked router in the world ever”.
Before we proceed with technical stuff let me explain the purpose of this project. This project is actually not only about soldering, programming, system tweaking, reflashing, web design etc. In fact it is primarily about job hunting. It happened that I’m leaving my company. To say precisely, my company leaves me and ceases its existence. I’m terribly sorry about that as I really enjoyed those 6 years of working with excellent experts, nice people and wonderful technologies.
But life is life and I need to move now and move fast. Of course I’ll do all standard job hunting things like
- Sending the resume to couple companies I would like to work for (though this approach never worked for me)
- Post my resume to all major resume banks (that one worked once, but not particularly well)
- Talk to friends – that worked always
But this time I also decided to build this router thing with the main purpose of bringing your attention here, to this very page. And when your attention is here I’d like to ask you to do me a favor, take a look around and check if there is an open vacancy for me in your business. With around 20’000 visitors I expect to come here and see the project that’s quite impressive job hunting network, right? Consider this as a social engineering hack. Now let’s put purpose on pause and return to the challenge.
One question I always ask before starting a project (either business or hobby) is how useful the result will be. Let’s consider possible uses for “the most hacked router in the world ever” (TMHRITWE – try to pronounce it :).
Several months ago we left home for a while and I thought my kids will miss it while staying in hotels. So I installed a web camera with the purpose to let them say goodnight to their home. The first night I invited my family to my phone and opened the web camera window. Of course the image was completely black because it was night, the room was relatively dark and the web camera was not equipped with “infrared illuminator”. With this router I can go anywhere and if such thing will ever happen again I’ll just turn on the lights at home. From anywhere in the world. Some people also may use this feature as something that will demonstrate your presence at home while they’re not. Some people can use it to make hot coffee for the moment when they’re coming home. Some will use their smartphones as universal remotes. It is a nice security feature too.
Another example is monitoring your servers. I have a few servers in collocation and I need to watch them even from home. Keeping a computer for the only purpose of running continuous checks on servers seems expensive and power-hungry solution. At the same time most people keep their routers on all the time as they don’t consume much energy, do not produce much noise and do not have power buttons. So this router can monitor all my servers and in the case if something will happen to them start making weird sounds and displaying scary messages on LCD.
I already mentioned that with this modified router I do not need to keep watch or cellphone nearby as it shows time. What’s even better it shows date and day of week too. And even better: I can put most important events and dates in crontab and my router can now bring my attention to the events not just by sending emails, but also with bells, whistles and text on the LCD.
How many remotes do you have at home? And how frequently do you loose them? If the remote is just a TV remote the problem can be easily solved by approaching the TV and changing volume manually. But what is the remote is for your lights? That means you will need to make a trip under a table or a bookcase just to unplug your device from an X10 adapter and replug it to the wall outlet. With this hack I do not have the problem as I can control the lights not just from the command line or web interface, but from the front panel of the router itself. And I always keep my router at the same place :)
I hope now you’re convinced that such device is quite useful and feel sorry that you can’t grab it from a shelf in the nearest electronics store. The good news is that you can build one. Just like I built this one, or even better (though this would put us in competition to the “most hacked” title). In the next few posts I’m going to share my experience about building this router so you can use it to build your own. The instructions will be linked to the list of hacks at the top of this page, so you can bookmark it and use as a table to contents. I’ll try to publish them asap, but the truth is for now I’m more concentrated on job search so the instructions could take awhile. If you want to see them sooner than later please take my request for a favor in job hunting into consideration :)