使用 IOCTL 获取 WiFi 客户端 RSSI 信息

Using IOCTL to get WiFi Client RSSI information

提问人:mpcengineer 提问时间:11/9/2023 更新时间:11/9/2023 访问量:11

问:

我正在尝试获取连接到Z8102AX路由器的WiFi客户端的RSSI级别。路由器使用 OpenWrt 的特殊映像。详情如下:

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.213 (quds@quds-PowerEdge-R420) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 unknown)) #0 SMP Tue Sep 12 07:57:31 2023
[    0.000000] Machine model: MediaTek MT7981 RFB

root@061204100004:/# ubus call system board
{
        "kernel": "5.4.213",
        "hostname": "061204100004",
        "system": "ARMv8 Processor rev 4",
        "model": "MediaTek MT7981 RFB",
        "board_name": "mediatek,mt7981-spim-snand-rfb-z8102ax",
        "release": {
                "distribution": "OpenWrt",
                "version": "21.02-SNAPSHOT",
                "revision": "23.0921_091445",
                "target": "mediatek/mt7981",
                "description": "OpenWrt 21.02-SNAPSHOT unknown"
        }
}

OpenWrt 镜像似乎不是库存镜像,内核不包括 nl80211 模块。WiFi扩展WEXT似乎已加载。

但是 iwconfig 不提供 RSSI 信号电平。水平始终为 0。

我的问题是。是否值得尝试使用 IOCTL 来获取 RSSI 级别。鉴于这是 MT9871 设备,并且似乎没有来自联发科的驱动程序信息。
我该如何推进,还是在浪费时间?

我尝试在谷歌上搜索可能的解决方案,并了解最新版本的 Linux 使用 iw。当我尝试 iw 时,我得到“未找到 nl80211”。当我检查内核配置文件时,nl80211 模块没有加载,但 WEXT 加载了。

如果我尝试 iwconfig 我得到的所有

rax0      IEEE 802.11ax  ESSID:"gateway-0515"
          Mode:Master  Channel:44  Access Point: FA:5E:3C:5C:72:66
          Bit Rate=286 Mb/s
          Link Quality:10  Signal level:0  Noise level:0
          Rx invalid nwid:0  invalid crypt:0  invalid misc:0

所有信息都设置为零

非常感谢。MPC型

使用 IOCTL

评论


答: 暂无答案