1

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

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

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

提前致谢

4

1 回答 1

0

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

AP 发射功率 20 dBm;站 1 发射功率 15 dBm,RSS -37 dBm;那么从站 1 到 AP 链路的 RSS 应该是 -42 dBm

于 2014-09-04T19:13:19.227 回答