Jean, Jean Tourrilhes wrote:
I must admit that the original definition was too clever (or too ambiguous, or too original, take your pick). range->max_qual.level is always supposed to have a meaningfull value. People that did not understand that original definition just put 0 there, as it was the easiest way to output dBm. If you want more details, check the comment in the function iw_print_stats() in iwlib.c. As I say, range->max_qual.level is always supposed to have something useful, so : if(IW_QUAL_DBM == 0) rssi level in the range [0 ; range->max_qual.level] if(IW_QUAL_DBM == 1) (rssi level - 256) in the range [range->max_qual.level - 256 ; 0]
Thank you for your explanation and the reference to the comment from wireless_tools. I think it is safe to say that we all have learned a lot. As you say, 8-bit arithmetic is tricky.
I think WE-19 is old enough (most distro seems to use 2.6.16) that we don't have to bother about earlier version going forward.
I'm going to rely on that, set IW_QUAL_DBM, and choose the max_qual at 152, which corresponds to a floor-value of -104 dBm. The KDE applet display is a little strange as it displays -65 dBm at approximately 2/3 height, rather than the 1/3 value that I would expect. So far, I have not found the source for that applet and cannot verify the calculation. In any case, the display is acceptable even if not what I would expect. At least, the values in /proc/net/wireless are correct.
Thanks again, Larry - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html