我正在使用基于ath9k驱动程序的OCB模式来实现不同节点之间的无线连接。我需要知道我的用户空间应用程序中接收到的数据包的信号强度,以便根据它进行一些计算。为了进行通信,我正在使用套接字API和udp数据包。
所以,问题是:C中是否有任何函数或API可以在用户空间应用程序中获取接收数据包的信号强度?
答案 0 :(得分:1)
我不知道“接收到的数据包的信号强度”是否真的有意义,但是你可以通过阅读/proc/net/wireless
$ cat /proc/net/wireless
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
wlan0: 0000 69. -41. -256 0 0 0 1 274 0
一般来说,/proc
提供有关系统的运行时信息。从技术上讲,如果您希望从C程序中读取此内容,您应该尝试查找是否存在此API,否则请阅读/打开/关闭该文件并解析其内容。有关读取/ proc文件系统的详细信息,请参阅this thread。
答案 1 :(得分:0)
您应该使用cfg80211
,请参阅http://www.linuxwireless.org/en/developers/Documentation/cfg80211/