12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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
- addr=$(echo "$addr" | tr 'A-F' 'a-f')
- [ "$addr" = "$remote" ] && {
- local cfg="$CONFIG_SECTION"
-
- include /lib/network
- scan_interfaces
- for network in $network; do
- setup_interface "$iface" "$network"
- done
-
- config_get encryption "$cfg" encryption
- config_get key "$cfg" key
- config_get ssid "$cfg" ssid
-
- [ "$encryption" != "none" ] && {
- sleep 5
- 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
- }
- }
- }
- config_load wireless
- }
- case "$ACTION" in
- add|register)
- [ "${INTERFACE%%[0-1]-*}" = wds ] && setup_broadcom_wds "$INTERFACE"
- ;;
- esac
|