Hello OpenWRT Community,
i´m sitting here, after a few days working on the problem, drinking sherry.
I have a WDS system with 3 nodes up and running (stable) and decided to give you some of the help back that you gave me.
Here it my setup:
WRT54GL <---------> WRT54G v.3.1<----------> WRT54GL
300m 350m
So, i wanted to supply three households with both a AP and a bridge to my internet connection (the WRT54G). Everything with WPA encryption. Here is some stuff i found out, besides reading the documentation:
- There is a WDS_timeout nvram variable. Set it to 0 to stop your WDS system to crash every few hours.
- If you want to use WPA, don´t use TKIP. Use AES. I don´t now why, but with TKIP, you get packet loss, disrupted connections and burning cats falling from the sky.
- Set your SSID broadcast to on (wl0_closed=0). I somewhat helps stability.
- Don´t try afterburner. Waste of time. At least in my case. ^^
- My central device has both the macs of the other two in the "wl0_wds" variable. The other both, despite being in range of each other, only have the one of the central (the WRT54G).
- "wifi" can revitalise dead connections. So i wrote a script to use with cron:
The PINGIPS variable is to be set to the IPs of things (e.g. the next AP) that can be reached if the connections stands. If they come through, nothing happens. If not, "wifi" is run. Additionaly the output from "date" is saved under "/jffs/wlancheck.log" so you can see the time of the last run. If you uncomment the line with "echo ...", the script produces an output, which IPs couldn´t be pinged.
#!/bin/ash
PINGIPS="192.168.1.251 192.168.1.252"
for IP in $PINGIPS; do
if [ `ping -c 1 $IP | wc -l | cut -c "7"` != "6" ]; then
# echo "I run wifi for $IP now"
wifi
date > /jffs/wlancheck.log
fi
done
Thats that. Here is my complete output from "nvram show | sort":
aa0=3
ag0=0x02
bcm4712_firmware_version=v1.50.0
boardflags2=0
boardflags=0x2558
boardnum=42
boardrev=0x10
boardtype=0x0467
boot_ver=v3.7
boot_wait=off
bootnv_ver=4
ccode=0
cctl=0
clkfreq=200
ddns_cache=
ddns_enable=0
ddns_hostname=
ddns_interval=60
ddns_passwd=
ddns_username=
dhcp_num=50
dhcp_start=100
dl_ram_addr=a0001000
eou_configured=1
eou_device_id=L7LRCUMN
eou_expired_hour=72
et0macaddr=00:14:BF:C9:22:B3
et0mdcport=0
et0phyaddr=30
flash_type=Intel 28F320C3 2Mx16 BotB
gpio2=ses_led
gpio3=ses_led2
gpio4=ses_button
hb_server_ip=
il0macaddr=00:14:bf:c9:22:b5
l2tp_server_ip=
lan_dns=192.168.1.1
lan_gateway=192.168.1.1
lan_hwaddr=00:14:BF:C9:22:B3
lan_ifname=br0
lan_ifnames=vlan0 eth1 eth2 eth3
lan_ipaddr=192.168.1.253
lan_netmask=255.255.255.0
lan_proto=static
lan_stp=0
log_enable=0
log_level=0
opo=0x0008
os_date=Oct 6 2005
os_flash_addr=bfc40000
os_ram_addr=80001000
os_version=3.91.37.0
pa0b0=0x168b
pa0b1=0xfabf
pa0b2=0xfeaf
pa0itssit=62
pa0maxpwr=0x4e
pmon_ver=CFE 3.91.37.0
ppp_demand=1
ppp_idletime=5
ppp_mru=1500
ppp_mtu=1500
ppp_passwd=
ppp_redialperiod=30
ppp_username=
pppoe_demand=1
pppoe_idletime=5
pppoe_ifname=
pppoe_passwd=
pppoe_username=
pptp_server_ip=
router_name=Linksys3
scratch=a0180000
sdram_config=0x0062
sdram_init=0x010b
sdram_ncdl=0xfe0008
sdram_refresh=0x0000
sromrev=2
static_route_name=
upnp_enable=1
upnp_max_age=180
upnp_ssdp_interval=60
upnp_wan_proto=
vlan0hwname=et0
vlan0ports=3 2 1 0 5*
vlan1hwname=et0
vlan1ports=4 5
wan_dns=
wan_gateway=0.0.0.0
wan_hostname=
wan_hwaddr=00:14:BF:C9:22:B4
wan_hwname=
wan_iface=vlan1
wan_ifname=vlan1
wan_ifnames=vlan1
wan_ipaddr=0.0.0.0
wan_mtu=1500
wan_netmask=0.0.0.0
wan_proto=static
watchdog=5000
wl0_afterburner=off
wl0_akm=psk
wl0_antdiv=3
wl0_ap_isolate=0
wl0_auth=0
wl0_auth_mode=psk
wl0_bcn=100
wl0_channel=6
wl0_closed=0
wl0_corerev=9
wl0_country=ALL
wl0_country_code=DE
wl0_crypto=aes
wl0_dtim=1
wl0_frag=2346
wl0_frameburst=off
wl0_gmode=1
wl0_gmode_protection=off
wl0_hwaddr=00:14:BF:C9:22:B5
wl0_ifname=eth1
wl0_infra=1
wl0_key1=
wl0_key2=
wl0_key3=
wl0_key4=
wl0_key=1
wl0_lazywds=0
wl0_mac_deny=
wl0_mac_list=
wl0_maclist=
wl0_macmode=disabled
wl0_maxassoc=128
wl0_mode=ap
wl0_mrate=0
wl0_net_mode=mixed
wl0_net_reauth=36000
wl0_phytype=g
wl0_phytypes=g
wl0_plcphdr=long
wl0_radio=1
wl0_radioids=BCM2050
wl0_radius_key=
wl0_radius_port=1812
wl0_rate=0
wl0_rateset=default
wl0_rts=2347
wl0_ssid=happynet
wl0_wds=<macs to other APs>
wl0_wds_timeout=0
wl0_wep=disabled
wl0_wep_bit=64
wl0_wep_gen=
wl0_wep_last=
wl0_wme=off
wl0_wme_ap_be=15 63 3 0 0 off
wl0_wme_ap_bk=15 1023 7 0 0 off
wl0_wme_ap_vi=7 15 1 6016 3008 off
wl0_wme_ap_vo=3 7 1 3264 1504 off
wl0_wme_no_ack=off
wl0_wme_sta_be=15 1023 3 0 0 off
wl0_wme_sta_bk=15 1023 7 0 0 off
wl0_wme_sta_vi=7 15 2 6016 3008 off
wl0_wme_sta_vo=3 7 2 3264 1504 off
wl0_wpa_gtk_rekey=3600
wl0_wpa_psk=MyKey
wl0gpio2=0
wl0gpio3=0
wl0id=0x4320
I admit, its not much of a howto, but in combination with the documentation i should help a bit. Well at least i hope it does. ^^
Cheers,
Tarwin