设为首页 收藏本站
查看: 941|回复: 0

[经验分享] Measuring RSSI with Wifi Cards

[复制链接]
累计签到:29 天
连续签到:1 天
发表于 2015-10-2 07:49:27 | 显示全部楼层 |阅读模式
  
Why RSSI isn't very useful for signal measurements
  
  The IEEE 802.11 standard defines a mechanism by which RF energy is to be measured by the circuitry on a wireless NIC. This numeric value is an integer with an allowable range of 0-255 (a 1-byte value) called the Receive Signal Strength Indicator (RSSI). Notice that nothing has been said here about measurement of RF energy in dBm or mW. RSSI is an arbitrary integer value, defined in the 802.11 standard and intended for use, internally, by the microcode on the adapter and by the device driver.
  
  However, no vendors have actually chosen to actually measure 256 different signal levels, and so each vendor’s 802.11 NIC will have their own specific maximum RSSI value (“RSSI_Max”). For example, Cisco chooses to measure 101 separate values for RF energy, and their RSSI_Max is 100. Symbol uses an RSSI_Max value of only 31. The Atheros chipset uses an RSSI_Max value of 60. Therefore, it can be seen that the RF energy level reported by a particular vendor’s NIC will range between 0 and RSSI_Max.
  
  Whatever range of actual energy is being measured, it must be divided into the number of integer steps provided by the RSSI range. Therefore, if RSSI changes by 1, it means that the power level changed by some proportion in the measured power range. There are, therefore, two important considerations in understanding RSSI. First, it is necessary to consider what range of energy (the mW or dBm range) that’s actually being measured. Secondly, it must be recognized that all possible energy levels (mW or dBm values) cannot be represented by the integer set of RSSI values.
  
  Herein lies the reason that making measurements with simple tools like inSSIDer are so difficult. Every wireless card manufacturer, and there are many, can choose his own RSSI-Max level, so all of us are making comparisons between varying situations with tools that are also varying in effectiveness (I hesitate to use the term "accuracy" here - there is no implied accuracy whatsoever in the RSSI system!).
  
  Right away we can also see that the lower the RSSI_max value used by a wireless card's manufacturer, the larger the "jitter", or jump by several dB in the signal indicated level as the signal increases slightly and crosses the threshold into the next "step". In the case of Cisco, the jitter would be small, with Symbol, it would be perhaps three times larger. Just this one artifact alone is enough to nullify the majority of the "tests" conducted by forum members. A very slight amount of interference on a channel can push a measurement up or down by 3-4 dBm, as can a slight change in the path loss.
  
  Wireless NIC manufacturers do not measure signal strength so accurately at the upper levels. The main use for the signal level measurement is to determine when signals are so weak as to warrant looking for another AP (roaming) - typically at a 20% reading. The logarithmic nature of the dBm measurement, coupled with the fact that the RSSI range used for measurement contains dBm “gaps” (due to the integer nature of the RSSI value), has led many vendors to map RSSI to dBm using a lookup table. These mapping tables allow for adjustments to accommodate the logarithmic nature of the curve. There may be some quite large steps using this method, especially when the signal is strong, making jitter between steps much worse on some points of the curve.
  
  For example, when the signal level is 50%, this is reported with different values of RSSI, depending on the vendor; a Symbol card would convert to an RSSI of 16, because its RSSI_Max =31, Atheros, with RSSI_Max = 60, would convert it to an RSSI of 30, and for Cisco, which is the easiest one because its RSSI_Max = 100, RSSI is 50. InSSIDer would then take these figures and convert to a dBm scale - and by now, I'm getting lost. Because InSSIDer does not know or care what wireless you are using !
  
  You see the problem with trying to make meaningful conclusions with what amounts to a total pile of crap as a basis?
  
  Unfortunately, we still do not know how all vendors map RSSI to signal strength percentage. This lack of consistency between vendors does not allow for direct comparison of performance evaluation results, performed with equipment of different vendors.
  
  Also, you can see some wireless NIC cards are therefore more suitable than others for RF "measurements" using simple software like inSSIDer, those with a larger "RSSI_Max" level would be best. It would be interesting to know the RSSI_Max of the WRT54GL.
  
  Using, say, inSSIDer with wireless cards by different manufacturers, we see big differences in indicated dBm levels, as explained above. It is highly doubtful that any commonly used utility like inSSIDer would make any attempt to identify wireless cards and adjust the data to provide anything close to an accurate dBm figure. To do this, it would need to know the RSSI value used by the card, however, this information is not usually made available by the manufacturers (even the data for the ones mentioned above has actually changed in newer designs so it is safe to assume we do not know the RSSI value - ever).
  
  The larger the card's RSSI_Max, the more compressed the dBm scale will be on the graph. The expected change of RSSI from changing a WRT from say 1mW to 150mW would be around 20dB - if the change was accurate and not just a relative figure. You can see that in practice, 10-12dB is all that is ever shown. A measurement accuracy of around 50% is pretty useless.
  
  Utilities are sometimes provided with the purchase of a wireless card, which is actually written by the card manufacturer. They would presumably be in a position to provide some better accuracy, as all pertinent information is known to them (Intel proset software, for example). Whether it actually is more accurate- if they were even interested in making it so - I have no idea. Remember - this information is completely meaningless to the majority of users!
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-121516-1-1.html 上篇帖子: 使用wiwiz实现WiFi无线热点认证与计费网关 下篇帖子: mars老师[Android开发视频教学]01_23 WIFI网络操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表