From: Dan Williams <dcbw@redhat.com>
To: Michael Wu <flamingice@sourmilk.net>
Cc: Larry Finger <larry.finger@lwfinger.net>,
John Linville <linville@tuxdriver.com>,
Michael Buesch <mb@bu3sch.de>,
Bcm43xx-dev@lists.berlios.de, linux-wireless@vger.kernel.org,
Jiri Benc <jbenc@suse.cz>
Subject: Re: [PATCH] mac80211: Report correct wireless statistics
Date: Mon, 09 Apr 2007 08:21:11 -0400 [thread overview]
Message-ID: <1176121271.2693.23.camel@localhost.localdomain> (raw)
In-Reply-To: <1176120428.2693.12.camel@localhost.localdomain>
On Mon, 2007-04-09 at 08:07 -0400, Dan Williams wrote:
> On Mon, 2007-04-09 at 00:43 -0400, Michael Wu wrote:
> > On Sunday 08 April 2007 23:54, Larry Finger wrote:
> > > Why would I want to do this?
> > Did it fix the output?
> >
> > > If the community agrees on anything, it is
> > > that the signal is given in dBm (i.e. a negative number) and that the rssi
> > > is a positive number.
> > Nope. dBm doesn't have to be negative, though it often is since most wireless
> > hardware isn't that powerful. RSSI is simply a number that's bigger for
> > stronger signals. It could be dBm, but it doesn't have to be. If you want a
> > stronger definition of RSSI, look at RCPI.
> >
> > > The firmware in the bcm43xx chips return a quantity
> > > that looks like an rssi with a received packet, and
> > > bcm43xx_rssi_postprocess turns that into a quantity that looks like dBm.
> > > Your patch reverses those designations and mixes up the two quantities.
> > > Again I ask "Why"?
> > >
> > Because of the naming/use of the statistics in mac80211 and WE. Signal ends up
> > getting assigned to (struct iw_quality).qual, which is actually just an
> > arbitrary link quality indicator, not dBm. Anything you care about can be put
> > there. (r)ssi gets assigned to (struct iw_quality).level, which is RSSI. WE
> > allows that and noise to be specified in either arbitrary units or dBm or
> > RCPI.
> >
> > Yes, I did reverse your conventions, but it makes more sense this way. (R)SSI
> > is always valid to assign to (struct iw_quality).level and signal ((struct
> > iw_quality).qual) is quite arbitrary and cannot be specified in specific
> > units.
> >
> > Signal should be probably be renamed to qual to make it more clear that it is
> > arbitrary.
>
> In WE, qual is arbitrary within a few limits:
>
> a) qual _must_ change on a linear scale
> b) a valid max_qual.qual must be set
> c) qual must fall within the bounds of [0, max_qual.qual] inclusive
d) max_qual.qual must be greater than 0
> If you report 'level' in dBm, you must set the IW_QUAL_DBM flag.
> Otherwise, 'level' _may_ be assumed to be RSSI. If 'level' is dBm,
> max_qual.level must be 0. If 'level' is RSSI, max_qual.level must be
> greater than 0, and level must fall within the bounds of [0,
> max_qual.level] inclusive. Replace 'level' with 'noise' here for the
> rules for noise.
>
> I don't particularly care if level/noise is RSSI _as long as_ you give
> the max RSSI for your part. Different radio parts have different max
> RSSI values, and if you're writing a driver you sure better know them or
> figure some reasonable ones out by experimentation. RSSI is entirely
> vendor defined and does _not_ conform to any rules. Therefore we need
> the max RSSI to get usable signal strength reports from your part.
RSSI doesn't conform to any rules _except_ that has a lower bound of 0
and an upper bound of the max for your part. WE happens to provide only
a u8 for the value, so if your vendor defines RSSI as > 255 you must
somehow stuff RSSI into a u8.
14.2.3.2 RXVECTOR RSSI
The receive signal strength indicator (RSSI) is an optional
parameter that has a value of 0 through RSSI Max.
Every vendor has a different max; Symbol's max is (at least used to be)
31. Cisco aironet's max is 100. Atheros' max appears to be 60.
Therefore, you must specify your max RSSI level in max_qual.level if you
use RSSI so that userspace tools can actually use your RSSI to produce
meaningful numbers.
Dan
> I know that 0 dBm isn't actually the upper bound, but in practice most
> people aren't going to get parts that go above that. 0 dBm should be
> considered a _limitation_ of WEXT that we obviously fix with
> cfg80211/nl80211 when we bring some sanity to signal strength reporting.
>
> Again, if you report level in RSSI, you must provide the max RSSI for
> your part in max_qual.level.
>
> Dan
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2007-04-09 12:18 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-08 5:04 [PATCH] mac80211: Report correct wireless statistics Larry Finger
2007-04-08 7:48 ` Tomas Winkler
2007-04-08 15:35 ` Michael Wu
2007-04-08 22:26 ` Larry Finger
2007-04-08 23:02 ` Michael Wu
2007-04-08 23:32 ` Larry Finger
2007-04-08 23:41 ` Michael Wu
2007-04-09 0:02 ` Larry Finger
2007-04-09 0:31 ` Michael Wu
2007-04-09 3:54 ` Larry Finger
2007-04-09 4:43 ` Michael Wu
2007-04-09 5:06 ` Larry Finger
2007-04-09 12:07 ` Dan Williams
2007-04-09 12:21 ` Dan Williams [this message]
2007-04-09 15:49 ` Larry Finger
2007-04-09 17:16 ` Michael Wu
2007-04-09 21:12 ` Larry Finger
2007-04-09 23:02 ` Michael Wu
2007-04-10 0:59 ` Larry Finger
2007-04-13 23:18 ` Michael Wu
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=1176121271.2693.23.camel@localhost.localdomain \
--to=dcbw@redhat.com \
--cc=Bcm43xx-dev@lists.berlios.de \
--cc=flamingice@sourmilk.net \
--cc=jbenc@suse.cz \
--cc=larry.finger@lwfinger.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=mb@bu3sch.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.