There's no handling of WDS from AP-to-AP in OpenWRT's wireless config
file for madwifi (wds_add). This patch tries to fix this. Example:
# Router1 - Wireless MAC 00:11:11:11:11:01
config 'wifi-iface'
option 'device' 'wifi0'
option 'network' 'lan'
option 'mode' 'ap'
option 'wds' '1'
option 'ssid' 'guifi.net-test-radio0'
option 'wds_add0' '00:11:11:11:11:02'
option 'wds_add1' '00:11:11:11:11:03'
# Router2 - Wireless MAC 00:11:11:11:11:02
config 'wifi-iface'
option 'device' 'wifi0'
option 'network' 'lan'
option 'mode' 'ap'
option 'wds' '1'
option 'ssid' 'guifi.net-test-radio0'
option 'wds_add0' '00:11:11:11:11:01'
# Router2 - Wireless MAC 00:11:11:11:11:03
config 'wifi-iface'
option 'device' 'wifi0'
option 'network' 'lan'
option 'mode' 'ap'
option 'wds' '1'
option 'ssid' 'guifi.net-test-radio0'
option 'wds_add0' '00:11:11:11:11:01'
New WDS interfaces will be created for each radio:
Router1:
ath0
ath0.wds0 # WDS to Router2
ath0.wds1 # WDS to Router3
Router2:
ath0
ath0.wds0 # WDS to Router1
Router3:
ath0
ath0.wds0 # WDS to Router1
Signed-off-by: Joan Llopart <joan.llopart at guifi dot net>
Index: package/madwifi/files/lib/wifi/madwifi.sh
===================================================================
--- package/madwifi/files/lib/wifi/madwifi.sh (revision 13122)
+++ package/madwifi/files/lib/wifi/madwifi.sh (working copy)
@@ -287,6 +287,19 @@
[ -n "$ssid" ] && iwconfig "$ifname" essid on
iwconfig "$ifname" essid "$ssid"
set_wifi_up "$vif" "$ifname"
+
+ cont=0
+ config_get "wds_add$cont" "$vif" "wds_add$cont"
+ eval wds_add=\$"wds_add$cont"
+ while [ $wds_add ]
+ do
+ iwpriv "$ifname" wds_add "$wds_add"
+ ifconfig "$ifname.wds$cont" up
+ cont=$((cont+1))
+ config_get "wds_add$cont" "$vif" "wds_add$cont"
+ eval wds_add=\$"wds_add$cont"
+ done
+
case "$mode" in
ap)
config_get_bool isolate "$vif" isolate 0
_______________________________________________
openwrt-devel mailing list
[email protected]
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel