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.

Configure as non-WDS repeater

After a lot of trial-and-error and studying the different HowTos, I now found the best settings to make my former AccessPoint a repeater.

So here are the neccessary settings. Pages you don't need to change do not have an image linked.

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 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 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.