You are not logged in.

#1 2015-03-14 15:32:21

SwitchDhole
Member
Registered: 2015-02-01
Posts: 51

[SOLVED] Systemctl start works, but systemctl enable displays FAILED

Hello again Arch forums!

I use wpa_supplicant to my wireless network. I created a systemd unit that works fine when I start it myself but gives me

[FAILED] Failed to start wireless network connectivity (wlp2s0).
See "systemctl status network-wireless@wlp2s0.service" for details.

when I enable it.
I ran

systemctl -l status network-wireless@wlp2s0.service

and got

● network-wireless@wlp2s0.service - Wireless network connectivity (wlp2s0)
   Loaded: loaded (/etc/systemd/system/network-wireless@.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sat 2015-03-14 16:05:39 CET; 12min ago
  Process: 403 ExecStart=/usr/bin/dhcpcd %i (code=exited, status=1/FAILURE)
  Process: 392 ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant/Network_I_Am_Connecting_To.conf (code=exited, status=0/SUCCESS)
  Process: 383 ExecStart=/usr/bin/ip link set dev %i up (code=exited, status=0/SUCCESS)
 Main PID: 403 (code=exited, status=1/FAILURE)
   CGroup: /system.slice/system-network\x2dwireless.slice/network-wireless@wlp2s0.service

Mar 14 16:05:39 archbox systemd[1]: network-wireless@wlp2s0.service: main process exited, code=exited, status=1/FAILURE
Mar 14 16:05:39 archbox dhcpcd[403]: dhcpcd[403]: dhcpcd already running on pid 387 (/run/dhcpcd-wlp2s0.pid)
Mar 14 16:05:39 archbox systemd[1]: Failed to start Wireless network connectivity (wlp2s0).
Mar 14 16:05:39 archbox systemd[1]: Unit network-wireless@wlp2s0.service entered failed state.
Mar 14 16:05:39 archbox systemd[1]: network-wireless@wlp2s0.service failed.

I don't think this is an issue with my systemctl unit because

sudo systemctl start network-wireless@wlp2s0.service

works as it should.
I basically copied my systemctl unit from the wiki page, but here's what mine looks like:

[Unit]
Description=Wireless network connectivity (%i)
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
Type=oneshot
RemainAfterExit=yes

ExecStart=/usr/bin/ip link set dev %i up
ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant/Network_I_Am_Connecting_To.conf
ExecStart=/usr/bin/dhcpcd %i

ExecStop=/usr/bin/ip link set dev %i down

[Install]
WantedBy=multi-user.target

Here's what the wpa_supplicant conf looks like:

ctrl_interface=/run/wpa_supplicant
update_config=1
fast_reauth=1
ap_scan=1
network={
        ssid="Network_I_Am_Connecting_To"
        #psk="Wifi_Key"
        psk=27bef67e26069e38d40aec5981b47431bf442f2b76b84539d51edc8996548faa
}

Why isn't this working during startup, and how can I fix this?

Last edited by SwitchDhole (2015-03-14 16:01:58)

Offline

#2 2015-03-14 15:39:28

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: [SOLVED] Systemctl start works, but systemctl enable displays FAILED

SwitchDhole wrote:
Process: 403 ExecStart=/usr/bin/dhcpcd %i (code=exited, status=1/FAILURE)
[...]
Mar 14 16:05:39 archbox dhcpcd[403]: dhcpcd[403]: dhcpcd already running on pid 387 (/run/dhcpcd-wlp2s0.pid)

What is the output of:

ls -l /etc/systemd/system/multi-user.target.wants

Offline

#3 2015-03-14 15:50:49

SwitchDhole
Member
Registered: 2015-02-01
Posts: 51

Re: [SOLVED] Systemctl start works, but systemctl enable displays FAILED

Here's what came out of it:

total 0
lrwxrwxrwx 1 root root 39 Mar 12 15:11 dhcpcd@wlp2s0.service -> /usr/lib/systemd/system/dhcpcd@.service
lrwxrwxrwx 1 root root 35 Jan 31 22:35 gpm.service -> /usr/lib/systemd/system/gpm.service
lrwxrwxrwx 1 root root 40 Feb  1 17:10 iptables.service -> /usr/lib/systemd/system/iptables.service
lrwxrwxrwx 1 root root 45 Mar 12 15:33 network-wireless@wlp2s0.service -> /etc/systemd/system/network-wireless@.service
lrwxrwxrwx 1 root root 51 Feb 15 17:32 remote-fs.target -> ../../../../usr/lib/systemd/system/remote-fs.target
lrwxrwxrwx 1 root root 47 Mar 12 15:11 wpa_supplicant@wlp2s0.service -> /usr/lib/systemd/system/wpa_supplicant@.service

Note that I rebooted at about 16:47, my time.

Offline

#4 2015-03-14 15:52:58

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: [SOLVED] Systemctl start works, but systemctl enable displays FAILED

You need to disable the dhcpcd .service

# systemctl disable dhcpcd@wlp2s0.service

Then you should be able to `enable` your .service.
Then your .service should start up on boot.

EDIT: And the wpa_supplicant.service as well:

# systemctl disable wpa_supplicant@wlp2s0.service

They are all conflicting with each other -- you should only have one networking .service `enable`d at a time.

Last edited by Head_on_a_Stick (2015-03-14 15:55:24)

Offline

#5 2015-03-14 16:01:13

SwitchDhole
Member
Registered: 2015-02-01
Posts: 51

Re: [SOLVED] Systemctl start works, but systemctl enable displays FAILED

Thanks! It worked.

Offline

#6 2015-03-14 16:04:07

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: [SOLVED] Systemctl start works, but systemctl enable displays FAILED

You're welcome.
smile

Offline

Board footer

Powered by FluxBB