2006-10-15 20:52:31 +03:00
|
|
|
include /lib/wifi
|
|
|
|
|
|
|
|
setup_broadcom_wds() {
|
|
|
|
local iface="$1"
|
|
|
|
local remote="$(wlc ifname "$iface" wdsmac)"
|
|
|
|
|
|
|
|
[ -z "$remote" ] && return
|
|
|
|
|
|
|
|
config_cb() {
|
|
|
|
[ -z "$CONFIG_SECTION" ] && return
|
|
|
|
|
|
|
|
config_get type "$CONFIG_SECTION" TYPE
|
|
|
|
[ "$type" = "wifi-iface" ] || return
|
|
|
|
|
|
|
|
config_get network "$CONFIG_SECTION" network
|
|
|
|
[ -z "$network" ] && return
|
|
|
|
|
|
|
|
config_get addr "$CONFIG_SECTION" bssid
|
2007-07-08 15:51:30 +03:00
|
|
|
addr=$(echo "$addr" | tr 'A-F' 'a-f')
|
2006-10-15 20:52:31 +03:00
|
|
|
[ "$addr" = "$remote" ] && {
|
2007-07-03 01:58:11 +03:00
|
|
|
local cfg="$CONFIG_SECTION"
|
|
|
|
|
2006-10-15 20:52:31 +03:00
|
|
|
include /lib/network
|
|
|
|
scan_interfaces
|
|
|
|
|
|
|
|
setup_interface "$iface" "$network"
|
2007-07-03 01:58:11 +03:00
|
|
|
|
|
|
|
config_get encryption "$cfg" encryption
|
|
|
|
config_get key "$cfg" key
|
|
|
|
config_get ssid "$cfg" ssid
|
|
|
|
|
2007-07-08 15:51:30 +03:00
|
|
|
[ "$encryption" != "none" ] && {
|
2009-05-28 23:41:21 +03:00
|
|
|
sleep 5
|
2008-08-09 03:18:25 +03:00
|
|
|
case "$encryption" in
|
|
|
|
psk|PSK)
|
|
|
|
nas4not "$network" "$iface" up auto tkip psk "$key" "$ssid"
|
|
|
|
;;
|
|
|
|
psk2|PSK2)
|
|
|
|
nas4not "$network" "$iface" up auto aes psk "$key" "$ssid"
|
|
|
|
;;
|
|
|
|
psk+psk2|psk2+psk|PSK+PSK2|PSK2+PSK)
|
|
|
|
nas4not "$network" "$iface" up auto aes+tkip psk "$key" "$ssid"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
nas4not lan "$iface" up auto aes "$encryption" "$key" "$ssid"
|
|
|
|
;;
|
|
|
|
esac
|
2007-07-08 15:51:30 +03:00
|
|
|
}
|
2006-10-15 20:52:31 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
config_load wireless
|
|
|
|
}
|
|
|
|
|
|
|
|
case "$ACTION" in
|
|
|
|
add|register)
|
|
|
|
[ "${INTERFACE%%0.*}" = wds ] && setup_broadcom_wds "$INTERFACE"
|
|
|
|
;;
|
|
|
|
esac
|