Re: CVS-2-2 NMApplet signal bar



thanks! that clarifies things a bit for me. i've sent an email to the
madwifi list quoting your comments below, i hope that's ok. maybe at
some point the madwifi driver will be fixed. it's frustrating from a
user's perspective, but oh well. 

Sven


On Thu, 2005-02-03 at 10:30 -0500, Dan Williams wrote:
> On Thu, 2005-02-03 at 09:28 -0500, Sven wrote:
> > since CVS-1-31 NM seems to use values for  "Link Quality=x/y" (as in
> > seen iwconfig), and NM computes a percentage signal strength as x / y *
> > 100 (at least for me). earlier NM versions had ln x / ln y * 100. both
> > methods seem to be used in applets (eg, gwlan uses the logarithmic
> > method). now, being close my AP, gwlan reports 90%, while NM says 60%. i
> > understand the drivers also use different algorithms to come up with th
> 
> Something to remember is that WEXT allows drivers to report two
> different types of quality information.  First, a subjective "quality"
> that may be composed of a number of attributes, like signal strength,
> noise threshold, dropped packets, transmission errors, collisions, etc.
> The second are the "level" and "noise" values, which are supposed to be
> raw RSSI (Relative Signal Strength Indicator) or dBm.  Often cards will
> convert the rssi into dBm for you via magic numbers which are specific
> to the chipset's ability to measure the electrical power on the receive
> circuit.
> 
> The "quality" value can be any number, but to be useful drivers must
> give a maximum quality value, otherwise you have no idea what the
> quality value is supposed to be.  If you are given level, but no noise
> or maximum level, you are also out of luck.
> 
> It doesn't do well to run % = log a / log b * 100, because drivers that
> report a pure percentage value for the "quality" value (like the atmel
> driver does), which is perfectly valid, would yield wierd results.  For
> example, when I'm near the access point (but not next to it) on the
> atmel driver:
> 
> Qual: 93
> Max qual: 100
> 
> 93/100 * 100 = 93%
> log (93) / log (100) * 100 = 98%
> 
> Far away:
> Qual: 10
> Max Qual: 100
> 
> 10/100 = 10%
> log (10) / log (100) * 100 = 50%
> 
> The driver is already telling us the quality and its quite useless to
> try to modify that value, even if you ignore that trying to do log() on
> % values is wrong.  Drivers should _always_ fill in the maximum quality
> value if they report quality, but that value might change with each
> chipset revision or with each different RMFD that the card-builders use.
> 
> It's more appropriate to use logarithmic functions on the level/noise
> numbers which are hopefully in dBm.  But if the driver reports quality
> and max_quality, that's the value NetworkManager will prefer for good
> reason.  If that value is wrong, the driver needs to be fixed.
> 
> > signal/link quality numbers. i would be very grateful if somebody
> > (Bill?) could explain to me (off the list is fine) where these numbers
> > come from (signal - noise?, power?) and what they signify. and
> > ultimately, what a "correct" way of getting a % from these is. again,
> > it's probably driver specific, but i would be happy to have an answer
> > for a specific example (eg, ipw2200). for my card and driver, the x in
> > iwconfig's Link Quality seems to be just Noise Level - Signal Level.
> 
> prism54 does this too, they use a simple "qual = signal - noise".  Which
> is, IMHO, wrong.  This stuff really just needs to get figured out and
> pushed upstream to driver people like Bill and I have been doing to the
> ipw2200 and atmel drivers, respectively.
> 
> Dan




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