[gentoo-user] systemd not starting wpa_supplicant after last update
Yesterday I updated both systemd (218-r3) and wpa (2.3-r2) and discovered the systemd unit files are not as easy to understand as they were. journalctl says: Job wpa_supplicant@multi-user.service/start failed with result 'dependency'. (And doesn't say what the 'dependency' is.) That's confusing because there is no unit file with that name. systemd is apparently inserting strings like @multi-user in the middle of real unit file names to create that log message. wpa_supplicant now installs more unit files than before: #systemctl list-unit-files | grep wpa wpa_supplicant-nl80211@.service enabled wpa_supplicant-wired@.service disabled wpa_supplicant.service disabled wpa_supplicant@.service disabled #cat /usr/lib64/systemd/system/wpa_supplicant-nl80211\@.service [Unit] Description=WPA supplicant daemon (interface- and nl80211 driver-specific version) Requires=sys-subsystem-net-devices-%i.device After=sys-subsystem-net-devices-%i.device [Service] Type=simple ExecStart=/usr/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-nl80211-%I.conf -Dnl80211 -i%I [Install] Alias=multi-user.target.wants/wpa_supplicant-nl80211@%i.service Now, if I type that ExecStart command from a bash prompt it works perfectly, so why is systemd failing to start wpa_supplicant? I dunno. I'm assuming the %I stands for wlan0, so that's the way I named the conf file: /etc/wpa_supplicant/wpa_supplicant-nl80211-wlan0.conf but maybe I'm wrong about that? Thanks for any clues.
Re: [gentoo-user] systemd not starting wpa_supplicant after last update
On Wed, Feb 11, 2015 at 11:14 AM, walt w41...@gmail.com wrote: Yesterday I updated both systemd (218-r3) and wpa (2.3-r2) and discovered the systemd unit files are not as easy to understand as they were. journalctl says: Job wpa_supplicant@multi-user.service/start failed with result 'dependency'. (And doesn't say what the 'dependency' is.) That's confusing because there is no unit file with that name. systemd is apparently inserting strings like @multi-user in the middle of real unit file names to create that log message. wpa_supplicant now installs more unit files than before: #systemctl list-unit-files | grep wpa wpa_supplicant-nl80211@.service enabled wpa_supplicant-wired@.service disabled wpa_supplicant.service disabled wpa_supplicant@.service disabled #cat /usr/lib64/systemd/system/wpa_supplicant-nl80211\@.service [Unit] Description=WPA supplicant daemon (interface- and nl80211 driver-specific version) Requires=sys-subsystem-net-devices-%i.device After=sys-subsystem-net-devices-%i.device [Service] Type=simple ExecStart=/usr/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-nl80211-%I.conf -Dnl80211 -i%I [Install] Alias=multi-user.target.wants/wpa_supplicant-nl80211@%i.service Now, if I type that ExecStart command from a bash prompt it works perfectly, so why is systemd failing to start wpa_supplicant? I dunno. I'm assuming the %I stands for wlan0, so that's the way I named the conf file: /etc/wpa_supplicant/wpa_supplicant-nl80211-wlan0.conf but maybe I'm wrong about that? The unit files with @ in them are templates which you can instantiate with (usually) devices. For example, you could do: systemctl enable wpa_supplicant-nl80211@wlp3s0.service systemctl enable wpa_supplicant-wired@enp2s12.service And only then the %i inside the unit file becomes wlp3s0 or enp2s12. This is explained in man 5 systemd.unit, search for @. In the same man page, in the section SPECIFIERS, you can find what specifiers (besides %i) you can use. I use NetworkManager for wireless connections, and systemd-networkd for static ethernet, so I don't use wpa_supplicant directly. However, I would suggest to simply enable wpa_supplicant@your-wireless-device.service. Regards. -- Canek Peláez Valdés Profesor de asignatura, Facultad de Ciencias Universidad Nacional Autónoma de México
Re: [gentoo-user] systemd not starting wpa_supplicant after last update
On Wed, 11 Feb 2015 13:22:13 -0600, Canek Peláez Valdés wrote: I use NetworkManager for wireless connections, and systemd-networkd for static ethernet, so I don't use wpa_supplicant directly. However, I would suggest to simply enable wpa_supplicant@your-wireless-device.service. I have it set up like this % cat /etc/systemd/network/20-wlan0.network [Match] Name=wlan0 [Network] Description=Wireless network DHCP=yes % ls -l /etc/systemd/system/systemd-networkd.service.wants/ systemd-resolved.service - /usr/lib/systemd/system/systemd-resolved.service wpa_supplicant@wlan0.service - /usr/lib64/systemd/system/wpa_supplicant@.service -- Neil Bothwick Puritanism: The haunting fear that someone, somewhere may be happy. pgp8lzqX6zu8n.pgp Description: OpenPGP digital signature