From: Felix Fietkau <nbd@openwrt.org>
To: "Luis R. Rodriguez" <lrodriguez@atheros.com>
Cc: Bruno Randolf <br1@einfach.org>,
David Quan <David.Quan@Atheros.com>,
"ath5k-devel@lists.ath5k.org" <ath5k-devel@lists.ath5k.org>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"linville@tuxdriver.com" <linville@tuxdriver.com>,
Luis Rodriguez <Luis.Rodriguez@Atheros.com>,
Sam Ng <Sam.Ng@Atheros.com>
Subject: Re: [ath5k-devel] [PATCH v2 13/20] cfg80211: Add nl80211 antenna configuration
Date: Fri, 21 May 2010 21:10:38 +0200 [thread overview]
Message-ID: <4BF6DAAE.6090903@openwrt.org> (raw)
In-Reply-To: <20100521171102.GA27736@tux>
On 2010-05-21 7:11 PM, Luis R. Rodriguez wrote:
> On Thu, May 20, 2010 at 06:59:33PM -0700, Bruno Randolf wrote:
>> so from my point of view this is not very different from what we can support
>> with the API i suggested. for RX it seems to be 100% equivalent.
>
> Well I agree, the API *supports it* but I want *clean, clear and consistant
> API*. And it just seems cleaner to separate the two.
>
>> the main difference as i see it is that with 802.11n you transmit on more than
>> one antenna, while with 'legacy' we can only transmit on one antenna at a
>> time.
>
> True, but note how the fact that you transmit over two antennas actually
> has regulatory implications. Now, ath9k handles this within ath9k_hw already
> but this itself seems like a worthy reason for this API to be separated.
> While I think it is great for ath9k_hw to do this, wouldn't it be nice
> if we can eventually instead expose the gain by using different chains
> at the same time and do the regulatory calculation for all devices within
> cfg80211?
>
>> actually i have to admit that on legacy "antenna set tx 3 (b11)" (select two
>> antennas for transmit) does not make much sense. i have defined it before as
>> "use diversity" but what about a different definition: like "bitmap of
>> antennas/chains to TRANSMIT".
>
> Right, and while that *works*, I think it would be clearer to just use a
> clear "diveristy" knob.
Splitting it by mode of operation (11n vs legacy) does not work, because
in AP mode you're doing both at the same time and there is an overlap in
both settings.
I think that Bruno's suggestion of keeping them as one setting makes
sense. About the regulatory concerns: where in the code does the
chainmask currently affect the regulatory constraints?
>> so for 802.11n that would allow you to select multiple trasmit chains.
>
> Instead of leaving the API to be interpreted by the mode of operation
> I think it would be much cleaner to just make your desires clearer and
> have the API define it well, and let the driver reject/accept it.
>
>> on legacy you are only allowed to select one antenna
>> in the bitmap. if it is set to "0" (or a separate flag) this could enable
>> "follow RX antenna diversity" on legacy.
>
> Sure that is one way, but it seems cleaner and easier for legacy purposes
> to just define an API that only fits legacy.
>
>> most of the other things you mention (need a reset/reassociate, regulatory
>> concerns...) are driver implementation issues, which can be dealt with in the
>> driver.
>
> Well so some of these things *could* be handled in mac80211 as well. For
> example, we may want to just dissociate upon a tx/rx chain setting change
> for all devices, but not for legacy. The regulatory stuff is another thing
> which could eventually be made more generic accross the board.
>
> Additionally, suppose you write an iw-tweak-gui thingy, and you want to
> provide expose tx/rx chainmask settings. Since some cards do not support
> some chainmask settings we may want to allow for a query of unsupported
> chainmasks and that way the GUI application could just grey-out the
> unsupported chainmask settings instead of letting the user figure out
> by trial and error that they are indeed not supported.
The API should just provide a bitmask of possible chains/antennas to
user space, which will be used as a mask for any values that the user
space sets. That's easy for a GUI utility to process
- Felix
next prev parent reply other threads:[~2010-05-21 19:10 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-19 1:30 [PATCH v2 00/20] pending ath5k + antenna patches Bruno Randolf
2010-05-19 1:30 ` [PATCH v2 01/20] ath5k: add debugfs file for queue debugging Bruno Randolf
2010-05-19 1:30 ` [PATCH v2 02/20] ath5k: wake queues on reset Bruno Randolf
2010-05-20 12:51 ` [ath5k-devel] " Nick Kossifidis
2010-05-19 1:30 ` [PATCH v2 03/20] ath5k: initialize calibration timers Bruno Randolf
2010-05-20 12:48 ` Nick Kossifidis
2010-05-19 1:31 ` [PATCH v2 04/20] ath5k: move noise floor calibration into tasklet Bruno Randolf
2010-05-20 12:50 ` Nick Kossifidis
2010-05-19 1:31 ` [PATCH v2 05/20] ath5k: Stop queues only for NF calibration Bruno Randolf
2010-05-20 12:52 ` Nick Kossifidis
2010-05-19 1:31 ` [PATCH v2 06/20] ath5k: run NF calibration only every 60 seconds Bruno Randolf
2010-05-19 1:31 ` [PATCH v2 07/20] ath5k: remove ATH_TRACE macro Bruno Randolf
2010-05-20 12:56 ` Nick Kossifidis
2010-05-19 1:31 ` [PATCH v2 08/20] ath5k: clarify logic when to enable spur mitigation filter Bruno Randolf
2010-05-19 1:31 ` [PATCH v2 09/20] ath5k: use ath5k_softc as driver data Bruno Randolf
2010-05-19 1:31 ` [PATCH v2 10/20] ath5k: add sysfs files for ANI parameters Bruno Randolf
2010-05-20 12:58 ` Nick Kossifidis
2010-05-19 1:31 ` [PATCH v2 11/20] ath5k: always calculate ANI listen time Bruno Randolf
2010-05-20 12:59 ` Nick Kossifidis
2010-05-19 1:31 ` [PATCH v2 12/20] ath5k: print error message if ANI levels are out of range Bruno Randolf
2010-05-19 1:31 ` [PATCH v2 13/20] cfg80211: Add nl80211 antenna configuration Bruno Randolf
2010-05-19 17:07 ` Luis R. Rodriguez
2010-05-20 0:35 ` Bruno Randolf
2010-05-20 0:51 ` [ath5k-devel] " Luis R. Rodriguez
2010-05-20 1:12 ` Bruno Randolf
2010-05-20 1:26 ` Luis R. Rodriguez
2010-05-20 2:21 ` Bruno Randolf
2010-05-20 5:17 ` Luis R. Rodriguez
2010-05-20 5:36 ` Bruno Randolf
2010-05-20 6:43 ` Luis R. Rodriguez
2010-05-20 22:02 ` David Quan
2010-05-20 22:05 ` Luis R. Rodriguez
2010-05-20 22:14 ` Sam Ng
2010-05-20 22:24 ` Luis R. Rodriguez
2010-05-21 1:59 ` Bruno Randolf
2010-05-21 17:11 ` Luis R. Rodriguez
2010-05-21 19:10 ` Felix Fietkau [this message]
2010-05-21 20:28 ` Luis R. Rodriguez
2010-05-24 0:45 ` Bruno Randolf
2010-05-24 9:15 ` RHS Linux User
2010-06-04 19:30 ` John W. Linville
2010-06-04 21:21 ` [ath5k-devel] " Luis R. Rodriguez
2010-06-04 21:53 ` Luis R. Rodriguez
2010-06-07 3:45 ` Bruno Randolf
2010-05-19 1:31 ` [PATCH v2 14/20] mac80211: Add " Bruno Randolf
2010-05-19 1:31 ` [PATCH v2 15/20] ath5k: Add support for " Bruno Randolf
2010-05-19 1:32 ` [PATCH v2 16/20] ath5k: remove setting ANI and antenna thru debugfs files Bruno Randolf
2010-05-19 1:32 ` [PATCH v2 17/20] ath5k: fix NULL pointer in antenna configuration Bruno Randolf
2010-05-19 1:32 ` [PATCH v2 18/20] ath5k: update AR5K_PHY_RESTART_DIV_GC values to match masks Bruno Randolf
2010-05-20 12:54 ` Nick Kossifidis
2010-05-19 1:32 ` [PATCH v2 19/20] ath5k: new function for setting the antenna switch table Bruno Randolf
2010-05-19 1:32 ` [PATCH v2 20/20] ath5k: no need to save/restore the default antenna Bruno Randolf
2010-05-19 1:41 ` [PATCH v2 00/20] pending ath5k + antenna patches Luis R. Rodriguez
2010-05-19 12:59 ` John W. Linville
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=4BF6DAAE.6090903@openwrt.org \
--to=nbd@openwrt.org \
--cc=David.Quan@Atheros.com \
--cc=Luis.Rodriguez@Atheros.com \
--cc=Sam.Ng@Atheros.com \
--cc=ath5k-devel@lists.ath5k.org \
--cc=br1@einfach.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=lrodriguez@atheros.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.