As some of you know I moved this year to a new house. I now have plenty of room in the garage for the servers which means my heating bill will go up now that they won't be contributing. Frown

Anyway I'd been using Powerline networking for some time and it's worked wonderfully because you never need drivers for the network. How it works is you plug your network cable into a powerline bridge and then plug the bridge into the electrical wall socket. Do this for each location and you have an instant network! It's completely painless. Only problem is your electrical wiring needs to be perfect and mine to the garage in the new place isn't. My print speeds were so horrible that I was copying data to my laptop and carrying it down there to print. It doesn't take a genius to figure out that isn't the solution. I've always shied away from wireless outside of occasional use on the road because of the security implementations but it appears I have no choice short of rewiring my house.

The new 802.11n stuff is tempting but without more testing I'm not going to bite. I already have a Linux powered Linksys WRT-54g which has served me well. My plan was not to add wireless cards to all the machines in the garage but rather set up a wireless bridge and plug a Gig switch into it so the servers could talk to each other at 1000Gbits and the rest of the world at 54Mbits. My biggest requirementis the router has to support the Linux DD-WRT software. After some looking I settled on the Buffalo WHR-G125  available for $29 at Circuit City with rebate...

The Buffalo WHR-G125 does not come with Linux installed and from what I saw on the review forums doesn't come with much functionality in the stock firmware either. I honestly didn't even log into the stock firmware or use it in it's stock form. The first time it was ever powered on I nailed it with a tftp upload with new Linux DD-WRT firmware and it's been running Linux ever since.

The Buffalo WRT-G125 is a 240 mhz mips processor (Broadcom BCM5354) embedded device with a 5 port switch and uplink. It has 16 megs of ram and with Linux running there's about 14 free. The antennae is fixed but I found one guy solder a connection on so he could connect any external antennae.



If you don't know what dd-wrt is you're in for a treat. It's a replacement firmware operating system for many consumer based routers. It gained it's fame on the Linksys WRT-54 series and that's where I came into contact with it. The Linksys WRT-54g was a Linux router and several firmware replacement projects stemmed from it. I started using a paid for replacement called Talisman. The firmware was encoded and I lost the original file once and didn't want to go through the hassle of getting the author to give me another so I decided to look around and see what else was out there. Well, that and there was a lot of controversy about the developer's practice of stealing other people's code and then acting like a copywrite Nazi when anyone else wanted his code. I don't like supporting people like that so I switched to dd-wrt. DD-WRT adds many features to your router like ssh access, QOS, wireless bridging etc.. There really isn't any reason that I can think of for not using it.

My Linksys is running DD-WRT v23 shown here

ddwrt-23



There is a special DD-WRT 24-beta build for the Buffalo WRT-G124 shown here.

ddwrt-24


Bridging


The plan was to put the Buffalo WRT-G125 in the garage and create a bridge to the Linksys. The Linksys would still act as DNS, DHCP and default gateway servers while the Buffalo would just forward all requests to the Linksys. First we need to get DD-WRT on the Buffalo router.  Download the 24-beta for Buffalo WRT-G125 routers first from the DD-WRT download site.


tftp
binary
trace
rexmt 1
connect 192.168.11.1
put dd-wrt.v24_std_whr-g125.bin
Now that it's done you can log into the router by opening Firefox and pointing it to 192.168.1.1. The default credentials are

username: root
password: admin

You will want to change this immediately of course.

Creating the bridge


Setup

  1. Log into the Secondary Router. (We will only be altering the Secondary Router!)
  2. Administration Tab — Factory Defaults Subtab
    1. Restore Factory Defaults: Yes
    2. Click "Save Settings" then "apply" — triggers reboot. (
  3. Setup Tab — Basic Setup Subtab
    1. Local IP: 192.168.1.2 (it was initially 192.168.1.1)
    2. Click "Save Settings" and "Apply"— triggers reboot.
      When you try to refresh it will complain "Can't connect to 192.168.1.1", this is because it's now 192.168.1.2. Type this new addressinto the URL bar and it should come up.
  4. Security Tab — Firewall Subtab
    1. SPI Firewall: Disable
    2. Click "Save Settings"
  5. Wireless Tab — Basic Settings Subtab
    1. Wireless Mode: Client Bridge
    2. Wireless Network Mode: Match your primary router.
    3. Wireless Network Name (SSID): Match your primary router. (case matters!)
    4. Click "Save Settings". The router will now be in Client Bridge mode.
  6. Wireless Tab — Wireless Security Subtab
    1. Security Mode: Match your primary router, I set it up with WEP for testing.
    2. Encryption: Match your primary router.
    3. Key 1: Match your primary router.
    4. Click "Save Settings"
  7. Wireless Tab — Advanced Settings Subtab
    1. Authentication Type: Shared Key
    2. Click "Save Settings"
  8. Status Tab — Wireless Subtab
    1. Click Site Survey and join the appropriate wireless network. Access Point table should show the MAC address of your Primary Router, along with signal strength. (SSID Broadcast MUST be enabled on your primary router) At this point it was working 100% for me.
  9. Administration Tab — Backup Subtab
    1. Click "Backup" to make a backup of your config before you do any customizations.

There, your second router (Buffalo WRT-G125 in my case) should be bridged with the other router now. I will be putting performance numbers up later after I get some hard numers. I'd like to try WDS, Client bridge with WEP (64 and 128bit), WPA and WPA2-eas to see what's the fastest. WPA-2 should be but we'll see. I'll also compare against no encryption just for kicks.