Its been mentioned in a number of threads some time ago, but I just got around to trying on my wrt54gs 1.1 running Tomato 1.07. There are lots of posts/wiki entries for dual WAN with dd-wrt, http://www.dd-wrt.com/wiki/index.php/Dual_WAN http://www.dd-wrt.com/wiki/index.php/Dual-WAN_for_simple_round-robin_load_equalization but all as far as I can see assume static IP addresses, I currently have (while changing over) dynamic cable and adsl dhcp connections. OpenWrt seems to be able to handle this http://wiki.openwrt.org/multipleWan (No Web GUI to break!) Here's one way of attempting this in Tomato Before dabbling the following nvram variables define port 0 of the 5 port switch WAN = vlan1, and the 1-4 LAN ports vlan0. [seems 5 is internal CPU side] Code: vlan0hwname=et0 vlan0ports=1 2 3 4 5* vlan1hwname=et0 vlan1ports=0 5 The following 'once off' commands separate off LAN port 4 as a separate vlan2. Code: nvram set vlan0ports="1 2 3 5*" nvram set vlan2hwname=et0 nvram set vlan2ports="4 5" nvram commit reboot to take effect - the vlan code must be in the kernel somewhere... the variables then can be checked to Code: vlan0hwname=et0 vlan0ports=1 2 3 5* vlan1hwname=et0 vlan1ports=0 5 vlan2hwname=et0 vlan2ports=4 5 Then create an executable udhpc action script in /jffs/wan2up.sh Code: #!/bin/sh # udhcpc simple.script for Tomato dual dynamic wan [ -z "$1" ] && echo "Error: should be called with parameter from udhcpc" && exit 1 if [ "$interface" = "vlan2" ]; then # only handle vlan2 here case "$1" in bound) logger vlan2 udhcpc bound request to IP "$ip" NM "$subnet" received /sbin/ifconfig $interface $ip netmask "$subnet" /sbin/route add -host "$router" dev "$interface" nvram set wan2_ipaddr="$ip" nvram set wan2_netmask="$subnet" nvram set wan2_gateway="$router" nvram set wan2_get_dns="$dns" nvram set wan2_server="$serverid" # nvram commit ;; renew) logger vlan2 udhcpc RENEW request to IP "$ip" NM "$subnet" received ;; deconfig) logger vlan2 udhcpc deconfigure request receieved /sbin/ifconfig $interface 0.0.0.0 /sbin/route del -host "$(nvram get wan2_gateway)" dev "$interface" nvram set wan2_ipaddr="0.0.0.0" nvram set wan2_gateway="0.0.0.0" # nvram commit ;; *) logger vlan2 udhcpc unknown "$@" request received ;; esac fi exit 0 and invoke a second copy of udhcpc with Code: udhcpc -i vlan2 -s /jffs/wan2up.sh -H wrt54gs which seems to work, vlan2 appears in the device list, gets the right IP address,and adds entries to the route table and creates the right variables. Haven't yet tried to activate the internet through this connection, but it doesn't break the vlan1 connection, or web interface!