Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android, difference between level and RSSI of a wifi signal?

Tags:

android

wifi

I don't really know much about radio/WiFi signals, so I'm confused on the difference between the level field of a WifiManager.ScanResult and the RSSI of a wifi scan? Are they completely different concepts? Both don't seem to be well explained in the Android Docs.

They both seem to be in dBm if that means anything.

EDIT

To be more clear, I'm talking about the value returned by looking up the key WifiManager.EXTRA_NEW_RSSI. This is explained in the doc: WifiManager.EXTRA_NEW_RSSI: The lookup key for an int giving the new RSSI in dBm.

like image 312
you786 Avatar asked Dec 05 '25 05:12

you786


1 Answers

In 802.11 (the wifi standard), rssi doesn't have any units, so it is hard to use for comparison purposes.

Android provides a functions - WifiManager.calculateSignalLevel() - that I initially thought was meant to address this: converting RSSI to a comparable, objective measure.

However, as OP mentions, the docs do specify that the RSSI provided by Android is dBm.

So, I guess the purpose of the calculateSignalLevel function, and the reason for having the 'level' concept as well as RSSI, is just to convert from dBM, which is logarithmic, into a linear scale.

like image 175
Tom Avatar answered Dec 07 '25 19:12

Tom



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!