我正在开发一个应用程序,该应用程序将重新配置命令发送到它的访问点。接入点应该将自己从受到WPA2保护的状态重新配置为开放网络。访问点必须重新启动自身,以便进行配置。
我的问题是,在AP重新启动之后,无论我做什么,NetworkManager仍然显示AP具有WPA2安全性。我知道这并不是因为我不需要输入密码就可以连接到它。我还在AP的配置中确认它没有使用任何安全性。我能够解决这一问题的唯一方法是,要么把收音机放下,然后升起来,然后通过nmcli重新发出扫描,要么重新启动NetworkManager。
这两个选项在我的应用程序中都不太理想。我在iwlist扫描和wpa_cli扫描中重新发布了一个扫描,它显示AP没有安全性。
我在运行Ubuntu16.04的VM和Debian弹性开发机器中看到了这种情况。
我试图了解NetworkManager在哪里接收它的AP列表,假设它是iwlist或wpa_cli,以及为什么它似乎在缓存这种安全类型。
发布于 2018-09-27 22:03:52
NetworkManager从wpa_sypplicant获取它的扫描列表并缓存它。但是,根据情况而定,它只是不频繁地或当客户端请求时才进行扫描。原因是扫描降低了WiFi的吞吐量和延迟性。
尝试触发重扫描,例如通过nmcli device wifi rescan。
当然,也可以直接通过D总线或libnm实现.
https://unix.stackexchange.com/questions/469062
复制相似问题