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

Sunday, September 18, 2005

AMD Clock and Voltage (part 2)

It's been awhile after I posted the first blog on the subject (AMD-64 on Compact Presario R3000). I just want to update the status on this issue: I one day checked AMD website and found out an information about "Windows XP incorrectly reports CPU clock". Overthere, they suggest users to upgrade the laptop BIOS. I followed their instructions and reboot my laptop.

Do you know what happened after my Windows XP rebooted? the CPU went to full clock speed and never scale back. The fan started to spin after a few seconds later and kept running. I checked CPU temperature (via 3rd party software I downloaded for free from the Net), it showed temp. close to 90 degrees Celsius! After a few minutes the computer turned off by itself (not a gracefuly shutdown!). I was like that no matter what I changed on the powersaving settings on Windows. Damn! (well, there was workaround. I used another software to manually control the CPU frequency back to 800 MHz to prevent it to overheat and shutdown). I checked on Microsoft site, the rebooting problem was caused by overheating.

I almost gave up (and did not use Windows during the time, but reboot to Linux partition. Linux successfuly control the acpi with no problem, besides it never reboots my computer). Finally, I give a try to download the latest AMD driver and reinstalled on my Windows. Somehow it now worked! (I am pretty sure I did exactly the same a few time before with no luck. So I believe there must be a fix in the newer driver).

Now PC is working OK. The frequency could scale up to its maximum (2.2 GHz). There is only 3 stages of frequencies: 800 MHz (base clock), 1.8 GHz and 2.2 GHz. The fan would turn on after a few seconds of CPU running at maximum clock and the temperature stabilizes around 80 degress Celsius, hence the Windows never reboots.

Phew!

Tweaking Linksys Router (Part 2)

OK, now I have upgraded my router's firmware to this fancy firmware: v4.70.6_Hyperwrt-2.1b1-(Thibor). Unfortunately, after looking around on the menus, I still could not found the wireless bridge feature. But, there is a cool feature there: telnet!

I then enabled telnet daemon and telnet into it. Do you know what's inside? Linux!! Wow, Linksys uses Linux for its router products!!. I then checked some stuff there. Pretty cool! Allright, maybe my next hacking project is how to hack the source code (it's available on linksys.com page, under GPL download). The source code is really huge, it is more than 100 MB even after zipped! Perhaps there are some binary firmwares inside it. I'll check it out later and report it on this blog once I am done checking out this amazing product.

(PS: I now highly recommend people to buy Linksys routers. I used to suggest people not to buy Linksys routers as their products relatively more expensive. But now, it is really worth it to invest a little bit for the really big thing you will get!)

Tweaking Linksys Router's Firmware

I just bought a Linksys wireless router WRT45GS. It is a wireless broadband router with speedbooster. According to the box, the speedbooster feature might boost speed up to 35%.
I buy this router because I want to make another 'wireless island' at home, and also because my phone cable that is going to the DSL modem has been severely degraded (when I check it, there is the insulator was torn, so the wires were almost broken). Why I use long phone cable to connect to my DSL modem? That's because there is no phone jack in the room where I put my desktop computers (which use CAT5 wires to connect to the router).

I bought the modem from Best Buy, which gave $20 rebate. Not bad for such a 54 Mbps wireless router, I said. But when I tried to configure it, I could not find anything on the web menu saying that the router is able to connect to another router via wireless connection. I was so dissapointed. I then went to the Internet and searched for information about this 'wireless bridging'. There are some hits, many links pointed me to the hardwares (such as Linksys Wireless Bridge). But this is not what I want!

After spent some more time to refine the search keyword, I eventually ended up to some discussion websites. Interestingly, these discussions mention about to upgrade the Linksys official firmware to the modified one! After going go Linksys website, I found out that for many of their products, they also provide the GPL source code for their products. Amazing! This modified firmware supports a feature called "WDS" (don't remember the abbrs., but is is something like wireless client).

The following links are few of them that have the information/and firmwares:

http://www.hyperwrt.org/

www.dd-wrt.com

http://sourceforge.net/projects/wifi-box

http://www.linksysinfo.org

http://wrt54g.thermoman.de/



Some of them require free subscription.

Monday, September 12, 2005

Next Generation Optical Transport?

Currently, optical transport (both SONET and SDH) technology used in service providers have reached its maturity and seems have stagnated. There is really no new features implemented on this technology. Most technology vendors have implemented features such as BLSR, UPSR, Bridge-and-roll, Ethernet over SONET (using GFP), even DWDM.

But, if we see the distribution of bandwidth used by customers, seems there is still a lot of 'dark' fiber, in other words, much of the bandwidths are left unused. Are these slots are really unused? If we see, in United States itself, High Definition TVs have not reached a point that many people expect. What about the Internet? well, eventhough most of the service providers (telephone, Internet or TV cable) give broadband accesses, the numbers are not satisfactory.

Now it is coming Packet-Over-ADM using optical connection. Many people are expecting this will be the next generation optical transport. Even some vendors have already had thse PADM-enabled equipments.

Technology-wise it is next generation optical transport, but what about business-wise? Well, let see what is going to happen in near future.

Sunday, September 11, 2005

My Book Collections on Linux

A few months ago I bought another Linux-related book titled Linux Kernel Development by Robert Love. Very good book indeed! I have read the first few chapters of the book and couldn't stop to finish it (well, it is hard for me as I need to spare my time to read a lot other books and documents too).
This book add collection to my Linux bookshelf, besides Linux Device Driver, Linux Kernel, and Linux Wireless.