Changeset 26370


Ignore:
Timestamp:
2011-03-30T14:37:36+02:00 (7 years ago)
Author:
nbd
Message:

backport mac80211, hostapd, iw, crda from trunk as of r26369

Location:
branches/backfire/package
Files:
12 added
41 deleted
17 edited
19 moved

Legend:

Unmodified
Added
Removed
  • branches/backfire/package/crda/Makefile

    r24064 r26370  
    1010 
    1111PKG_NAME:=crda 
    12 PKG_RELEASE:=2 
    13 PKG_VERSION:=1.1.0 
     12PKG_RELEASE:=1 
     13PKG_VERSION:=1.1.1 
    1414PKG_SOURCE_URL:=http://wireless.kernel.org/download/crda 
    1515PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 
    16 PKG_MD5SUM:=6004584d2e39e899f7642b141dd72028 
     16PKG_MD5SUM:=5fc77af68b3e21736b8ef2f8b061c810 
    1717PKG_BUILD_DEPENDS:=mac80211 
    1818 
    1919PKG_REGULATORY_NAME:=regulatory 
    20 PKG_REGULATORY_VERSION:=2010.11.17 
    21 PKG_REGULATORY_SOURCE_URL:=http://mirror2.openwrt.org/sources 
    22 #PKG_REGULATORY_SOURCE_URL:=http://wireless.kernel.org/download/wireless-regdb/regulatory.bins 
     20PKG_REGULATORY_VERSION:=2010.11.24 
     21PKG_REGULATORY_SOURCE_URL:=http://wireless.kernel.org/download/wireless-regdb/regulatory.bins 
    2322PKG_REGULATORY_SOURCE:=$(PKG_REGULATORY_VERSION)-$(PKG_REGULATORY_NAME).bin 
    24 PKG_REGULATORY_MD5SUM:=4a497f045d93a8d5b135f4d2816faa83 
     23PKG_REGULATORY_MD5SUM:=001b69bba19486439031377e09229f9c 
    2524 
    2625include $(INCLUDE_DIR)/package.mk 
     
    3029  CATEGORY:=Network 
    3130  TITLE:=Central Regulatory Domain Agent (CRDA) 
    32   DEPENDS:=@LINUX_2_6 +hotplug2 +libnl-tiny 
     31  DEPENDS:=+libnl-tiny 
    3332  URL:=http://wireless.kernel.org/en/developers/Regulatory/CRDA 
    3433endef 
  • branches/backfire/package/hostapd/Config.in

    r23733 r26370  
    2626        depends PACKAGE_wpa-supplicant || PACKAGE_wpa-supplicant-mini || PACKAGE_wpad || PACKAGE_wpad-mini 
    2727        default n 
     28 
     29 
     30config DRIVER_WEXT_SUPPORT 
     31        bool 
     32        default n 
     33 
     34config DRIVER_11N_SUPPORT 
     35        bool 
     36        default n 
  • branches/backfire/package/hostapd/Makefile

    r24158 r26370  
    99 
    1010PKG_NAME:=hostapd 
    11 PKG_VERSION:=20100705 
    12 PKG_RELEASE:=2 
    13 PKG_REV:=2f1ce78bf78cecd7021385b04a4f55f22e76ab97 
     11PKG_VERSION:=20110221 
     12PKG_RELEASE:=1 
     13PKG_REV:=cd9fc7869aa1e3935c028d4032d15c75e9946410 
    1414 
    1515PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 
     
    1818PKG_SOURCE_VERSION:=$(PKG_REV) 
    1919PKG_SOURCE_PROTO:=git 
     20PKG_MIRROR_MD5SUM:=f5f1462884d6e6808413e185b19ea3e3 
    2021 
    2122PKG_BUILD_DEPENDS:= \ 
     
    2627        CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK \ 
    2728        CONFIG_PACKAGE_kmod-ath9k \ 
    28         CONFIG_PACKAGE_kmod-rt2800-lib \ 
    2929        CONFIG_PACKAGE_kmod-mac80211 \ 
    3030        CONFIG_PACKAGE_kmod-madwifi \ 
     
    3232        CONFIG_PACKAGE_hostapd-mini \ 
    3333        CONFIG_PACKAGE_kmod-hostap \ 
    34         CONFIG_WPA_RFKILL_SUPPORT 
     34        CONFIG_WPA_RFKILL_SUPPORT \ 
     35        CONFIG_DRIVER_WEXT_SUPPORT \ 
     36        CONFIG_DRIVER_11N_SUPPORT 
    3537 
    3638LOCAL_TYPE=$(strip \ 
     
    5355include $(INCLUDE_DIR)/package.mk 
    5456 
    55 ifneq ($(CONFIG_PACKAGE_kmod-rt2800-lib),) 
    56   HOSTAPD_IEEE80211N:=y 
    57 endif 
    58  
    59 ifneq ($(CONFIG_PACKAGE_kmod-ath9k),) 
     57ifneq ($(CONFIG_DRIVER_11N_SUPPORT),) 
    6058  HOSTAPD_IEEE80211N:=y 
    6159endif 
     
    6765        CONFIG_IEEE80211N=$(HOSTAPD_IEEE80211N) \ 
    6866        CONFIG_IEEE80211W=$(CONFIG_PACKAGE_kmod-ath9k) \ 
     67        CONFIG_DRIVER_WEXT=$(CONFIG_DRIVER_WEXT_SUPPORT) \ 
    6968        $(if $(CONFIG_WPA_RFKILL_SUPPORT),NEED_RFKILL=y) 
    7069 
     
    223222        -DCONFIG_LIBNL20 \ 
    224223        -D_GNU_SOURCE 
     224 
     225TARGET_CFLAGS += -ffunction-sections -fdata-sections 
     226TARGET_LDFLAGS += -Wl,--gc-sections 
    225227 
    226228ifdef CONFIG_PACKAGE_kmod-mac80211 
  • branches/backfire/package/hostapd/files/hostapd-full.config

    r23733 r26370  
    159159 
    160160CONFIG_WPS=y 
     161CONFIG_FULL_DYNAMIC_VLAN=y 
     162 
  • branches/backfire/package/hostapd/files/hostapd.sh

    r25544 r26370  
    1010        config_get device "$vif" device 
    1111        config_get hwmode "$device" hwmode 
     12        config_get phy "$device" phy 
     13 
     14        append "$var" "ctrl_interface=/var/run/hostapd-$phy" "$N" 
    1215 
    1316        if [ "$ap_isolate" -gt 0 ]; then 
     
    128131 
    129132        config_get_bool wps_pbc "$vif" wps_pushbutton 0 
    130         [ -n "$wps_possible" -a "$wps_pbc" -gt 0 ] && { 
     133        config_get_bool wps_label "$vif" wps_label 0 
     134 
     135        config_get config_methods "$vif" wps_config 
     136        [ "$wps_pbc" -gt 0 ] && append config_methods push_button 
     137 
     138        [ -n "$wps_possible" -a -n "$config_methods" ] && { 
     139                config_get device_type "$vif" wps_device_type "6-0050F204-1" 
     140                config_get device_name "$vif" wps_device_name "OpenWrt AP" 
     141                config_get manufacturer "$vif" wps_manufacturer "openwrt.org" 
     142 
    131143                append "$var" "eap_server=1" "$N" 
    132144                append "$var" "wps_state=2" "$N" 
    133145                append "$var" "ap_setup_locked=1" "$N" 
    134                 append "$var" "config_methods=push_button" "$N" 
     146                append "$var" "device_type=$device_type" "$N" 
     147                append "$var" "device_name=$device_name" "$N" 
     148                append "$var" "manufacturer=$manufacturer" "$N" 
     149                append "$var" "config_methods=$config_methods" "$N" 
    135150        } 
    136151 
     
    138153        [ -n "$bridge" ] && append "$var" "bridge=$bridge" "$N" 
    139154        [ -n "$ieee80211d" ] && append "$var" "ieee80211d=$ieee80211d" "$N" 
    140         [ -n "$iapp_interface" ] && append "$var" $(uci_get_state network "$iapp_interface" ifname "$iapp_interface") "$N" 
    141  
    142         [ "$wpa" -ge "2" ] && config_get ieee80211w "$vif" ieee80211w 
    143         case "$ieee80211w" in 
    144                 [012]) 
    145                         append "$var" "ieee80211w=$ieee80211w" "$N" 
    146                         [ "$ieee80211w" -gt "0" ] && { 
    147                                 config_get ieee80211w_max_timeout "$vif" ieee80211w_max_timeout 
    148                                 config_get ieee80211w_retry_timeout "$vif" ieee80211w_retry_timeout 
    149                                 [ -n "$ieee80211w_max_timeout" ] && \ 
    150                                         append "$var" "assoc_sa_query_max_timeout=$ieee80211w_max_timeout" "$N" 
    151                                 [ -n "$ieee80211w_retry_timeout" ] && \ 
    152                                         append "$var" "assoc_sa_query_retry_timeout=$ieee80211w_retry_timeout" "$N" 
    153                         } 
    154                 ;; 
    155         esac 
     155        [ -n "$iapp_interface" ] && append "$var" iapp_interface=$(uci_get_state network "$iapp_interface" ifname "$iapp_interface") "$N" 
     156 
     157        if [ "$wpa" -ge "2" ] 
     158        then 
     159                # RSN -> allow preauthentication 
     160                config_get rsn_preauth "$vif" rsn_preauth 
     161                if [ -n "$bridge" -a "$rsn_preauth" = 1 ] 
     162                then 
     163                        append "$var" "rsn_preauth=1" "$N" 
     164                        append "$var" "rsn_preauth_interfaces=$bridge" "$N" 
     165                fi 
     166 
     167                # RSN -> allow management frame protection 
     168                config_get ieee80211w "$vif" ieee80211w 
     169                case "$ieee80211w" in 
     170                        [012]) 
     171                                append "$var" "ieee80211w=$ieee80211w" "$N" 
     172                                [ "$ieee80211w" -gt "0" ] && { 
     173                                        config_get ieee80211w_max_timeout "$vif" ieee80211w_max_timeout 
     174                                        config_get ieee80211w_retry_timeout "$vif" ieee80211w_retry_timeout 
     175                                        [ -n "$ieee80211w_max_timeout" ] && \ 
     176                                                append "$var" "assoc_sa_query_max_timeout=$ieee80211w_max_timeout" "$N" 
     177                                        [ -n "$ieee80211w_retry_timeout" ] && \ 
     178                                                append "$var" "assoc_sa_query_retry_timeout=$ieee80211w_retry_timeout" "$N" 
     179                                } 
     180                        ;; 
     181                esac 
     182        fi 
    156183} 
    157184 
     
    173200        [ -n "$channel" -a -z "$hwmode" ] && wifi_fixup_hwmode "$device" 
    174201        cat > /var/run/hostapd-$ifname.conf <<EOF 
    175 ctrl_interface=/var/run/hostapd-$ifname 
    176202driver=$driver 
    177203interface=$ifname 
  • branches/backfire/package/hostapd/files/wpa_supplicant.sh

    r23733 r26370  
    7878                                        pairwise='pairwise=CCMP' 
    7979                                        group='group=CCMP' 
     80                                        config_get identity "$vif" identity 
    8081                                        config_get priv_key "$vif" priv_key 
    8182                                        config_get priv_key_pwd "$vif" priv_key_pwd 
     83                                        identity="identity=\"$identity\"" 
    8284                                        priv_key="private_key=\"$priv_key\"" 
    8385                                        priv_key_pwd="private_key_passwd=\"$priv_key_pwd\"" 
  • branches/backfire/package/hostapd/patches/300-scan_ssid.patch

    r26365 r26370  
    11--- a/wpa_supplicant/scan.c 
    22+++ b/wpa_supplicant/scan.c 
    3 @@ -248,6 +248,7 @@ static void wpa_supplicant_scan(void *el 
     3@@ -251,6 +251,7 @@ static void wpa_supplicant_scan(void *el 
    44        enum wps_request_type req_type = WPS_REQ_ENROLLEE_INFO; 
    55 #endif /* CONFIG_WPS */ 
     
    99        enum wpa_states prev_state; 
    1010  
    11 @@ -316,6 +317,16 @@ static void wpa_supplicant_scan(void *el 
     11@@ -307,6 +308,16 @@ static void wpa_supplicant_scan(void *el 
    1212            wpa_s->wpa_state == WPA_INACTIVE) 
    1313                wpa_supplicant_set_state(wpa_s, WPA_SCANNING); 
     
    2626        ssid = wpa_s->conf->ssid; 
    2727        if (wpa_s->prev_scan_ssid != WILDCARD_SSID_SCAN) { 
    28 @@ -379,6 +390,9 @@ static void wpa_supplicant_scan(void *el 
     28@@ -370,6 +381,9 @@ static void wpa_supplicant_scan(void *el 
    2929                int_array_sort_unique(params.freqs); 
    3030        } 
  • branches/backfire/package/hostapd/patches/310-madwifi_merge.patch

    r26365 r26370  
    105105        struct madwifi_driver_data *drv = priv; 
    106106        struct ieee80211req_key wk; 
    107 @@ -462,10 +459,14 @@ wpa_driver_madwifi_set_key(const char *i 
    108         memset(&wk, 0, sizeof(wk)); 
    109         wk.ik_type = cipher; 
    110         wk.ik_flags = IEEE80211_KEY_RECV | IEEE80211_KEY_XMIT; 
    111 + 
    112         if (addr == NULL) { 
     107@@ -466,6 +463,9 @@ wpa_driver_madwifi_set_key(const char *i 
    113108                memset(wk.ik_macaddr, 0xff, IEEE80211_ADDR_LEN); 
    114109                wk.ik_keyix = key_idx; 
     
    120115                memcpy(wk.ik_macaddr, addr, IEEE80211_ADDR_LEN); 
    121116                wk.ik_keyix = IEEE80211_KEYIX_NONE; 
    122 @@ -485,6 +486,7 @@ wpa_driver_madwifi_set_key(const char *i 
     117@@ -485,6 +485,7 @@ wpa_driver_madwifi_set_key(const char *i 
    123118 } 
    124119  
     
    128123 madwifi_get_seqnum(const char *ifname, void *priv, const u8 *addr, int idx, 
    129124                   u8 *seq) 
    130 @@ -591,7 +593,7 @@ madwifi_read_sta_driver_data(void *priv, 
     125@@ -591,7 +592,7 @@ madwifi_read_sta_driver_data(void *priv, 
    131126  
    132127        memset(data, 0, sizeof(*data)); 
     
    137132        f = fopen(buf, "r"); 
    138133        if (!f) { 
    139 @@ -757,7 +759,7 @@ static int madwifi_receive_probe_req(str 
     134@@ -757,7 +758,7 @@ static int madwifi_receive_probe_req(str 
    140135        if (ret) 
    141136                return ret; 
     
    146141        if (drv->sock_raw == NULL) 
    147142                return -1; 
    148 @@ -1016,7 +1018,7 @@ madwifi_get_we_version(struct madwifi_dr 
     143@@ -1017,7 +1018,7 @@ madwifi_get_we_version(struct madwifi_dr 
    149144                return -1; 
    150145  
     
    155150        iwr.u.data.length = buflen; 
    156151  
    157 @@ -1133,17 +1135,17 @@ madwifi_init(struct hostapd_data *hapd,  
     152@@ -1134,17 +1135,17 @@ madwifi_init(struct hostapd_data *hapd,  
    158153                perror("socket[PF_INET,SOCK_DGRAM]"); 
    159154                goto bad; 
     
    176171        if (drv->sock_xmit == NULL) 
    177172                goto bad; 
    178 @@ -1157,7 +1159,7 @@ madwifi_init(struct hostapd_data *hapd,  
     173@@ -1158,7 +1159,7 @@ madwifi_init(struct hostapd_data *hapd,  
    179174                                                1); 
    180175                if (drv->sock_recv == NULL) 
     
    185180                           "EAPOL receive", brname); 
    186181                drv->sock_recv = l2_packet_init(brname, NULL, ETH_P_EAPOL, 
    187 @@ -1168,7 +1170,7 @@ madwifi_init(struct hostapd_data *hapd,  
     182@@ -1169,7 +1170,7 @@ madwifi_init(struct hostapd_data *hapd,  
    188183                drv->sock_recv = drv->sock_xmit; 
    189184  
     
    194189        iwr.u.mode = IW_MODE_MASTER; 
    195190  
    196 @@ -1203,7 +1205,7 @@ madwifi_deinit(void *priv) 
     191@@ -1180,7 +1181,7 @@ madwifi_init(struct hostapd_data *hapd,  
     192        } 
     193  
     194        /* mark down during setup */ 
     195-       linux_set_iface_flags(drv->ioctl_sock, drv->iface, 0); 
     196+       linux_set_iface_flags(drv->ioctl_sock, drv->ifname, 0); 
     197        madwifi_set_privacy(drv, 0); /* default to no privacy */ 
     198  
     199        madwifi_receive_probe_req(drv); 
     200@@ -1206,7 +1207,7 @@ madwifi_deinit(void *priv) 
    197201        struct madwifi_driver_data *drv = priv; 
    198202  
     
    203207                close(drv->ioctl_sock); 
    204208        if (drv->sock_recv != NULL && drv->sock_recv != drv->sock_xmit) 
    205 @@ -1222,7 +1224,7 @@ madwifi_set_ssid(void *priv, const u8 *b 
     209@@ -1225,7 +1226,7 @@ madwifi_set_ssid(void *priv, const u8 *b 
    206210        struct iwreq iwr; 
    207211  
     
    212216        iwr.u.essid.pointer = (caddr_t) buf; 
    213217        iwr.u.essid.length = len + 1; 
    214 @@ -1243,7 +1245,7 @@ madwifi_get_ssid(void *priv, u8 *buf, in 
     218@@ -1246,7 +1247,7 @@ madwifi_get_ssid(void *priv, u8 *buf, in 
    215219        int ret = 0; 
    216220  
     
    221225        iwr.u.essid.length = len; 
    222226  
    223 @@ -1270,137 +1272,16 @@ madwifi_commit(void *priv) 
    224         return 0; 
     227@@ -1271,140 +1272,19 @@ static int 
     228 madwifi_commit(void *priv) 
     229 { 
     230        struct madwifi_driver_data *drv = priv; 
     231-       return linux_set_iface_flags(drv->ioctl_sock, drv->iface, 1); 
     232+       return linux_set_iface_flags(drv->ioctl_sock, drv->ifname, 1); 
    225233 } 
    226234  
     
    362370 { 
    363371        struct iwreq iwr; 
    364 @@ -1411,7 +1292,7 @@ wpa_driver_madwifi_set_wpa_ie(struct wpa 
     372@@ -1415,7 +1295,7 @@ wpa_driver_madwifi_set_wpa_ie(struct wpa 
    365373        iwr.u.data.pointer = (void *) wpa_ie; 
    366374        iwr.u.data.length = wpa_ie_len; 
     
    371379                return -1; 
    372380        } 
    373 @@ -1419,156 +1300,51 @@ wpa_driver_madwifi_set_wpa_ie(struct wpa 
     381@@ -1423,157 +1303,51 @@ wpa_driver_madwifi_set_wpa_ie(struct wpa 
    374382 } 
    375383  
     
    463471-       wk.ik_keylen = key_len; 
    464472-#ifdef WORDS_BIGENDIAN 
    465 -       { 
     473-       if (seq) { 
    466474-               size_t i; 
    467475-               u8 tmp[WPA_KEY_RSC_LEN]; 
     
    472480-       } 
    473481-#else /* WORDS_BIGENDIAN */ 
    474 -       os_memcpy(&wk.ik_keyrsc, seq, seq_len); 
     482-       if (seq) 
     483-               os_memcpy(&wk.ik_keyrsc, seq, seq_len); 
    475484-#endif /* WORDS_BIGENDIAN */ 
    476485-       os_memcpy(wk.ik_keydata, key, key_len); 
     
    536545        if (wpa_driver_madwifi_set_auth_alg(drv, params->auth_alg) < 0) 
    537546                ret = -1; 
    538 @@ -1591,12 +1367,12 @@ wpa_driver_madwifi_associate(void *priv, 
     547@@ -1596,12 +1370,12 @@ wpa_driver_madwifi_associate(void *priv, 
    539548            params->wpa_ie_len == 0) 
    540549                privacy = 0; 
     
    551560  
    552561        if (params->bssid == NULL) { 
    553 @@ -1604,14 +1380,14 @@ wpa_driver_madwifi_associate(void *priv, 
     562@@ -1609,14 +1383,14 @@ wpa_driver_madwifi_associate(void *priv, 
    554563                 * roaming */ 
    555564                /* FIX: this does not seem to work; would probably need to 
     
    568577                if (wpa_driver_wext_set_ssid(drv->wext, params->ssid, 
    569578                                             params->ssid_len) < 0) 
    570 @@ -1620,7 +1396,7 @@ wpa_driver_madwifi_associate(void *priv, 
     579@@ -1625,7 +1399,7 @@ wpa_driver_madwifi_associate(void *priv, 
    571580                mlme.im_op = IEEE80211_MLME_ASSOC; 
    572581                os_memcpy(mlme.im_macaddr, params->bssid, IEEE80211_ADDR_LEN); 
     
    577586                                   __func__); 
    578587                        ret = -1; 
    579 @@ -1633,7 +1409,7 @@ wpa_driver_madwifi_associate(void *priv, 
     588@@ -1638,7 +1412,7 @@ wpa_driver_madwifi_associate(void *priv, 
    580589 static int 
    581590 wpa_driver_madwifi_set_auth_alg(void *priv, int auth_alg) 
     
    586595  
    587596        if ((auth_alg & WPA_AUTH_ALG_OPEN) && 
    588 @@ -1644,13 +1420,13 @@ wpa_driver_madwifi_set_auth_alg(void *pr 
     597@@ -1649,13 +1423,13 @@ wpa_driver_madwifi_set_auth_alg(void *pr 
    589598        else 
    590599                authmode = IEEE80211_AUTH_OPEN; 
     
    602611        int ret = 0; 
    603612        const u8 *ssid = params->ssids[0].ssid; 
    604 @@ -1668,7 +1444,7 @@ wpa_driver_madwifi_scan(void *priv, stru 
     613@@ -1673,7 +1447,7 @@ wpa_driver_madwifi_scan(void *priv, stru 
    605614        if (wpa_driver_wext_set_ssid(drv->wext, ssid, ssid_len) < 0) 
    606615                ret = -1; 
     
    611620                ret = -1; 
    612621        } 
    613 @@ -1690,14 +1466,14 @@ wpa_driver_madwifi_scan(void *priv, stru 
     622@@ -1695,14 +1469,14 @@ wpa_driver_madwifi_scan(void *priv, stru 
    614623  
    615624 static int wpa_driver_madwifi_get_bssid(void *priv, u8 *bssid) 
     
    628637 } 
    629638  
    630 @@ -1705,14 +1481,16 @@ static int wpa_driver_madwifi_get_ssid(v 
     639@@ -1710,14 +1484,16 @@ static int wpa_driver_madwifi_get_ssid(v 
    631640 static struct wpa_scan_results * 
    632641 wpa_driver_madwifi_get_scan_results(void *priv) 
     
    647656 } 
    648657  
    649 @@ -1733,7 +1511,7 @@ static int wpa_driver_madwifi_set_probe_ 
     658@@ -1738,7 +1514,7 @@ static int wpa_driver_madwifi_set_probe_ 
    650659  
    651660        ret = set80211priv(priv, IEEE80211_IOCTL_SET_APPIEBUF, probe_req_ie, 
     
    656665        os_free(probe_req_ie); 
    657666  
    658 @@ -1743,7 +1521,7 @@ static int wpa_driver_madwifi_set_probe_ 
     667@@ -1748,7 +1524,7 @@ static int wpa_driver_madwifi_set_probe_ 
    659668  
    660669 static void * wpa_driver_madwifi_init(void *ctx, const char *ifname) 
     
    665674        drv = os_zalloc(sizeof(*drv)); 
    666675        if (drv == NULL) 
    667 @@ -1754,17 +1532,17 @@ static void * wpa_driver_madwifi_init(vo 
     676@@ -1759,17 +1535,17 @@ static void * wpa_driver_madwifi_init(vo 
    668677  
    669678        drv->ctx = ctx; 
     
    687696                           __FUNCTION__); 
    688697                goto fail3; 
    689 @@ -1773,7 +1551,7 @@ static void * wpa_driver_madwifi_init(vo 
     698@@ -1778,7 +1554,7 @@ static void * wpa_driver_madwifi_init(vo 
    690699        return drv; 
    691700  
     
    696705        wpa_driver_wext_deinit(drv->wext); 
    697706 fail: 
    698 @@ -1784,38 +1562,37 @@ fail: 
     707@@ -1789,38 +1565,37 @@ fail: 
    699708  
    700709 static void wpa_driver_madwifi_deinit(void *priv) 
     
    742751        .hapd_init              = madwifi_init, 
    743752        .hapd_deinit            = madwifi_deinit, 
    744 @@ -1835,7 +1612,8 @@ const struct wpa_driver_ops wpa_driver_m 
     753@@ -1840,7 +1615,8 @@ const struct wpa_driver_ops wpa_driver_m 
    745754        .sta_clear_stats        = madwifi_sta_clear_stats, 
    746755        .commit                 = madwifi_commit, 
     
    752761        .get_ssid               = wpa_driver_madwifi_get_ssid, 
    753762        .init                   = wpa_driver_madwifi_init, 
    754 @@ -1847,5 +1625,5 @@ const struct wpa_driver_ops wpa_driver_m 
     763@@ -1852,5 +1628,5 @@ const struct wpa_driver_ops wpa_driver_m 
    755764        .disassociate           = wpa_driver_madwifi_disassociate, 
    756765        .associate              = wpa_driver_madwifi_associate, 
     
    759768+#endif 
    760769 }; 
     770--- a/src/drivers/drivers.mak 
     771+++ b/src/drivers/drivers.mak 
     772@@ -144,8 +144,8 @@ DRV_WPA_OBJS += ../src/drivers/driver_ro 
     773 endif 
     774  
     775 ifdef CONFIG_WIRELESS_EXTENSION 
     776-DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION 
     777-DRV_WPA_OBJS += ../src/drivers/driver_wext.o 
     778+DRV_CFLAGS += -DCONFIG_WIRELESS_EXTENSION 
     779+DRV_OBJS += ../src/drivers/driver_wext.o 
     780 NEED_RFKILL=y 
     781 endif 
     782  
  • branches/backfire/package/hostapd/patches/320-nl80211_multicall_fixes.patch

    r26365 r26370  
    11--- a/src/drivers/driver_nl80211.c 
    22+++ b/src/drivers/driver_nl80211.c 
    3 @@ -1135,7 +1135,6 @@ nla_put_failure: 
     3@@ -1468,7 +1468,6 @@ nla_put_failure: 
    44 } 
    55  
     
    99        int max_scan_ssids; 
    1010        int ap_supported; 
    11 @@ -1247,7 +1246,6 @@ static int wpa_driver_nl80211_capa(struc 
     11@@ -1613,7 +1612,6 @@ static int wpa_driver_nl80211_capa(struc 
    1212  
    1313        return 0; 
     
    1616  
    1717  
    18  static int wpa_driver_nl80211_init_nl(struct wpa_driver_nl80211_data *drv, 
    19 @@ -1411,6 +1409,7 @@ static void * wpa_driver_nl80211_init(vo 
     18 static int wpa_driver_nl80211_init_nl(struct wpa_driver_nl80211_data *drv) 
     19@@ -1825,6 +1823,7 @@ static void * wpa_driver_nl80211_init(vo 
    2020        drv->monitor_ifidx = -1; 
    2121        drv->monitor_sock = -1; 
     
    2323+       drv->nlmode = NL80211_IFTYPE_STATION; 
    2424  
    25         if (wpa_driver_nl80211_init_nl(drv, ctx)) { 
     25        if (wpa_driver_nl80211_init_nl(drv)) { 
    2626                os_free(drv); 
    27 @@ -1530,32 +1529,32 @@ wpa_driver_nl80211_finish_drv_init(struc 
     27@@ -1988,32 +1987,32 @@ wpa_driver_nl80211_finish_drv_init(struc 
    2828        drv->ifindex = if_nametoindex(bss->ifname); 
    2929        drv->first_bss.ifindex = drv->ifindex; 
     
    3434-                          "use managed mode"); 
    3535-       } 
    36 +       if (drv->nlmode == NL80211_IFTYPE_STATION) { 
    37 +               if (wpa_driver_nl80211_set_mode(bss, IEEE80211_MODE_INFRA) < 0) { 
    38 +                       wpa_printf(MSG_DEBUG, "nl80211: Could not configure driver to " 
    39 +                                  "use managed mode"); 
    40 +               } 
    41   
     36- 
    4237-       if (linux_set_iface_flags(drv->ioctl_sock, bss->ifname, 1)) { 
    4338-               if (rfkill_is_blocked(drv->rfkill)) { 
     
    5146-                                  "interface '%s' UP", bss->ifname); 
    5247-                       return -1; 
     48+       if (drv->nlmode == NL80211_IFTYPE_STATION) { 
     49+               if (wpa_driver_nl80211_set_mode(bss, IEEE80211_MODE_INFRA) < 0) { 
     50+                       wpa_printf(MSG_DEBUG, "nl80211: Could not configure driver to " 
     51+                                  "use managed mode"); 
     52+               } 
     53+ 
    5354+               if (linux_set_iface_flags(drv->ioctl_sock, bss->ifname, 1)) { 
    5455+                       if (rfkill_is_blocked(drv->rfkill)) { 
     
    7879+       } 
    7980  
    80         if (nl80211_register_action_frames(drv) < 0) { 
    81                 wpa_printf(MSG_DEBUG, "nl80211: Failed to register Action " 
    82 @@ -2219,13 +2218,9 @@ static int wpa_driver_nl80211_set_key(co 
    83          */ 
    84         if (ret || !set_tx || alg == WPA_ALG_NONE) 
    85                 return ret; 
    86 -#ifdef HOSTAPD 
    87 -       if (addr) 
    88 -               return ret; 
    89 -#else /* HOSTAPD */ 
    90 + 
    91         if (drv->nlmode == NL80211_IFTYPE_AP && addr) 
    92                 return ret; 
    93 -#endif /* HOSTAPD */ 
    94   
    95         msg = nlmsg_alloc(); 
    96         if (!msg) 
    97 @@ -3066,7 +3061,8 @@ static void nl80211_remove_iface(struct  
     81        if (linux_get_ifhwaddr(drv->ioctl_sock, bss->ifname, drv->addr)) 
     82                return -1; 
     83@@ -3738,7 +3737,8 @@ static void nl80211_remove_iface(struct  
    9884  
    9985 #ifdef HOSTAPD 
     
    10591  
    10692        msg = nlmsg_alloc(); 
    107 @@ -3139,7 +3135,8 @@ static int nl80211_create_iface_once(str 
     93@@ -3811,7 +3811,8 @@ static int nl80211_create_iface_once(str 
    10894  
    10995 #ifdef HOSTAPD 
     
    115101  
    116102        if (addr && iftype != NL80211_IFTYPE_MONITOR && 
    117 @@ -4842,6 +4839,7 @@ static void *i802_init(struct hostapd_da 
    118                 return NULL; 
    119   
    120         drv = bss->drv; 
    121 +       drv->nlmode = NL80211_IFTYPE_AP; 
    122         if (linux_br_get(brname, params->ifname) == 0) { 
    123                 wpa_printf(MSG_DEBUG, "nl80211: Interface %s is in bridge %s", 
    124                            params->ifname, brname); 
  • branches/backfire/package/hostapd/patches/330-multicall_bridge_fix.patch

    r26365 r26370  
    11--- a/src/drivers/driver_nl80211.c 
    22+++ b/src/drivers/driver_nl80211.c 
    3 @@ -410,6 +410,10 @@ static void wpa_driver_nl80211_event_rtm 
     3@@ -464,6 +464,10 @@ static void wpa_driver_nl80211_event_rtm 
    44                return; 
    55        } 
     
    1212                   "(%s%s%s%s)", 
    1313                   drv->operstate, ifi->ifi_flags, 
    14 @@ -481,6 +485,10 @@ static void wpa_driver_nl80211_event_rtm 
     14@@ -535,6 +539,10 @@ static void wpa_driver_nl80211_event_rtm 
    1515        attrlen = len; 
    1616        attr = (struct rtattr *) buf; 
     
    2323        while (RTA_OK(attr, attrlen)) { 
    2424                if (attr->rta_type == IFLA_IFNAME) { 
    25 @@ -1347,6 +1355,11 @@ static int wpa_driver_nl80211_init_nl(st 
    26         eloop_register_read_sock(nl_socket_get_fd(drv->nl_handle_event), 
    27                                  wpa_driver_nl80211_event_receive, drv, ctx); 
     25@@ -1610,6 +1618,11 @@ static int wpa_driver_nl80211_capa(struc 
     26                drv->capa.flags |= WPA_DRIVER_FLAGS_P2P_CAPABLE; 
     27        drv->capa.max_remain_on_chan = info.max_remain_on_chan; 
    2828  
    2929+#ifdef HOSTAPD 
     
    3333+ 
    3434        return 0; 
     35 } 
    3536  
    36  err4: 
    37 @@ -4867,8 +4880,6 @@ static void *i802_init(struct hostapd_da 
     37@@ -5602,8 +5615,6 @@ static void *i802_init(struct hostapd_da 
    3838                br_ifindex = 0; 
    3939        } 
  • branches/backfire/package/hostapd/patches/500-scan_wait.patch

    r26365 r26370  
    11--- a/src/ap/hostapd.h 
    22+++ b/src/ap/hostapd.h 
    3 @@ -245,6 +245,7 @@ struct hostapd_iface { 
     3@@ -228,6 +228,7 @@ struct hostapd_iface { 
    44        int (*for_each_interface)(struct hapd_interfaces *interfaces, 
    55                                  int (*cb)(struct hostapd_iface *iface, 
     
    1111--- a/src/ap/hostapd.c 
    1212+++ b/src/ap/hostapd.c 
    13 @@ -755,6 +755,9 @@ int hostapd_setup_interface_complete(str 
     13@@ -790,6 +790,9 @@ int hostapd_setup_interface_complete(str 
    1414        wpa_printf(MSG_DEBUG, "%s: Setup of interface done.", 
    1515                   iface->bss[0]->conf->iface); 
     
    8787  
    8888        return 0; 
    89 @@ -479,8 +485,7 @@ int main(int argc, char *argv[]) 
     89@@ -491,8 +497,7 @@ int main(int argc, char *argv[]) 
    9090        struct hapd_interfaces interfaces; 
    9191        int ret = 1; 
     
    9494-       char *pid_file = NULL; 
    9595+       int c, debug = 0; 
     96        const char *log_file = NULL; 
    9697  
    9798        if (os_program_init()) 
    98                 return -1; 
    99 @@ -545,7 +550,7 @@ int main(int argc, char *argv[]) 
     99@@ -566,7 +571,7 @@ int main(int argc, char *argv[]) 
    100100                        goto out; 
    101101        } 
     
    106106  
    107107        ret = 0; 
    108 @@ -556,7 +561,7 @@ int main(int argc, char *argv[]) 
     108@@ -577,7 +582,7 @@ int main(int argc, char *argv[]) 
    109109                hostapd_interface_deinit_free(interfaces.iface[i]); 
    110110        os_free(interfaces.iface); 
     
    114114        os_free(pid_file); 
    115115  
    116         os_program_deinit(); 
     116        if (log_file) 
    117117--- a/hostapd/config_file.c 
    118118+++ b/hostapd/config_file.c 
    119 @@ -1857,6 +1857,8 @@ struct hostapd_config * hostapd_config_r 
     119@@ -1891,6 +1891,8 @@ struct hostapd_config * hostapd_config_r 
    120120                        } 
    121121 #endif /* CONFIG_IEEE80211W */ 
     
    128128--- a/src/ap/ap_config.h 
    129129+++ b/src/ap/ap_config.h 
    130 @@ -369,6 +369,7 @@ struct hostapd_config { 
     130@@ -389,6 +389,7 @@ struct hostapd_config { 
    131131  
    132132        int ht_op_mode_fixed; 
     
    135135        int ieee80211n; 
    136136        int secondary_channel; 
    137  }; 
     137        int require_ht; 
    138138--- a/src/ap/hw_features.c 
    139139+++ b/src/ap/hw_features.c 
    140 @@ -460,7 +460,7 @@ static int ieee80211n_check_40mhz(struct 
     140@@ -463,7 +463,7 @@ static int ieee80211n_check_40mhz(struct 
    141141 { 
    142142        struct wpa_driver_scan_params params; 
  • branches/backfire/package/hostapd/patches/510-multicall.patch

    r26365 r26370  
    99 ifndef CONFIG_OS 
    1010 ifdef CONFIG_NATIVE_WINDOWS 
    11 @@ -157,10 +158,14 @@ ifdef CONFIG_IEEE80211N 
     11@@ -159,10 +160,14 @@ ifdef CONFIG_IEEE80211N 
    1212 CFLAGS += -DCONFIG_IEEE80211N 
    1313 endif 
     
    2727  
    2828 ifdef CONFIG_L2_PACKET 
    29 @@ -739,6 +744,12 @@ install: all 
     29@@ -780,6 +785,12 @@ install: all 
    3030  
    3131 BCHECK=../src/drivers/build.hostapd 
     
    3838+ 
    3939 hostapd: $(BCHECK) $(OBJS) 
    40         $(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS) 
    41   
    42 @@ -777,6 +788,12 @@ HOBJS += ../src/crypto/aes-internal.o 
     40        $(Q)$(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS) 
     41        @$(E) "  LD " $@ 
     42@@ -820,6 +831,12 @@ HOBJS += ../src/crypto/aes-internal.o 
    4343 HOBJS += ../src/crypto/aes-internal-enc.o 
    4444 endif 
     
    5151+ 
    5252 nt_password_hash: $(NOBJS) 
    53         $(CC) $(LDFLAGS) -o nt_password_hash $(NOBJS) $(LIBS_n) 
    54   
     53        $(Q)$(CC) $(LDFLAGS) -o nt_password_hash $(NOBJS) $(LIBS_n) 
     54        @$(E) "  LD " $@ 
    5555--- a/wpa_supplicant/Makefile 
    5656+++ b/wpa_supplicant/Makefile 
    57 @@ -52,6 +52,7 @@ OBJS_p += ../src/utils/wpabuf.o 
    58  OBJS_c = wpa_cli.o ../src/common/wpa_ctrl.o 
     57@@ -53,6 +53,7 @@ OBJS_c = wpa_cli.o ../src/common/wpa_ctr 
     58 OBJS_c += ../src/utils/wpa_debug.o 
    5959  
    6060 -include .config 
     
    6363 ifndef CONFIG_OS 
    6464 ifdef CONFIG_NATIVE_WINDOWS 
    65 @@ -581,6 +582,10 @@ ifdef CONFIG_DYNAMIC_EAP_METHODS 
     65@@ -634,6 +635,10 @@ ifdef CONFIG_DYNAMIC_EAP_METHODS 
    6666 CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS 
    6767 LIBS += -ldl -rdynamic 
     
    7474  
    7575 ifdef CONFIG_AP 
    76 @@ -635,6 +640,12 @@ CFLAGS += -DEAP_SERVER_WSC 
     76@@ -642,9 +647,11 @@ NEED_EAP_COMMON=y 
     77 NEED_RSN_AUTHENTICATOR=y 
     78 CFLAGS += -DCONFIG_AP 
     79 OBJS += ap.o 
     80+ifndef MULTICALL 
     81 CFLAGS += -DCONFIG_NO_RADIUS 
     82 CFLAGS += -DCONFIG_NO_ACCOUNTING 
     83 CFLAGS += -DCONFIG_NO_VLAN 
     84+endif 
     85 OBJS += ../src/ap/hostapd.o 
     86 OBJS += ../src/ap/wpa_auth_glue.o 
     87 OBJS += ../src/ap/utils.o 
     88@@ -688,10 +695,18 @@ CFLAGS += -DEAP_SERVER_WSC 
    7789 OBJS += ../src/ap/wps_hostapd.o 
    7890 OBJS += ../src/eap_server/eap_server_wsc.o 
     
    8799  
    88100 ifdef NEED_RSN_AUTHENTICATOR 
    89 @@ -1270,6 +1281,12 @@ BCHECK=../src/drivers/build.wpa_supplica 
    90  wpa_priv: $(BCHECK) $(OBJS_priv) 
    91         $(LDO) $(LDFLAGS) -o wpa_priv $(OBJS_priv) $(LIBS) 
     101+ifndef MULTICALL 
     102 CFLAGS += -DCONFIG_NO_RADIUS 
     103+endif 
     104 NEED_AES_WRAP=y 
     105 OBJS += ../src/ap/wpa_auth.o 
     106 OBJS += ../src/ap/wpa_auth_ie.o 
     107@@ -1352,6 +1367,12 @@ wpa_priv: $(BCHECK) $(OBJS_priv) 
     108        $(Q)$(LDO) $(LDFLAGS) -o wpa_priv $(OBJS_priv) $(LIBS) 
     109        @$(E) "  LD " $@ 
    92110  
    93111+wpa_supplicant_multi.a: .config $(BCHECK) $(OBJS) $(EXTRA_progs) 
     
    98116+ 
    99117 wpa_supplicant: .config $(BCHECK) $(OBJS) $(EXTRA_progs) 
    100         $(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS) 
    101   
    102 @@ -1329,6 +1346,12 @@ endif 
     118        $(Q)$(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS) 
     119        @$(E) "  LD " $@ 
     120@@ -1412,6 +1433,12 @@ eap_ikev2.so: ../src/eap_peer/eap_ikev2. 
    103121        $(Q)$(CC) -c -o $@ $(CFLAGS) $< 
    104122        @$(E) "  CC " $< 
     
    115133--- a/src/drivers/driver.h 
    116134+++ b/src/drivers/driver.h 
    117 @@ -2465,8 +2465,8 @@ union wpa_event_data { 
     135@@ -3169,8 +3169,8 @@ union wpa_event_data { 
    118136  * Driver wrapper code should call this function whenever an event is received 
    119137  * from the driver. 
     
    128146--- a/src/ap/drv_callbacks.c 
    129147+++ b/src/ap/drv_callbacks.c 
    130 @@ -375,8 +375,8 @@ static void hostapd_event_eapol_rx(struc 
     148@@ -443,8 +443,8 @@ static void hostapd_event_eapol_rx(struc 
    131149 } 
    132150  
     
    139157        struct hostapd_data *hapd = ctx; 
    140158  
    141 @@ -453,5 +453,6 @@ void wpa_supplicant_event(void *ctx, enu 
    142                 break; 
    143         } 
    144  } 
    145 - 
    146  #endif /* HOSTAPD */ 
    147 + 
    148 + 
    149159--- a/wpa_supplicant/wpa_priv.c 
    150160+++ b/wpa_supplicant/wpa_priv.c 
     
    170180--- a/wpa_supplicant/events.c 
    171181+++ b/wpa_supplicant/events.c 
    172 @@ -1582,8 +1582,8 @@ static void ft_rx_action(struct wpa_supp 
    173  #endif /* CONFIG_IEEE80211R */ 
     182@@ -1718,8 +1718,8 @@ static void wpa_supplicant_event_unprot_ 
     183 } 
    174184  
    175185  
     
    183193--- a/wpa_supplicant/wpa_supplicant.c 
    184194+++ b/wpa_supplicant/wpa_supplicant.c 
    185 @@ -2228,6 +2228,9 @@ struct wpa_supplicant * wpa_supplicant_g 
    186         return NULL; 
     195@@ -2313,6 +2313,9 @@ static void wpa_supplicant_deinit_iface( 
     196                wpa_drv_deinit(wpa_s); 
    187197 } 
    188198  
     
    192202  
    193203 /** 
    194   * wpa_supplicant_init - Initialize %wpa_supplicant 
    195 @@ -2246,6 +2249,7 @@ struct wpa_global * wpa_supplicant_init( 
    196         if (params == NULL) 
    197                 return NULL; 
     204  * wpa_supplicant_add_iface - Add a new network interface 
     205@@ -2496,6 +2499,7 @@ struct wpa_global * wpa_supplicant_init( 
     206        wpa_msg_register_ifname_cb(wpa_supplicant_msg_ifname_cb); 
     207 #endif /* CONFIG_NO_WPA_MSG */ 
    198208  
    199209+       wpa_supplicant_event = supplicant_event; 
     
    203213--- a/hostapd/main.c 
    204214+++ b/hostapd/main.c 
    205 @@ -479,6 +479,9 @@ static void usage(void) 
    206         exit(1); 
     215@@ -491,6 +491,9 @@ static const char * hostapd_msg_ifname_c 
     216        return NULL; 
    207217 } 
    208218  
     
    213223 int main(int argc, char *argv[]) 
    214224 { 
    215 @@ -490,6 +493,7 @@ int main(int argc, char *argv[]) 
     225@@ -503,6 +506,7 @@ int main(int argc, char *argv[]) 
    216226        if (os_program_init()) 
    217227                return -1; 
     
    219229+       wpa_supplicant_event = hostapd_wpa_event; 
    220230        for (;;) { 
    221                 c = getopt(argc, argv, "BdhKP:tv"); 
     231                c = getopt(argc, argv, "Bdf:hKP:tv"); 
    222232                if (c < 0) 
    223233--- a/src/drivers/drivers.c 
  • branches/backfire/package/hostapd/patches/530-rescan_immediately.patch

    r26365 r26370  
    11--- a/wpa_supplicant/events.c 
    22+++ b/wpa_supplicant/events.c 
    3 @@ -963,7 +963,7 @@ static void wpa_supplicant_event_scan_re 
    4                         wpa_printf(MSG_DEBUG, "Setup a new network"); 
     3@@ -953,7 +953,7 @@ static int _wpa_supplicant_event_scan_re 
     4                        wpa_dbg(wpa_s, MSG_DEBUG, "Setup a new network"); 
    55                        wpa_supplicant_associate(wpa_s, NULL, ssid); 
    66                } else { 
     
    88+                       int timeout_sec = 0; 
    99                        int timeout_usec = 0; 
    10                         wpa_supplicant_req_new_scan(wpa_s, timeout_sec, 
    11                                                     timeout_usec); 
     10 #ifdef CONFIG_P2P 
     11                        if (wpa_s->p2p_in_provisioning) { 
  • branches/backfire/package/hostapd/patches/540-optional_rfkill.patch

    r26365 r26370  
    11--- a/src/drivers/driver_nl80211.c 
    22+++ b/src/drivers/driver_nl80211.c 
    3 @@ -75,7 +75,9 @@ struct wpa_driver_nl80211_data { 
     3@@ -129,7 +129,9 @@ struct wpa_driver_nl80211_data { 
    44        int ifindex; 
    55        int if_removed; 
     
    1111        int has_capability; 
    1212  
    13 @@ -1361,7 +1363,7 @@ err1: 
     13@@ -1750,7 +1752,7 @@ err1: 
    1414        return -1; 
    1515 } 
     
    2020 { 
    2121        wpa_printf(MSG_DEBUG, "nl80211: RFKILL blocked"); 
    22 @@ -1383,6 +1385,7 @@ static void wpa_driver_nl80211_rfkill_un 
     22@@ -1772,6 +1774,7 @@ static void wpa_driver_nl80211_rfkill_un 
    2323        } 
    2424        /* rtnetlink ifup handler will report interface as enabled */ 
     
    2727  
    2828  
    29  /** 
    30 @@ -1396,7 +1399,9 @@ static void * wpa_driver_nl80211_init(vo 
     29 static void nl80211_get_phy_name(struct wpa_driver_nl80211_data *drv) 
     30@@ -1820,7 +1823,9 @@ static void * wpa_driver_nl80211_init(vo 
    3131 { 
    3232        struct wpa_driver_nl80211_data *drv; 
     
    3838  
    3939        drv = os_zalloc(sizeof(*drv)); 
    40 @@ -1434,6 +1439,7 @@ static void * wpa_driver_nl80211_init(vo 
     40@@ -1863,6 +1868,7 @@ static void * wpa_driver_nl80211_init(vo 
    4141                goto failed; 
    4242        } 
     
    4646        if (rcfg == NULL) 
    4747                goto failed; 
    48 @@ -1446,6 +1452,7 @@ static void * wpa_driver_nl80211_init(vo 
     48@@ -1875,6 +1881,7 @@ static void * wpa_driver_nl80211_init(vo 
    4949                wpa_printf(MSG_DEBUG, "nl80211: RFKILL status not available"); 
    5050                os_free(rcfg); 
     
    5454        if (wpa_driver_nl80211_finish_drv_init(drv)) 
    5555                goto failed; 
    56 @@ -1453,7 +1460,9 @@ static void * wpa_driver_nl80211_init(vo 
     56@@ -1882,7 +1889,9 @@ static void * wpa_driver_nl80211_init(vo 
    5757        return bss; 
    5858  
     
    6464        if (drv->ioctl_sock >= 0) 
    6565                close(drv->ioctl_sock); 
    66 @@ -1514,10 +1523,12 @@ static int nl80211_register_action_frame 
     66@@ -1985,10 +1994,12 @@ static int nl80211_register_action_frame 
    6767 } 
    6868  
     
    7777  
    7878 static int 
    79 @@ -1536,13 +1547,16 @@ wpa_driver_nl80211_finish_drv_init(struc 
     79@@ -2007,13 +2018,16 @@ wpa_driver_nl80211_finish_drv_init(struc 
    8080                } 
    8181  
     
    9595                                           "interface '%s' UP", bss->ifname); 
    9696                                return -1; 
    97 @@ -1567,8 +1581,10 @@ wpa_driver_nl80211_finish_drv_init(struc 
     97@@ -2041,8 +2055,10 @@ wpa_driver_nl80211_finish_drv_init(struc 
    9898        } 
    9999  
     
    106106  
    107107        return 0; 
    108 @@ -1647,7 +1663,9 @@ static void wpa_driver_nl80211_deinit(vo 
     108@@ -2123,7 +2139,9 @@ static void wpa_driver_nl80211_deinit(vo 
    109109  
    110110        netlink_send_oper_ifla(drv->netlink, drv->ifindex, 0, IF_OPER_UP); 
     
    116116        eloop_cancel_timeout(wpa_driver_nl80211_scan_timeout, drv, drv->ctx); 
    117117  
     118@@ -5672,7 +5690,9 @@ static void *i802_init(struct hostapd_da 
     119  
     120 failed: 
     121        nl80211_remove_monitor_interface(drv); 
     122+#ifdef CONFIG_RFKILL 
     123        rfkill_deinit(drv->rfkill); 
     124+#endif 
     125        netlink_deinit(drv->netlink); 
     126        if (drv->ioctl_sock >= 0) 
     127                close(drv->ioctl_sock); 
    118128--- a/src/drivers/driver_wext.c 
    119129+++ b/src/drivers/driver_wext.c 
    120 @@ -700,7 +700,7 @@ static void wpa_driver_wext_event_rtm_de 
     130@@ -702,7 +702,7 @@ static void wpa_driver_wext_event_rtm_de 
    121131        } 
    122132 } 
     
    127137 { 
    128138        wpa_printf(MSG_DEBUG, "WEXT: RFKILL blocked"); 
    129 @@ -722,7 +722,7 @@ static void wpa_driver_wext_rfkill_unblo 
     139@@ -724,7 +724,7 @@ static void wpa_driver_wext_rfkill_unblo 
    130140        } 
    131141        /* rtnetlink ifup handler will report interface as enabled */ 
     
    134144+#endif /* CONFIG_RFKILL */ 
    135145  
    136  /** 
    137   * wpa_driver_wext_init - Initialize WE driver interface 
    138 @@ -735,7 +735,9 @@ void * wpa_driver_wext_init(void *ctx, c 
     146 static void wext_get_phy_name(struct wpa_driver_wext_data *drv) 
     147 { 
     148@@ -770,7 +770,9 @@ void * wpa_driver_wext_init(void *ctx, c 
    139149 { 
    140150        struct wpa_driver_wext_data *drv; 
     
    146156        struct stat buf; 
    147157  
    148 @@ -769,6 +771,7 @@ void * wpa_driver_wext_init(void *ctx, c 
     158@@ -805,6 +807,7 @@ void * wpa_driver_wext_init(void *ctx, c 
    149159                goto err2; 
    150160        } 
     
    154164        if (rcfg == NULL) 
    155165                goto err3; 
    156 @@ -781,6 +784,7 @@ void * wpa_driver_wext_init(void *ctx, c 
     166@@ -817,6 +820,7 @@ void * wpa_driver_wext_init(void *ctx, c 
    157167                wpa_printf(MSG_DEBUG, "WEXT: RFKILL status not available"); 
    158168                os_free(rcfg); 
     
    162172        drv->mlme_sock = -1; 
    163173  
    164 @@ -792,7 +796,9 @@ void * wpa_driver_wext_init(void *ctx, c 
     174@@ -828,7 +832,9 @@ void * wpa_driver_wext_init(void *ctx, c 
    165175        return drv; 
    166176  
     
    172182 err2: 
    173183        close(drv->ioctl_sock); 
    174 @@ -802,10 +808,12 @@ err1: 
     184@@ -838,10 +844,12 @@ err1: 
    175185 } 
    176186  
     
    185195  
    186196 static int wpa_driver_wext_finish_drv_init(struct wpa_driver_wext_data *drv) 
    187 @@ -813,13 +821,16 @@ static int wpa_driver_wext_finish_drv_in 
     197@@ -849,13 +857,16 @@ static int wpa_driver_wext_finish_drv_in 
    188198        int send_rfkill_event = 0; 
    189199  
     
    203213                                   "interface '%s' UP", drv->ifname); 
    204214                        return -1; 
    205 @@ -867,8 +878,10 @@ static int wpa_driver_wext_finish_drv_in 
     215@@ -903,8 +914,10 @@ static int wpa_driver_wext_finish_drv_in 
    206216                               1, IF_OPER_DORMANT); 
    207217  
     
    214224  
    215225        return 0; 
    216 @@ -898,7 +911,9 @@ void wpa_driver_wext_deinit(void *priv) 
     226@@ -934,7 +947,9 @@ void wpa_driver_wext_deinit(void *priv) 
    217227  
    218228        netlink_send_oper_ifla(drv->netlink, drv->ifindex, 0, IF_OPER_UP); 
     
    226236--- a/src/drivers/drivers.mak 
    227237+++ b/src/drivers/drivers.mak 
    228 @@ -31,7 +31,6 @@ NEED_SME=y 
     238@@ -43,7 +43,6 @@ NEED_SME=y 
    229239 NEED_AP_MLME=y 
    230240 NEED_NETLINK=y 
    231241 NEED_LINUX_IOCTL=y 
    232242-NEED_RFKILL=y 
    233  DRV_LIBS += -lnl 
    234   
    235  ifdef CONFIG_LIBNL20 
    236 @@ -78,7 +77,6 @@ DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT 
     243 ifdef CONFIG_LIBNL_TINY 
     244 DRV_LIBS += -lnl-tiny 
     245 else 
     246@@ -94,7 +93,6 @@ DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT 
    237247 CONFIG_WIRELESS_EXTENSION=y 
    238248 NEED_NETLINK=y 
     
    241251 endif 
    242252  
    243  ifdef CONFIG_DRIVER_HERMES 
    244 @@ -166,6 +164,7 @@ endif 
     253 ifdef CONFIG_DRIVER_RALINK 
     254@@ -146,7 +144,6 @@ endif 
     255 ifdef CONFIG_WIRELESS_EXTENSION 
     256 DRV_CFLAGS += -DCONFIG_WIRELESS_EXTENSION 
     257 DRV_OBJS += ../src/drivers/driver_wext.o 
     258-NEED_RFKILL=y 
     259 endif 
     260  
     261 ifdef NEED_NETLINK 
     262@@ -159,6 +156,7 @@ endif 
    245263  
    246264 ifdef NEED_RFKILL 
     
    252270--- a/src/drivers/driver_wext.h 
    253271+++ b/src/drivers/driver_wext.h 
    254 @@ -27,7 +27,9 @@ struct wpa_driver_wext_data { 
     272@@ -28,7 +28,9 @@ struct wpa_driver_wext_data { 
    255273        int ifindex2; 
    256274        int if_removed; 
  • branches/backfire/package/hostapd/patches/550-reload_freq_change.patch

    r26365 r26370  
    11--- a/src/ap/hostapd.c 
    22+++ b/src/ap/hostapd.c 
    3 @@ -112,6 +112,10 @@ int hostapd_reload_config(struct hostapd 
     3@@ -120,6 +120,10 @@ int hostapd_reload_config(struct hostapd 
    44        oldconf = hapd->iconf; 
    55        iface->conf = newconf; 
  • branches/backfire/package/hostapd/patches/551-nl80211_del_beacon_bss.patch

    r26365 r26370  
    11--- a/src/drivers/driver_nl80211.c 
    22+++ b/src/drivers/driver_nl80211.c 
    3 @@ -1604,23 +1604,41 @@ wpa_driver_nl80211_finish_drv_init(struc 
     3@@ -2065,23 +2065,41 @@ wpa_driver_nl80211_finish_drv_init(struc 
    44 } 
    55  
     
    4545 /** 
    4646  * wpa_driver_nl80211_deinit - Deinitialize nl80211 driver interface 
    47 @@ -5512,4 +5530,5 @@ const struct wpa_driver_ops wpa_driver_n 
    48         .send_ft_action = nl80211_send_ft_action, 
    49         .signal_monitor = nl80211_signal_monitor, 
    50         .send_frame = nl80211_send_frame, 
     47@@ -6529,4 +6547,5 @@ const struct wpa_driver_ops wpa_driver_n 
     48        .set_intra_bss = nl80211_set_intra_bss, 
     49        .set_param = nl80211_set_param, 
     50        .get_radio_name = nl80211_get_radio_name, 
    5151+       .stop_ap = wpa_driver_nl80211_stop_ap, 
    5252 }; 
    5353--- a/src/drivers/driver.h 
    5454+++ b/src/drivers/driver.h 
    55 @@ -1774,6 +1774,8 @@ struct wpa_driver_ops { 
    56          */ 
    57         int (*send_frame)(void *priv, const u8 *data, size_t data_len, 
    58                           int encrypt); 
     55@@ -2217,6 +2217,8 @@ struct wpa_driver_ops { 
     56                              const u8 *buf, size_t len); 
     57  
     58        int (*tdls_oper)(void *priv, enum tdls_oper oper, const u8 *peer); 
    5959+ 
    6060+       int (*stop_ap)(void *priv); 
  • branches/backfire/package/hostapd/patches/552-ctrl_iface_reload.patch

    r26365 r26370  
    11--- a/hostapd/ctrl_iface.c 
    22+++ b/hostapd/ctrl_iface.c 
    3 @@ -35,6 +35,7 @@ 
    4  #include "ap/wps_hostapd.h" 
    5  #include "ap/ctrl_iface_ap.h" 
     3@@ -39,6 +39,7 @@ 
     4 #include "wps/wps_defs.h" 
     5 #include "wps/wps.h" 
    66 #include "ctrl_iface.h" 
    77+#include "config_file.h" 
     
    99  
    1010 struct wpa_ctrl_dst { 
    11 @@ -45,6 +46,7 @@ struct wpa_ctrl_dst { 
     11@@ -49,6 +50,7 @@ struct wpa_ctrl_dst { 
    1212        int errors; 
    1313 }; 
     
    1717 static void hostapd_ctrl_iface_send(struct hostapd_data *hapd, int level, 
    1818                                    const char *buf, size_t len); 
    19 @@ -315,6 +317,66 @@ static int hostapd_ctrl_iface_wps_oob(st 
    20  #endif /* CONFIG_WPS_OOB */ 
    21  #endif /* CONFIG_WPS */ 
     19@@ -323,6 +325,66 @@ static int hostapd_ctrl_iface_disassocia 
     20        return 0; 
     21 } 
    2222  
    2323+static int hostapd_ctrl_iface_set_down(struct hostapd_data *hapd) 
     
    8282+} 
    8383  
    84  static void hostapd_ctrl_iface_receive(int sock, void *eloop_ctx, 
    85                                        void *sock_ctx) 
    86 @@ -379,6 +441,10 @@ static void hostapd_ctrl_iface_receive(i 
     84 #ifdef CONFIG_IEEE80211W 
     85 #ifdef NEED_AP_MLME 
     86@@ -822,6 +884,10 @@ static void hostapd_ctrl_iface_receive(i 
    8787                                reply_len += res; 
    8888                } 
  • branches/backfire/package/hostapd/patches/553-ap_sta_support.patch

    r26365 r26370  
    11--- a/wpa_supplicant/wpa_supplicant_i.h 
    22+++ b/wpa_supplicant/wpa_supplicant_i.h 
    3 @@ -98,6 +98,8 @@ struct wpa_interface { 
     3@@ -99,6 +99,8 @@ struct wpa_interface { 
    44         * receiving of EAPOL frames from an additional interface. 
    55         */ 
     
    1010  
    1111 /** 
    12 @@ -316,6 +318,8 @@ struct wpa_supplicant { 
     12@@ -337,6 +339,8 @@ struct wpa_supplicant { 
    1313 #endif /* CONFIG_CTRL_IFACE_DBUS_NEW */ 
    1414        char bridge_ifname[16]; 
     
    2121--- a/wpa_supplicant/Makefile 
    2222+++ b/wpa_supplicant/Makefile 
    23 @@ -51,6 +51,11 @@ OBJS_p += ../src/utils/wpa_debug.o 
    24  OBJS_p += ../src/utils/wpabuf.o 
     23@@ -52,6 +52,11 @@ OBJS_p += ../src/utils/wpabuf.o 
    2524 OBJS_c = wpa_cli.o ../src/common/wpa_ctrl.o 
     25 OBJS_c += ../src/utils/wpa_debug.o 
    2626  
    2727+ifdef MULTICALL 
     
    3535--- a/wpa_supplicant/wpa_supplicant.c 
    3636+++ b/wpa_supplicant/wpa_supplicant.c 
    37 @@ -120,6 +120,55 @@ extern int wpa_debug_show_keys; 
     37@@ -122,6 +122,55 @@ extern int wpa_debug_show_keys; 
    3838 extern int wpa_debug_timestamp; 
    3939 extern struct wpa_driver_ops *wpa_drivers[]; 
     
    9191 int wpa_set_wep_keys(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid) 
    9292 { 
    93 @@ -548,8 +597,16 @@ void wpa_supplicant_set_state(struct wpa 
    94  #ifndef IEEE8021X_EAPOL 
    95                 wpa_drv_set_supp_port(wpa_s, 1); 
    96  #endif 
     93@@ -597,8 +646,16 @@ void wpa_supplicant_set_state(struct wpa 
     94 #ifdef CONFIG_P2P 
     95                wpas_p2p_completed(wpa_s); 
     96 #endif /* CONFIG_P2P */ 
    9797+#ifdef MULTICALL 
    9898+               if (wpa_s->hostapd) 
     
    108108                wpa_drv_set_operstate(wpa_s, 0); 
    109109 #ifndef IEEE8021X_EAPOL 
    110 @@ -1957,6 +2014,21 @@ static int wpa_supplicant_init_iface(str 
     110@@ -2148,6 +2205,21 @@ static int wpa_supplicant_init_iface(str 
    111111                os_strlcpy(wpa_s->bridge_ifname, iface->bridge_ifname, 
    112112                           sizeof(wpa_s->bridge_ifname)); 
     
    140140 #include "wpa_supplicant_i.h" 
    141141 #include "config.h" 
    142 @@ -89,6 +90,8 @@ struct wpa_bss * wpa_bss_get(struct wpa_ 
     142@@ -70,6 +71,8 @@ struct wpa_bss * wpa_bss_get(struct wpa_ 
    143143  
    144144 static void wpa_bss_copy_res(struct wpa_bss *dst, struct wpa_scan_res *src) 
     
    149149  
    150150        dst->flags = src->flags; 
    151 @@ -101,6 +104,12 @@ static void wpa_bss_copy_res(struct wpa_ 
     151@@ -82,6 +85,12 @@ static void wpa_bss_copy_res(struct wpa_ 
    152152        dst->level = src->level; 
    153153        dst->tsf = src->tsf; 
  • branches/backfire/package/hostapd/patches/600-terminate_on_setup_failure.patch

    r24158 r26370  
    11--- a/src/ap/hostapd.c 
    22+++ b/src/ap/hostapd.c 
    3 @@ -706,11 +706,8 @@ int hostapd_setup_interface_complete(str 
     3@@ -717,11 +717,8 @@ int hostapd_setup_interface_complete(str 
    44        size_t j; 
    55        u8 *prev_addr; 
     
    1515        wpa_printf(MSG_DEBUG, "Completing interface initialization"); 
    1616        if (hapd->iconf->channel) { 
    17 @@ -726,7 +723,7 @@ int hostapd_setup_interface_complete(str 
     17@@ -737,7 +734,7 @@ int hostapd_setup_interface_complete(str 
    1818                                     hapd->iconf->secondary_channel)) { 
    1919                        wpa_printf(MSG_ERROR, "Could not set channel for " 
     
    2424        } 
    2525  
    26 @@ -736,7 +733,7 @@ int hostapd_setup_interface_complete(str 
     26@@ -748,7 +745,7 @@ int hostapd_setup_interface_complete(str 
    2727                        hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211, 
    28                                            HOSTAPD_LEVEL_WARNING, 
    29                                            "Failed to prepare rates table."); 
     28                                       HOSTAPD_LEVEL_WARNING, 
     29                                       "Failed to prepare rates table."); 
    3030-                       return -1; 
    3131+                       goto error; 
     
    3333        } 
    3434  
    35 @@ -744,14 +741,14 @@ int hostapd_setup_interface_complete(str 
     35@@ -756,14 +753,14 @@ int hostapd_setup_interface_complete(str 
    3636            hostapd_set_rts(hapd, hapd->iconf->rts_threshold)) { 
    3737                wpa_printf(MSG_ERROR, "Could not set RTS threshold for " 
     
    5050  
    5151        prev_addr = hapd->own_addr; 
    52 @@ -761,7 +758,7 @@ int hostapd_setup_interface_complete(str 
     52@@ -773,7 +770,7 @@ int hostapd_setup_interface_complete(str 
    5353                if (j) 
    5454                        os_memcpy(hapd->own_addr, prev_addr, ETH_ALEN); 
     
    5959                        prev_addr = hapd->own_addr; 
    6060        } 
    61 @@ -773,7 +770,7 @@ int hostapd_setup_interface_complete(str 
     61@@ -785,7 +782,7 @@ int hostapd_setup_interface_complete(str 
    6262        if (hostapd_driver_commit(hapd) < 0) { 
    6363                wpa_printf(MSG_ERROR, "%s: Failed to commit driver " 
     
    6767        } 
    6868  
    69         wpa_printf(MSG_DEBUG, "%s: Setup of interface done.", 
    70 @@ -783,6 +780,11 @@ int hostapd_setup_interface_complete(str 
     69        if (hapd->setup_complete_cb) 
     70@@ -798,6 +795,11 @@ int hostapd_setup_interface_complete(str 
    7171                iface->init_complete(iface); 
    7272  
  • branches/backfire/package/iw/Makefile

    r23733 r26370  
    99 
    1010PKG_NAME:=iw 
    11 PKG_VERSION:=0.9.21 
     11PKG_VERSION:=0.9.22 
    1212PKG_RELEASE:=1 
    1313 
    1414PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 
    1515PKG_SOURCE_URL:=http://wireless.kernel.org/download/iw/ 
    16 PKG_MD5SUM:=726db5f1fd6bc316434414770513ef81 
     16PKG_MD5SUM:=561c2602c5ce7c65a590118286c0892a 
    1717PKG_BUILD_DEPENDS:=mac80211 
    1818 
  • branches/backfire/package/iw/patches/001-nl80211_sync.patch

    r24505 r26370  
    11--- a/nl80211.h 
    22+++ b/nl80211.h 
    3 @@ -295,7 +295,9 @@ 
    4   *     auth and assoc steps. For this, you need to specify the SSID in a 
    5   *     %NL80211_ATTR_SSID attribute, and can optionally specify the association 
    6   *     IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_MAC, 
    7 - *     %NL80211_ATTR_WIPHY_FREQ and %NL80211_ATTR_CONTROL_PORT. 
    8 + *     %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, 
    9 + *     %NL80211_ATTR_CONTROL_PORT_ETHERTYPE and 
    10 + *     %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT. 
    11   *     It is also sent as an event, with the BSSID and response IEs when the 
    12   *     connection is established or failed to be established. This can be 
    13   *     determined by the STATUS_CODE attribute. 
    14 @@ -313,8 +315,8 @@ 
    15   *     channel for the specified amount of time. This can be used to do 
    16   *     off-channel operations like transmit a Public Action frame and wait for 
    17   *     a response while being associated to an AP on another channel. 
    18 - *     %NL80211_ATTR_WIPHY or %NL80211_ATTR_IFINDEX is used to specify which 
    19 - *     radio is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the 
    20 + *     %NL80211_ATTR_IFINDEX is used to specify which interface (and thus 
    21 + *     radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the 
    22   *     frequency for the operation and %NL80211_ATTR_WIPHY_CHANNEL_TYPE may be 
    23   *     optionally used to specify additional channel parameters. 
    24   *     %NL80211_ATTR_DURATION is used to specify the duration in milliseconds 
    25 @@ -385,6 +387,8 @@ 
    26   *     of any other interfaces, and other interfaces will again take 
    27   *     precedence when they are used. 
     3@@ -148,6 +148,10 @@ 
     4  * @NL80211_CMD_SET_MPATH:  Set mesh path attributes for mesh path to 
     5  *     destination %NL80211_ATTR_MAC on the interface identified by 
     6  *     %NL80211_ATTR_IFINDEX. 
     7+ * @NL80211_CMD_NEW_MPATH: Create a new mesh path for the destination given by 
     8+ *     %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP. 
     9+ * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by 
     10+ *     %NL80211_ATTR_MAC. 
     11  * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the 
     12  *     the interface identified by %NL80211_ATTR_IFINDEX. 
     13  * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC 
     14@@ -612,7 +616,7 @@ enum nl80211_commands { 
     15  *     consisting of a nested array. 
    2816  * 
    29 + * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface. 
    30 + * 
    31   * @NL80211_CMD_MAX: highest used command number 
    32   * @__NL80211_CMD_AFTER_LAST: internal use 
    33   */ 
    34 @@ -487,6 +491,7 @@ enum nl80211_commands { 
    35         NL80211_CMD_NOTIFY_CQM, 
    36   
    37         NL80211_CMD_SET_CHANNEL, 
    38 +       NL80211_CMD_SET_WDS_PEER, 
    39   
    40         /* add new commands above here */ 
    41   
    42 @@ -686,6 +691,15 @@ enum nl80211_commands { 
    43   *     request, the driver will assume that the port is unauthorized until 
    44   *     authorized by user space. Otherwise, port is marked authorized by 
    45   *     default in station mode. 
    46 + * @NL80211_ATTR_CONTROL_PORT_ETHERTYPE: A 16-bit value indicating the 
    47 + *     ethertype that will be used for key negotiation. It can be 
    48 + *     specified with the associate and connect commands. If it is not 
    49 + *     specified, the value defaults to 0x888E (PAE, 802.1X). This 
    50 + *     attribute is also used as a flag in the wiphy information to 
    51 + *     indicate that protocols other than PAE are supported. 
    52 + * @NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT: When included along with 
    53 + *     %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, indicates that the custom 
    54 + *     ethertype frames used for key negotiation must not be encrypted. 
     17  * @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes). 
     18- * @NL80211_ATTR_PLINK_ACTION: action to perform on the mesh peer link. 
     19+ * @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link. 
     20  * @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path. 
     21  * @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path 
     22  *     info given for %NL80211_CMD_GET_MPATH, nested attribute described at 
     23@@ -879,7 +883,9 @@ enum nl80211_commands { 
     24  *     See &enum nl80211_key_default_types. 
    5525  * 
    56   * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver. 
    57   *     We recommend using nested, driver-specific attributes within this. 
    58 @@ -787,6 +801,33 @@ enum nl80211_commands { 
    59   *      This is used in association with @NL80211_ATTR_WIPHY_TX_POWER_SETTING 
    60   *      for non-automatic settings. 
     26  * @NL80211_ATTR_MESH_SETUP: Optional mesh setup parameters.  These cannot be 
     27- * changed once the mesh is active. 
     28+ *     changed once the mesh is active. 
     29+ * @NL80211_ATTR_MESH_CONFIG: Mesh configuration parameters, a nested attribute 
     30+ *     containing attributes from &enum nl80211_meshconf_params. 
    6131  * 
    62 + * @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly 
    63 + *     means support for per-station GTKs. 
    64 + * 
    65 + * @NL80211_ATTR_WIPHY_ANTENNA_TX: Bitmap of allowed antennas for transmitting. 
    66 + *     This can be used to mask out antennas which are not attached or should 
    67 + *     not be used for transmitting. If an antenna is not selected in this 
    68 + *     bitmap the hardware is not allowed to transmit on this antenna. 
    69 + * 
    70 + *     Each bit represents one antenna, starting with antenna 1 at the first 
    71 + *     bit. Depending on which antennas are selected in the bitmap, 802.11n 
    72 + *     drivers can derive which chainmasks to use (if all antennas belonging to 
    73 + *     a particular chain are disabled this chain should be disabled) and if 
    74 + *     a chain has diversity antennas wether diversity should be used or not. 
    75 + *     HT capabilities (STBC, TX Beamforming, Antenna selection) can be 
    76 + *     derived from the available chains after applying the antenna mask. 
    77 + *     Non-802.11n drivers can derive wether to use diversity or not. 
    78 + *     Drivers may reject configurations or RX/TX mask combinations they cannot 
    79 + *     support by returning -EINVAL. 
    80 + * 
    81 + * @NL80211_ATTR_WIPHY_ANTENNA_RX: Bitmap of allowed antennas for receiving. 
    82 + *     This can be used to mask out antennas which are not attached or should 
    83 + *     not be used for receiving. If an antenna is not selected in this bitmap 
    84 + *     the hardware should not be configured to receive on this antenna. 
    85 + *     For a more detailed descripton see @NL80211_ATTR_WIPHY_ANTENNA_TX. 
    86 + * 
    87 + * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS 
    88 + * 
    8932  * @NL80211_ATTR_MAX: highest attribute number currently defined 
    9033  * @__NL80211_ATTR_AFTER_LAST: internal use 
    91   */ 
    92 @@ -951,6 +992,16 @@ enum nl80211_attrs { 
    93         NL80211_ATTR_RX_FRAME_TYPES, 
    94         NL80211_ATTR_FRAME_TYPE, 
    95   
    96 +       NL80211_ATTR_CONTROL_PORT_ETHERTYPE, 
    97 +       NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, 
    98 + 
    99 +       NL80211_ATTR_SUPPORT_IBSS_RSN, 
    100 + 
    101 +       NL80211_ATTR_WIPHY_ANTENNA_TX, 
    102 +       NL80211_ATTR_WIPHY_ANTENNA_RX, 
    103 + 
    104 +       NL80211_ATTR_MCAST_RATE, 
    105 + 
    106         /* add attributes here, update the policy in nl80211.c */ 
    107   
    108         __NL80211_ATTR_AFTER_LAST, 
    109 @@ -1006,6 +1057,8 @@ enum nl80211_attrs { 
    110   * @NL80211_IFTYPE_WDS: wireless distribution interface 
    111   * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames 
    112   * @NL80211_IFTYPE_MESH_POINT: mesh point 
    113 + * @NL80211_IFTYPE_P2P_CLIENT: P2P client 
    114 + * @NL80211_IFTYPE_P2P_GO: P2P group owner 
    115   * @NL80211_IFTYPE_MAX: highest interface type number currently defined 
    116   * @NUM_NL80211_IFTYPES: number of defined interface types 
    117   * 
    118 @@ -1022,6 +1075,8 @@ enum nl80211_iftype { 
    119         NL80211_IFTYPE_WDS, 
    120         NL80211_IFTYPE_MONITOR, 
    121         NL80211_IFTYPE_MESH_POINT, 
    122 +       NL80211_IFTYPE_P2P_CLIENT, 
    123 +       NL80211_IFTYPE_P2P_GO, 
    124   
    125         /* keep last */ 
    126         NUM_NL80211_IFTYPES, 
    127 @@ -1111,6 +1166,8 @@ enum nl80211_rate_info { 
    128   * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station) 
    129   * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this 
    130   *     station) 
    131 + * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station) 
    132 + * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station) 
     34@@ -1225,8 +1231,6 @@ enum nl80211_rate_info { 
     35  * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs) 
     36  * @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station) 
     37  * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station) 
     38- * @__NL80211_STA_INFO_AFTER_LAST: internal 
     39- * @NL80211_STA_INFO_MAX: highest possible station info attribute 
     40  * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) 
     41  * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute 
     42  *     containing info as possible, see &enum nl80211_sta_info_txrate. 
     43@@ -1236,6 +1240,13 @@ enum nl80211_rate_info { 
     44  * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station) 
     45  * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station) 
     46  * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm) 
     47+ * @NL80211_STA_INFO_LLID: the station's mesh LLID 
     48+ * @NL80211_STA_INFO_PLID: the station's mesh PLID 
     49+ * @NL80211_STA_INFO_PLINK_STATE: peer link state for the station 
     50+ * @NL80211_STA_INFO_RX_BITRATE: last unicast rx rate, nested attribute 
     51+ *     containing info as possible, see &enum nl80211_sta_info_txrate. 
     52+ * @__NL80211_STA_INFO_AFTER_LAST: internal 
     53+ * @NL80211_STA_INFO_MAX: highest possible station info attribute 
    13354  */ 
    13455 enum nl80211_sta_info { 
    13556        __NL80211_STA_INFO_INVALID, 
    136 @@ -1124,6 +1181,8 @@ enum nl80211_sta_info { 
    137         NL80211_STA_INFO_TX_BITRATE, 
    138         NL80211_STA_INFO_RX_PACKETS, 
    139         NL80211_STA_INFO_TX_PACKETS, 
    140 +       NL80211_STA_INFO_TX_RETRIES, 
    141 +       NL80211_STA_INFO_TX_FAILED, 
     57@@ -1252,6 +1263,7 @@ enum nl80211_sta_info { 
     58        NL80211_STA_INFO_TX_RETRIES, 
     59        NL80211_STA_INFO_TX_FAILED, 
     60        NL80211_STA_INFO_SIGNAL_AVG, 
     61+       NL80211_STA_INFO_RX_BITRATE, 
    14262  
    14363        /* keep last */ 
    14464        __NL80211_STA_INFO_AFTER_LAST, 
    145 @@ -1277,7 +1336,11 @@ enum nl80211_bitrate_attr { 
    146   *     wireless core it thinks its knows the regulatory domain we should be in. 
    147   * @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an 
    148   *     802.11 country information element with regulatory information it 
    149 - *     thinks we should consider. 
    150 + *     thinks we should consider. cfg80211 only processes the country 
    151 + *     code from the IE, and relies on the regulatory domain information 
    152 + *     structure pased by userspace (CRDA) from our wireless-regdb. 
    153 + *     If a channel is enabled but the country code indicates it should 
    154 + *     be disabled we disable the channel and re-enable it upon disassociation. 
     65@@ -1626,7 +1638,7 @@ enum nl80211_mntr_flags { 
     66  * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs) 
     67  * that it takes for an HWMP information element to propagate across the mesh 
     68  * 
     69- * @NL80211_MESHCONF_ROOTMODE: whether root mode is enabled or not 
     70+ * @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not 
     71  * 
     72  * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a 
     73  * source mesh point for path selection elements. 
     74@@ -1678,6 +1690,7 @@ enum nl80211_meshconf_params { 
     75  * element that vendors will use to identify the path selection methods and 
     76  * metrics in use. 
     77  * 
     78+ * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number 
     79  * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use 
    15580  */ 
    156  enum nl80211_reg_initiator { 
    157         NL80211_REGDOM_SET_BY_CORE, 
    158 @@ -1382,6 +1445,17 @@ enum nl80211_reg_rule_flags { 
    159   * @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved 
    160   * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel 
    161   * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) 
    162 + * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used 
    163 + * @NL80211_SURVEY_INFO_CHANNEL_TIME: amount of time (in ms) that the radio 
    164 + *     spent on this channel 
    165 + * @NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY: amount of the time the primary 
    166 + *     channel was sensed busy (either due to activity or energy detect) 
    167 + * @NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: amount of time the extension 
    168 + *     channel was sensed busy 
    169 + * @NL80211_SURVEY_INFO_CHANNEL_TIME_RX: amount of time the radio spent 
    170 + *     receiving data 
    171 + * @NL80211_SURVEY_INFO_CHANNEL_TIME_TX: amount of time the radio spent 
    172 + *     transmitting data 
    173   * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number 
    174   *     currently defined 
    175   * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use 
    176 @@ -1390,6 +1464,12 @@ enum nl80211_survey_info { 
    177         __NL80211_SURVEY_INFO_INVALID, 
    178         NL80211_SURVEY_INFO_FREQUENCY, 
    179         NL80211_SURVEY_INFO_NOISE, 
    180 +       NL80211_SURVEY_INFO_IN_USE, 
    181 +       NL80211_SURVEY_INFO_CHANNEL_TIME, 
    182 +       NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY, 
    183 +       NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY, 
    184 +       NL80211_SURVEY_INFO_CHANNEL_TIME_RX, 
    185 +       NL80211_SURVEY_INFO_CHANNEL_TIME_TX, 
    186   
    187         /* keep last */ 
    188         __NL80211_SURVEY_INFO_AFTER_LAST, 
    189 @@ -1636,11 +1716,14 @@ enum nl80211_auth_type { 
    190   * @NL80211_KEYTYPE_GROUP: Group (broadcast/multicast) key 
    191   * @NL80211_KEYTYPE_PAIRWISE: Pairwise (unicast/individual) key 
    192   * @NL80211_KEYTYPE_PEERKEY: PeerKey (DLS) 
    193 + * @NUM_NL80211_KEYTYPES: number of defined key types 
    194   */ 
    195  enum nl80211_key_type { 
    196         NL80211_KEYTYPE_GROUP, 
    197         NL80211_KEYTYPE_PAIRWISE, 
    198         NL80211_KEYTYPE_PEERKEY, 
    199 + 
    200 +       NUM_NL80211_KEYTYPES 
    201  }; 
    202   
    203  /** 
    204 @@ -1671,6 +1754,9 @@ enum nl80211_wpa_versions { 
    205   *     CCMP keys, each six bytes in little endian 
    206   * @NL80211_KEY_DEFAULT: flag indicating default key 
    207   * @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key 
    208 + * @NL80211_KEY_TYPE: the key type from enum nl80211_key_type, if not 
    209 + *     specified the default depends on whether a MAC address was 
    210 + *     given with the command using the key or not (u32) 
    211   * @__NL80211_KEY_AFTER_LAST: internal 
    212   * @NL80211_KEY_MAX: highest key attribute 
    213   */ 
    214 @@ -1682,6 +1768,7 @@ enum nl80211_key_attributes { 
    215         NL80211_KEY_SEQ, 
    216         NL80211_KEY_DEFAULT, 
    217         NL80211_KEY_DEFAULT_MGMT, 
    218 +       NL80211_KEY_TYPE, 
    219   
    220         /* keep last */ 
    221         __NL80211_KEY_AFTER_LAST, 
     81 enum nl80211_mesh_setup_params { 
  • branches/backfire/package/kernel/modules/wireless.mk

    r20357 r26370  
    4444  SUBMENU:=$(WIRELESS_MENU) 
    4545  TITLE:=Cisco Aironet driver 
    46   DEPENDS:=@PCI_SUPPORT 
     46  DEPENDS:=@PCI_SUPPORT +@DRIVER_WEXT_SUPPORT 
    4747  KCONFIG:=CONFIG_AIRO 
    4848  FILES:=$(LINUX_DIR)/drivers/net/wireless/airo.$(LINUX_KMOD_SUFFIX) 
     
    6060  SUBMENU:=$(WIRELESS_MENU) 
    6161  TITLE:=Hermes 802.11b chipset support 
    62   DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||PCMCIA_SUPPORT 
     62  DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||PCMCIA_SUPPORT +@DRIVER_WEXT_SUPPORT 
    6363  KCONFIG:=CONFIG_HERMES \ 
    6464        CONFIG_HERMES_CACHE_FW_ON_INIT=n 
     
    126126  SUBMENU:=$(WIRELESS_MENU) 
    127127  TITLE:=Intersil Prism54 support 
    128   DEPENDS:=@PCI_SUPPORT 
     128  DEPENDS:=@PCI_SUPPORT +@DRIVER_WEXT_SUPPORT 
    129129  KCONFIG:=CONFIG_PRISM54 
    130130  FILES:=$(LINUX_DIR)/drivers/net/wireless/prism54/prism54.$(LINUX_KMOD_SUFFIX) 
  • branches/backfire/package/mac80211/Makefile

    r25966 r26370  
    1111PKG_NAME:=mac80211 
    1212 
    13 PKG_VERSION:=2011-02-25 
     13PKG_VERSION:=2011-03-24 
    1414PKG_RELEASE:=1 
    1515PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources 
    16 PKG_MD5SUM:=c0242cc152a157902ff60fe05d1773b2 
     16PKG_MD5SUM:=f5713fb3ab59bdd3d0ce931b813ef960 
    1717 
    1818PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2 
     
    2020PKG_BUILD_PARALLEL:=1 
    2121 
     22PKG_DRIVERS = \ 
     23        ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \ 
     24        rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \ 
     25        rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \ 
     26        rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \ 
     27        ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \ 
     28        mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia 
     29 
    2230PKG_CONFIG_DEPENDS:= \ 
    2331        CONFIG_PACKAGE_kmod-mac80211 \ 
     32        $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \ 
    2433        CONFIG_PACKAGE_MAC80211_DEBUGFS \ 
    2534        CONFIG_PACKAGE_ATH_DEBUG \ 
     
    275284define KernelPackage/rt2800-lib 
    276285$(call KernelPackage/rt2x00/Default) 
    277   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb +TARGET_ramips:kmod-rt2x00-soc 
     286  DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT 
    278287  TITLE+= (rt2800 LIB) 
    279288  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko 
     
    428437endef 
    429438 
    430 define KernelPackage/ath9k 
    431   $(call KernelPackage/mac80211/Default) 
    432   TITLE:=Atheros 802.11n wireless cards support 
     439define KernelPackage/ath9k-common 
     440  $(call KernelPackage/mac80211/Default) 
     441  TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc) 
    433442  URL:=http://linuxwireless.org/en/users/Drivers/ath9k 
    434   DEPENDS+= @PCI_SUPPORT +kmod-ath 
     443  DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT 
    435444  FILES:= \ 
    436445        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \ 
    437         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko \ 
     446        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko 
     447  AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common) 
     448endef 
     449 
     450define KernelPackage/ath9k 
     451  $(call KernelPackage/mac80211/Default) 
     452  TITLE:=Atheros 802.11n PCI wireless cards support 
     453  URL:=http://linuxwireless.org/en/users/Drivers/ath9k 
     454  DEPENDS+= @PCI_SUPPORT +kmod-ath9k-common 
     455  FILES:= \ 
    438456        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko 
    439   AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k) 
     457  AUTOLOAD:=$(call AutoLoad,28,ath9k) 
    440458endef 
    441459 
     
    445463endef 
    446464 
     465AR7010FW:=ar7010.fw 
     466AR7010_1_1_FW:=ar7010_1_1.fw 
     467AR9271FW:=ar9271.fw 
     468 
     469define Download/ar9271 
     470  FILE:=$(AR9271FW) 
     471  URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar9271.fw;h=d0ee74a1c8dccb7cc21f5be90f1d4048fa9dbf9e;hb=HEAD;? 
     472  MD5SUM:=2e6f5045ec4c5a42bb93ced242bad0ba 
     473endef 
     474$(eval $(call Download,ar9271)) 
     475 
     476define Download/ar7010 
     477  FILE:=$(AR7010FW) 
     478  URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010.fw;h=840005d0f0c81838c581b8cd5d76c8dd3843731c;hb=HEAD;? 
     479  MD5SUM:=59823b82b1f72bed9b044e8cc78ad65c 
     480endef 
     481$(eval $(call Download,ar7010)) 
     482 
     483define Download/ar7010_1_1 
     484  FILE:=$(AR7010_1_1_FW) 
     485  URL:=http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar7010_1_1.fw;h=684d4cd1a8cac4f58305589e31f9d856d03a8ef0;hb=HEAD;? 
     486  MD5SUM:=544fcbe5a93cfa53c7e6d3ded2b05347 
     487endef 
     488$(eval $(call Download,ar7010_1_1)) 
     489 
     490define KernelPackage/ath9k-htc 
     491  $(call KernelPackage/mac80211/Default) 
     492  TITLE:=Atheros 802.11n USB device support 
     493  URL:=http://linuxwireless.org/en/users/Drivers/ath9k 
     494  DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core 
     495  FILES:= \ 
     496        $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko 
     497  AUTOLOAD:=$(call AutoLoad,28,ath9k_htc) 
     498endef 
     499 
     500define KernelPackage/ath9k-htc/description 
     501This module adds support for wireless adapters based on 
     502Atheros USB AR9271 and AR7010 family of chipsets. 
     503endef 
     504 
    447505define KernelPackage/carl9170 
    448506  $(call KernelPackage/mac80211/Default) 
    449507  TITLE:=Driver for Atheros AR9170 USB sticks 
    450   DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core 
     508  DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +@DRIVER_11N_SUPPORT 
    451509  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko 
    452510  AUTOLOAD:=$(call AutoLoad,60,carl9170) 
     
    500558define KernelPackage/libertas-sd 
    501559  $(call KernelPackage/mac80211/Default) 
    502   DEPENDS+= +kmod-mac80211 +kmod-lib80211 
     560  DEPENDS+= +kmod-mac80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT 
    503561  TITLE:=Marvell 88W8686 Wireless Driver 
    504562  FILES:= \ 
     
    580638  $(call KernelPackage/mac80211/Default) 
    581639  TITLE:=Hermes 802.11b chipset support 
    582   DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 
     640  DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT 
    583641  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko 
    584642  AUTOLOAD:=$(call AutoLoad,50,orinoco) 
     
    911969        CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \ 
    912970        CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \ 
    913         CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \ 
    914         CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \ 
     971        CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \ 
     972        CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \ 
     973        CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \ 
    915974        CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \ 
    916975        CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \ 
    917976        CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \ 
    918         CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \ 
     977        CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \ 
    919978        CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \ 
    920979        CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \ 
     
    9881047        CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \ 
    9891048        CONFIG_IWM= \ 
    990         CONFIG_ATH9K_HTC= \ 
    9911049        CONFIG_MAC80211_RC_MINSTREL_HT=y \ 
    9921050        MADWIFI= \ 
     
    11001158        $(INSTALL_DIR) $(1)/lib/firmware 
    11011159        $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/ 
     1160endef 
     1161 
     1162define KernelPackage/ath9k-htc/install 
     1163        $(INSTALL_DIR) $(1)/lib/firmware 
     1164        $(INSTALL_DATA) \ 
     1165                $(DL_DIR)/$(AR9271FW) \ 
     1166                $(DL_DIR)/$(AR7010FW) \ 
     1167                $(DL_DIR)/$(AR7010_1_1_FW) \ 
     1168                $(1)/lib/firmware/ 
    11021169endef 
    11031170 
     
    11851252$(eval $(call KernelPackage,zd1211rw)) 
    11861253$(eval $(call KernelPackage,mac80211-hwsim)) 
     1254$(eval $(call KernelPackage,ath9k-common)) 
    11871255$(eval $(call KernelPackage,ath9k)) 
     1256$(eval $(call KernelPackage,ath9k-htc)) 
    11881257$(eval $(call KernelPackage,ath)) 
    11891258$(eval $(call KernelPackage,carl9170)) 
  • branches/backfire/package/mac80211/files/lib/wifi/mac80211.sh

    r24820 r26370  
    77 
    88        cfgfile="/var/run/hostapd-$phy.conf" 
     9        macfile="/var/run/hostapd-$phy.maclist" 
     10        [ -e "$macfile" ] && rm -f "$macfile" 
     11 
    912        config_get device "$vif" device 
    1013        config_get country "$device" country 
    1114        config_get hwmode "$device" hwmode 
    1215        config_get channel "$device" channel 
     16        config_get beacon_int "$device" beacon_int 
     17        config_get basic_rate_list "$device" basic_rate 
    1318        config_get_bool noscan "$device" noscan 
    1419        [ -n "$channel" -a -z "$hwmode" ] && wifi_fixup_hwmode "$device" 
     
    3136                } 
    3237        } 
    33         cat > "$cfgfile" <<EOF 
     38 
     39        config_get macfilter "$vif" macfilter 
     40        case "$macfilter" in 
     41                allow) 
     42                        append base_cfg "macaddr_acl=1" "$N" 
     43                        append base_cfg "accept_mac_file=$macfile" "$N" 
     44                        ;; 
     45                deny) 
     46                        append base_cfg "macaddr_acl=0" "$N" 
     47                        append base_cfg "deny_mac_file=$macfile" "$N" 
     48                        ;; 
     49        esac 
     50        config_get maclist "$vif" maclist 
     51        [ -n "$maclist" ] && { 
     52                for mac in $maclist; do 
     53                        echo "$mac" >> $macfile 
     54                done 
     55        } 
     56 
     57        local br brval brstr 
     58        [ -n "$basic_rate_list" ] && { 
     59                for br in $basic_rate_list; do 
     60                        brval="$(($br / 100))" 
     61                        [ -n "$brstr" ] && brstr="$brstr " 
     62                        brstr="$brstr$brval" 
     63                done 
     64        } 
     65         
     66        cat >> "$cfgfile" <<EOF 
    3467ctrl_interface=/var/run/hostapd-$phy 
    3568driver=nl80211 
     
    72105${hwmode:+hw_mode=$hwmode} 
    73106${channel:+channel=$channel} 
     107${beacon_int:+beacon_int=$beacon_int} 
    74108${country:+country_code=$country} 
    75109${noscan:+noscan=$noscan} 
     110${brstr:+basic_rates=$brstr} 
    76111$base_cfg 
    77112 
     
    104139        [ "$wds" -gt 0 ] && append hostapd_cfg "wds_sta=1" "$N" 
    105140 
     141        local macaddr hidden maxassoc wmm 
    106142        config_get macaddr "$vif" macaddr 
     143        config_get maxassoc "$vif" maxassoc 
     144        config_get dtim_period "$vif" dtim_period 
     145        config_get max_listen_int "$vif" max_listen_int 
    107146        config_get_bool hidden "$vif" hidden 0 
    108         config_get maxassoc "$vif" maxassoc 
     147        config_get_bool wmm "$vif" wmm 1 
    109148        cat >> /var/run/hostapd-$phy.conf <<EOF 
    110149$hostapd_cfg 
    111 wmm_enabled=1 
     150wmm_enabled=$wmm 
    112151bssid=$macaddr 
    113152ignore_broadcast_ssid=$hidden 
     153${dtim_period:+dtim_period=$dtim_period} 
     154${max_listen_int:+max_listen_interval=$max_listen_int} 
    114155${maxassoc:+max_num_sta=$maxassoc} 
    115156EOF 
     
    217258        config_get country "$device" country 
    218259        config_get distance "$device" distance 
     260        config_get txantenna "$device" txantenna all 
     261        config_get rxantenna "$device" rxantenna all 
    219262        config_get frag "$device" frag 
    220263        config_get rts "$device" rts 
     
    231274                fixed=1 
    232275        } 
     276 
     277        iw phy "$phy" set antenna $txantenna $rxantenna >/dev/null 2>&1 
    233278 
    234279        [ -n "$distance" ] && iw phy "$phy" set distance "$distance" 
     
    364409                                        config_get bssid "$vif" bssid 
    365410                                        config_get ssid "$vif" ssid 
     411                                        config_get beacon_int "$device" beacon_int 
     412                                        config_get basic_rate_list "$device" basic_rate 
     413                                        config_get encryption "$vif" encryption 
     414                                        config_get key "$vif" key 1 
    366415                                        config_get mcast_rate "$vif" mcast_rate 
     416 
     417                                        local keyspec="" 
     418                                        [ "$encryption" == "wep" ] && { 
     419                                                case "$key" in 
     420                                                        [1234]) 
     421                                                                local idx 
     422                                                                for idx in 1 2 3 4; do 
     423                                                                        local ikey 
     424                                                                        config_get ikey "$vif" "key$idx" 
     425 
     426                                                                        [ -n "$ikey" ] && { 
     427                                                                                ikey="$(($idx - 1)):$(prepare_key_wep "$ikey")" 
     428                                                                                [ $idx -eq $key ] && ikey="d:$ikey" 
     429                                                                                append keyspec "$ikey" 
     430                                                                        } 
     431                                                                done 
     432                                                        ;; 
     433                                                        *) append keyspec "d:0:$(prepare_key_wep "$key")" ;; 
     434                                                esac 
     435                                        } 
     436 
     437                                        local br brval brsub brstr 
     438                                        [ -n "$basic_rate_list" ] && { 
     439                                                for br in $basic_rate_list; do 
     440                                                        brval="$(($br / 1000))" 
     441                                                        brsub="$((($br / 100) % 10))" 
     442                                                        [ "$brsub" -gt 0 ] && brval="$brval.$brsub" 
     443                                                        [ -n "$brstr" ] && brstr="$brstr," 
     444                                                        brstr="$brstr$brval" 
     445                                                done 
     446                                        } 
     447 
    367448                                        local mcval="" 
    368449                                        [ -n "$mcast_rate" ] && { 
     
    371452                                                [ "$mcsub" -gt 0 ] && mcval="$mcval.$mcsub" 
    372453                                        } 
    373                                         iw dev "$ifname" ibss join "$ssid" $freq ${fixed:+fixed-freq} $bssid ${mcval:+mcast-rate $mcval} 
     454 
     455                                        iw dev "$ifname" ibss join "$ssid" $freq \ 
     456                                                ${fixed:+fixed-freq} $bssid \ 
     457                                                ${beacon_int:+beacon-interval $beacon_int} \ 
     458                                                ${brstr:+basic-rates $brstr} \ 
     459                                                ${mcval:+mcast-rate $mcval} \ 
     460                                                ${keyspec:+keys $keyspec} 
    374461                                ;; 
    375462                                sta) 
     
    391478 
    392479 
    393 check_device() { 
     480check_mac80211_device() { 
    394481        config_get phy "$1" phy 
    395482        [ -z "$phy" ] && { 
     
    410497        for dev in $(ls /sys/class/ieee80211); do 
    411498                found=0 
    412                 config_foreach check_device wifi-device 
     499                config_foreach check_mac80211_device wifi-device 
    413500                [ "$found" -gt 0 ] && continue 
    414501 
  • branches/backfire/package/mac80211/patches/401-ath9k-dont-register-leds-on-ar9100.patch

    r24505 r26370  
    11--- a/drivers/net/wireless/ath/ath9k/gpio.c 
    22+++ b/drivers/net/wireless/ath/ath9k/gpio.c 
    3 @@ -120,6 +120,9 @@ static void ath_unregister_led(struct at 
    4   
    5  void ath_deinit_leds(struct ath_softc *sc) 
     3@@ -41,6 +41,9 @@ void ath_init_leds(struct ath_softc *sc) 
    64 { 
    7 +       if (AR_SREV_9100(sc->sc_ah)) 
    8 +               return; 
    9 + 
    10         ath_unregister_led(&sc->assoc_led); 
    11         sc->sc_flags &= ~SC_OP_LED_ASSOCIATED; 
    12         ath_unregister_led(&sc->tx_led); 
    13 @@ -133,6 +136,9 @@ void ath_init_leds(struct ath_softc *sc) 
    14         char *trigger; 
    155        int ret; 
    166  
     
    188+               return; 
    199+ 
    20         if (AR_SREV_9287(sc->sc_ah)) 
    21                 sc->sc_ah->led_pin = ATH_LED_PIN_9287; 
    22         else 
     10        if (sc->sc_ah->led_pin < 0) { 
     11                if (AR_SREV_9287(sc->sc_ah)) 
     12                        sc->sc_ah->led_pin = ATH_LED_PIN_9287; 
  • branches/backfire/package/mac80211/patches/402-ath9k_blink_default.patch

    r24962 r26370  
    11--- a/drivers/net/wireless/ath/ath9k/init.c 
    22+++ b/drivers/net/wireless/ath/ath9k/init.c 
    3 @@ -33,7 +33,7 @@ int ath9k_modparam_nohwcrypt; 
     3@@ -34,7 +34,7 @@ int ath9k_modparam_nohwcrypt; 
    44 module_param_named(nohwcrypt, ath9k_modparam_nohwcrypt, int, 0444); 
    55 MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption"); 
  • branches/backfire/package/mac80211/patches/403-ath9k-fix-invalid-mac-address-handling.patch

    r25198 r26370  
    99  
    1010 #include "hw.h" 
    11 @@ -431,8 +432,16 @@ static int ath9k_hw_init_macaddr(struct  
     11@@ -442,8 +443,16 @@ static int ath9k_hw_init_macaddr(struct  
    1212                common->macaddr[2 * i] = eeval >> 8; 
    1313                common->macaddr[2 * i + 1] = eeval & 0xff; 
  • branches/backfire/package/mac80211/patches/500-ath9k_eeprom_debugfs.patch

    r25693 r26370  
    11--- a/drivers/net/wireless/ath/ath9k/debug.c 
    22+++ b/drivers/net/wireless/ath/ath9k/debug.c 
    3 @@ -1027,6 +1027,53 @@ static const struct file_operations fops 
    4         .llseek = default_llseek, 
     3@@ -1077,6 +1077,53 @@ static const struct file_operations fops 
     4        .llseek = default_llseek,/* read accesses f_pos */ 
    55 }; 
    66  
     
    5555 { 
    5656        struct ath_common *common = ath9k_hw_common(ah); 
    57 @@ -1097,6 +1144,10 @@ int ath9k_init_debug(struct ath_hw *ah) 
     57@@ -1125,6 +1172,9 @@ int ath9k_init_debug(struct ath_hw *ah) 
    5858        debugfs_create_u32("gpio_val", S_IRUSR | S_IWUSR, 
    5959                           sc->debug.debugfs_phy, &sc->sc_ah->gpio_val); 
    6060  
    61 +       if (!debugfs_create_file("eeprom", S_IRUSR, 
    62 +                       sc->debug.debugfs_phy, sc, &fops_eeprom)) 
    63 +               goto err; 
     61+       debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, 
     62+                           &fops_eeprom); 
    6463+ 
    6564        sc->debug.regidx = 0; 
    6665        return 0; 
    67  err: 
     66 } 
  • branches/backfire/package/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch

    r26365 r26370  
    11--- a/drivers/net/wireless/ath/ath9k/hw.c 
    22+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    3 @@ -1466,8 +1466,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
     3@@ -1465,8 +1465,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
    44        REG_WRITE(ah, AR_OBS, 8); 
    55  
  • branches/backfire/package/mac80211/patches/520-mac80211_drv_tim_override.patch

    r26365 r26370  
    11--- a/include/net/mac80211.h 
    22+++ b/include/net/mac80211.h 
    3 @@ -2209,6 +2209,18 @@ static inline int ieee80211_sta_ps_trans 
     3@@ -2216,6 +2216,18 @@ static inline int ieee80211_sta_ps_trans 
    44 #define IEEE80211_TX_STATUS_HEADROOM   13 
    55  
     
    2222--- a/net/mac80211/sta_info.c 
    2323+++ b/net/mac80211/sta_info.c 
    24 @@ -608,7 +608,8 @@ static bool sta_info_cleanup_expire_buff 
     24@@ -609,7 +609,8 @@ static bool sta_info_cleanup_expire_buff 
    2525 #endif 
    2626                dev_kfree_skb(skb); 
     
    3232        } 
    3333  
    34 @@ -899,6 +900,7 @@ void ieee80211_sta_ps_deliver_wakeup(str 
     34@@ -902,6 +903,7 @@ void ieee80211_sta_ps_deliver_wakeup(str 
    3535        struct ieee80211_local *local = sdata->local; 
    3636        int sent, buffered; 
     
    4040                drv_sta_notify(local, sdata, STA_NOTIFY_AWAKE, &sta->sta); 
    4141  
    42 @@ -991,3 +993,12 @@ void ieee80211_sta_block_awake(struct ie 
     42@@ -994,3 +996,12 @@ void ieee80211_sta_block_awake(struct ie 
    4343                ieee80211_queue_work(hw, &sta->drv_unblock_wk); 
    4444 } 
  • branches/backfire/package/mac80211/patches/521-ath9k_fix_ap_ps_buffering.patch

    r26365 r26370  
    11--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
    22+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
    3 @@ -203,6 +203,7 @@ struct ath_atx_ac { 
     3@@ -202,6 +202,7 @@ struct ath_atx_ac { 
    44        int sched; 
    55        struct list_head list; 
     
    99  
    1010 struct ath_frame_info { 
    11 @@ -260,6 +261,8 @@ struct ath_node { 
     11@@ -259,6 +260,8 @@ struct ath_node { 
    1212        struct ath_atx_ac ac[WME_NUM_AC]; 
    1313        u16 maxampdu; 
     
    1818  
    1919 #define AGGR_CLEANUP         BIT(1) 
    20 @@ -341,6 +344,9 @@ int ath_tx_aggr_start(struct ath_softc * 
     20@@ -340,6 +343,9 @@ int ath_tx_aggr_start(struct ath_softc * 
    2121 void ath_tx_aggr_stop(struct ath_softc *sc, struct ieee80211_sta *sta, u16 tid); 
    2222 void ath_tx_aggr_resume(struct ath_softc *sc, struct ieee80211_sta *sta, u16 tid); 
     
    3030--- a/drivers/net/wireless/ath/ath9k/main.c 
    3131+++ b/drivers/net/wireless/ath/ath9k/main.c 
    32 @@ -1791,6 +1791,27 @@ static int ath9k_sta_remove(struct ieee8 
     32@@ -1795,6 +1795,27 @@ static int ath9k_sta_remove(struct ieee8 
    3333        return 0; 
    3434 } 
     
    5858                         const struct ieee80211_tx_queue_params *params) 
    5959 { 
    60 @@ -2191,6 +2212,7 @@ struct ieee80211_ops ath9k_ops = { 
     60@@ -2197,6 +2218,7 @@ struct ieee80211_ops ath9k_ops = { 
    6161        .configure_filter   = ath9k_configure_filter, 
    6262        .sta_add            = ath9k_sta_add, 
     
    190190 { 
    191191        struct ath_atx_tid *txtid; 
    192 @@ -1493,7 +1570,6 @@ static int setup_tx_flags(struct sk_buff 
     192@@ -1491,7 +1568,6 @@ static int setup_tx_flags(struct sk_buff 
    193193        struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); 
    194194        int flags = 0; 
     
    198198  
    199199        if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK) 
    200 @@ -1756,6 +1832,9 @@ static void ath_tx_start_dma(struct ath_ 
     200@@ -1754,6 +1830,9 @@ static void ath_tx_start_dma(struct ath_ 
    201201                if (txctl->paprd) 
    202202                        bf->bf_state.bfs_paprd_timestamp = jiffies; 
     
    224224--- a/drivers/net/wireless/ath/ath9k/hw.h 
    225225+++ b/drivers/net/wireless/ath/ath9k/hw.h 
    226 @@ -642,6 +642,7 @@ struct ath_hw_ops { 
     226@@ -630,6 +630,7 @@ struct ath_hw_ops { 
    227227                                     u32 burstDuration); 
    228228        void (*set11n_virtualmorefrag)(struct ath_hw *ah, void *ds, 
  • branches/backfire/package/mac80211/patches/530-mac80211_redirect_vlan_eap_frames.patch

    r26365 r26370  
    11--- a/net/mac80211/rx.c 
    22+++ b/net/mac80211/rx.c 
    3 @@ -1582,7 +1582,7 @@ ieee80211_drop_unencrypted_mgmt(struct i 
     3@@ -1584,7 +1584,7 @@ ieee80211_drop_unencrypted_mgmt(struct i 
    44 } 
    55  
     
    1010        struct ieee80211_sub_if_data *sdata = rx->sdata; 
    1111        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; 
    12 @@ -1590,6 +1590,7 @@ __ieee80211_data_to_8023(struct ieee8021 
     12@@ -1592,6 +1592,7 @@ __ieee80211_data_to_8023(struct ieee8021 
    1313        struct ethhdr *ehdr; 
    1414        int ret; 
     
    1818            sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta) 
    1919                return -1; 
    20 @@ -1608,11 +1609,14 @@ __ieee80211_data_to_8023(struct ieee8021 
     20@@ -1610,11 +1611,14 @@ __ieee80211_data_to_8023(struct ieee8021 
    2121                return -1; 
    2222  
     
    3535  
    3636        return 0; 
    37 @@ -1913,6 +1917,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
     37@@ -1915,6 +1919,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
    3838        struct net_device *dev = sdata->dev; 
    3939        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; 
     
    4343  
    4444        if (unlikely(!ieee80211_is_data(hdr->frame_control))) 
    45 @@ -1929,13 +1934,21 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
     45@@ -1931,13 +1936,21 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
    4646            sdata->vif.type == NL80211_IFTYPE_AP) 
    4747                return RX_DROP_MONITOR; 
  • branches/backfire/package/mac80211/patches/700-mwl8k-missing-pci-id-for-WNR854T.patch

    r25966 r26370  
    11--- a/drivers/net/wireless/mwl8k.c 
    22+++ b/drivers/net/wireless/mwl8k.c 
    3 @@ -4502,6 +4502,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw") 
     3@@ -5111,6 +5111,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw") 
    44 MODULE_FIRMWARE(MWL8K_8366_AP_FW(MWL8K_8366_AP_FW_API)); 
    55  
Note: See TracChangeset for help on using the changeset viewer.