diff -Naur netcfg-2.1.2/Makefile netcfg-2.1.3/Makefile
--- netcfg-2.1.2/Makefile	2008-10-04 09:48:09.000000000 +1000
+++ netcfg-2.1.3/Makefile	2009-03-01 20:13:48.000000000 +1100
@@ -1,5 +1,5 @@
 DESTDIR=
-VERSION=2.1.2
+VERSION=2.1.3
 
 install:
 	install -d $(DESTDIR)/usr/lib/network/ $(DESTDIR)/etc/network.d/examples \
diff -Naur netcfg-2.1.2/src/netcfg netcfg-2.1.3/src/netcfg
--- netcfg-2.1.2/src/netcfg	2008-10-04 09:48:09.000000000 +1000
+++ netcfg-2.1.3/src/netcfg	2009-03-01 20:13:48.000000000 +1100
@@ -12,7 +12,7 @@
 		printhl "$*"
 }
 
-NETCFG_VER=2.1.2
+NETCFG_VER=2.1.3
 PROFILE_DIR="/etc/network.d/"
 SUBR_DIR="/usr/lib/network/"
 STATE_DIR="/var/run/network/"
diff -Naur netcfg-2.1.2/src/wireless.subr netcfg-2.1.3/src/wireless.subr
--- netcfg-2.1.2/src/wireless.subr	2008-10-04 09:48:09.000000000 +1000
+++ netcfg-2.1.3/src/wireless.subr	2009-03-01 20:13:48.000000000 +1100
@@ -88,7 +88,7 @@
      
     [[ "$WPA_OPTS" == "" ]] && WPA_OPTS="-Dwext"
 
-    wpa_supplicant -wB -P/var/run/wpa_supplicant_${INTERFACE}.pid -i${INTERFACE} -c $WPA_CONF $WPA_OPTS    
+    wpa_supplicant -B -P/var/run/wpa_supplicant_${INTERFACE}.pid -i${INTERFACE} -c $WPA_CONF $WPA_OPTS    
     sleep 1
     
     if [[ ! -f /var/run/wpa_supplicant_${INTERFACE}.pid ]]; then
@@ -113,7 +113,7 @@
     quirk "prescan" && iwlist $INTERFACE scan &> /dev/null
     quirk "test" && echo "TESTWORKS!" 
     # Required by ipw3945 to properly re-associate
-    quirk "preessid" && eval "iwconfig $INTERFACE mode managed essid \"$ESSID\""
+    quirk "preessid" && eval "iwconfig $INTERFACE essid \"$ESSID\""
 
     # Kill any lingering wpa_supplicants.
     if [[ -f /var/run/wpa_supplicant_$INTERFACE.pid ]]; then
@@ -139,9 +139,9 @@
         # 'none' security uses iwconfig, like wep, so use same code, minus keysetting.
         # Use sane default if no alternative is specified
         if [[ "$SECURITY" = "wep" && "$WEP_OPTS" = "" ]]; then 
-            WEP_OPTS="mode managed essid \"$ESSID\" key open $KEY"
+            WEP_OPTS="essid \"$ESSID\" key open $KEY"
         elif [[ "$SECURITY" = "none" && "$WEP_OPTS" = "" ]]; then
-            WEP_OPTS="mode managed essid \"$ESSID\""
+            WEP_OPTS="essid \"$ESSID\""
         fi 
         
         # Add wierd quirk for some Atheros in response to FS#10585
@@ -159,10 +159,10 @@
         wep_check $INTERFACE $TIMEOUT|| return 1
         ;;    
     wpa)
-        local WPA_CONF=`mktemp /tmp/wpa.XXXXXXXX`
-        
+        local WPA_CONF="/tmp/wpa.${INTERFACE}"
+
         # Quirk for broken drivers... http://bbs.archlinux.org/viewtopic.php?id=36384
-        quirk "wpaessid" && eval iwconfig $INTERFACE mode managed essid "\"$ESSID\""
+        quirk "wpaessid" && eval iwconfig $INTERFACE essid "\"$ESSID\""
         
         # Create a random file to store configuration, make it root only. 
         chmod 600 $WPA_CONF
@@ -171,7 +171,7 @@
         
         # Generate configuration
         if [[ "${#KEY}" == "64" ]]; then
-            echo -e 'network={ \nssid="$ESSID" \npsk=$KEY \n}'> $WPA_CONF
+            echo -e "network={ \nssid=\"$ESSID\" \npsk=$KEY \n}">> $WPA_CONF
         elif ! wpa_passphrase "$ESSID" "$KEY" >> $WPA_CONF; then
             err_append "Configuration generation failed: `cat $WPA_CONF`"
             return 1
@@ -202,7 +202,9 @@
         . $SUBR_DIR/ethernet.subr
         ethernet_down $1
        fi
+    
     wpa_cli terminate &> /dev/null 
+    [[ "$SECURITY" == "wpa" ]] && rm -f "/tmp/wpa.${INTERFACE}"
     iwconfig $INTERFACE essid off key off &> /dev/null 
     #ifconfig $INTERFACE down
 }
