From: Johannes Berg <johannes@sipsolutions.net>
To: Henning Rogge <rogge@fgan.de>
Cc: "Luis R. Rodriguez" <lrodriguez@atheros.com>,
Henning Rogge <hrogge@googlemail.com>,
Luis Rodriguez <Luis.Rodriguez@atheros.com>,
Marcel Holtmann <holtmann@linux.intel.com>,
linux-wireless <linux-wireless@vger.kernel.org>,
"nbd@openwrt.org" <nbd@openwrt.org>
Subject: Re: RFC Patch v2: Add signal strength to nl80211station info
Date: Thu, 04 Dec 2008 09:47:52 +0100 [thread overview]
Message-ID: <1228380472.3197.5.camel@Friederike-PC.hoffi> (raw)
In-Reply-To: <200812031131.34936.rogge@fgan.de> (sfid-20081203_113144_858816_75A3A646)
On Wed, 2008-12-03 at 11:31 +0100, Henning Rogge wrote:
> What do you think about the idea to export the 802.11n transmission rate
> through the old WExt interface, so iwconfig will show the correct rate too ?
> But for this the "mcs to bitrate" tables would have to be moved to some other
> file, so wext.c can access them too (which one ?).
No, that can't possibly work right, sorry.
> + * @NL80211_STA_INFO_SIGNAL: signal strength of last received package (u8,
> dBm)
s8? should be signed, no?
> + * @NL80211_STA_INFO_RX_BITRATE: bitrate of last received unicast packet
> + * (u16, 100 kbit/s)
I don't really like this. I know we cannot report the real information
yet because we don't even have the driver/mac80211 api but let's add rx
rate reporting when we have the HT information too.
> + * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate (u16, 100 kbit/s)
> + * @NL80211_STA_INFO_TX_BITRATE_40_MHZ: dual channel transmission (flag)
> + * @NL80211_STA_INFO_TX_BITRATE_MCS: 802.11n MCS index of tx rate (u8)
> + * @NL80211_STA_INFO_TX_BITRATE_SHORT_GI: 802.11n with 400ns GI, 800ns
> + * otherwise, should be ignored if TX_BITRATE_MCS is not set (flag)
I'm not sure I like the bitrate being used as prefix and final name, can
we have maybe TXRATE_ as prefix and use TXRATE_RATE, TXRATE_40, ...?
> +/* bitrate of 802.11n ht20 connections with 800ns guard interval in 100kbit/s
> */
> +const u16 ieee80211n_ht20_gi800[] = {
> + 65, 130, 195, 260, 390, 520, 585, 650,
> + 130, 260, 390, 520, 780, 1040, 1170, 1300,
> + 195, 390, 585, 780, 1170, 1560, 1755, 1950,
> + 260, 520, 780, 1040, 1560, 2080, 2340, 2600
> +};
> +
> +/* bitrate of 802.11n ht20 connections with 400ns guard interval
> + * in 100kbit/s per spatial stream */
> +const u16 ieee80211n_ht20_gi400[] = {
> + 72, 144, 217, 289, 433, 578, 650, 722,
> + 144, 289, 433, 578, 867, 1156, 1300, 1440,
> + 217, 433, 650, 867, 1300, 1733, 1950, 2167,
> + 289, 578, 867, 1157, 1733, 2311, 2600, 2889
> +};
> +
> +/* bitrate of 802.11n ht40 connections with 800ns guard interval
> + * in 100kbit/s per spatial stream */
> +const u16 ieee80211n_ht40_gi800[] = {
> + 135, 270, 405, 540, 810, 1080, 1215, 1350,
> + 270, 540, 810, 1080, 1620, 2160, 2430, 2700,
> + 405, 810, 1215, 1620, 2430, 3240, 3645, 4050,
> + 540, 1080, 1620, 2160, 3240, 4320, 4860, 5400
> +};
> +
> +/* bitrate of 802.11n ht40 connections with 400ns guard interval
> + * in 100kbit/s per spatial stream */
> +const u16 ieee80211n_ht40_gi400[] = {
> + 150, 300, 450, 600, 900, 1200, 1350, 1500,
> + 300, 600, 900, 1200, 1800, 2400, 2700, 3000,
> + 450, 900, 1350, 1800, 2700, 3600, 4050, 4500,
> + 600, 1200, 1800, 2400, 3600, 4800, 5400, 6000
> +};
I definitely don't like this, ick, please put that into userspace.
> + if (sta->local->hw.flags & IEEE80211_HW_SIGNAL_DBM) {
> + sinfo->filled |= STATION_INFO_SIGNAL;
> + sinfo->signal = sta->last_signal;
> + }
Good plan to report only when dBm are available, I like that.
> + sinfo->rx_bitrate = sta->last_rxrate_unicast;
> +
> + sinfo->tx_bitrate_flags = sta->last_tx_rate.flags &
> + (IEEE80211_TX_RC_MCS |
> + IEEE80211_TX_RC_40_MHZ_WIDTH |
> + IEEE80211_TX_RC_SHORT_GI);
That looks very odd. Are you sure it's using the same rate flags? And if
it is, that's wrong, because cfg80211 must not rely on mac80211 flags.
> + if (!(sta->last_tx_rate.flags & IEEE80211_TX_RC_MCS)) {
> + struct ieee80211_supported_band *sband;
> + sband = sta->local->hw.wiphy->bands[sta->local->hw.conf.channel->band];
> + sinfo->tx_bitrate = sband->bitrates[sta->last_tx_rate.idx].bitrate;
> + sinfo->tx_bitrate_mcs = 0;
I don't think you should initialise mcs here.
Some places also need work on the coding style.
johannes
next prev parent reply other threads:[~2008-12-04 8:48 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-25 20:31 RFC Patch: Add signal strength to nl80211station info Henning Rogge
2008-11-25 20:47 ` Johannes Berg
2008-11-25 21:01 ` Henning Rogge
2008-11-26 5:21 ` Marcel Holtmann
2008-11-26 8:32 ` Johannes Berg
2008-11-26 16:17 ` Henning Rogge
2008-11-29 10:50 ` RFC Patch v2: " Henning Rogge
2008-12-01 11:17 ` Johannes Berg
2008-12-01 13:22 ` Henning Rogge
2008-12-01 17:39 ` Luis R. Rodriguez
2008-12-01 17:45 ` Luis R. Rodriguez
2008-12-01 17:53 ` Henning Rogge
2008-12-02 13:25 ` Henning Rogge
2008-12-02 20:29 ` Luis R. Rodriguez
2008-12-02 20:46 ` Henning Rogge
2008-12-03 1:44 ` Luis R. Rodriguez
2008-12-03 10:31 ` Henning Rogge
2008-12-04 8:47 ` Johannes Berg [this message]
2008-12-04 9:48 ` Henning Rogge
2008-12-04 13:02 ` Johannes Berg
2008-12-04 20:26 ` Johannes Berg
2008-12-04 21:12 ` Luis R. Rodriguez
2008-12-04 21:20 ` Johannes Berg
2008-12-05 8:34 ` Henning Rogge
2008-12-05 9:45 ` Johannes Berg
2008-12-05 9:51 ` Henning Rogge
2008-12-05 9:54 ` Johannes Berg
2008-12-05 23:26 ` Henning Rogge
2008-12-06 9:15 ` Johannes Berg
2008-12-06 11:12 ` Henning Rogge
2008-12-06 14:10 ` Henning Rogge
2008-12-06 14:43 ` Henning Rogge
2008-12-06 14:51 ` Johannes Berg
2008-12-06 15:03 ` Henning Rogge
2008-12-06 15:46 ` Henning Rogge
2008-12-06 15:59 ` Johannes Berg
2008-12-06 16:08 ` Henning Rogge
2008-12-06 20:46 ` Luis R. Rodriguez
2008-12-07 17:32 ` Henning Rogge
2008-12-07 17:39 ` Johannes Berg
2008-12-07 18:17 ` [PATCH 1/2] Add signal strength and bandwith " Henning Rogge
2008-12-08 19:43 ` Johannes Berg
2008-12-09 19:50 ` Henning Rogge
2008-12-09 21:16 ` Johannes Berg
2008-12-10 6:53 ` Henning Rogge
2008-12-10 9:05 ` Johannes Berg
2008-12-10 17:40 ` Henning Rogge
2008-12-10 20:45 ` Johannes Berg
2008-12-10 20:58 ` Henning Rogge
2008-12-10 21:01 ` Johannes Berg
2008-12-11 17:07 ` [Patch] nl80211: " Henning Rogge
2008-12-11 17:24 ` Johannes Berg
2008-12-11 18:02 ` Henning Rogge
2008-12-11 18:14 ` Johannes Berg
2008-12-11 18:22 ` Henning Rogge
2008-12-11 18:28 ` Johannes Berg
2008-12-11 20:10 ` Henning Rogge
2008-12-11 20:24 ` Johannes Berg
2008-12-11 20:12 ` Henning Rogge
2008-12-11 20:23 ` Johannes Berg
2008-12-09 19:54 ` [Patch 1/2 v2] " Henning Rogge
2008-12-09 19:58 ` [Patch 2/2 " Henning Rogge
2008-12-09 21:19 ` Johannes Berg
2008-12-07 18:19 ` [PATCH 2/2] " Henning Rogge
2008-12-07 18:20 ` [PATCH 0/2] " Henning Rogge
2008-12-06 15:48 ` RFC Patch v2: Add signal strength " Johannes Berg
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=1228380472.3197.5.camel@Friederike-PC.hoffi \
--to=johannes@sipsolutions.net \
--cc=Luis.Rodriguez@atheros.com \
--cc=holtmann@linux.intel.com \
--cc=hrogge@googlemail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=lrodriguez@atheros.com \
--cc=nbd@openwrt.org \
--cc=rogge@fgan.de \
/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.