From: Mohammed Shafi <shafi.wireless@gmail.com>
To: Fred Matthews <fredmm@hotmail.co.uk>
Cc: linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org,
ath9k-devel@venema.h4ckr.net, ath9k-devel@lists.ath9k
Subject: Re: [ath9k-devel] Patching ath9k/mac80211 to change MAC layer features
Date: Tue, 28 Jun 2011 12:30:18 +0530 [thread overview]
Message-ID: <BANLkTimGyAN2MvPsTAYqCo2LcWQO2xjXtA@mail.gmail.com> (raw)
In-Reply-To: <BANLkTinJHNztwaR44qdOpZyWg7ASrVG7vQ@mail.gmail.com>
On Mon, Jun 27, 2011 at 11:07 PM, Fred Matthews <fredmm@hotmail.co.uk> wrote:
> Hi all,
>
> Much appreciated Mohammed Shafi, disabling aggregation works when
> replacing those lines with
> sc->sc_flags &= ~SC_OP_TXAGGR;
> sc->sc_flags &= ~SC_OP_RXAGGR;
> only issue is I must always recompile compat-wireless to
> re-enable/disable it again. I tried to port it using debugfs to be
> able to enable and disable at runtime but ath9k kept rebooting.
I am not sure we can enable/disable aggregation via debugfs, these
flags seem are set at initialization and based on this lot of things
happen in tx-path, initializing TID structure, ampdu action, rate
control etc.
>
> Also I would be very grateful if someone can help regarding my
> attached patch and previous query:
>
> ------------
> 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
> via debugfs or otherwise.
> ---------------
>
> Thank you very much
>
>
>
> On Mon, Jun 20, 2011 at 9:15 AM, Mohammed Shafi
> <shafi.wireless@gmail.com> wrote:
>> On Fri, Jun 17, 2011 at 2:09 AM, Fred Matthews <fredmm@hotmail.co.uk> 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
>> b/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
>> b/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
>>> ath9k-devel@lists.ath9k.org
>>> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>>>
>>>
>>
>>
>>
>> --
>> shafi
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
--
shafi
next prev parent reply other threads:[~2011-06-28 7:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <BLU158-w332CD7657F92343D3D2D1C876A0@phx.gbl>
2011-06-19 16:13 ` Patching ath9k/mac80211 to change MAC layer features Fred Matthews
2011-06-20 8:15 ` [ath9k-devel] " Mohammed Shafi
2011-06-27 17:37 ` Fred Matthews
2011-06-28 7:00 ` Mohammed Shafi [this message]
2011-06-28 12:14 ` Daniel Smith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BANLkTimGyAN2MvPsTAYqCo2LcWQO2xjXtA@mail.gmail.com \
--to=shafi.wireless@gmail.com \
--cc=ath9k-devel@lists.ath9k \
--cc=ath9k-devel@venema.h4ckr.net \
--cc=fredmm@hotmail.co.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox