Package: wmwave Version: 0.4-8 Followup-For: Bug #406947
There's a bug in wmwave's interpretation of dBm figures. With dBm, the range values are zero. The following patch will give reasonable indications. The patch assumes that the absolute minimum value for level and noise is -128.0dBm. My atheros card reports -96dBm as being the noise level.
--- wmwave.c.orig 2007-06-10 12:25:37.207137439 +0100 +++ wmwave.c 2007-06-10 12:26:32.708692414 +0100 @@ -164,14 +164,15 @@ /* dBm values need a special treatment */ - if (stats.qual.updated & IW_QUAL_DBM) + if ((stats.qual.updated & IW_QUAL_DBM) || + (stats.qual.level > range.max_qual.level)) { - level = (float)(stats.qual.level - 0x100); - max_level = (float)(range.max_qual.level - 0x100); + level = 128.0+(float)(stats.qual.level - 0x100); + max_level = 128.0; - noise = (float)(stats.qual.noise - 0x100); - max_noise = (float)(range.max_qual.noise - 0x100); + noise = 128.0+(float)(stats.qual.noise - 0x100); + max_noise = 128.0; } else {