Я пытаюсь настроить соединение NetworkManager (wifi) с помощью dbus. Я использую Python dbus-next, так как эта библиотека удобна с точки зрения поддержки асинхронности. Я узнал, что поле «адресные данные» в будущем заменит «адреса». Однако, независимо от того, чем я обновляю настройки IPv4, он всегда говорит:
dbus_next.errors.DBusError: ipv4.addresses: это свойство не может быть пустым для '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
на установленном соединении с тем же результатом.