From: "Luis R. Rodriguez" <lrodriguez@atheros.com>
To: Felix Fietkau <nbd@openwrt.org>
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 13:28:18 -0700 [thread overview]
Message-ID: <AANLkTilLA1lz2qiredIcYyD1gGoxRUFGmL7T9m0buRwL@mail.gmail.com> (raw)
In-Reply-To: <4BF6DAAE.6090903@openwrt.org>
On Fri, May 21, 2010 at 12:10 PM, Felix Fietkau <nbd@openwrt.org> wrote:
> 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.
Ah, hm, good point.
> 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?
I'm not sure, this was based on a quick review with David, I'll have
to review and poke at it but IIRC this was related to the chainmask
gains and I think we may get that from the EEPROM.
>>> 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
The bitmask of possible chains/antennas makes more sense, we could
just add it to the general phy info request, it would just be a matter
of piggy backing a new attribute back.
Luis
next prev parent reply other threads:[~2010-05-21 20:28 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
2010-05-21 20:28 ` Luis R. Rodriguez [this message]
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=AANLkTilLA1lz2qiredIcYyD1gGoxRUFGmL7T9m0buRwL@mail.gmail.com \
--to=lrodriguez@atheros.com \
--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=nbd@openwrt.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;
as well as URLs for NNTP newsgroup(s).