WpaSupplicant
If your wireless management tools (like NetworkManager or desktop applets) fail to communicate with wpa_supplicant, it is often a matter of missing D-Bus permissions or incorrect service options.
Follow this guide to allow users in the wheel group to interact with the wpa_supplicant daemon.
1. Update D-Bus Configuration
Section titled “1. Update D-Bus Configuration”You need to explicitly allow the wheel group to send and receive signals via the fi.w1.wpa_supplicant1 interface.
Open /etc/dbus-1/system.d/wpa_supplicant.conf in your preferred text editor and ensure the <policy group="wheel"> blocks are included before the closing </busconfig> tag:
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "[http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd](http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd)"><busconfig> <policy user="root"> <allow own="fi.w1.wpa_supplicant1"/>
<allow send_destination="fi.w1.wpa_supplicant1"/> <allow send_interface="fi.w1.wpa_supplicant1"/> <allow receive_sender="fi.w1.wpa_supplicant1" receive_type="signal"/> </policy> <policy context="default"> <deny own="fi.w1.wpa_supplicant1"/> <deny send_destination="fi.w1.wpa_supplicant1"/> <deny receive_sender="fi.w1.wpa_supplicant1" receive_type="signal"/> </policy>
<!-- Allow users in the wheel group to interact with wpa_supplicant --> <policy group="wheel"> <allow send_destination="fi.w1.wpa_supplicant1"/> <allow receive_sender="fi.w1.wpa_supplicant1" receive_type="signal"/> </policy></busconfig>2. Configure the runit Service Flags
Section titled “2. Configure the runit Service Flags”For D-Bus control to function correctly, wpa_supplicant must be started with the -u flag enabled. Update your service configuration file to include the correct flags.
Modify or create the configuration file for the service:
OPTS="-u -M -c /etc/wpa_supplicant/wpa_supplicant.conf"3. Apply Changes
Section titled “3. Apply Changes”After saving both files, restart the D-Bus daemon and the wpa_supplicant service to apply the new policies:
# Reload D-Bus configurationsudo pkill -HUP dbus-daemon
# Restart the wpa_supplicant runit service if you got 2nd issuesudo sv restart wpa_supplicant