[gentoo-user] systemd not starting wpa_supplicant after last update

2015-02-11 Thread walt
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

2015-02-11 Thread Canek Peláez Valdés
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

2015-02-11 Thread Neil Bothwick
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