# How to calculate the percentage of signal strength level from dBm

Dan Williams dcbw at redhat.com
Wed May 30 18:16:41 EDT 2012

```On Thu, 2012-05-24 at 14:53 -0700, Chih-Chieh Chou wrote:
> Hi All,
>
>   Here's a question that I have been searching the Internet but
> couldn't get an solution to it. I wanted to know all the wireless
> hotspots around me and their signal strengths. I used "wpa_cli scan;
> wpa_cli scan_results" to list the hotspots around me with signal
> level, which were -75 and -83 in my case. I guess the unit here is
> dBm. My question is how to convert dBm to percentage of signal
> strength. I'm using ath9k driver. I saw a document on the internet
> saying that I can use the following formula to convert dBm to
> percentage:

Ignore all the formulas you find on the internet :)  Pick a reasonable
noise floor (-95 dBm) and a reasonable 100% level (-35 or -40), and use
a simple formula to fit that range and come up with a percent.  There is
nothing accurate about wifi signal levels with the possible exception of
dBm.  Depending on the card, the antennas, the AP, humidity, card
temperature, bluetooth, etc you'll get very different results.

>     RSSI - 95 = dBm
>     RSSI_MAX for Atheros chips is 60. So, -35 dBm is equivalent to
> 100%, and -95 dBm to 0%
>
>
>   It doesn't look right to me because I put an access point very close
> to me but got -79 dBm via wpa_cli. Please can anyone help?

Was that from a scan or were you associated to that AP?  Scan values
aren't as accurate as the values you'll get when associated, because the
scan values are derived from the beacon, and that's a single frame.
Maybe there was Bluetooth interference at the specific time the card
received the beacon from the AP.  Unless you're associated to that
specific AP the value isn't going very accurate, whatever that's
supposed to mean here.

Dan

```