我正在处理 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