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