I bought myself a new WiFi router. When in the shop, I specifically searched for a router that is supported by dd-wrt, and has (at least) 8MB of flash. I settled for the Linksys WRT320N: it has a dual band (switchable between 2.4GHz and 5GHz, not simultaneous) 802.11a/b/g/n radio, a 4 port GbE switch, and a WAN port. It houses a Broadcom BC4717 processor running at 354MHz, 8MB of flash and 32MB of RAM.
The default Linksys firmware is actually not bad, but dd-wrt just offers a ton more features: Multiple SSIDs, IPv6 support (including Sixxs tunneling), WAN volume monitoring, custom firewalling, traffic shaping, … So I decided to void my warranty and put my router on steroids! Mandatory note: this may very well turn your router in to a very expensive brick.
The initial flash
After reading through the dd-wrt forum (most notably these three posts) and the wiki page, I learned a few things:
- Apparently, this router has its reset button wired to the wrong GPIO pin. Therefor, the 30/30/30 reset DOES NOT WORK on this router! There is an alternative: use at least version 13493, power down the router, push and hold the WPS button (on top), power up the router, hold the WPS button for 10-12 more seconds, then release.
- The latest recommended firmware is BrainSlayer’s 14929
This is the procedure I followed, with success, starting from Linksys version v1.0.03 (build 010Jul 24, 2009):
- Download the tailored build for the WRT320N (for the freaks, my binary MD5s to e1d7edd368bf5259c18a0874c5e761db).
- Connect via wired ethernet to the router. That way, you can see the link going up/down.
- In the Linksys firmware, upload this file.
- Wait 5 very long minutes.
- Configure yourself a static IP in the 192.168.0.0/24 network (I use 192.168.0.8)
- Direct your browser to http://192.168.0.1/
- Set a temporary password
- Wait 1 minute
- Reset the router: Power down, push & hold WPS button, power up, keep holding for 11 seconds, release.
- Close & reopen your browser to flush all cached pages and credentials
- Direct your browser to http://192.168.0.1/
- Enjoy
The upgrade
After the initial flash, you can upgrade to any regular version, but keep in mind that this unit requires a 2.6 kernel. I choose the 14929-mini version (md5 af9ab2ff822ab69d26fa7308d47ad05a), not because it provided all I need (it doesn’t support IPv6 for example), but because it leaves the most free space for me to fiddle with.
To switch versions, I always follow this overly cautious procedure:
- Reset to defaults: power down, push & hold WPS button, power up, keep holding for 11 seconds, release
- Make sure your IP is in the correct range (192.168.0.0/24)
- Set a temporary password
- Upload the new firmware
- Wait until the browser is again at the “Set password” page
- Set temporary password
- Reset to defaults again
The settings
Most configuration is fairly straightforward with the GUI. But setting up a second, routed SSID needed a little non-intuitive work:
- Go to Wireless -> Basic Settings and add a new Virtual Interface
- Leave Network Configuration to Bridged
- Go to Setup -> Networking
- Under Create Bridge, click Add
- Name the new bridge “br1″ and disable STP
- Apply Settings
- Now add the desired IP and Subnet mask for this brigde-port
- Apply Settings again
- Click Add under Assign to bridge
- Now assign the wl0.1 interface to this newly created bridge br1
- Optionally Add a DHCP range for br1. In this case, you need to use DNSmasq as DHCP-server.
Some guides tell you to configure it in Unbridged mode. Using Bridged mode gives the potential advantage that you can link a wired port to this IP-range easily.
Now you can easily firewall between the two WLANs by putting iptables-lines in the startup script.
Leave a Reply