使用DBU与Connman连接困难,但仅是第一次



我一直在尝试使用各种Python库与Connman和DBUS合作,尤其是此示例代码:

https://github.com/liamw9534/pyconnman/blob/master/demo/demo.py.py

我遇到的问题是,在第一次连接到WPA2访问点时,我将始终收到超时消息。例如:

CONN> list-services
CONN> agent-start /test/agent ssid=myNetwork passphrase=myPassphrase
CONN> service-connect /net/connman/service/wifi_xxxxx__managed_psk

最终这是我从接口中收到的消息:

没有收到答复。可能的原因包括:远程应用程序未发送答复,消息总线安全策略阻止了答复,答复超时已过期或网络连接被损坏

我可以在这一点上确认Connman与WiFi网络没有连接或获得IP地址。我能够设法使此工作的唯一方法是使用Linux终端使用Connman应用程序本身:

connmanctl
connmanctl> agent on
connmanctl> connect wifi_xxxxx__managed_psk
Agent RequestInput wifi_xxxxx__managed_psk
    Passphrase = [ Type=psk, Requirement=mandatory ]
Passphrase? myPassword
connmanctl> Connected wifi_xxxxx__managed_psk

这将为WiFi网络的/var/lib/connman下创建一个设置文件夹。我现在可以使用上面提到的demo.py脚本断开连接或重新连接。

Connman在许多方面对我来说仍然是一个谜,我不确定为什么我必须第一次使用交互式外壳连接到网络。有什么想法吗?

如果您仍在寻找答案:康曼需要一个代理来回答安全问题(在WPA2中:是密码)。您可以运行代理并回复Connman问题,也可以使用正确的键在/var/lib/connman中创建文件。看这里。创建文件或删除文件后,Connman将自动进行相应的行动(尝试连接或断开连接。

基本文件看起来像:

[service_mywificonfig]
Type = wifi
Security = wpa2
Name = myssid
Passphrase = yourpass

相关内容

  • 没有找到相关文章

最新更新