iw扫描和无线工具显示不同的值

时间:2013-08-20 14:05:48

标签: c linux

这与我以前的帖子有关: Wireless.h How do I print out the signal level?

在弄清楚如何以“dBm”形式打印之后,我意识到它与OpenWrt上安装的“iw”工具相比实际上有一些差异。

我使用OpenWrt终端的“iw wlan0 scan”命令在接入点的近距离使用无线路由器,我也运行了我的程序。

“iw”方法返回的正确值约为-14dBm,但程序只显示低至-50dBm ......这在所有情况下都不准确。

任何可能导致此问题的想法?是我用来打印信号电平的转换吗?如上面提到的线程所示?还是我没想到的其他一些原因?

printf("Transmit power: %d ", (int8_t) result->stats.qual.level);

这就是我在程序中打印信号强度的方法,我从无线工具的 wireless.h 部分看到了这一点:

struct  iw_quality
{
    __u8        qual;       /* link quality (%retries, SNR,
                       %missed beacons or better...) */
    __u8        level;      /* signal level (dBm) */
    __u8        noise;      /* noise level (dBm) */
    __u8        updated;    /* Flags to know if updated */
};

感谢。

0 个答案:

没有答案