Wi-Fi incredibly slow after sleep. Restarting NetworkManager seems to have no effect

It seems after my laptop (Lenovo ThinkPad P14s Gen 6 AMD) sleeps for a while, Wi-Fi performance will be limited to about 20Mbps down and similar but slightly more up.

And just to head it off: No it’s not the network.

The only solution I’ve found is rebooting.

Restarting NetworkManager doesn’t fix it.

Anyone know what this might be or what service is getting hung up?

Seems to have started recently, but I have no idea how to debug it.

I would have thought restarting NetworkManager would fix it, but the fact that it doesn’t leaves me baffled.

In similar reports for other WiFi chips there have been issues with power saving management that caused this type of issue.

You could search for ways to change the power saving for the WiFi chip and see if that helps.

So, it started recently…

It didn’t used to do this. Was this a software update that caused this? I did also get a firmware update about a month ago too.

Is there a way, via terminal, to try to force it to change power profiles?

I assume changing the power savings setting is done in the EFI?

As @barryascott mentioned it can be something power management related.

Can you try what’s suggested in this topic - Tip: Lower WiFi latency by disabling WiFi power management ?

Power management is done by the kernel.
Likely a new kernel changed the power management of your wifi device.

Next time it happens I’ll give it a shot.

Right now, I’ve worked around it by doing the following:

$ sudo -i
# echo "1" > /sys/bus/pci/devices/0000\:c2\:00.0/remove
# sleep 1
# echo "1" | sudo tee -a /sys/bus/pci/rescan

Where 0000\:c2\:00.0 is my network interface card.

Seemed to fix it today, but I’m not too sure.

One thing to add, it doesn’t happen after every sleep cycle, and seems to happen more often when I unplug from my dock that has a thunderbolt ethernet NIC in it. But the latter part is more my perception than a fact. The thunderbolt dock might be totally unrelated in this.

yay… another kernel bug… :roll_eyes:

I still don’t know if that PCI enumeration bug was ever fixed… because I just set my laptop to never sleep when plugged in as a workaround.

This didn’t work to fix this issue once it started, but I haven’t tried it to see if it will prevent it from happening in the future.

I’ll implement it now, and see if it happens again.

For now this:

or rebooting is all that’s worked.

Still happens with this set.

I still have to revert to removing and readding the PCI device.