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 _______________________________________________ NetworkManager-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/networkmanager-list
