lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BANLkTinJHNztwaR44qdOpZyWg7ASrVG7vQ@mail.gmail.com>
Date:	Mon, 27 Jun 2011 18:37:34 +0100
From:	Fred Matthews <fredmm@...mail.co.uk>
To:	Mohammed Shafi <shafi.wireless@...il.com>
Cc:	linux-kernel@...r.kernel.org, linux-wireless@...r.kernel.org,
	ath9k-devel@...ema.h4ckr.net, ath9k-devel@...ts.ath9k
Subject: Re: [ath9k-devel] Patching ath9k/mac80211 to change MAC layer features

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.

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@...il.com> wrote:
> On Fri, Jun 17, 2011 at 2:09 AM, Fred Matthews <fredmm@...mail.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@...ts.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@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

View attachment "aggr+subframe+retry_change_attempt.patch" of type "text/x-patch" (7987 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ