Я пытаюсь получить режим аутентификации (WPA / WEP) для всех доступных точек доступа через API DBUS (в Linux). NetworkManager API описывает свойство WPAFLAGS, но я ничего от него не получаю (я получаю нулевой флаг каждый раз). Отладчик D-Feet DBUS также ничего не показывает. Я что-то упустил или API не работает?
Похоже, вы делаете что-то не так:
$ dbus-send --print-reply --system --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/AccessPoint/995 org.freedesktop.DBus.Properties.Get string:'org.freedesktop.NetworkManager.AccessPoint' string:'WpaFlags' method return sender=:1.1188 -> dest=:1.2189 reply_serial=2 variant uint32 324 $ dbus-send --print-reply --system --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/AccessPoint/994 org.freedesktop.DBus.Properties.Get string:'org.freedesktop.NetworkManager.AccessPoint' string:'WpaFlags' method return sender=:1.1188 -> dest=:1.2190 reply_serial=2 variant uint32 332 $ dbus-send --print-reply --system --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/AccessPoint/991 org.freedesktop.DBus.Properties.Get string:'org.freedesktop.NetworkManager.AccessPoint' string:'WpaFlags' method return sender=:1.1188 -> dest=:1.2191 reply_serial=2 variant uint32 276
То, что вы разместили, возвращает:
dbus-send: элемент данных "метод" неправильно сформирован
Я считаю, что вопрос был о:
interface.Get("org.freedesktop.NetworkManager.AccessPoint", "WpaFlags")
и всегда возвращает 0