---
title: DD-WRT
layout: default
created: 2009-04-03 12:30:33 +0200
updated: 2009-12-04 00:54:05 +0100
toc: false
tags:
- know-how
- software
- dd-wrt
---
DD-WRT is an alternative firmware for several WLAN routers which offers a lot of more features than the default
firmwares of most routers, such as repeater mode, printserver, fileserver, etc.. I use it on an *ASUS WL-300g* and a
*Linksys WRT54GL*.
* **Homepage:** [dd-wrt.com](http://www.dd-wrt.com/)
Configure as non-WDS repeater
=============================
After a lot of trial-and-error and studying [the](http://www.dd-wrt.com/wiki/index.php/Wlan_Repeater) [different](http://www.dd-wrt.com/phpBB2/viewtopic.php?t=7595)
[HowTos](http://www.dd-wrt.com/wiki/index.php/Universal_Wireless_Repeater), I now found the best settings to make my
former AccessPoint a repeater.
This mode will repeat the WLAN network under a different SSID. Your WLAN card won't do any roaming and you will have to
setup port forwardings for server daemons.
So here are the neccessary settings. Pages you don't need to change do not have an image linked.
* Setup
* [Basic Setup]({{ site.url }}/assets/setup_basic_setup.png)
* DDNS
* MAC Address Clone
* [Advanced Routing]({{ site.url }}/assets/setup_advanced_routing.png)
* [Networking]({{ site.url }}/assets/setup_networking.png)
* Wireless
* [Basic Settings]({{ site.url }}/assets/wireless_basic_settings.png)
* Radius
* [Wireless Security]({{ site.url }}/assets/wireless_wireless_security.png)
* MAC Filter
* [Advanced Settings]({{ site.url }}/assets/wireless_advanced_settings.png)
* [WDS]({{ site.url }}/assets/wireless_wds.png)
* Services
* [Services]({{ site.url }}/assets/services_services.png)
* PPTP
* Hotspot
* Security
* [Firewall]({{ site.url }}/assets/security_firewall.png)
* VPN
* Access Restrictions
* WAN Access
* NAT / QoS
* Port Forwarding
* Port Range Forwarding
* Port Triggering
* UPnP
* DMZ
* QoS
* Administration
* Management
* Keep Alive
* Commands
* WOL
* Factory Defaults
* Firmware Upgrade
* Backup
* Status
* Router
* LAN
* Wireless
* Bandwidth
* Sys-Info
Notify about new IP via Prowl service
=====================================
*Prowl* was originally thought as a remote notification service from MacOS *Growl* to the iPhone. But it provides a
great web-based API so that it can be used for any other purpose.
The [DD-WRT Wiki](http://www.dd-wrt.com/wiki/index.php/Script_Execution) lists all the locations where you can place
scripts for automatic execution. As we want to be notified upon IP changes, the best event is the `wanup`. So create a
file `/tmp/etc/config/prowl.wanup`. In the [Script Examples](http://www.dd-wrt.com/wiki/index.php/Script_Examples#Use_freedns.afraid.org_as_DDNS)
section, there's a nice DynDNS script which shows, how to get the current WAN IP and check whether it has changed.
With some modifications, it looks like this:
{% highlight bash %}
#!/bin/sh
IFACE=ppp0
OLDFILE=/tmp/ipaddr.cache
OLD_IP=`cat $OLDFILE`
NEW_IP=`ifconfig ${IFACE} | sed '/.*inet addr:/!d;s///;s/ .*//'`
# Special (private) Unicode icons for the iPhone
PROWL_UP=""
PROWL_DISH=""
if [ "$NEW_IP" != "$OLD_IP" ]; then
/tmp/root/prowl.sh "ppp0 is $PROWL_UP" -2 "IP is $NEW_IP $PROWL_DISH"
echo $NEW_IP > $OLDFILE
echo Updated IP to $NEW_IP
fi
{% endhighlight %}
Put this file to `/tmp/etc/config/prowl.wanup`. The used `/tmp/root/prowl.sh` is the one you can find in the [[TODO:software:sh:http-post]] article.
*[WLAN]: Wireless Local Area Network
*[SSID]: Service Set Identifier
*[DDNS]: Dynamic DNS
*[MAC]: Media Access Control
*[WDS]: Wireless Distribution System
*[PPTP]: Point-to-Point Tunneling Protocol
*[VPN]: Virtual Private Network
*[NAT]: Network Address Translation
*[QoS]: Quality of Service
*[UPnP]: Universal Plug'n'Play
*[DMZ]: Demilitarized Zone
*[WOL]: Wake-on-LAN
*[LAN]: Local Area Network
*[API]: Application Programming Interface
*[WAN]: Wide Area Network