Friday, September 23, 2005

Firmwares for WRT54G

OK, now I am going to tell you about a few firmwares that crash my linksys (luckily I have revived the router, thanks to the instructions posted at http://voidmain.is-a-geek.net/redhat/wrt54g_revival.html.

The working firmware on my router is Tarifa 0003. Unfortunately, I have never been able to make it as wireless bridge (WDS), eventhough I follow the instructions from the Internet (I guess it was at www.linksysinfo.org).

Anyway, after failing to flash the nvram with another firmware, I was able to recover my router which almost become a brick. :-)

WRT54G Revival Guide

Here I just repost from http://voidmain.is-a-geek.net/redhat/wrt54g_revival.html, in case his website is down. The steps below works perfectly on my new Linksys WRT54G v4.

/* Void Main's WRT54G Tips */

{ Red Hat Tips(); } else { main(); }
» Linksys WRT54G Revival!
#include <stddisclaimer.h>

When might you use this tip?
- If you forgot to set your "boot_wait" nvram setting and uploaded a bad firmware image which caused your router not to boot (like I did)
- You failed every other instruction for reviving your router
- You like living on the edge and just wanna play

Pros: Turn your black and blue paper weight back into a working wireless router.

Cons: I suppose you could make your WRT54G even deader than it already is, although I have not actually heard of anyone who has done this. The pictures in this tip are for people who have the v1.1 hardware. It works for the 1.0 and 2.0 versions as well but the board layout is a little different in the other hardware versions. You'll just have to find your flash chip.

Tools Required: Small jewelers screwdriver (or any other small pointy metal object).

Ok, I'm convinced, let's get this baby working!!

Let us begin:

NOTE: Click on the thumbnail images in this tip to zoom in on the image.

Find a nice open area to rip this baby apart:

WRT54G v1.1

As you can see, the one I use in my example is a v1.1 router, your board layout may be different:

WRT54G v1.1 - hardware version number

Use your fingers to unscrew the antennas from the back:

WRT54G v1.1 - unscrew antennas WRT54G v1.1 - unscrew antennas

This thing just snaps together, no screws involved, so just "pop" the blue face plate off. I find the easiest way to do this is to turn the unit upside down and place your hands between the feet on the side, then push on the blue feet with your thumbs:

WRT54G v1.1 - face plate snaps off WRT54G v1.1 - remove face plate

Now the board just slips right out the black cover:

WRT54G v1.1 - remove board from case

Now locate the flash chip. On my board it is clearly labeled "Intel Flash" but I don't believe all routers are labeled like this. Click on the pictures below for a better view. You will see that at each corner of the chip is a large white number. My picture is actually upside down (you didn't think I would make this easy on you did you?). Notice at the upper right corner of the chip is the number "1", upper left is the number "24", lower left is the number "25", lower right is the number "48" (all upside down in my pictures). Between the number 1 and 24 you will see a row of 24 silver pins. On the board above the pins there is a little white line every 5 pins that should help you count.

WRT54G v1.1 - Intel flash chip WRT54G v1.1 - notice white marks every 5 pins

Now comes the fun part. Do not plug the power in just yet but plug a patch cable into one of the 4 LAN ports on your router and plug the other end into a computer (my laptop works great for this). Configure your network card on your computer with a static IP address: IP: 192.168.1.2, NETMASK: 255.255.255.0, don't need a gateway address. Now if you are in Linux just type "ping 192.168.1.1" which will start a ping running. If you are in Windows (shame on you) then I think you have to pass a "-t" param (ping -t 192.168.1.1) so it doesn't stop trying to ping after 4 pings.

Ok, now for the nitty gritty fun part. Locate pin 15 (third white mark starting from pin 1). Take your jewelers screwdriver (philips head is what I used, nice and pointy) and stick the point between pins 15 and 16 (see NOTE1). While holding the screwdriver there, plug in the power and watch your ping screen. Hopefully you will be amazed (like I was) at seeing the pings starting to succeed. Don't be so happy that you drop the screwdriver on the board and start sparks flying. Remove the screwdriver and the pings should continue:

WRT54G v1.1 - short pins 15-16

The router is now in failsafe mode and is waiting on you to tftp a firmware image to it. Find any good firmware image for your router and upload it. In linux it might go something like this:

$ cd /home/voidmain/firmware
$ ls
OpenWrt_b3.bin
$ tftp 192.168.1.1
tftp> bin
tftp> put OpenWrt_b3.bin

If you have a command line version of tftp for Windows it should go pretty much the same way. Just make sure you transfer the file in binary mode (that's what the "bin" command did). Once the firmware has uploaded, your router should automatically reboot. If you uploaded the OpenWRT firmware like I did above you can then telnet into your box (telnet 192.168.1.1). If you uploaded the stock Linksys firmware you should be able to get to your router with your web browser (http://192.168.1.1/).

Now put your router back together by reversing the instructions in this tip. You are triumphant and there will be much rejoicing.

NOTE1: In my guestbook "Westy" said he had to short pins 16-17 rather than 15-16 on his WRT54G-FR but the rest of this document worked.

Further Reading:
Linksys GPL Firmware page (Thank you Linksys and thank you Richard Stallman (GPL)!!)
Original instructions at OpenWRT forums
OpenWRT Web Site (my wireless web server runs it)
My revival thread (Thanks Jim!)
My wireless web server thread
Jim Buzbee's Linux on WRT54G page
Seattle Wireless WRT54G page
P.S. SVEASOFT and Windows are not supported here.

Have fun!

Forums

Valid HTML 4.01!

OpenWrt

Monday, September 19, 2005

Spamming going nastier!

A lot of junk emails I receive everyday. I use mostly my Yahoo account for personal emails because their Spamfilter is pretty cool. But recently, I received some weird emails which originated from my blogger!

Google's blogger has a feature to forward any posting on our blogger webpage, kinda notification message. But now this good feature has been abused by spammers to send their trashes! They click "comment" on some of my postings and put trash messages, hence I get notifications in my email.

I think I will just disable this notification, leaving alone the trash on the blogger's comments.

Broadband Penetration

Last week I borrowed a book from my professor titled Broadband Services: Business Models and Technologies for Community Networks. My professor is one of the editor.
After flipping some pages, I starred on one page that has a diagram showing the top 15 countries with broadband penetration. Do you know what? The United States is only in the 11th place.

The number of most broadband-penetrated country is South Korea, followed with Hong Kong, Canada, Taiwan, Denmark, Belgium, Iceland, Sweden, Netherlands, Japan, USA, Austria, Switzerland, Singapore and the last one is Finlad.

Tweaking Linksys Router (Part 3)

Last night I tried to reprogram my new Linksys WRTG54GS with different firmware (I think it is Alchemy version (?)). It uploaded with no problem, but when I tried to reboot it, it just hung!

Gosh, I just wasted my $90 something for the now-turned-to-useless-brick router (well, not really, because I am going to return it to BestBuy and claim that it does not work at all. May be I'll just exchange with WRT54G as this model has a lot more different firmwares.

I'll post again once I get the exchange and success on upgrading the firmware.

Use Your Unused PC Power to save Life

Many PCs around the world, especially in office buildings, are left idle when their users or employees are not using them. Many of them quite powerful PCs (such as Pentium 4, AMD or even the 64-bit version and/or with dual core or multiprocessors). Why don't we use them for something useful?

There is a project at Stanford University under project Folding@Home that's trying to simulate proteins (interactions, quantum physics computing etc.). All of this computation requires very huge computation power. The group of Biochemistry, biophysics, chemistry, biology, physics and computer science experts led by Prof. Pande (called 'Pande Group') at Stanford has come up with a novel technology and idea: distributed computing (computational grid using clusters).

Instead of using single supercomputer to compute, the software distributes chunks of work to many computers connected to the server over the Internet. This chunk of work is called Work Unit. Every user who wants to contribute his/her computation power can subscribe and download the software (people can also affiliate to any groups or even make their own group). The software that's running on every user will then download workunits from Stanford University's server and does the computation. After the workunit has been done, the computer then send the result back to the server.

The software can use up to 100% utilization of the PC, but we can adjust how much it is allowed to consume (or even when the computer is idle only). There are different versions of software: console-only and screen-saver; available on Windows, Linux and PowerPC (MacOS). Unfortunately, Solaris has not been supported.

Actually, there is another project that came before Folding@Home (not sure which one came first). I used to run this program under project SETI@Home from UC Berkeley (?). But after sometime, I was thinking, why should I run such a useless program to find extra terrestrial (ET)? (Off the record, I don't believe there is another creatures in outerspace. Even if they exist, not with intelligence as human being have).

So, instead of leaving your PCs idle for many hours (do the math: you leave at 6:00 PM from work and come back next day at 8:00 AM. The PC is idle for 14 hours!), you participate to a project that can find cures for some diseases.

Please check it out at: http://folding.stanford.edu