无法使用 iw 和 kismet 在 Linux 3.6.11 上更改 wifi 频道(设备繁忙错误)

无法使用 iw 和 kismet 在 Linux 3.6.11 上更改 wifi 频道(设备繁忙错误)

我正在处理 raspberry pi 上的 wifi 的一个奇怪问题(我不确定这是否有影响)。我尝试使用 3 个不同的 usb wifi 设备。如果我使用 wpa_supplicant 连接到 AP,它们都可以正常工作。当我启动 kismet(2011-03-R2)时,问题开始出现 - 我收到以下错误消息:

mac80211_setchannel() could not set channel 1/2412 on interface 'te0mon' err -25

原来的wifi接口名称是te0,它是在udev中配置的,我只需要区分我所有的wifi设备。使用iw命令也存在同样的问题:

iw te0 set channel 1

返回:

command failed: Device or resource busy (-16)

该设备已关闭,未被任何其他进程使用(据我所知)。这些问题是在从 3.2.something 升级到内核 3.6.11 后开始的(我不记得具体情况了)。我无法降级,因为其他问题已通过此方法解决。我甚至尝试下载 iw 版本 3.8(最新版本)和兼容驱动程序 3.9,但问题仍然相同。

你知道可能出了什么问题吗?如何调试这个问题(找出设备繁忙的原因)?

谢谢你的帮助。

答案1

感谢BatchyX,我找到了一个解决方案:

  • 创建小型设备 iw dev te0 interface add te0mon type monitor
  • 删除管理的 te0 iw dev te0 del
  • 配置 kismet 以使用 te0mon ncsource=te0mon:type=mac80211,name=te0mon

相关内容