Wireless point to point signal strength monitoring tool

Jouni Malinen jkmaline at cc.hut.fi
Tue Jun 17 20:57:01 EDT 2003

On Tue, Jun 17, 2003 at 10:51:36AM +0200, Ricardo Galli wrote:

> What I assume is that the number is lineal to dBM, there are still two usages 
> (I didn't check them in last version, in previous versions, before november 
> 2002, there was a bug):

Yes, and of course the number seem to be different on different firmware
versions and probably different card models.. I haven't been able to
find good Intersil document or knowledge base article that would
describe the all possible conversion functions.

To make things "simpler", the values in signal/communications quality
RIDs are of course not matching the the values reported in RX

> /* Macro for converting signal levels (range 27 .. 154) to wireless ext
>  * dBm value with some accuracy */
> #define HFA384X_LEVEL_TO_dBm(v) 0x100 + (v) * 100 / 255 - 100

If I remember correctly, this was based on experiments using some cards.
It is supposed to convert CommQual RID values.

> /* Macro for converting signal/silence levels (RSSI) from RX descriptor to
>  * dBm */
> #define HFA384X_RSSI_LEVEL_TO_dBm(v) ((v) - 100)

I think this is based on documented way of converting values in RX
descriptors. I have verified with at least one card using a recent
firmware version. However, it most probably is not the correct method
for some of the older firmware versions.

In addition, there appears to be another conversion function hardcoded
in hostap_ap.c that is using (signal - 27) * 92 / 127 to convert signal
level to quality.. Silly conversion, but then again, quality value is
not really that well defined. This should also be moved to header file
as a macro, though. There might also be couple of
HFA384X_LEVEL_TO_dBm()s in hostap_ap.c for handling RX desc values..
This should probably be change to use that RSSI macro instead.

Anyway, this is a huge mess and it has proved to be too time consuming
to get this right for all possible firmware/model versions. I'm just
trying to make sure that the numbers increase with the signal level. If
someone is more interested in getting the values correctly, please try
to come up with a document that describes what should be done based on
the STA f/w version for both CommQual (or any other RID reporting signal
level/quality) and RX descriptor signal/silence values. If this can then
be verified with multiple hardware versions, I can certainly change the
driver to use better way of doing this conversions.

Jouni Malinen                                            PGP id EFC895FA

More information about the HostAP mailing list