Index: collectd-4.4.0/src/wireless.c =================================================================== --- collectd-4.4.0.orig/src/wireless.c 2008-06-05 21:47:01.000000000 +0200 +++ collectd-4.4.0/src/wireless.c 2008-06-05 21:48:33.000000000 +0200 @@ -128,7 +128,9 @@ power = 1.0; /* invalid */ else if ((power >= 0.0) && (power <= 100.0)) power = wireless_percent_to_power (power); - else if (power > 100.0) + else if ((power > 100.0) && (power <= 256.0)) + power = power - 256.0; + else if (power > 0.0) power = 1.0; /* invalid */ /* noise [dBm] < 0.0 */ @@ -137,7 +139,9 @@ noise = 1.0; /* invalid */ else if ((noise >= 0.0) && (noise <= 100.0)) noise = wireless_percent_to_power (noise); - else if (noise > 100.0) + else if ((noise > 100.0) && (noise <= 256.0)) + noise = noise - 256.0; + else if (noise > 0.0) noise = 1.0; /* invalid */ wireless_submit (device, "signal_quality", quality);