@mark2b Opening this up as an issue more for documentation purposes in case anyone else runs into this. I ran into this issue while developing a Go service using your library on Ubuntu. Likely not an issue on Raspberry PI OS since it doesn't use Polkit.
When using DBUS to manage wpa_supplicant some Linux distributions utilize Polkit (formerly known as PolicyKit) to manage permissions for processes that can interface directly with the bus.
This blog provides a good treatise on the subject matter. Developers running on Debian based distro's like Ubuntu will need to modify the /etc/dbus-1/system.d/wpa_supplicant.conf to allow your user (non-root) access to interface with dbus.
Add another <policy_user> block in addition to the existing one.
@mark2b Opening this up as an issue more for documentation purposes in case anyone else runs into this. I ran into this issue while developing a Go service using your library on Ubuntu. Likely not an issue on Raspberry PI OS since it doesn't use Polkit.
When using DBUS to manage wpa_supplicant some Linux distributions utilize Polkit (formerly known as PolicyKit) to manage permissions for processes that can interface directly with the bus.
This blog provides a good treatise on the subject matter. Developers running on Debian based distro's like Ubuntu will need to modify the
/etc/dbus-1/system.d/wpa_supplicant.conf
to allow your user (non-root) access to interface with dbus.Add another
<policy_user>
block in addition to the existing one.Note the policy user you set should be identical to the owner of the process running the Go binary using the wpa-connect library.