Wpa supplicant/Setup for dhcpcd as network manager
First follow the setup guide for dhcpcd.
Emerge wpa_supplicant (Version >=2.6-r2 is needed in order to get the CONFIG_MATCH_IFACE option added in April 2017):
root #
emerge --ask net-wireless/wpa_supplicant
Using OpenRC
Complete its conf.d file with the -M
option for the wireless network interface:
wpa_supplicant_args="-B -M -c /etc/wpa_supplicant/wpa_supplicant.conf"
In case authentication for the wired interface is needed, this configuration file should look like:
wpa_supplicant_args="-ieth0 -Dwired -c/etc/wpa_supplicant/wpa_supplicant_wired.conf -B -M -c/etc/wpa_supplicant/wpa_supplicant.conf"
With the configuration done, run it as a service:
root #
rc-update add wpa_supplicant default
root #
rc-service wpa_supplicant start
Using Systemd
Systemd allows a simpler per-device setup without needing to create the above conf.d files. As explained under wpa_supplicant item in the Native services section, a service symlink such as wpa_supplicant@wlan0.service
looks for a separate configuration file to manage the device wlan0
in this case.
To configure a specific device this way, first copy or rename the /etc/wpa_supplicant/wpa_supplicant.conf file as /etc/wpa_supplicant/wpa_supplicant-DEVNAME.conf where DEVNAME
should be the name of the device, such as wlan0
.
Then, navigate to /etc/systemd/system/multi-user.target.wants and create the symlink:
root #
ln -s /lib/systemd/system/wpa_supplicant@.service wpa_supplicant@DEVNAME.service
where DEVNAME
is same device name as in the conf file above.
Note the @ signs on both arguments in the symlink step.
Test the system:
root #
systemctl daemon-reload
root #
systemctl start wpa_supplicant@DEVNAME
root #
systemctl status wpa_supplicant@DEVNAME