I have Framework Laptop 12 running Ubuntu. Occasionally when I wake it up after it goes to sleep my WiFi connection doesn’t come back up. Instead, NetworkManager keeps trying to connect and tells me every 30 seconds ago “network activation failed.”
I looked at the wpa_supplicant logs and this is the relevant section with errors:
May 12 09:09:02 framework1l wpa_supplicant[1861]: wlp166s0: CTRL-EVENT-DISCONNECTED bssid=d8:47:32:db:02:4e reason=3 locally_generated=1
May 12 09:09:02 framework1l wpa_supplicant[1861]: wlp166s0: CTRL-EVENT-DSCP-POLICY clear_all
May 12 09:09:02 framework1l wpa_supplicant[1861]: p2p-dev-wlp166s: CTRL-EVENT-DSCP-POLICY clear_all
May 12 09:09:02 framework1l wpa_supplicant[1861]: p2p-dev-wlp166s: CTRL-EVENT-DSCP-POLICY clear_all
May 12 09:09:02 framework1l wpa_supplicant[1861]: nl80211: deinit ifname=p2p-dev-wlp166s disabled_11b_rates=0
May 12 09:09:02 framework1l wpa_supplicant[1861]: wlp166s0: Do not deauthenticate as part of interface deinit since WoWLAN is enabled
May 12 09:09:03 framework1l wpa_supplicant[1861]: wlp166s0: CTRL-EVENT-DSCP-POLICY clear_all
May 12 09:09:03 framework1l wpa_supplicant[1861]: nl80211: deinit ifname=wlp166s0 disabled_11b_rates=0
May 12 09:09:03 framework1l wpa_supplicant[1861]: wlp166s0: Reject scan trigger since one is already pending
May 12 09:09:09 framework1l wpa_supplicant[1861]: wlp166s0: CTRL-EVENT-REGDOM-CHANGE init=DRIVER type=WORLD
May 12 09:09:09 framework1l wpa_supplicant[1861]: p2p-dev-wlp166s: CTRL-EVENT-DSCP-POLICY clear_all
May 12 09:09:09 framework1l wpa_supplicant[1861]: p2p-dev-wlp166s: CTRL-EVENT-DSCP-POLICY clear_all
May 12 09:09:09 framework1l wpa_supplicant[1861]: nl80211: deinit ifname=p2p-dev-wlp166s disabled_11b_rates=0
May 12 09:09:09 framework1l wpa_supplicant[1861]: wlp166s0: Do not deauthenticate as part of interface deinit since WoWLAN is enabled
May 12 09:09:09 framework1l wpa_supplicant[1861]: wlp166s0: CTRL-EVENT-DSCP-POLICY clear_all
May 12 09:09:09 framework1l wpa_supplicant[1861]: nl80211: deinit ifname=wlp166s0 disabled_11b_rates=0
May 12 09:09:09 framework1l wpa_supplicant[1861]: wlp166s0: Reject scan trigger since one is already pending
May 12 09:09:12 framework1l wpa_supplicant[1861]: wlp166s0: CTRL-EVENT-REGDOM-CHANGE init=DRIVER type=COUNTRY alpha2=US
May 12 09:09:12 framework1l wpa_supplicant[1861]: wlp166s0: WPS-CANCEL
May 12 09:09:12 framework1l wpa_supplicant[1861]: MBO: Disable MBO/OCE due to misbehaving AP not having enabled PMF
May 12 09:09:12 framework1l wpa_supplicant[1861]: wlp166s0: SME: Trying to authenticate with d8:47:32:db:02:4e (SSID='rivimand' freq=5180 MHz)
May 12 09:09:16 framework1l wpa_supplicant[1861]: BSSID d8:47:32:db:02:4e ignore list count incremented to 2, ignoring for 10 seconds
May 12 09:09:16 framework1l wpa_supplicant[1861]: MBO: Disable MBO/OCE due to misbehaving AP not having enabled PMF
May 12 09:09:16 framework1l wpa_supplicant[1861]: wlp166s0: SME: Trying to authenticate with d8:47:32:db:02:4f (SSID='rivimand' freq=2447 MHz)
May 12 09:09:19 framework1l wpa_supplicant[1861]: BSSID d8:47:32:db:02:4f ignore list count incremented to 2, ignoring for 10 seconds
May 12 09:09:20 framework1l wpa_supplicant[1861]: wlp166s0: SME: Trying to authenticate with 78:d2:94:32:ef:d7 (SSID='rivimand' freq=2427 MHz)
May 12 09:09:23 framework1l wpa_supplicant[1861]: BSSID 78:d2:94:32:ef:d7 ignore list count incremented to 2, ignoring for 10 seconds
May 12 09:09:24 framework1l wpa_supplicant[1861]: wlp166s0: SME: Trying to authenticate with 78:d2:94:32:ef:d9 (SSID='rivimand' freq=5765 MHz)
May 12 09:09:27 framework1l wpa_supplicant[1861]: BSSID 78:d2:94:32:ef:d9 ignore list count incremented to 2, ignoring for 10 seconds
May 12 09:09:27 framework1l wpa_supplicant[1861]: wlp166s0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="rivimand" auth_failures=1 duration=10 reason=CONN_FAILED
May 12 09:09:38 framework1l wpa_supplicant[1861]: wlp166s0: Reject scan trigger since one is already pending
May 12 09:09:40 framework1l wpa_supplicant[1861]: wlp166s0: WPS-CANCEL
The only way I’ve found to recover from this is to reboot.
I’m guessing—just a guess—that the WiFi card is in the middle of a scan when I put it to sleep and the driver for this particular WiFi card doesn’t handle this well and gets stuck in the interrupted scan after wake, but that’s just a guess.
I don’t recall this ever happening on my ThinkPad X1 Carbon 6th Gen, which I still actively use, so (a) this appears to be something specific to my Framework hardware and (b) this isn’t a new Linux issue because my ThinkPad and Framework are both running the same Linux version (previously Kinetic, now Lunar, both have this issue).
Any suggestions?