![无法使用 iw 将 wifi 卡设置为使用非 HT IBSS 模式](https://linux22.com/image/131907/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20iw%20%E5%B0%86%20wifi%20%E5%8D%A1%E8%AE%BE%E7%BD%AE%E4%B8%BA%E4%BD%BF%E7%94%A8%E9%9D%9E%20HT%20IBSS%20%E6%A8%A1%E5%BC%8F.png)
我有两个嵌入式系统,它们将使用 Doodle Labs NM-915-1F wifi 收发器相互通信。一个系统是一个艾讯 PICO831运行 Arch Linux 4.10.9-1-ARCH,另一个是Gateworks Ventana GW5220运行自定义 OpenWrt 版本 Gateworks 16.02@9c4230b(基于指定驱动程序 r48868)。我很难让 GW5220 将 NM-915-1F 设置为在 IBSS 模式下使用除默认 20MHz 之外的任何带宽。具体来说,我想让两个设备以 5MHz 进行通信。
这是运行后两台设备上的输出iw dev wlan0 ibss join KE8BKT 2442 5MHz
:
GW5220
phy#0
Interface wlan0
ifindex 10
wdev 0x1
addr 00:30:1a:4e:0e:68
ssid KE8BKT
type IBSS
channel 7 (2442 MHz), width: unknown, center1: 2442 MHz
txpower 24.00 dBm
皮可831
phy#0
Interface wls2
ifindex 3
wdev 0x1
addr 00:30:1a:4e:0e:69
ssid KE8BKT
type IBSS
channel 7 (2442 MHz), width: 5 MHz, center1: 2442 MHz
txpower 14.00 dBm
在这种状态下,两个设备都无法与另一个设备通信。当将任一设备设置为 5MHz 的 IBSS 模式并用另一设备进行扫描时,它们不会相互检测。但是,如果我允许他们使用默认带宽,他们就可以很好地通信(这意味着我可以让他们互相 ping 通)iw dev wlan0 ibss join KE8BKT 2442
:
GW5220
phy#0
Interface wlan0
ifindex 10
wdev 0x1
addr 00:30:1a:4e:0e:68
ssid KE8BKT
type IBSS
channel 7 (2442 MHz), width: 20 MHz (no HT), center1: 2442 MHz
txpower 30.00 dBm
皮可831
phy#0
Interface wls2
ifindex 3
wdev 0x1
addr 00:30:1a:4e:0e:69
ssid KE8BKT
type IBSS
channel 7 (2442 MHz), width: 20 MHz (no HT), center1: 2442 MHz
txpower 30.00 dBm
我几乎可以肯定 PICO831 能够正确地以 5MHz 带宽进行传输,因为我使用 STL-SDR 直接观察到了它。不过,我目前无法使用该设备来检查 GW5220,但我几乎可以肯定这是该设备出了问题。我在下面的 Pastebin 上有两个设备的完整lspci
、iw phy
、 和输出。dmesg
值得注意的是,iw phy
PICO831 的输出比 GW5220 的输出详细得多。
GW5220:
消息(请注意,这是直接输出,dmesg
并附有 ANSI 颜色代码,使用 读取它less -r
会更清晰)
PICO831:
我很感谢对此的任何帮助。我在iw
文档中或通过搜索网络找不到任何相关信息。希望这是提问的正确地方。