Wifi network broken after suspend on Fedora 32

WiFi works fine after restart, but won’t work after suspend/resume on Fedora 32 Workstation.

I’m pretty new at Fedora and just setting up my first Fedora system.

Output of sudo lshw -C network:

  *-network                 
       description: Wireless interface
       product: Cannon Point-LP CNVi [Wireless-AC]
       vendor: Intel Corporation
       physical id: 14.3
       bus info: pci@0000:00:14.3
       logical name: wlo1
       version: 30
       serial: 38:00:25:3c:db:c9
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=5.6.14-300.fc32.x86_64 firmware=46.8902351f.0 9000-pu-b0-jf-b0- ip=192.168.10.123 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:16 memory:b431c000-b431ffff

I have tried systemctl restart NetworkManager.service. It doesn’t return any errors, but doesn’t fix the WiFi problem either.

Output of systemctl status NetworkManager.service while the issue is occurring:

● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; v>
     Active: active (running) since Mon 2020-05-25 18:38:11 EDT; 24min ago
       Docs: man:NetworkManager(8)
   Main PID: 2170 (NetworkManager)
      Tasks: 3 (limit: 18894)
     Memory: 14.0M
        CPU: 1.178s
     CGroup: /system.slice/NetworkManager.service
             └─2170 /usr/sbin/NetworkManager --no-daemon

How can I get the WiFi going again after suspend/resume? Ideally I’m looking for a fix that prevents the issue in the first place rather than a one-off terminal fix, but I’ll take what I can get.

Thanks!

I don’t have a solution for you but you could take a look at journalctl -e -p err for clues.

2 Likes

Thanks for the tip, @fasulia!
While the issue is occurring, journalctl -e -p err outputs:

[date] [hostname] systemd[1]: Failed to start OpenVPN service for [vpnclient].
[date] [hostname] wpa_supplicant[2720]: dbus: wpa_dbus_property_changed: no property SessionLength in object /fi/w1/wpa_supplicant1/Interfaces/0

So it appears to be an OpenVPN issue, not NetworkManager. I’m not sure how to interpret the error though.

Now you can scroll back to the timestamp of the error and hopefully get some more information with journalctl -e or journalctl -xe.

Also check systemctl status [name of failed service].

Output of journalctl -xe:

-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- An ExecStart= process belonging to unit openvpn-server@us-clt.service has exited.
-- 
-- The process' exit code is 'exited' and its exit status is 1.
May 27 10:30:14 localhost.localdomain systemd[1]: openvpn-server@us-clt.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- The unit openvpn-server@us-clt.service has entered the 'failed' state with result 'exit-code'.
May 27 10:30:14 localhost.localdomain systemd[1]: Failed to start OpenVPN service for us/clt.
-- Subject: A start job for unit openvpn-server@us-clt.service has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- A start job for unit openvpn-server@us-clt.service has finished with a failure.
-- 
-- The job identifier is 1844417 and the job result is failed.
May 27 10:30:14 localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=openvpn-server@us-clt comm>
May 27 10:30:14 localhost.localdomain audit: BPF prog-id=15004 op=UNLOAD\

Output of systemctl status openvpn-server@us-clt:

     Loaded: loaded (/usr/lib/systemd/system/openvpn-server@.service; enabled; >
     Active: activating (auto-restart) (Result: exit-code) since Wed 2020-05-27>
       Docs: man:openvpn(8)
             https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
             https://community.openvpn.net/openvpn/wiki/HOWTO
    Process: 76510 ExecStart=/usr/sbin/openvpn --status /run/openvpn-server/sta>
   Main PID: 76510 (code=exited, status=1/FAILURE)
        CPU: 32ms

I’m pretty new at this… can anyone help interpret what is the key info here, and what is a possible fix?

Doesn’t look like the service has started (active: running). Could you first try without openvpn?

systemctl list-units --state=failed will also show if anything else has failed.

1 Like

I have the same issue – wired network is off upon resume from suspend, and I do not have a VPN. Had to restart to get it back, since there was no way to fix from desktop GUI’s and I am not a terminal wiz.

Same problem (cannot connect after suspend) with Broadcom WiFi (Bus 002 Device 003: ID 0a5c:21e1 Broadcom Corp) after upgrading to FC32 (from FC30). Solving several times on/off WiFi on laptop, but it is very annoying.

Still having this same issue. I restart every time it happens, but it’s very annoying. What can be entered in the terminal to avoid the full system restart?

You can try to downgrade the kernel until the issue is properly fixed.

I have replicated the issue on ElementaryOS. The OpenVPN will work fine when started manually and will even reconnect after suspend, but will not autostart on boot unless I set it up via the systemctl commands here: Start OpenVPN connection on boot. It is this set of commands that breaks the VPN’s ability to reconnect after suspend. Even the command sudo systemctl restart openvpn-client@name doesn’t work after suspend.

To fix this, “follow the instructions below to add a systemd service which sends a SIGHUP signal to OpenVPN which forces a reconnect to occur”:

/etc/systemd/system/openvpn-reconnect.service

[ Unit ]

Description=Restart OpenVPN after suspend

[ Service ]

ExecStart=/usr/bin/pkill --signal SIGHUP --exact openvpn

[ Install ]

WantedBy=sleep.target

then enable the service:

sudo systemctl enable openvpn-reconnect

Thanks to Jay Ta’ala at https://confluence.jaytaala.com/display/TKB/OpenVPN+setup+and+custom+configurations for pointing this out.

OpenVPN still does not autostart after suspend, but it now responds to the command sudo systemctl restart openvpn-client@name.

How can this last step be made automatic?

1 Like

NetworkManager is much better suited to support dynamic configurations.
Just mark the VPN connection as secondary and it will automatically start along with the primary one.

How is this done? Is there an option in the GUI?

nmcli connection modify id PRIMARY_CON connection.secondaries VPN_CON
nm-connection-editor

I can’t find related settings in nm-connection-editor. Are there screenshots? Does nmcli have to be used (first)?

  • Open nm-connection-editor.
  • Select your primary connection, e.g. Wi-Fi, Ethernet, etc.
  • Click the gearwheel to edit the connection.
  • Navigate to General settings.
  • Mark Automatically connect to VPN.
  • Select your secondary VPN connection.
  • Save the settings.
  • Reconnect the primary connection.
1 Like

Thanks. I was looking for anything with the word “secondary”.