[package] broadcom-wl: fix WDS hotplug for multiple networks
[openwrt/svn-archive/archive.git] / package / broadcom-wl / files / etc / hotplug.d / net / 20-broadcom_wds
index e4b537cc0775dd76f45c7639814a9ce539687d21..0a563c2dbd3c3109e4bfdb950d01c8b6113f7ed1 100644 (file)
@@ -23,19 +23,31 @@ setup_broadcom_wds() {
                        include /lib/network
                        scan_interfaces
 
-                       setup_interface "$iface" "$network"
+                       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 1
-                               nas4not lan "$iface" up auto aes "$encryption" "$key" "$ssid" 
+                               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
                        }
-
-                       brctl stp br-lan on
-                       
                }
        }