Changeset 15719


Ignore:
Timestamp:
2009-05-09T00:48:17+02:00 (8 years ago)
Author:
nbd
Message:

backport libnl-tiny, wprobe, madwifi

Location:
branches/8.09/package
Files:
76 added
3 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • branches/8.09/package/libnl/Makefile

    r12225 r15719  
    2424  TITLE:=netlink socket library 
    2525  URL:=http://people.suug.ch/~tgr/libnl/ 
     26  DEPENDS:=@!LINUX_2_4 
    2627endef 
    2728 
  • branches/8.09/package/madwifi/Config.in

    r15465 r15719  
    1515config MADWIFI_STABLE 
    1616        bool "Use the OpenWrt stable version of madwifi" 
    17  
    18 config MADWIFI_UPSTREAM 
    19         depends BROKEN 
    20         depends !LINUX_2_6_26 
    21         depends !TARGET_atheros 
    22         bool "Use the upstream release version 0.9.4" 
    2317 
    2418endchoice 
  • branches/8.09/package/madwifi/Makefile

    r15465 r15719  
    55# See /LICENSE for more information. 
    66# 
    7 # $Id$ 
    87 
    98include $(TOPDIR)/rules.mk 
     
    1211PKG_NAME:=madwifi 
    1312 
    14 ifneq ($(CONFIG_MADWIFI_UPSTREAM),) 
    15   PKG_VERSION:=0.9.4 
    16   PKG_RELEASE:=2.1 
    17  
    18   PKG_SOURCE:=madwifi-$(PKG_VERSION).tar.gz 
    19   PKG_SOURCE_URL:=http://downloads.sourceforge.net/madwifi/ 
    20   PKG_MD5SUM:=399d20de8d855a59f20058857c2178ad 
    21  
    22   PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/madwifi-$(PKG_VERSION) 
    23  
    24   PATCH_DIR=./patches-upstream 
    25 else 
    26 # PKG_BRANCH:=madwifi-dfs 
    27   PKG_REV:=3314 
    28   PKG_VERSION:=r$(PKG_REV) 
    29   PKG_RELEASE:=2.1 
    30  
    31   PKG_SOURCE_PROTO:=svn 
    32   PKG_SOURCE_VERSION:=$(PKG_REV) 
    33   PKG_SOURCE_SUBDIR:=$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trunk)-$(PKG_VERSION) 
    34   PKG_SOURCE_URL:=http://svn.madwifi.org/madwifi/$(if $(PKG_BRANCH),branches/$(PKG_BRANCH),trunk) 
    35   PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz 
    36  
    37   PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trunk)-$(PKG_VERSION) 
    38  
    39   PATCH_DIR=./patches 
    40 endif 
     13PKG_REV:=3314 
     14PKG_VERSION:=r$(PKG_REV) 
     15PKG_RELEASE:=2 
     16 
     17PKG_SOURCE_PROTO:=svn 
     18PKG_SOURCE_VERSION:=$(PKG_REV) 
     19PKG_SOURCE_SUBDIR:=$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trunk)-$(PKG_VERSION) 
     20PKG_SOURCE_URL:=http://svn.madwifi.org/madwifi/$(if $(PKG_BRANCH),branches/$(PKG_BRANCH),trunk) 
     21PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz 
     22 
     23PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(if $(PKG_BRANCH),$(PKG_BRANCH),madwifi-trunk)-$(PKG_VERSION) 
     24 
     25PATCH_DIR=./patches 
     26 
     27PKG_BUILD_DEPENDS:=wprobe 
    4128 
    4229include $(INCLUDE_DIR)/package.mk 
     
    151138  TITLE:=Driver for Atheros wireless chipsets 
    152139  URL:=http://madwifi.org/ 
    153   DEPENDS:=+wireless-tools @PCI_SUPPORT||TARGET_atheros @!TARGET_avr32 
     140  DEPENDS:=+wireless-tools @PCI_SUPPORT||TARGET_atheros @!TARGET_avr32 @!TARGET_etrax @LINUX_2_6 
    154141  FILES:=$(MADWIFI_FILES) 
    155142  AUTOLOAD:=$(call AutoLoad,50,$(MADWIFI_AUTOLOAD)) 
     
    163150        source "$(SOURCE)/Config.in" 
    164151endef 
     152 
     153MADWIFI_INC = \ 
     154        -I$(PKG_BUILD_DIR) \ 
     155        -I$(PKG_BUILD_DIR)/include \ 
     156        -I$(PKG_BUILD_DIR)/hal \ 
     157        -I$(PKG_BUILD_DIR)/ath \ 
     158        -I$(PKG_BUILD_DIR)/ath_hal \ 
     159        -I$(PKG_BUILD_DIR)/net80211 \ 
     160        -I$(STAGING_DIR)/usr/include/wprobe \ 
     161        -include $(PKG_BUILD_DIR)/include/compat.h 
    165162 
    166163MAKE_ARGS:= \ 
     
    175172        ATH_RATE="ath_rate/$(RATE_CONTROL)" \ 
    176173        DO_MULTI=1 \ 
     174        INCS="$(MADWIFI_INC)" \ 
    177175        $(if $(CONFIG_MADWIFI_DEBUG),,DEBUG=) WARNINGS="-Wno-unused" 
    178176 
  • branches/8.09/package/madwifi/files/lib/wifi/madwifi.sh

    r15465 r15719  
    6868enable_atheros() { 
    6969        local device="$1" 
    70         # Can only set the country code to one setting for the entire system. The last country code is the one that will be applied. 
     70 
     71        config_get regdomain "$device" regdomain 
     72        [ -n "$regdomain" ] && echo "$regdomain" > /proc/sys/dev/$device/regdomain 
     73 
    7174        config_get country "$device" country 
    7275        [ -z "$country" ] && country="0" 
    73         local cc="0" 
    74         [ -e /proc/sys/dev/$device/countrycode ] && cc="$(cat /proc/sys/dev/$device/countrycode)" 
    75         if [ ! "$cc" = "$country" ] ; then 
    76                 rmmod ath_pci 
    77                 insmod ath_pci countrycode=$country 
    78         fi 
     76        echo "$country" > /proc/sys/dev/$device/countrycode 
     77 
     78        config_get_bool outdoor "$device" outdoor "0" 
     79        echo "$outdoor" > /proc/sys/dev/$device/outdoor 
     80 
    7981        config_get channel "$device" channel 
    8082        config_get vifs "$device" vifs 
  • branches/8.09/package/madwifi/patches/123-ccmp_checks.patch

    r13708 r15719  
    11--- a/net80211/ieee80211_crypto_ccmp.c 
    22+++ b/net80211/ieee80211_crypto_ccmp.c 
    3 @@ -475,6 +475,9 @@ ccmp_encrypt(struct ieee80211_key *key,  
     3@@ -115,6 +115,7 @@ ccmp_attach(struct ieee80211vap *vap, st 
     4 /* This function (crypto_alloc_foo might sleep. Therefore: 
     5  * Context: process 
     6  */ 
     7+#ifdef CONFIG_CRYPTO 
     8 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) 
     9        ctx->cc_tfm = crypto_alloc_tfm("aes", 0); 
     10 #else 
     11@@ -123,7 +124,8 @@ ccmp_attach(struct ieee80211vap *vap, st 
     12        if (IS_ERR(ctx->cc_tfm)) 
     13                ctx->cc_tfm = NULL; 
     14 #endif 
     15-        
     16+#endif 
     17+ 
     18        if (ctx->cc_tfm == NULL) { 
     19                IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, 
     20                                "%s: unable to load kernel AES crypto support\n", 
     21@@ -138,12 +140,14 @@ ccmp_detach(struct ieee80211_key *k) 
     22 { 
     23        struct ccmp_ctx *ctx = k->wk_private; 
     24  
     25+#ifdef CONFIG_CRYPTO 
     26        if (ctx->cc_tfm != NULL) 
     27 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) 
     28                crypto_free_tfm(ctx->cc_tfm); 
     29 #else 
     30                crypto_free_cipher(ctx->cc_tfm); 
     31 #endif 
     32+#endif 
     33        FREE(ctx, M_DEVBUF); 
     34  
     35        _MOD_DEC_USE(THIS_MODULE); 
     36@@ -169,7 +173,9 @@ ccmp_setkey(struct ieee80211_key *k) 
     37                        return 0; 
     38                } 
     39  
     40+#ifdef CONFIG_CRYPTO 
     41                crypto_cipher_setkey(ctx->cc_tfm, k->wk_key, k->wk_keylen); 
     42+#endif 
     43        } 
     44  
     45        return 1; 
     46@@ -324,6 +330,7 @@ xor_block(u8 *b, const u8 *a, size_t len 
     47 static void 
     48 rijndael_encrypt(struct crypto_cipher *tfm, const void *src, void *dst) 
     49 { 
     50+#ifdef CONFIG_CRYPTO 
     51 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) 
     52        crypto_cipher_encrypt_one(tfm, dst, src); 
     53 #else 
     54@@ -339,6 +346,7 @@ rijndael_encrypt(struct crypto_cipher *t 
     55        sg_dst.length = AES_BLOCK_LEN; 
     56        crypto_cipher_encrypt(tfm, &sg_dst, &sg_src, AES_BLOCK_LEN); 
     57 #endif 
     58+#endif 
     59 } 
     60  
     61 /* 
     62@@ -475,6 +483,9 @@ ccmp_encrypt(struct ieee80211_key *key,  
    463        uint8_t *mic, *pos; 
    564        u_int space; 
     
    1170  
    1271        skb = skb0; 
    13 @@ -589,6 +592,9 @@ ccmp_decrypt(struct ieee80211_key *key,  
     72@@ -589,6 +600,9 @@ ccmp_decrypt(struct ieee80211_key *key,  
    1473        uint8_t *pos, *mic; 
    1574        u_int space; 
     
    2180  
    2281        skb = skb0; 
     82--- a/Makefile 
     83+++ b/Makefile 
     84@@ -192,11 +192,4 @@ endif 
     85            exit 1; \ 
     86        fi 
     87         
     88-       @# check crypto support is enabled 
     89-       @if [ -z "$(CONFIG_CRYPTO)" ]; then \ 
     90-           echo "FAILED"; \ 
     91-           echo "Please enable crypto API."; \ 
     92-           exit 1; \ 
     93-       fi 
     94-        
     95        @echo "ok." 
  • branches/8.09/package/madwifi/patches/351-scanlist.patch

    r13708 r15719  
    354354                if (IEEE80211_IS_CHAN_A(c)) 
    355355                        ic->ic_modecaps |= 1 << IEEE80211_MODE_11A; 
     356@@ -1447,10 +1452,6 @@ ieee80211_media_change(struct net_device 
     357                vap->iv_fixed_rate = newrate;           /* fixed TX rate */ 
     358                error = -ENETRESET; 
     359        } 
     360-       if (vap->iv_des_mode != newmode) { 
     361-               vap->iv_des_mode = newmode;             /* desired PHY mode */ 
     362-               error = -ENETRESET; 
     363-       } 
     364        return error; 
     365 } 
     366 EXPORT_SYMBOL(ieee80211_media_change); 
    356367--- a/net80211/_ieee80211.h 
    357368+++ b/net80211/_ieee80211.h 
     
    388399--- a/net80211/ieee80211_scan_ap.c 
    389400+++ b/net80211/ieee80211_scan_ap.c 
    390 @@ -129,131 +129,7 @@ struct ap_state { 
     401@@ -105,11 +105,6 @@ struct scan_entry { 
     402 }; 
     403  
     404 struct ap_state { 
     405-       unsigned int as_vap_desired_mode;       /* Used for channel selection,  
     406-                                                * vap->iv_des_mode */ 
     407-       unsigned int as_required_mode;          /* Used for channel selection,  
     408-                                                * filtered version of  
     409-                                                * as_vap_desired_mode */ 
     410        int as_maxrssi[IEEE80211_CHAN_MAX];     /* Used for channel selection */ 
     411  
     412        /* These fields are just for scan caching for returning responses to 
     413@@ -129,131 +124,7 @@ struct ap_state { 
    391414  
    392415 static int ap_flush(struct ieee80211_scan_state *); 
     
    520543 /* 
    521544  * Attach prior to any scanning work. 
    522 @@ -327,29 +203,6 @@ saveie(u_int8_t **iep, const u_int8_t *i 
     545@@ -327,29 +198,6 @@ saveie(u_int8_t **iep, const u_int8_t *i 
    523546                ieee80211_saveie(iep, ie); 
    524547 } 
     
    550573  * Start an ap scan by populating the channel list. 
    551574  */ 
    552 @@ -358,8 +211,6 @@ ap_start(struct ieee80211_scan_state *ss 
     575@@ -358,90 +206,15 @@ ap_start(struct ieee80211_scan_state *ss 
    553576 { 
    554577        struct ap_state *as         = ss->ss_priv; 
     
    559582        unsigned int mode = 0; 
    560583  
    561 @@ -368,80 +219,8 @@ ap_start(struct ieee80211_scan_state *ss 
     584        SCAN_AP_LOCK_IRQ(as); 
     585        ic = vap->iv_ic; 
    562586        /* Determine mode flags to match, or leave zero for auto mode */ 
    563         as->as_vap_desired_mode = vap->iv_des_mode; 
    564         as->as_required_mode    = 0; 
     587-       as->as_vap_desired_mode = vap->iv_des_mode; 
     588-       as->as_required_mode    = 0; 
    565589-       if (as->as_vap_desired_mode != IEEE80211_MODE_AUTO) { 
    566590-               as->as_required_mode = chanflags[as->as_vap_desired_mode]; 
     
    575599-       } 
    576600- 
    577 -       ss->ss_last = 0; 
     601        ss->ss_last = 0; 
    578602-       /* Use the table of ordered channels to construct the list 
    579603-        * of channels for scanning.  Any channels in the ordered 
     
    610634-               if (IEEE80211_IS_CHAN_TURBO(c) && vap->iv_flags & IEEE80211_F_XR) 
    611635-                       continue; 
    612 +       ieee80211_scan_add_channels(ic, ss, vap->iv_des_mode); 
    613   
     636- 
    614637-               /* Dynamic channels are scanned in base mode */ 
    615638-               if (!as->as_required_mode && !IEEE80211_IS_CHAN_ST(c)) 
     
    631654-               if ((c == NULL) || isclr(ic->ic_chan_active, c->ic_ieee)) 
    632655-                       continue; 
    633 - 
     656+       ieee80211_scan_add_channels(ic, ss, vap->iv_des_mode); 
     657  
    634658-               /* Don't overrun */ 
    635659-               if (ss->ss_last >= IEEE80211_SCAN_MAX) 
     
    641665        /* XXX tunables */ 
    642666        ss->ss_mindwell = msecs_to_jiffies(200);        /* 200ms */ 
    643 @@ -761,13 +540,6 @@ pick_channel(struct ieee80211_scan_state 
     667@@ -761,18 +534,6 @@ pick_channel(struct ieee80211_scan_state 
    644668                if (IEEE80211_IS_CHAN_RADAR(c->chan)) 
    645669                        continue; 
     
    652676-                       continue; 
    653677- 
    654                 /* Verify mode matches any fixed mode specified */ 
    655                 if((c->chan->ic_flags & as->as_required_mode) !=  
    656                                 as->as_required_mode) 
     678-               /* Verify mode matches any fixed mode specified */ 
     679-               if((c->chan->ic_flags & as->as_required_mode) !=  
     680-                               as->as_required_mode) 
     681-                       continue; 
     682- 
     683                if ((ic->ic_bsschan != NULL) && 
     684                        (ic->ic_bsschan != IEEE80211_CHAN_ANYC)) { 
     685  
    657686--- a/net80211/ieee80211_scan.c 
    658687+++ b/net80211/ieee80211_scan.c 
  • branches/8.09/package/madwifi/patches/389-autochannel.patch

    r15465 r15719  
    9696--- a/net80211/ieee80211_scan_ap.c 
    9797+++ b/net80211/ieee80211_scan_ap.c 
    98 @@ -423,6 +423,19 @@ pc_cmp_rssi(struct ap_state *as, struct  
     98@@ -417,6 +417,19 @@ pc_cmp_rssi(struct ap_state *as, struct  
    9999  
    100100 /* This function must be invoked with locks acquired */ 
     
    116116                struct ieee80211_channel *b) 
    117117 { 
    118 @@ -457,6 +470,7 @@ pc_cmp(const void *_a, const void *_b) 
     118@@ -451,6 +464,7 @@ pc_cmp(const void *_a, const void *_b) 
    119119  
    120120        EVALUATE_CRITERION(radar, a, b); 
  • branches/8.09/package/madwifi/patches/411-autochannel_multi.patch

    r15465 r15719  
    279279--- a/net80211/ieee80211_scan_ap.c 
    280280+++ b/net80211/ieee80211_scan_ap.c 
    281 @@ -213,9 +213,15 @@ ap_start(struct ieee80211_scan_state *ss 
     281@@ -208,9 +208,15 @@ ap_start(struct ieee80211_scan_state *ss 
    282282        struct ieee80211com *ic     = NULL; 
    283283        int i; 
     
    293293+ 
    294294        /* Determine mode flags to match, or leave zero for auto mode */ 
    295         as->as_vap_desired_mode = vap->iv_des_mode; 
    296         as->as_required_mode    = 0; 
    297 @@ -429,8 +435,10 @@ pc_cmp_idletime(struct ieee80211_channel 
     295        ss->ss_last = 0; 
     296        ieee80211_scan_add_channels(ic, ss, vap->iv_des_mode); 
     297@@ -423,8 +429,10 @@ pc_cmp_idletime(struct ieee80211_channel 
    298298        if (!a->ic_idletime || !b->ic_idletime) 
    299299                return 0; 
     
    308308  
    309309  
    310 @@ -616,6 +624,7 @@ ap_end(struct ieee80211_scan_state *ss,  
     310@@ -605,6 +613,7 @@ ap_end(struct ieee80211_scan_state *ss,  
    311311        struct ap_state *as = ss->ss_priv; 
    312312        struct ieee80211_channel *bestchan = NULL; 
     
    316316  
    317317        SCAN_AP_LOCK_IRQ(as); 
    318 @@ -624,8 +633,11 @@ ap_end(struct ieee80211_scan_state *ss,  
     318@@ -613,8 +622,11 @@ ap_end(struct ieee80211_scan_state *ss,  
    319319                ("wrong opmode %u", vap->iv_opmode)); 
    320320  
     
    328328                        /* no suitable channel, should not happen */ 
    329329                        printk(KERN_ERR "%s: %s: no suitable channel! " 
    330 @@ -644,6 +656,7 @@ ap_end(struct ieee80211_scan_state *ss,  
     330@@ -633,6 +645,7 @@ ap_end(struct ieee80211_scan_state *ss,  
    331331                                        bestchan->ic_freq, bestchan->ic_flags & 
    332332                                        ~IEEE80211_CHAN_TURBO)) == NULL) { 
     
    336336                                return 0; 
    337337                        } 
    338 @@ -656,6 +669,9 @@ ap_end(struct ieee80211_scan_state *ss,  
     338@@ -645,6 +658,9 @@ ap_end(struct ieee80211_scan_state *ss,  
    339339                        as->as_action = action; 
    340340                as->as_selbss = se; 
  • branches/8.09/package/madwifi/patches/420-diversity_fix.patch

    r15465 r15719  
    11--- a/ath/if_ath.c 
    22+++ b/ath/if_ath.c 
    3 @@ -5344,27 +5344,6 @@ ath_beacon_send(struct ath_softc *sc, in 
     3@@ -797,7 +797,6 @@ ath_attach(u_int16_t devid, struct net_d 
     4                break; 
     5        } 
     6  
     7-       sc->sc_setdefantenna = ath_setdefantenna; 
     8        sc->sc_rc = ieee80211_rate_attach(sc, ratectl); 
     9        if (sc->sc_rc == NULL) { 
     10                error = EIO; 
     11@@ -2623,9 +2622,6 @@ ath_init(struct net_device *dev) 
     12        ath_radar_update(sc); 
     13        ath_rp_flush(sc); 
     14  
     15-       /* Set the default RX antenna; it may get lost on reset. */ 
     16-       ath_setdefantenna(sc, sc->sc_defant); 
     17- 
     18        /* 
     19         * Setup the hardware after reset: the key cache 
     20         * is filled as needed and the receive engine is 
     21@@ -3010,7 +3006,6 @@ ath_reset(struct net_device *dev) 
     22        ath_setintmit(sc); 
     23        ath_update_txpow(sc);           /* update tx power state */ 
     24        ath_radar_update(sc); 
     25-       ath_setdefantenna(sc, sc->sc_defant); 
     26        if (ath_startrecv(sc) != 0)     /* restart recv */ 
     27                EPRINTF(sc, "Unable to start receive logic.\n"); 
     28        if (sc->sc_softled) 
     29@@ -5344,27 +5339,6 @@ ath_beacon_send(struct ath_softc *sc, in 
    430        } else if ((sc->sc_updateslot == COMMIT) && (sc->sc_slotupdate == slot)) 
    531                ath_setslottime(sc);            /* commit change to hardware */ 
     
    2955                /* 
    3056                 * Stop any current DMA and put the new frame(s) on the queue. 
     57@@ -6725,9 +6699,8 @@ ath_setdefantenna(struct ath_softc *sc,  
     58 { 
     59        struct ath_hal *ah = sc->sc_ah; 
     60  
     61-       /* XXX block beacon interrupts */ 
     62-       ath_hal_setdiversity(ah, (sc->sc_diversity != 0)); 
     63        ath_hal_setdefantenna(ah, antenna); 
     64+       ath_hal_setantennaswitch(ah, sc->sc_diversity ? 0 : sc->sc_defant); 
     65        if (sc->sc_defant != antenna) 
     66                sc->sc_stats.ast_ant_defswitch++; 
     67        sc->sc_defant = antenna; 
     68@@ -11138,7 +11111,7 @@ ATH_SYSCTL_DECL(ath_sysctl_halparam, ctl 
     69                                        break; 
     70                                } 
     71                                sc->sc_diversity = val; 
     72-                               ath_hal_setdiversity(ah, val); 
     73+                               ath_setdefantenna(sc, sc->sc_defant); 
     74                                break; 
     75                        case ATH_TXINTRPERIOD: 
     76                                /* XXX: validate? */ 
     77--- a/ath/if_athvar.h 
     78+++ b/ath/if_athvar.h 
     79@@ -640,7 +640,6 @@ struct ath_softc { 
     80        spinlock_t sc_hal_lock;                 /* hardware access lock */ 
     81        struct ath_ratectrl *sc_rc;             /* tx rate control support */ 
     82        struct ath_tx99 *sc_tx99;               /* tx99 support */ 
     83-       void (*sc_setdefantenna)(struct ath_softc *, u_int); 
     84        const struct ath_hw_detect *sc_hwinfo; 
     85  
     86        unsigned int    sc_invalid:1;           /* being detached */ 
Note: See TracChangeset for help on using the changeset viewer.