【发布时间】:2021-09-15 21:03:15
【问题描述】:
这是我使用 wpa_supplicant 的 D-Bus API 文档编写的一个简单代码。
from pydbus import SystemBus
bus = SystemBus()
proxy = bus.get('fi.w1.wpa_supplicant1','/fi/w1/wpa_supplicant1')
print(proxy.Interfaces)
根据文档,它应该返回以下内容:
一个数组,其中包含指向 D-Bus 对象的路径,每个对象代表受控接口。
但是,它返回一个空数组,而我希望看到我的 wlan0 接口的路径。
我觉得我错过了上一步,但我完全不知道它是什么。
还有一些可能有用的东西:
- 运行
wpa_cli interface_list不会返回任何结果。 - 运行
ls /var/run/wpa_supplicant/返回p2p-dev-wlan0 wlan0 - 我不确定这有多相关,但我在 Raspberry Pi Zero W 上运行它。
编辑: 似乎 wpa_supplicant 不知道 wlan0 是什么。
我切换到dbus-python包看看有什么不同,在尝试获取wlan0接口时收到以下错误。
import dbus
bus = dbus.SystemBus()
wpas_obj = bus.get_object('fi.w1.wpa_supplicant1','/fi/w1/wpa_supplicant1')
wpas = dbus.Interface(wpas_obj, 'fi.w1.wpa_supplicant1')
path = wpas.GetInterface('wlan0')
错误:wpa_supplicant knows nothing about this interface
【问题讨论】:
标签: python raspberry-pi dbus wpa-supplicant