I just started trying out Ubuntu 22.04.3 LTS on my AMD 7640U Framework 13, and when it wakes from sleep, it takes a long time to reconnect wifi. I timed it just now and it was a touch over 2 minutes. Windows, by contrast, is basically ready to go by the time I have the lid opened.
Does anyone know why this is or have a good fix?
I was under the impression that it uses the higher-powered version of sleep specifically so that it can do things like resume the wifi connection nearly instantly (?)
(Also, windows will hibernate after a while, keeping the battery drain from getting too serious, whereas Ubuntu doesn’t seem to have a hibernate option built-in, and I haven’t yet tried any of the myriad of non-official ways I’ve found to enable it.)
Addendum: The other side is a Netgear R7800 running OpenWrt 22.03.5, configured with separate 2.4 & 5 GHz networks.
I have only configured the FW13 to connect to the 5 Ghz network, and I’ve noticed a couple of times during the 2-minute wait that it can see the 2.4 Ghz network, but not the 5Ghz one.
EDIT: please also check this thread, seems to be about the same problem:
EDIT2: and especially this one, near the end:
There’s mention of an updated mediatek firmware that should seemingly fix the problem, but its availability depends on your distro.
In the distro I use, opensuse tumbleweed, mediatek firmware files are under /lib/firmware/mediatek, and I saw that I have the fixed version installed: WIFI_MT7961_patch_mcu_1_2_hdr.bin.xz
[ 4.522044] mt7921e 0000:01:00.0 wlp1s0: renamed from wlan0
[ 23.306873] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[ 23.809304] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[ 23.813369] wlp1s0: authenticated
[ 23.816435] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[ 23.826964] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=5)
[ 23.852420] wlp1s0: associated
[ 23.852488] wlp1s0: Limiting TX power to 20 (23 - 3) dBm as advertised by 08:02:8e:9e:ab:6b
[ 1064.106679] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1579.233567] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[ 1579.272240] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[ 1579.276194] wlp1s0: authenticated
[ 1579.278915] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[ 1579.289322] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=5)
[ 1579.313677] wlp1s0: associated
[ 1587.424551] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[37544.677728] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[37544.716402] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[37544.720585] wlp1s0: authenticated
[37544.728638] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[37544.736341] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=5)
[37544.766378] wlp1s0: associated
[37566.384826] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[42317.970048] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[42318.009155] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[42318.013144] wlp1s0: authenticated
[42318.017370] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[42318.027169] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=9)
[42318.056183] wlp1s0: associated
[44493.916657] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[44503.791544] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[44503.825215] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[44503.829438] wlp1s0: authenticated
[44503.831663] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[44503.843058] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=9)
[44503.870941] wlp1s0: associated
[44526.544147] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[50582.059492] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[50582.095139] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[50582.099342] wlp1s0: authenticated
[50582.101712] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[50582.113148] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=8)
[50582.139473] wlp1s0: associated
[50606.804429] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[69969.320020] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[69969.356118] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[69969.360784] wlp1s0: authenticated
[69969.364893] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[69969.374898] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=9)
[69969.402697] wlp1s0: associated
[71337.752972] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[120996.423288] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[120996.458989] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[120996.462935] wlp1s0: authenticated
[120996.465735] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[120996.476153] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=4)
[120996.501750] wlp1s0: associated
[123130.263683] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[123447.718410] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[123447.754804] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[123447.759135] wlp1s0: authenticated
[123447.760122] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[123447.773511] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=4)
[123447.800865] wlp1s0: associated
[123455.082331] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[133640.676705] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[133640.712891] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[133640.717408] wlp1s0: authenticated
[133640.719544] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[133640.731590] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=5)
[133640.761755] wlp1s0: associated
[133663.654869] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[133985.458986] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[133985.495004] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[133985.499576] wlp1s0: authenticated
[133985.507180] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[133985.514236] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=5)
[133985.541621] wlp1s0: associated
[133985.847295] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[133993.692046] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[133993.727989] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[133993.732095] wlp1s0: authenticated
[133993.735094] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[133993.745550] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=5)
[133993.771194] wlp1s0: associated
[135084.042076] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[206422.457279] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[206422.494089] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[206422.498356] wlp1s0: authenticated
[206422.506755] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[206422.514440] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=5)
[206422.543022] wlp1s0: associated
[206776.642970] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[207057.034076] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[207057.070241] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[207057.074373] wlp1s0: authenticated
[207057.076576] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[207057.088245] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=5)
[207057.116159] wlp1s0: associated
[207889.777739] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[209932.680080] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[209932.716225] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[209932.720615] wlp1s0: authenticated
[209932.722832] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[209932.734225] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=4)
[209932.763188] wlp1s0: associated
[211359.043352] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[211669.410013] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[211669.446565] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[211669.450864] wlp1s0: authenticated
[211669.452641] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[211669.465148] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=4)
[211669.494404] wlp1s0: associated
[213097.800772] wlp1s0: deauthenticating from 08:02:8e:9e:ab:6b by local choice (Reason: 3=DEAUTH_LEAVING)
[263048.557686] wlp1s0: authenticate with 08:02:8e:9e:ab:6b
[263048.593719] wlp1s0: send auth to 08:02:8e:9e:ab:6b (try 1/3)
[263048.598357] wlp1s0: authenticated
[263048.602842] wlp1s0: associate with 08:02:8e:9e:ab:6b (try 1/3)
[263048.612665] wlp1s0: RX AssocResp from 08:02:8e:9e:ab:6b (capab=0x111 status=0 aid=5)
[263048.642889] wlp1s0: associated
Nothing jumps out at me, but maybe you’ll see something I didn’t.
I’ll see if I can figure out updating the firmware tomorrow, although it sounds like it’s going to end up in an automatic update to ubuntu at some point in the near future.
Ok, switching to iwd as described here seemed to make a big difference. For my first test, after waking from sleep, my wifi reconnected in only a few seconds!
That post is for arch, but ubuntu is pretty similar:
It’s been a couple of weeks, and this setup is still working great. The wifi consistently reconnects within a few seconds of the ubuntu booting or waking from sleep. I haven’t booted into windows at all in the last two weeks.
Here is what I’d do at this stage. We want to make sure we have a pure, unfettered install that is free of any customization to your network settings. If it is, continue.
Thanks so much! This resolved my wifi issue, where I could usually connect to my iPhone, but I couldn’t connect to my Orbi router. (AMD DIY Framework 13)
I sort of don’t want to mess with it now that it’s working reliably! But, in the name of science, I’ll try to go through those steps and report back here. It’ll probably be a bit before I get to it, though.
I was thinking that I might just pickup a spare SSD and do a clean install of ubuntu there; I think you can get used 256gb ones for around $15 on ebay.