NetworkManager 干扰 wpa_supplicant

问题描述 投票:0回答:1

我正在尝试用 C++ 构建一个应用程序,以使用 WPA_Supplicant 通过 WiFi Direct 连接 2 个 Linux 设备。尝试在 wpa_cli (使用 wlo1 接口)中执行此操作,我到达了使用 NetworkManager 并尝试连接两个设备时,wpa_supplicant 的输出日志为:

P2P-GO-NEG-SUCCESS role=client freq=5805 ht40=0 peer_dev=00:11:22:33:44:ff peer_iface=00:11:22:33:44:ff wps_method=PBC
p2p-wlo1-1: WPS-PBC-ACTIVE
p2p-wlo1-1: SME: Trying to authenticate with 00:11:22:33:44:ff (SSID='DIRECT-B8' freq=5805 MHz)
p2p-wlo1-1: Trying to associate with 00:11:22:33:44:ff (SSID='DIRECT-B8' freq=5805 MHz)
p2p-wlo1-1: Associated with 00:11:22:33:44:ff
p2p-wlo1-1: CTRL-EVENT-EAP-STARTED EAP authentication started
p2p-wlo1-1: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
p2p-wlo1-1: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=1
p2p-wlo1-1: CTRL-EVENT-EAP-METHOD EAP vendor 14122 method 1 (WSC) selected
p2p-wlo1-1: WPS-CRED-RECEIVED
p2p-wlo1-1: WPS-SUCCESS
P2P-GROUP-FORMATION-SUCCESS
p2p-wlo1-1: CTRL-EVENT-EAP-FAILURE EAP authentication failed
p2p-wlo1-1: CTRL-EVENT-DISCONNECTED bssid=00:11:22:33:44:ff reason=3 locally_generated=1
p2p-wlo1-1: CTRL-EVENT-DSCP-POLICY clear_all
p2p-wlo1-1: SME: Trying to authenticate with 00:11:22:33:44:ff (SSID='DIRECT-B8'  freq=5805 MHz)
P2P-GROUP-FORMATION-FAILURE
p2p-wlo1-1: CTRL-EVENT-DSCP-POLICY clear_all
P2P-GROUP-REMOVED p2p-wlo1-1 client reason=FORMATION_FAILED

好像正在建群,但是建完之后就被关闭了,不明白原因。 另外,我发现我可以通过设置 wpa_cli 中的选项来成功在两个设备之间创建一个组

set p2p_no_group_iface 1

在查找/连接之前在两台设备上。 我的假设是 NetworkManager 干扰为 p2p 创建新的虚拟接口,因此它关闭该接口并删除创建的组,这可能吗? 我的目标是在 NetworkManager 处于活动状态时构建此应用程序,并且不停止它并使用自定义 .conf 文件手动启动 wpa_supplicant。

wifi-direct wifip2p networkmanager wpa-supplicant
1个回答
0
投票

我认为你不能同时使用 wpa_supplicant 和 NetworkManager (对于相同的接口,对于不同的接口它可能有效)。

告诉 NetworkManager 远离,例如使用

nmcli device set wlan0 managed no
。该命令仅使用 D-Bus API,因此您也可以在 D-Bus 上发出请求(尽管,找到正确的 D-Bus 对象会比较麻烦)。

并且不停止它并使用自定义 .conf 文件手动启动 wpa_supplicant。

好吧,如果您在没有 D-Bus 接口的情况下启动 wpa_supplicant(没有

-u
选项),那么 NetworkManager 无法/不会与它通信。

© www.soinside.com 2019 - 2024. All rights reserved.