From: Luis R. Rodriguez <lrodriguez@atheros.com>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] Transmit power control using ath9k
Date: Mon, 9 Feb 2009 17:57:55 -0800 [thread overview]
Message-ID: <20090210015755.GB4386@tesla> (raw)
In-Reply-To: <604f6e750902090738n47e3eb65y62a6e9ce5e883adf@mail.gmail.com>
On Mon, Feb 09, 2009 at 07:38:51AM -0800, Kishore Ramachandran wrote:
> Greetings,
>
> I have an AR9160-based 11n miniPCI card, and was wondering if the card and ath9k support transmit power control?
You mean the ability to change desired TX power?
If so then yes, we support that by mac80211, and mac80211 then tells us. This
is handled in mac80211 through the ieee80211_ops:
struct ieee80211_ops ath9k_ops = {
.tx = ath9k_tx,
.start = ath9k_start,
.stop = ath9k_stop,
.add_interface = ath9k_add_interface,
.remove_interface = ath9k_remove_interface,
.config = ath9k_config,
.config_interface = ath9k_config_interface,
.configure_filter = ath9k_configure_filter,
.sta_notify = ath9k_sta_notify,
.conf_tx = ath9k_conf_tx,
.bss_info_changed = ath9k_bss_info_changed,
.set_key = ath9k_set_key,
.get_tsf = ath9k_get_tsf,
.set_tsf = ath9k_set_tsf,
.reset_tsf = ath9k_reset_tsf,
.ampdu_action = ath9k_ampdu_action,
};
In the TX power case this is handled in ath9k_config():
-----------------------------------------------------------------
if (changed & IEEE80211_CONF_CHANGE_POWER)
sc->sc_config.txpowlimit = 2 * conf->power_level;
-----------------------------------------------------------------
Now, currently the way mac80211 receives this from userspace is through
the old wireless-extensions SIOCSIWTXPOW ioctl. mac80211 implements this via
ieee80211_ioctl_siwtxpower().
> If they do, is it on a fine-grained level (e.g. per-packet change allowed)?
As you can see from above, this is not a question for ath9k but for mac80211,
as mac80211 just informs us when the tx power has to be changed. The answer
to the question "does mac80211 supports changing TX power dynamically for each
packet" is yes, we do that by allowing userspace to pass desired tweaking through
a radiotap header. In fact not only is TX power supported but other fields such
as rate.
For further details check out:
Documentation/networking/mac80211-injection.txt
I just had to review that today. The only oudated information there is the URL
to packetspammer, which I have a correct URL for you today:
http://git.warmcat.com/cgi-bin/cgit.cgi?url=packetspammer.git/
The actual git URL is:
git://git.warmcat.com/packetspammer.git/
> Also, am guessing that setting/getting the value of this parameter via the iw tool would be useful?
Sure, so that means through nl80211, that would be welcomed, as
well as setting the rate. Let me know if you have any other questions.
Luis
next prev parent reply other threads:[~2009-02-10 1:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-09 15:38 [ath9k-devel] Transmit power control using ath9k Kishore Ramachandran
2009-02-10 1:57 ` Luis R. Rodriguez [this message]
2009-02-10 2:25 ` Luis R. Rodriguez
-- strict thread matches above, loose matches on Subject: below --
2009-02-07 17:10 Kishore Ramachandran
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=20090210015755.GB4386@tesla \
--to=lrodriguez@atheros.com \
--cc=ath9k-devel@lists.ath9k.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 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.