LaFonera Software Universal-Repeater
From DD-WRT Wiki
You are here: DD-WRT wiki mainpage / LaFonera / Software / Universal-Repeater
Contents |
[edit] Lets try something different
i saw a nice webpage for the original fonera-firmware. With the script "ponte2" universal repeating should be possible.
So i decided to port it to work on dd-wrt. Yet I think the basic functionality is running, but it should be tested and some things should be changed.
I placed the files which are nessesary on my websrver and made them available to the rest of you.
To install the script you just run these commands:
cd /tmp rm -r universalRepeating rm -r universalRepeating.tar.gz wget http://www.wildblue.de/universalRepeating.tar.gz tar xzvf universalRepeating.tar.gz cd universalRepeating/etc/ cp ponte2.conf.txt ponte2.conf cp ponte2 universalRepeating
in the console. A directory named /tmp/universalRepeating will be created. You can start the script with the command: "sh universalRepeating"
You can change the file and repost it here, to apply more functionality to this script.
I made it as good working as possible, but i think some things are not working yet, so please take a look over it to make it working 100%.
feel free to contact me at ben(at)wildblue.de
[edit] the script
here is the source:
#!/bin/sh # /etc/ponte2 #**************************************************************************** # 20070325 version # more about this script can be found at: http://www.blogin.it/fonera4.php # ansanto@interfree.it #**************************************************************************** #---------------------------------------------------------------------------- # setup_env. Function that setups environment setup_env () { # Set the default values of all environment variables here logDir=/var/log tmpDir=/tmp acl_list=/etc/acl_list.conf myself=`basename $0` logFile=$logDir/$myself.log oggi=$(date) IWCONFIG=/usr/sbin/iwconfig IFCONFIG=/sbin/ifconfig WLANCONFIG=/usr/sbin/wlanconfig IWPRIV=/usr/sbin/iwpriv NETFILTER=/usr/sbin/iptables ROUTE=/sbin/route rm -f /tmp/results echo "$oggi: start" echo "$oggi: start" >> $logFile if [ -f /tmp/universalRepeating/etc/ponte2.conf ]; then . /tmp/universalRepeating/etc/ponte2.conf else echo "/tmp/universalRepeating/etc/ponte2.conf not found" echo "/tmp/universalRepeating/etc/ponte2.conf not found" >> $logFile echo "stop and exit" echo "stop and exit" >> $logFile exit 1 fi # ip_forward is set to 1 by default in fonera configuration # echo 1 > /proc/sys/net/ipv4/ip_forward # stop daemons local web=httpd local cron=crond local dns=dnsmasq #if [ ! -z "$( pidof $web )" ]; then # kill $(pidof $web) > /dev/null #fi if [ ! -z "$( pidof $cron )" ]; then kill $(pidof $cron) > /dev/null fi if [ ! -z "$( pidof $dns )" ]; then kill $(pidof $dns) >> /dev/null fi killall -9 udhcpc > /dev/null # flush_netfilter tables $NETFILTER -F $NETFILTER -P INPUT ACCEPT $NETFILTER -P OUTPUT ACCEPT $NETFILTER -P FORWARD ACCEPT $NETFILTER -t nat -F echo "netfilter tables flushed" echo "netfilter tables flushed" >> $logFile } # setup_env #------------------------------------------------------------------------------- # hardening Function that sets some TCP/IP parameters hardening () { if [ $khard == 1 ]; then # Disable tcp_sack support echo "0" > /proc/sys/net/ipv4/tcp_sack # Disable TCP window_scaling echo "0" > /proc/sys/net/ipv4/tcp_window_scaling # Disable source routing echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route echo "0" > /proc/sys/net/ipv4/conf/lo/accept_source_route echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_source_route echo "0" > /proc/sys/net/ipv4/conf/ath0/accept_source_route echo "0" > /proc/sys/net/ipv4/conf/ath1/accept_source_route echo "0" > /proc/sys/net/ipv4/conf/default/accept_source_route # Enable TCP SYN Cookie potection echo "1" > /proc/sys/net/ipv4/tcp_syncookies # No ICMP Redirect echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects echo "0" > /proc/sys/net/ipv4/conf/lo/accept_redirects echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_redirects echo "0" > /proc/sys/net/ipv4/conf/ath0/accept_redirects echo "0" > /proc/sys/net/ipv4/conf/ath1/accept_redirects echo "0" > /proc/sys/net/ipv4/conf/default/accept_redirects # Enable IP spoofing protection echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter echo "1" > /proc/sys/net/ipv4/conf/lo/rp_filter echo "1" > /proc/sys/net/ipv4/conf/eth0/rp_filter echo "1" > /proc/sys/net/ipv4/conf/ath0/rp_filter echo "1" > /proc/sys/net/ipv4/conf/ath1/rp_filter echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter echo "fonera hardened" echo "fonera hardened" >> $logFile fi if [ $klog == 1 ]; then echo "1" > /proc/sys/net/ipv4/conf/all/log_martians = 1 echo "1" > /proc/sys/net/ipv4/conf/lo/log_martians = 1 echo "1" > /proc/sys/net/ipv4/conf/eth0/log_martians = 1 echo "1" > /proc/sys/net/ipv4/conf/ath0/log_martians = 1 echo "1" > /proc/sys/net/ipv4/conf/ath1/log_martians = 1 echo "1" > /proc/sys/net/ipv4/conf/default/log_martians = 1 echo "logging malicyous packests activated" echo "logging malicyous packests activated" >> $logFile fi } # hardening #------------------------------------------------------------------------------- # vaps. Function that destsoys VAP and create new vaps () { # bring down first VAP ath0 $WLANCONFIG ath0 destroy # bring down second VAP ath0 $WLANCONFIG ath1 destroy # bring up first VAP ath0 as Access Point $WLANCONFIG ath0 create wlandev wifi0 wlanmode ap echo "created VAP ath0 as AP" echo "created VAP ath0 as AP" >> $logFile # bring up second VAP ath1 as station managed # nosbeacon disables the use of hardware beacon timers for ath1 # (the station should not modify the TSF clock for the AP) $WLANCONFIG ath1 create wlandev wifi0 wlanmode sta nosbeacon echo "created VAP ath1 as station" echo "created VAP ath1 as station" >> $logFile } # vaps #------------------------------------------------------------------------------- create_MONITOR () { # bring up VAP ath2 in monitor mode if [ $modeMonitor == 1 ]; then case $kheaders in 11) # Only 802.11 headers echo '801' > /proc/sys/net/ath0/dev_type ;; 2) # Prism2 headers echo '802' > /proc/sys/net/ath0/dev_type ;; 3) # Radiotap headers echo '803' > /proc/sys/net/ath0/dev_type ;; 4) # Atheros Descriptors echo '804' > /proc/sys/net/ath0/dev_type ;; esac $WLANCONFIG ath2 create wlandev wifi0 wlanmode monitor $IFCONFIG ath2 up echo "created VAP ath2 as monitor" echo "created VAP ath2 as monitor" >> $logFile fi } # create_MONITOR #------------------------------------------------------------------------------- # setup_AP. Function that setup ath0 as an Access Point setup_AP () { # wireless mode # does not work on dd-wrt #case $wMode in # 0) $IWPRIV ath0 mode auto ;; # 1) $IWPRIV ath0 mode 11a ;; # 2) $IWPRIV ath0 mode 11b ;; # 3) $IWPRIV ath0 mode 11g ;; # 4) $IWPRIV ath0 mode fh ;; # 5) $IWPRIV ath0 mode 11adt/111at ;; # 6) $IWPRIV ath0 mode 11gdt/11gt ;; # 7) $IWPRIV ath0 mode 11ast ;; #esac if [ $kssid == 1 ]; then $IWCONFIG ath1 | grep ESSID > /tmp/universalRepeating/ponte_per INI=32 FIN=$(cat /tmp/universalRepeating/ponte_per | wc -c) : $((FIN = $FIN - 4)) AP=$(cut /tmp/universalRepeating/ponte_per -c $INI-$FIN) $IWCONFIG ath0 essid "relay_$AP" echo "ath0 is relay for "$AP echo "ath0 is relay for "$AP >> $logFile else $IWCONFIG ath0 essid "$SSID_ath0" fi # WEP key case $kwep in 1) #WEP key as ASII string $IWCONFIG ath0 key s:$WepKey_ath0 echo "ath0 WEP key: "$WepKey_ath0 echo "ath0 WEP key: "$WepKey_ath0 >> $logFile ;; 2) #targeted external AP via WEP key in hex $IWCONFIG ath0 key $WepKey_ath0 echo "ath0 WEP key: "$WepKey_ath0 echo "ath0 WEP key: "$WepKey_ath0 >> $logFile ;; esac # enable 802.11 SSID broadcsating on ath0 $IWPRIV ath0 hide_ssid 0 if [ $hideSSID == 1 ]; then $IWPRIV ath0 hide_ssid 1 fi # ACL management case $aclMode in 1) # only allow MACSs in the ACL list $IWPRIV ath0 maccmd 3 $IWPRIV ath0 maccmd 1 for i in $(cat $acl_list); do $IWPRIV ath0 addmac $i done ;; 2) # only deny MACs in the ACL list $IWPRIV ath0 maccmd 3 $IWPRIV ath0 maccmd 2 for i in $(cat $acl_list); do $IWPRIV ath0 addmac $i done ;; *) # no ACL checking is performed $IWPRIV ath0 maccmd 0 ;; esac } # setup_AP #------------------------------------------------------------------------------- # setup_STA. Function that setup ath1 as repeater setup_STA () { case $kwepSta in 0) # no encryption case $ath1_mode in 1) # point an external AP automatically with no encryption $IWCONFIG ath1 ap auto echo "ath1 interface automatically (no encryption): " echo "ath1 interface automatically (no encryption): "$TargetSsid ;; 2) # point an external AP by SSID with no encryption $IWCONFIG ath1 mode managed essid $TargetSsid echo "ath1 interface via SSID (no encryption): "$TargetSsid echo "ath1 interface via SSID (no encryption): "$TargetSsid >> $logFile ;; 3) # point an external AP by MAC with no encryption $IWCONFIG ath1 mode managed ap $TargetMac echo "ath1 interface via MAC (no encryption): "$TargetMac echo "ath1 interface via MAC (no encryption): "$TargetMac >> $logFile ;; esac ;; 1) # WEP key as ASCII string case $ath1_mode in 1) # point an external AP automatically with WEP encryption (ASCII) # not working without encryption ! echo "(error) point an external AP automatically with WEP encryption (WEP ASCII)" echo "(error) point an external AP automatically with WEP encryption (WEP ASCII)" >> $logFile exit 1 ;; 2) # point an external AP by SSID with WEP encryption (ASCII) $IWCONFIG ath1 key "s:$WepKey_ath1" $IWCONFIG ath1 mode managed essid $TargetSsid echo "ath1 interface via SSID (WEP ASCII) : "$TargetSsid" ("$WepKey_ath1")" echo "ath1 interface via SSID (WEP ASCII) : "$TargetSsid" ("$WepKey_ath1")" >> $logFile ;; 3) # point an external AP by MAC with WEP encryption (ASCII) $IWCONFIG ath1 key "s:$WepKey_ath1" $IWCONFIG ath1 mode managed ap $TargetMac echo "ath1 interface via MAC (WEP ASCII) : "$TargetMac" ("$WepKey_ath1")" echo "ath1 interface via MAC (WEP ASCII) : "$TargetMac" ("$WepKey_ath1")" >> $logFile ;; esac ;; 2) # WEP key as HEX string case $ath1_mode in 1) # point an external AP automatically with WEP encryption (HEX) # not working without encryption ! echo "(error) point an external AP automatically with WEP encryption (WEP HEX)" echo "(error) point an external AP automatically with WEP encryption (WEP HEX)" >> $logFile exit 1 ;; 2) # point an external AP by SSID with WEP encryption (HEX) $IWCONFIG ath1 key "$WepKey_ath1" $IWCONFIG ath1 mode managed essid $TargetSsid echo "ath1 interface via SSID (WEP HEX) : "$TargetSsid" ("$WepKey_ath1")" echo "ath1 interface via SSID (WEP HEX) : "$TargetSsid" ("$WepKey_ath1")" >> $logFile ;; 3) # point an external AP by MAC with WEP encryption (HEX) $IWCONFIG ath1 key "$WepKey_ath1" $IWCONFIG ath1 mode managed ap $TargetMac echo "ath1 interface via MAC (WEP HEX) : "$TargetMac" ("$WepKey_ath1")" echo "ath1 interface via MAC (WEP HEX) : "$TargetMac" ("$WepKey_ath1")" >> $logFile ;; esac ;; esac # IP config for ath1 if [ $ath1_mode == 1 ]; then #simply discover strongest external AP dyanamic IP configuration /sbin/udhcpc -i ath1 >> $logFile $IWCONFIG ath1 | grep ESSID | awk '"external AP " {print $4}' >> $logFile echo "ath1 interface via external dhcp" echo "ath1 interface via external dhcp" >> $logFile else # satic IP configuration $IFCONFIG ath1 $IP_ath1 netmask $MASK_ath1 up $ROUTE del default $ROUTE add default gw $DFGW echo "nameserver " $NAMESERVER1 > /etc/resolv.conf echo "nameserver " $NAMESERVER2 >> /etc/resolv.conf fi $NETFILTER -t nat -A POSTROUTING -o ath1 -j MASQUERADE } # setup_STA #------------------------------------------------------------------------------- # setup_2ifaces. Function that sets up 2 IP interface (eth0 and ath0) setup_ifaces () { # static eth0 IP configuration $IFCONFIG eth0 $IP_eth0 netmask $MASK_eth0 up echo "eth0 interface: "$IP_eth0/$MASK_eth0 echo "eth0 interface: "$IP_eth0/$MASK_eth0 >> $logFile # static ath0 IP configuration $IFCONFIG ath0 $IP_ath0 netmask $MASK_ath0 up echo "ath0 interface: "$IP_ath0/$MASK_ath0 echo "ath0 interface: "$IP_ath0/$MASK_ath0 >> $logFile } # setup_2ifaces #------------------------------------------------------------------------------- # setup_bridge. Function that setup a bridge between eth0 and ath0 setup_bridge () { $IFCONFIG eth0 0.0.0.0 up $IFCONFIG ath0 0.0.0.0 up # bring up a bridge called br0 brctl addbr br0 brctl addif br0 eth0 brctl addif br0 ath0 # static br0 IP configuration $IFCONFIG br0 $IP_br0 netmask $MASK_br0 up echo "br0 interface: "$IP_br0/$MASK_br0 echo "br0 interface: "$IP_br0/$MASK_br0 >> $logFile } # setup bridge #------------------------------------------------------------------------------- # std_routing. Standard routing std_routing () { # forwarding between the subnets echo 1 echo 1 > /proc/sys/net/ipv4/ip_forward $NETFILTER -t nat -A POSTROUTING -o ath1 -j MASQUERADE # support for p2p if [ $btorrent == 1 ]; then BTports="6890 6891 6892 6893 6894 6895 6896 6897 6898 6899" for pt in $BTports; do $NETFILTER -t nat -A PREROUTING -i ath1 -p tcp --dport $pt -j DNAT --to $IP_client_btorrent:$pt done fi if [ $xmule == 1 ]; then echo "32752" echo "32752" > /proc/sys/net/ipv4/netfilter/ip_conntrack_max $NETFILTER -t nat -A PREROUTING -i ath1 -p tcp --dport 4662 -j DNAT --to $IP_client_xmule:4662 $NETFILTER -t nat -A PREROUTING -i ath1 -p udp --dport 4672 -j DNAT --to $IP_client_xmule:4672 fi } # std_routing #------------------------------------------------------------------------------- # main #------------------------------------------------------------------------------- #clear # learn environment setup_env # bring up WIRELESS vaps setup_STA setup_AP # create monitor interface if [ $modeMonitor == 1 ]; then create_MONITOR fi # bring up IP # two separated interfaces (ath0 eth0) or a bridge (br0) if [ $bridge_mode == 1 ]; then setup_bridge $NETFILTER -t nat -A POSTROUTING -o br0 -j MASQUERADE else setup_2ifaces $NETFILTER -t nat -A POSTROUTING -o eth0 -j MASQUERADE fi # start DHCP if [ $kdhcp == 1 ]; then /usr/sbin/dnsmasq -a $IP_dhcp fi # hardening some TCP/IP parameters hardening # and setting some netfilter rules std_routing # so, show results $IWCONFIG > /tmp/results $IFCONFIG >> /tmp/results #clear more /tmp/results exit 0 # have fun!
[edit] the config file
And the config-file:
# /etc/ponte2.conf.txt # 20070325 version # # be careful: # EDIT THIS FILE AND SAVE AS /ETC/PONTE2.CONF # # NO SPACE BETWEEN = AND VALUE # parameter = value <---- WRONG # parameter=value <---- RIGHT # #------------------- # only-Access-Point #------------------- # set only_AP=1 if you plan to use Fonera only as Access Point (bridging its eth0) # The only-Access-Point mode NEEDS bridge_mode=1 in bridge configuration. # It's also recomended to set kdhcp=1 in order to start DHCP service listening on br0 only_AP=0 # If only_AP=1 uncomment for SSID broadcasted by AP #only_AP_essid=fonera # #-------------------------------- # configuring Access Point (ath0) #-------------------------------- # wireless mode - default is 0 - only change if you know what you are doing! #wMode=0 #wireless mode auto #wMode=1 #wireless mode 11a #wMode=2 #wireless mode 11b #wMode=3 #wireless mode 11g #wMode=4 #wireless mode fh #wMode=5 #wireless mode 11adt/111at #wMode=6 #wireless mode 11gdt/11gt #wMode=7 #wireless mode 11ast wMode=0 # # access control list based on MAC # you must create the file /etc/acl_list.conf with # ONLY one mac address per line aclMode=0 # # do not edit kwep! Kwep=0 # # SSID auto detect kssid=1 # SSID is manual #kssid=0 #SSID_ath0= # # 802.11 SSID broadcasting on ath0 # enable hideSSID=0 # disable #hideSSID=1 # # !! if you plan to use a bridge you can skip the IP configuration !! # IP configuration for ath0 # wifi iface of your pc must be in this subnet IP_ath0=192.168.1.30 MASK_ath0=255.255.255.0 # #--------------------------------------- # configuring eth0 interface (wired lan) #--------------------------------------- # !! if you plan to use bridge you can skip !! IP_eth0=192.168.1.3 MASK_eth0=255.255.255.0 # #---------------------------------------- # configuring bridge br0 (ath0 - eth0) #---------------------------------------- #bridge_mode=0 bridge_mode=1 IP_br0=192.168.1.3 MASK_br0=255.255.255.0 # # ------------ # DHCP service # ------------ # Remember: you must edit /etc/dnsmasq.conf #kdhcp=0 kdhcp=1 # dnsmasq listen-on address # Using the bridge this is the IP address of br0 ! IP_dhcp=192.168.1.3 # #------------------------------------- # configuring Station (ath1) #------------------------------------- # discovering stronger external AP and his dhcpd #ath1_mode=1 # # targeted external AP by SSID ath1_mode=2 TargetSsid=Bodelschwinghstr38 # # targeted external AP by MAC #ath1_mode=3 #TargetMac=aa:bb:cc:dd:ee:ff # # targeted external AP via WPA-PSK (WPA personal) # need /etc/wpa_supplicant.conf ! #ath1_mode=4 #TargetWpa=WPA_PASSPHRASE # # targeted external AP via WEP # no #kwepSta=0 # yes, key as ASCII string (51) #kwepSta=1 # yes, key in hex (52) kwepSta=2 # put here the key WepKey_ath1=ab280781ba280781ab28071981 # # static IP configuration IP_ath1=192.168.1.3 MASK_ath1=255.255.255.0 # default gateway DFGW=192.168.1.2 # name servers NAMESERVER1=151.99.125.3 NAMESERVER2=159.213.32.232 # #-------------------- # p2p port forwarding #-------------------- #xmule=1 #IP_client_xmule=192.168.10.20 xmule=0 # #btorrent=1 #IP_client_btorrent=192.168.10.20 btorrent=0 # #---------------------------------- # use of a monitor interface #---------------------------------- modeMonitor=0 #modeMonitor=1 # By default, monitor mode receives packets with prism2 headers prepended on them. # To change this, you must set the appropriate value for kheaders (default=2) kheaders=2 # #--------------------------------- # hardening some TCP/IP parameters #--------------------------------- #khard=1 khard=0 # #---------------------------------- # logging malicyous TCP/IP packests #---------------------------------- #klog=1 klog=0 # # the end
[edit] Notes
THIS GUIDE DOES NOT WORK AT THIS TIME. DO NOT EXPECT IT TO WORK. THIS NOTICE WILL BE REMOVED WHEN IT DOES.
A working method is presented at http://www.blogin.it/fonera4.php [link is dead.]
[edit] Introduction
This How-To provides step-by-step instructions for creating a Universal Wireless Repeater appliance: a device that you can place anywhere and it will wirelessly repeat the strongest signal, onto another wireless network (with or without security). This functionality is also known as Wireless Client Bridge, or Range Expander. Unlike WDS, once you have this appliance setup, it will work with any open network.
Architecturally the repeater connects to another wireless router as a client, getting a single IP address via DHCP. Effectively the SSID network it connects to becomes your ISP. Therefore you (the client) will operate in your own IP address space, which is different from address space the repeater connects to.
For example:
In a given neighborhood, there are 3 open access wireless networks, jojo, linksys and internetmad. The repeater automatically receives an IP address from jojo. Let's say jojo is using 192.168.1.0/24, and your DDWRT router receives the address 192.168.1.139. The repeater is configured to use 172.16.100.0/24. From your laptop, you associate with the SSID "repeater" and you receive the address 172.16.101.100 via DHCP. As far as your laptop is concerned you are talking to repeater. As far as repeater is concerned, its gateway is "jojo" and jojo probably has another gateway via cable modem or DSL.
[edit] Prerequisites
- Know how to use and access Web Interface
- Know how to flash your device.
It takes me just a couple minutes to follow these instructions (but I've done this before).
[edit] Instructions
1. Install DD-WRT v24 beta (v23 will not work).
- Build 2006-0911 is known to be stable for repeater mode. Users also report success with newer builds like 2007-0109.
- Keep ethernet cable connected for these instructions (to have connectivity across wireless network changes).
2. Go to tab "Setup", sub-tab "Basic Setup":
- Change "local IP address" to a unique subnet (different than device you wish to repeat), such as 192.168.69.1.
- Save settings.
3. Point your browser to the new IP address you chose in the previous step. Go to tab "Security", sub-tab "Firewall":
- Uncheck all check boxes and set firewall to "disable".
- Save settings.
4. Go to tab "Wireless", sub-tab "Basic Settings":
- Set Wireless Mode to "Repeater"
- Click on "Add" under Virtual Interfaces, and enter an SSID (such as "repeater") and set "Wireless Network Name (SSID)" to the network you wish to repeat (and AP Isolation is "disabled" and Network Configuration is "Bridged"). If you want the source network (the one you're repeating) to be dynamically acquired, see steps below.
- Note: the screenshot is from build 2006-0911. In newer builds there is a Network Configuration option (Bridged/Unbridged) for both Physical and Virtual Interfaces. For both options, set Network Configuration to "Bridged".
- Optional: Set Wireless Channel to "Auto" (or your preferred channel), and set Sensitivy Range to "0" for performance enhancements.
- Click "Save Settings".
5. To repeat any network dynamically (make this a universal wireless repeater), the following will make the repeater connect to the first available SSID:
- Go to tab "Administration", subtab "Command".
- Copy and paste the following into the edit box:
nvram set wl_ssid=""
- Click the Save Startup button.
- Note: this will not automatically repeat secure/encrypted networks. If your source network uses WEP or WPK, enter the ssid under the Physical Interface in step 4 instead, and proceed to the next step.
6. You may use security (WEP, WPA, etc) in repeater mode. An example application of this would be to make the repeated network private (for your use only).
- Go to tab "Wireless", sub-tab "Wireless Security".
- Setup WEP (or other security) under virtual interface.
- Configure your client/computer to use the same security.
- Notice in the screenshot above you may also configure security for the physical interface (source) network if you wish to repeat a secure network. In the example this is disabled. If you enable this, the dynamic repeating functionality may not work (since you're hard configuring the source network).
- Note: for build 2006-0911, only one interface can have security - not both simultaneously. This is fixed in latest builds (2007-0109 and newer). See "Known Issues" below.
7. The first time you connect to the repeater (wirelessly), or after disconnect, you may need to perform a "repair wireless network connection". For example, in XP, right click on the wireless icon and select "Repair".
[edit] Optimizations
8. If you wish to dynamically repeat the STRONGEST signal (a more sophisticated version of #5 above) please read the AutoAP Wiki Article.
- AutoAP is a script that continuously scans for open wifi connections, tests them for validity, and connects to the strongest signal. If the connection is lost, the script scans again and finds the strongest valid signal again, and maintains a continuous connection to the internet in a mobile or portable environment. The script paremeters are highly configurable, including ability to configure secure connections.
9. For optional repeater performance enhancements:
- Go to tab "Wireless", subtab "Advanced Settings". Set "Preamble" to "Short". Set "Xmit Power" to higher than default (I use 200). Click "Save Settings".
[edit] Troubleshooting
- If you are having problems getting repeater mode working, first setup Client Mode or Client-Bridged Mode as a test. Once you have client mode working, then switch to repeater mode (keeping all your other settings) - verify its still working, and then add the virtual interface(s).
- The first time you connect to the repeater (wirelessly), or after disconnect, you may need to perform a "repair wireless network connection". For example, in XP, right click on the wireless icon and select "Repair".
- See Known Issues below.
[edit] Known Issues
- Build 0911: Bugtracker has an entry "Cannot use two SSIDs with different encryption settings at the same time." For repeater mode, this may mean you cannot have security on the physical and virtual interface at the same time for some builds. See bugtracker entry. This seems resolved in build 2007-0109.
- Build 0911 and earlier: you can't ping the devices (peers) on the virtual interface as reported [http://www.dd-wrt.com/phpBB2/viewtopic.php?t=2704