wpa_supplicant dhcpcd systemd debian

The leanest cleanest way to connect to wpa/2 networks is wpa_supplicant. And wpa_gui provides GUI and system tray icon, if needed. All other applications are bloat, building additional layers and complexity. Goodbye Gnome/NetworkManager!

Since moving to systemd chasing the gnome dragons, the debian ecosystem has broken down. Many debian ways of doing things have since become invalid, and systemd ways of doing things need to be understood. This understanding is still not quite clear in any knowledge base, particularly with debian.

In systemd, the cleanest way seems to be the dhcpcd hook automatically invoking wpa_supplicant.

A recent update to Debian Stretch broke wireless connectivity. Researching the issue led to dhcpcd hooks. Apparently, dhcpcd5 continues to provide the wpa_supplicant hook, but removed it as default. The fix was to add back the wpa_supplicant hook to dhcpcd hooks.

The default dhcpcd hooks are located at /lib/dhcpcd/dhcpcd-hooks/
Additional dhcpcd hooks are located at /usr/share/dhcpcd/hooks/

So we
# ln -s /usr/share/dhcpcd/hooks/10-wpa_supplicant /usr/share/dhcpcd/hooks/10-wpa_supplicant

Reboot debian, and verify wireless connectivity.

Interestingly, arch doesn't need this workaround.

Update: I have moved on from dhcpcd, and purged it.

most popular posts