You are not logged in.

#1 2019-06-07 10:39:18

momu
Member
Registered: 2017-10-14
Posts: 137

[SOLVED] IWD doesn't get up after sleep

I have recently switched to iwd from wpa_supplicant because it connects faster to a network (which also means that the machine boots up faster) and it is way easier to use.

Unfortunately after the machine wakes up from sleep I need to restart iwd with

systemctl restart iwd.service

to connect to the network even though

systemctl status iwd.service

says that iwd.service is "active (running)". For some reason just opening iwctl and trying to connect doesn't work because networks cannot be found (notice that I don't need to open iwctl to connect if I restart the service).

What do I need to do so iwd.service connects automatically to network after the machine wakes up?

Last edited by momu (2019-06-14 13:46:34)

Offline

#2 2019-06-07 12:35:41

CarbonChauvinist
Member
Registered: 2012-06-16
Posts: 136

Re: [SOLVED] IWD doesn't get up after sleep

Post outputs of the following please:

$ ip a
$ systemctl status iwd
$ systemctl cat iwd
$ systemd-delta
$ systemctl list-unit-files --state=enabled

Also pastebin and link a complete journal after resuming from sleep and getting the unexpected behavior WRT iwd.

This will ensure the best chance of someone being able to grok what may be happening and helping.


"the wind-blown way, wanna win? don't play"

Offline

#3 2019-06-07 14:04:47

momu
Member
Registered: 2017-10-14
Posts: 137

Re: [SOLVED] IWD doesn't get up after sleep

CarbonChauvinist wrote:

Post outputs of the following please:

$ ip a
$ systemctl status iwd
$ systemctl cat iwd
$ systemd-delta
$ systemctl list-unit-files --state=enabled

Also pastebin and link a complete journal after resuming from sleep and getting the unexpected behavior WRT iwd.

This will ensure the best chance of someone being able to grok what may be happening and helping.

Ok, here they are in order.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default q
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp3s0f2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qle
    link/ether 30:5a:3a:bc:0c:e2 brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group d
    link/ether 60:02:b4:d6:49:aa brd ff:ff:ff:ff:ff:ff
● iwd.service - Wireless service
   Loaded: loaded (/etc/systemd/system/iwd.service; enabled; vendor preset: disable
   Active: active (running) since Fri 2019-06-07 14:55:33 CEST; 59min ago
 Main PID: 332 (iwd)
    Tasks: 1 (limit: 4567)
   Memory: 2.5M
   CGroup: /system.slice/iwd.service
           └─332 /usr/lib/iwd/iwd

Jun 07 14:55:33 leviathan systemd[1]: Started Wireless service.
Jun 07 14:55:33 leviathan iwd[332]: Wiphy phy0 will only use the default in…face
Jun 07 14:55:33 leviathan iwd[332]: Wiphy: 0, Name: phy0
Jun 07 14:55:33 leviathan iwd[332]:         Bands: 2.4 GHz
Jun 07 14:55:33 leviathan iwd[332]:         Ciphers: CCMP TKIP BIP
Jun 07 14:55:33 leviathan iwd[332]:         Supported iftypes: ad-hoc stati…p-go
Jun 07 14:55:33 leviathan iwd[332]: No ControlPortOverNL80211 setting, defa…True
Jun 07 14:55:34 leviathan iwd[332]: CMD_SET_CQM failed
Jun 07 14:55:40 leviathan iwd[332]: 4-Way handshake failed for ifindex: 3, …: 15
Jun 07 15:54:24 leviathan iwd[332]: Received Deauthentication event, reason…alse
Hint: Some lines were ellipsized, use -l to show in full.
# /etc/systemd/system/iwd.service
[Unit]
Description=Wireless service
Before=network.target
Wants=network.target

[Service]
Type=dbus
BusName=net.connman.iwd
ExecStart=/usr/lib/iwd/iwd
LimitNPROC=1
Restart=on-failure
PrivateTmp=true
NoNewPrivileges=true
PrivateDevices=true
ProtectHome=yes
ProtectSystem=strict
ReadWritePaths=/var/lib/iwd/
ProtectControlGroups=yes
ProtectKernelModules=yes

[Install]
WantedBy=multi-user.target
[OVERRIDDEN] /etc/systemd/system/iwd.service → /usr/lib/systemd/system/iwd.service

Files /usr/lib/systemd/system/iwd.service and /etc/systemd/system/iwd.service are i


1 overridden configuration files found.
UNIT FILE               STATE
autovt@.service         enabled
display-manager.service enabled
getty@.service          enabled
iwd.service             enabled
lightdm.service         enabled
remote-fs.target        enabled

6 unit files listed.

Journal

All of this is information before restarting the service.

Offline

#4 2019-06-07 14:30:42

CarbonChauvinist
Member
Registered: 2012-06-16
Posts: 136

Re: [SOLVED] IWD doesn't get up after sleep

Thanks, this is helpful. Couple of thoughts - do you get the same behavior with the default kernel (i.e. non-lts?)

Can you rerun systemd-delta with the --no-pager flag and repost the output? Not sure why your iwd.service is being overridden and why the override is not shown in the systemctl status for iwd.service output (though I assume the truncated output is saying the files are identical, so in effect there's no real override). Are you intending to override/change settings in the service unit? If so please post the desired override settings or if not remove some maybe left over cruft.

Did you post the journal from going through a sleep/resume so we can see the actual behavior we're trying to troubleshoot? (i.e.having to restart iwd after resuming from sleep).

Lastly, did you have similar behavior before switching to iwd? Are you sure you have the correct drivers/firmware for your wireless NIC? There are some errors in the iwd.service status that makes me wonder. ("systemctl status -l iwd --no-pager" to see full output)


"the wind-blown way, wanna win? don't play"

Offline

#5 2019-06-10 09:23:05

momu
Member
Registered: 2017-10-14
Posts: 137

Re: [SOLVED] IWD doesn't get up after sleep

@CarbonChauvinist

systemd-delta --no-pager

returns the same output as

systemd-delta

so I don't see the reason to post it when I already posted output of the latter command. I don't know why iwd.service is overridden but I didn't override it.

I posted the journal before restarting iwd.service. Here are journals before and after restarting iwd.service.
Before restarting iwd.service
After restarting iwd.service

I didn't have this problem before switching to IWD. Wpa_supplicant worked just fine. I think I do have correct drivers and firmware for my wireless NIC.
Here is the output of "systemctl status -l iwd --no-pager" after restarting the service.

● iwd.service - Wireless service
   Loaded: loaded (/etc/systemd/system/iwd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-06-10 11:16:30 CEST; 4min 15s ago
 Main PID: 1054 (iwd)
    Tasks: 1 (limit: 4567)
   Memory: 568.0K
   CGroup: /system.slice/iwd.service
           └─1054 /usr/lib/iwd/iwd

Jun 10 11:16:30 leviathan iwd[1054]: Skipping optional configuration file /etc/iwd/main.conf
Jun 10 11:16:30 leviathan iwd[1054]: Wiphy phy0 will only use the default interface
Jun 10 11:16:30 leviathan systemd[1]: Started Wireless service.
Jun 10 11:16:30 leviathan iwd[1054]: Wiphy: 0, Name: phy0
Jun 10 11:16:30 leviathan iwd[1054]:         Bands: 2.4 GHz
Jun 10 11:16:30 leviathan iwd[1054]:         Ciphers: CCMP TKIP BIP
Jun 10 11:16:30 leviathan iwd[1054]:         Supported iftypes: ad-hoc station ap p2p-client p2p-go
Jun 10 11:16:30 leviathan iwd[1054]: No ControlPortOverNL80211 setting, defaulting to True
Jun 10 11:16:31 leviathan iwd[1054]: CMD_SET_CQM failed
Jun 10 11:16:32 leviathan iwd[1054]: hardware_rekey not supported

Offline

#6 2019-06-12 02:22:23

CarbonChauvinist
Member
Registered: 2012-06-16
Posts: 136

Re: [SOLVED] IWD doesn't get up after sleep

Hmm, well I don't know what to tell you. I would suggest, since the truncated output of systemd-delta shows you've overridden the default package provided service file and you indicate you've not done this yourself, to try and at least get to a default known state for the service.

If it were me I'd disable the iwd service, remove the /etc/systemd/system/iwd.service file, and then systemd daemon-reload, then enable iwd again. Maybe first verify if any package actually owns the /etc/systemd/system/iwd.service file.

When I query the file list for the iwd package here's what I get:

$  pacman -Q iwd
iwd 0.18-1

$ pacman -Ql iwd
iwd /usr/
iwd /usr/bin/
iwd /usr/bin/iwctl
iwd /usr/bin/iwmon
iwd /usr/lib/
iwd /usr/lib/iwd/
iwd /usr/lib/iwd/ead
iwd /usr/lib/iwd/iwd
iwd /usr/lib/modules-load.d/
iwd /usr/lib/modules-load.d/pkcs8.conf
iwd /usr/lib/systemd/
iwd /usr/lib/systemd/system/
iwd /usr/lib/systemd/system/ead.service
iwd /usr/lib/systemd/system/iwd.service
iwd /usr/lib/tmpfiles.d/
iwd /usr/lib/tmpfiles.d/iwd.conf
iwd /usr/share/
iwd /usr/share/dbus-1/
iwd /usr/share/dbus-1/system-services/
iwd /usr/share/dbus-1/system-services/net.connman.ead.service
iwd /usr/share/dbus-1/system-services/net.connman.iwd.service
iwd /usr/share/dbus-1/system.d/
iwd /usr/share/dbus-1/system.d/ead-dbus.conf
iwd /usr/share/dbus-1/system.d/iwd-dbus.conf

I'm actually using systemd-networkd to manage my network in conjunction with iwd so may be a little different from you who are only using iwd. You're using the lts kernel? Why? Is this behavior different with the default kernel?

I'm also not sure what these lines indicate in your logs but leads me to think to verify your wireless setup:

Jun 07 14:55:34 leviathan iwd[332]: CMD_SET_CQM failed
Jun 07 14:55:40 leviathan iwd[332]: 4-Way handshake failed for ifindex: 3, …: 15

Jun 10 11:16:31 leviathan iwd[1054]: CMD_SET_CQM failed
Jun 10 11:16:32 leviathan iwd[1054]: hardware_rekey not supported

Assuming you are in fact using the rtl8723be this link may be worth investigating.


"the wind-blown way, wanna win? don't play"

Offline

#7 2019-06-14 13:33:11

momu
Member
Registered: 2017-10-14
Posts: 137

Re: [SOLVED] IWD doesn't get up after sleep

CarbonChauvinist wrote:

Hmm, well I don't know what to tell you. I would suggest, since the truncated output of systemd-delta shows you've overridden the default package provided service file and you indicate you've not done this yourself, to try and at least get to a default known state for the service.

If it were me I'd disable the iwd service, remove the /etc/systemd/system/iwd.service file, and then systemd daemon-reload, then enable iwd again. Maybe first verify if any package actually owns the /etc/systemd/system/iwd.service file.

When I query the file list for the iwd package here's what I get:

$  pacman -Q iwd
iwd 0.18-1

$ pacman -Ql iwd
iwd /usr/
iwd /usr/bin/
iwd /usr/bin/iwctl
iwd /usr/bin/iwmon
iwd /usr/lib/
iwd /usr/lib/iwd/
iwd /usr/lib/iwd/ead
iwd /usr/lib/iwd/iwd
iwd /usr/lib/modules-load.d/
iwd /usr/lib/modules-load.d/pkcs8.conf
iwd /usr/lib/systemd/
iwd /usr/lib/systemd/system/
iwd /usr/lib/systemd/system/ead.service
iwd /usr/lib/systemd/system/iwd.service
iwd /usr/lib/tmpfiles.d/
iwd /usr/lib/tmpfiles.d/iwd.conf
iwd /usr/share/
iwd /usr/share/dbus-1/
iwd /usr/share/dbus-1/system-services/
iwd /usr/share/dbus-1/system-services/net.connman.ead.service
iwd /usr/share/dbus-1/system-services/net.connman.iwd.service
iwd /usr/share/dbus-1/system.d/
iwd /usr/share/dbus-1/system.d/ead-dbus.conf
iwd /usr/share/dbus-1/system.d/iwd-dbus.conf

I'm actually using systemd-networkd to manage my network in conjunction with iwd so may be a little different from you who are only using iwd. You're using the lts kernel? Why? Is this behavior different with the default kernel?

I'm also not sure what these lines indicate in your logs but leads me to think to verify your wireless setup:

Jun 07 14:55:34 leviathan iwd[332]: CMD_SET_CQM failed
Jun 07 14:55:40 leviathan iwd[332]: 4-Way handshake failed for ifindex: 3, …: 15

Jun 10 11:16:31 leviathan iwd[1054]: CMD_SET_CQM failed
Jun 10 11:16:32 leviathan iwd[1054]: hardware_rekey not supported

Assuming you are in fact using the rtl8723be this link may be worth investigating.

pacman -Ql iwd

returns the exact same output as on your system.

I use LTS kernel because it is more stable. So it's just because of prevention, I also have a main kernel installed. Problem exists on both kernels.

I'll now try what you first suggested.

CarbonChauvinist wrote:

If it were me I'd disable the iwd service, remove the /etc/systemd/system/iwd.service file, and then systemd daemon-reload, then enable iwd again. Maybe first verify if any package actually owns the /etc/systemd/system/iwd.service file.

Offline

#8 2019-06-14 13:46:13

momu
Member
Registered: 2017-10-14
Posts: 137

Re: [SOLVED] IWD doesn't get up after sleep

I did

CarbonChauvinist wrote:

If it were me I'd disable the iwd service, remove the /etc/systemd/system/iwd.service file, and then systemd daemon-reload, then enable iwd again. Maybe first verify if any package actually owns the /etc/systemd/system/iwd.service file.

and it did fix my problem. I still don't know why the file was overridden though. I just hope /etc/systemd/iwd.service was not owned by any package (I forgot to verify that before removing it hmm).

Offline

Board footer

Powered by FluxBB