如何获得wifi频道忙碌时间?

时间:2014-06-11 11:07:41

标签: linux wifi

我想计算一下wifi频道忙多久。载波传感是获得结果的方法。虚拟载波传感不能给出非常准确的结果。任何人都可以通过物理载波传感方法帮助我获得相同的效果。

1 个答案:

答案 0 :(得分:2)

对于这项任务,我建议使用专用硬件,即能够测量占空比的频谱分析仪,但由于你要求SO,我认为你正在寻找一种基于计算机/软件的解决方案。

您正在寻找的功能在WiFi芯片组中并不常见。如果您的无线网卡基于5000或9000系列的Atheros(Qualcom)芯片组,那么您很幸运。这些芯片具有“配置文件计数器”,可用于估计无线信道繁忙的频率。您可以在US patent 7522669various research papers中找到更多信息。

在Linux中,您可以使用iw工具访问信息,如下所示:

# iw wlan0 survey dump
Survey data from wlan0
    frequency:          5180 MHz
    noise:              -95 dBm
    channel active time:        57 ms
    channel busy time:      9 ms
    channel receive time:       2 ms
    channel transmit time:      0 ms
Survey data from wlan0
    frequency:          5200 MHz [in use]
    noise:              -95 dBm
    channel active time:        3323193893 ms
    channel busy time:      255819493 ms
    channel receive time:       247576377 ms
    channel transmit time:      231 ms
[…]

请注意,只有在无线NIC位于相应通道上时才会更新计数器。以上示例取自在通道40上运行的接入点。

其他芯片组/驱动程序也可能支持类似的功能,但我不知道它们。