接收到Linux接入点上关联设备的信号强度

我正在编写一个C程序来管理无线网络的某些方面(接入点+客户端设备)。一部分程序在设备上运行,另一部分在AP上运行。 AP是一个简单的Linux站点(Cubietruck,后来与Intel Celeron控制板交换; Access Point设置为hostapd和dnsmasq)。一些功能已经实现。 我已经使用cfg80211 / nl80211做了很多工作,并且使用了Wext和一些通过BSD套接字的通信例程。

但是现在出现了一个问题。 在接入点上运行的C程序中,我需要关联设备的接收信号强度。 在设备上一切正常。 使用nl80211,我几乎可以获得有关连接的所有信息。 但在接入点上,我不知道如何获取RSS。 我已经尝试了一些nl80211请求的一些属性,但无法让它工作。 当然,在设备上很容易,因为它们只有一个连接。 但在AP上,我曾预料过一个像链接列表或嵌套属性的nl80211答案,但没有任何结果。 我检查了某些请求中包含的答案的属性,并且这些消息中没有任何可用的东西。

有人知道如何解决这个问题吗? 在WLAN AP上获取关联设备的接收信号强度应该不是什么大问题。 如果可以用nl80211做,那将是非常好的,但另一个解决方案也是受欢迎的。 也许有一些WiFi包解析? 我听说有一个像RSSI(接收信号强度指示器)的东西,但我不熟悉它。

提前致谢


这里有一个方法:从AP到站/设备以及从该站到相同AP的无线信道衰减是同一时间的。 因此,如果AP和电台的发射功率都相同,电台可以使用您当前的解决方案将他们的RSS报告给AP,并完成工作。 当然,在不同地点的TX权力可能不同,但它们是不变的。 所以找出它们并做相应的调整。 这里有一个简单的例子:

AP tx功率20 dBm; 电台1 tx功率15 dBm,RSS -37 dBm; 那么站1到AP链路的RSS应该是-42 dBm

链接地址: http://www.djcxy.com/p/84967.html

上一篇: Received Signal Strength of associated devices on a Linux Access Point

下一篇: C++ Wifi Signal Strength