[lkml]   [2011]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patches in this message
    SubjectRe: [ath9k-devel] Patching ath9k/mac80211 to change MAC layer features
    On Fri, Jun 17, 2011 at 2:09 AM, Fred Matthews <> wrote:
    > Hello all,
    > I have a query regarding patching ath9k/mac80211 to change MAC layer
    > features and I would be most grateful if someone can assist.
    > I need to patch ath9k so that I can be able to modify/fix the A-MPDU
    > aggregation frame length and other parameters such that they can be
    > configured at runtime via debugfs. I made a newbie attempt at trying to
    > change the aggregate length (attached), but I am unsure of the
    > correctness/efficiency  - when applied throughput varies with different
    > frame lengths entered but I can't be sure if its actually changing the
    > aggregation length (passes the framelen/aggr_limit). Hence I would be very
    > grateful if someone can assist in the correct way of doing this (possibly
    > directly via mac80211).
    > Also if the ampdu aggregate length is changed I believe the number/length of
    > the subframes of the aggregate stays constant (at the default which is
    > 32). I try to change this in my patch as well as the maximum software
    > retries by just changing the default definition in ath9k.h, thus is there a
    > (more) correct/better way of changing these. Finally, how can I patch the
    > driver to be able to disable Block-Acks/aggregation via debugfs or
    > otherwise.

    to disable aggregation in the driver, please try this
    diff --git a/drivers/net/wireless/ath/ath9k/init.c
    index d4b166c..e0175d0 100644
    --- a/drivers/net/wireless/ath/ath9k/init.c
    +++ b/drivers/net/wireless/ath/ath9k/init.c
    @@ -524,8 +524,6 @@ static void ath9k_init_misc(struct ath_softc *sc)
    sc->config.txpowlimit = ATH_TXPOWER_MAX;

    if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT) {
    - sc->sc_flags |= SC_OP_TXAGGR;
    - sc->sc_flags |= SC_OP_RXAGGR;

    common->tx_chainmask = sc->sc_ah->caps.tx_chainmask;
    if you want only tx-aggregation to be disabled , please comment out only that.
    also you can completely disable HT by
    diff --git a/drivers/net/wireless/ath/ath9k/hw.c
    index 6de2655..696b4cc 100644
    --- a/drivers/net/wireless/ath/ath9k/hw.c
    +++ b/drivers/net/wireless/ath/ath9k/hw.c
    @@ -1915,10 +1915,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)

    common->crypt_caps |= ATH_CRYPT_CAP_CIPHER_AESCCM;

    - if (ah->hw_version.devid != AR2427_DEVID_PCIE)
    - pCap->hw_caps |= ATH9K_HW_CAP_HT;
    - else
    - pCap->hw_caps &= ~ATH9K_HW_CAP_HT;
    + pCap->hw_caps &= ~ATH9K_HW_CAP_HT;

    if (AR_SREV_9271(ah))
    pCap->num_gpio_pins = AR9271_NUM_GPIO;

    > I highly appreciate, help in any of the above, as well as other advice,
    > Many thanks
    > _______________________________________________
    > ath9k-devel mailing list

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2011-06-20 10:17    [W:0.023 / U:1.204 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site