Search Linux Wireless

Re: [PATCH] mac80211: Report correct wireless statistics

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dan Williams wrote:
On Mon, 2007-04-09 at 00:43 -0400, Michael Wu wrote:
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

Note that the quantity supplied by the bcm43xx firmware (called jssi in the code) varies linearly with the strength of the signal, whereas the quantity derived from it in bcm43xx_rssi_postprocess is quasi logarithmic. The statement in a) above would argue against reversal of my conventions. What happens in the other drivers that use mac80211?

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.

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.

If the IW_QUAL_DBM flag is set, the "maximum" for that quantity is actually interpreted as a minimum and the range is interpreted as [maximum..0] using s8 arithmetic.

Again, if you report level in RSSI, you must provide the max RSSI for
your part in max_qual.level.

Agreed.

Larry

-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux