.mrt memo

tail -f /dev/mind > blog

Posts Tagged ‘routers

Wifi-Router firmware – Tomato on Buffalo WHR-HP-54G

with 2 comments

So you’ve got a Wifi-router. That don’t impress me much.
In fact, nobody could give a rats ass and less notice of the brick you have under the table/hanging from the wall/on the floor. When somebody comes to visit you, the only concern is “have got wifi?”

I’ve had my Buffalo AP for ages by now (speaking in tech it’s about 2+ years) and one day (well, it was yesterday) I found that there are loads of “3rd party firmware” out there for these little cheap boxes. The most popular to modders is the Linksys WRT54G series (nowdays WRT54GL – “L” standing for Linux), but Buffalo WHR-54G series seems to be also popular.

Not to get into too much detail, then couple of great guys have written their own firmware and put it up for others to download and install. Usually this modding changes the admin console and unlocks some “restricted” features you may have not been aware of. I don’t want to brake the law here in Estonia, but it seems that Buffalo’s “HP” aka “High Power” might very well be able to exceed the regulations in this part of the world when correctly set up. But that’s for another time.

The procedure – tftp

So I thought, why not to do something I really don’t need and what might utterly destroy my router and installed Tomato Firmware on my Buffalo WHR-HP-54g. They’ve got great wiki which provided me all the information I can cope with right now, but to make the long story short, I’ll memorize it here as you need to do exactly as the manual says:

  • install Trivial File Transfer Protocol if not already installed – tftp (ubuntu package)
  • download the latest firmware
  • plug your computer via wired connection to the router
  • find the reset button on the bottom of the WHR and hold it for at least 30 seconst, the diagnostics led will blink
  • then unplug it for 10 secs
  • after plugging it in, set your IP to static in the and gateway
  • in one terminal window “ping” continually
  • unplug the router and see how ping timeouts
  • open second terminal and write following commands
  1. tftp
  2. binary
  3. rexmt 1
  4. trace
  5. connect (Even though the router is still powered down, tftp doesn’t actually “connect” when you execute. So relax)
  6. put tomato.trx
  • Do not press enter yet on the last command
  • Plug the router in again and be ALERT for the first ping
  • When ping gets it’s first response, push enter in the tftp window (you’ll see data transfer “sent DATA <block=5425, 512 bytes>” “received ACK <block=5425>”…)
  • when done wait for at least 2 minutes, then unplug the router for 10 seconds and after plugging in, you should be ready
  • Your “refreshed” router is now with default user/pass being root/admin. Log into admin console and change it –

I suggest you read the Wiki for more thorough guide.

Loads of mods out there

That’s the procedure to follow when you want to flash your router. Some possible firmware to check out (got them from Tomato wiki):

  • dd-wrt – probably the most famous one. “Supported hardware” list is quite impressive.
  • FreeWRT – supports some Linksys, Asus and Netgear boxes
  • Tarifa – seems to be exclusively for WRT54GL
  • OpenWRT – not very user friendly, but boasts a packaging system to manage software installed and also is named to be the “leanest and meanest” of all router firmware. Also the “supported hardware” list is quite long.
  • X-WRT – project to make a decent webUI for OpenWRT
  • Tomato – based on formes HyperWRT project with nice clean and 21st century webUI using AJAX and SVG

All are based on Linux in some way or the other, to my knowledge.

Also I learned a new term – “to brick“, you have just brick’d your router. Means you have just managed to do something wrong and your router is nothing more than a brick. Fubar, so to speak. (Although I found some advice on de-bricking your box, not that I needed it, yet.)

Final thoughts

Finally, I need to say, that I really had no real need to do all this. I just thought it would be cool to see statistics about my router clients, their net usage and such little stuff which Tomato provides with nice AJAX interface. Also there are some little things you might think are quite logical, but big manufacturers just don’t care. Like when you need to define a channel to use, it would be logical to scan the vicinity for other networks and then assign the channel. You can do that directly in Tomato’s UI. There are such little things all around.

But I know 3rd party firmware to be actually really useful for Wireless Repeaters, Wireless Distribution System and Wireless EThernet/Ethernet Bridge or whatever term you can find, which basically let you enhance your IEEE 802.11 network’s range with additional routers. I got lost searching for differences between those terms, but it seems in one case you MUST have different channels and you CAN have different SSID’s and such. Didn’t go further from there.

Further study:

  • is there some difference in WPA/WPA2 encryption support in different repeating/bridgeing ways (WDS,WET) (some tutorials I found mentioned WEP – don’t really understand if they are imbecilles or perpahs just WPA is not supported and they wanted to market the firmware bridging possebilities as “sure, we have encryption”)
  • are both routers still functioning as AP-s also when using WDS and/or WET (found some controversy on that)
  • is there difference in datagram forwarding between WDS and WET (all forwarded vs only those datagrams forwarded which destinations reside in the view of that router)
  • what are the methods used by available commercial repeaters sold in the stores
  • find some cool projects done with 3rd party firmware for routers
  • some feature difference table of all the firmwares would be helpful


I discovered, that Buffalo is actually selling their WHR-HP-54G with DD-WRT preinstalled (link), which is kinda cool.


Written by dotmrt

2008/07/03 at 23:17:46

Posted in it, linux

Tagged with , , , , , , , ,