dbus_next.errors.DBusError: ipv4.addresses: this property cannot be empty for 'method=manual'
dbus_next.errors.DBusError: ipv4.addresses: this property cannot be empty for 'method=manual'
我正在尝试使用 dbus 配置 NetworkManager 连接 (wifi)。我正在使用 Python dbus-next,因为这个库在异步支持方面很方便。我发现字段 'address-data' 将来会取代 'addresses'。但是,无论我用什么更新 IPv4 设置,它总是说:
dbus_next.errors.DBusError: ipv4.addresses: this property cannot be empty for 'method=manual'
而且我 运行 不知道我可能做错了什么。尚不清楚为什么不接受以下设置。我还将这些设置与我使用 gnome 的网络管理器配置的设置进行了比较,后者也在后台使用 dbus。因此,必须有一种方法,但我不知道如何进行。
这些是我要更新的 IPv4 设置:
'ipv4': {'address-data': <dbus_next.signature.Variant ('aa{sv}', [{'address': <dbus_next.signature.Variant ('s', 192.168.2.177)>, 'prefix': <dbus_next.signature.Variant ('u', 16)>}])>,
'addresses': <dbus_next.signature.Variant ('aau', [[3232236209, 4294966784, 3232236033]])>,
'dns': <dbus_next.signature.Variant ('au', [])>,
'dns-search': <dbus_next.signature.Variant ('as', [])>,
'gateway': <dbus_next.signature.Variant ('s', )>,
'method': <dbus_next.signature.Variant ('s', manual)>,
'route-data': <dbus_next.signature.Variant ('aa{sv}', [])>,
'routes': <dbus_next.signature.Variant ('aau', [])>},
... 如您所见,字段 ipv4.addresses 显然不为空。因此,我不知道为什么会出现这样的错误。
我还在已建立的连接上测试了网络管理器 reapply
方法,结果相同。
如果没有更新连接,则会抛出此错误。 addresses
成员已弃用。我删除了它并能够更新连接。这是 ipv4
块的一个工作示例:
'ipv4': {'address-data': <dbus_next.signature.Variant ('aa{sv}', [{'address': <dbus_next.signature.Variant ('s', 192.168.2.181)>, 'prefix': <dbus_next.signature.Variant ('u', 24)>}])>,
'dns': <dbus_next.signature.Variant ('au', [])>,
'dns-search': <dbus_next.signature.Variant ('as', [])>,
'gateway': <dbus_next.signature.Variant ('s', 192.168.2.1)>,
'method': <dbus_next.signature.Variant ('s', manual)>,
'route-data': <dbus_next.signature.Variant ('aa{sv}', [])>,
'routes': <dbus_next.signature.Variant ('aau', [])>},
之后我成功调用了reapply_connection
方法。如果设备未激活,此方法调用将引发另一个异常,但这是另一回事。
我正在尝试使用 dbus 配置 NetworkManager 连接 (wifi)。我正在使用 Python dbus-next,因为这个库在异步支持方面很方便。我发现字段 'address-data' 将来会取代 'addresses'。但是,无论我用什么更新 IPv4 设置,它总是说:
dbus_next.errors.DBusError: ipv4.addresses: this property cannot be empty for 'method=manual'
而且我 运行 不知道我可能做错了什么。尚不清楚为什么不接受以下设置。我还将这些设置与我使用 gnome 的网络管理器配置的设置进行了比较,后者也在后台使用 dbus。因此,必须有一种方法,但我不知道如何进行。
这些是我要更新的 IPv4 设置:
'ipv4': {'address-data': <dbus_next.signature.Variant ('aa{sv}', [{'address': <dbus_next.signature.Variant ('s', 192.168.2.177)>, 'prefix': <dbus_next.signature.Variant ('u', 16)>}])>,
'addresses': <dbus_next.signature.Variant ('aau', [[3232236209, 4294966784, 3232236033]])>,
'dns': <dbus_next.signature.Variant ('au', [])>,
'dns-search': <dbus_next.signature.Variant ('as', [])>,
'gateway': <dbus_next.signature.Variant ('s', )>,
'method': <dbus_next.signature.Variant ('s', manual)>,
'route-data': <dbus_next.signature.Variant ('aa{sv}', [])>,
'routes': <dbus_next.signature.Variant ('aau', [])>},
... 如您所见,字段 ipv4.addresses 显然不为空。因此,我不知道为什么会出现这样的错误。
我还在已建立的连接上测试了网络管理器 reapply
方法,结果相同。
如果没有更新连接,则会抛出此错误。 addresses
成员已弃用。我删除了它并能够更新连接。这是 ipv4
块的一个工作示例:
'ipv4': {'address-data': <dbus_next.signature.Variant ('aa{sv}', [{'address': <dbus_next.signature.Variant ('s', 192.168.2.181)>, 'prefix': <dbus_next.signature.Variant ('u', 24)>}])>,
'dns': <dbus_next.signature.Variant ('au', [])>,
'dns-search': <dbus_next.signature.Variant ('as', [])>,
'gateway': <dbus_next.signature.Variant ('s', 192.168.2.1)>,
'method': <dbus_next.signature.Variant ('s', manual)>,
'route-data': <dbus_next.signature.Variant ('aa{sv}', [])>,
'routes': <dbus_next.signature.Variant ('aau', [])>},
之后我成功调用了reapply_connection
方法。如果设备未激活,此方法调用将引发另一个异常,但这是另一回事。