Wifi slow to wake-up / connect after suspend

Hi!
I've got some trouble with my wifi (QCA6174 / ath10k) on my laptop.
When waking from suspend, it take some time to reconnect.

The settings as described here are already set for automatic connexion / share with all users etc...
And if stay some time on password prompt, it will also connect to wifi, so I think there is no problem with this.

But the wifi take ~10-15 second before starting the connexion process (I mean before seeing the wifi icon in taskbar trying to connect).

So I have time to wake my laptop, enter password, go in firefox, type something and...no internet, got to wait 5-10 second the connexion is made.

Before Manjaro, I was an ubuntu user and there, I never had to wait for wifi to connect in such situation, so I guess it's not an HW problem but probably some settings somewhere?

Any ideas ?

Personally I think you should count your blessings that your qca6174 adapter is working correctly at all. There are hundreds of posts scattered around the forum from people that can't get that adapter to work properly.

If life is so short you can't wait for your wifi to reconnect then you could reconfigure your networking. Be sure to install timeshift and do a system backup before doing any major network reconfigurations.

I would start by replacing wpa_supplicant with IWD as IWD connects faster. If that alone doesn't satisfy you, then you could try replacing Network Manager with Connman as well.

I have written a full tutorial with full directions on how to.

1 Like

Thanks for your reply !
And yes, I know this qca is not the best deal :slight_smile:
by the way, it works on my laptop but:

  • speed is poor (acceptable for the web but cannot be used for large file transfert to my NAS).
  • sensitivity is pretty poor compared to other laptop or even smartphones.
    Anyway, it's not the topic here !

I will check IWD.
Regarding connman...may I ask the advantages ? :slight_smile:

Are these both IWD / connman compatible with gnome GUI for network management ?

Connman can sometimes correct connectivity issues where NM experiencs problems. Such as weak signals or dropped connections with WiFi.

Yes, no issues that I'm aware of.

Hi!
I tried (connman + iwd), it seems to be a little faster on boot, but the wifi does not work after suspend.
I mean it looks like connected in cmst, but there's not connection. I have to disable/enable again :slight_smile:
So I revert the change back to NM.

Check this post, it helped for me - Weak Wifi Signal [Intel Wireless 3165] I used these options to get wifi working after suspend/monitor off:

options iwlwifi power_save=0
options iwlmvm power_scheme=1

Perhaps @toxpal's suggestion may help.

Sorry for not seeming highly sympathetic to your issue, but I had to use dial up when the internet was in it's infancy. In comparisson waiting a bit after coming out of suspend for your internet to resume seems a minor inconvenience.

Sometimes you've just got to pick your battles, and in this case the battle is just not worth the effort to me.

Good luck resolving your issue, I hope you find your cure.

Perhaps you may want to consider replacing your adapter with a unit on your manufacturers whitelist of approved wifi adapters if this issue is too frustrating for you.

I think my issue is a resume from suspend issue.
At cold boot it's quite ok.
Also yesterday I checked a Solus live session (usb) and wifi connexion is super fast at resume from suspend.
So I assume there must be a tuning to do somewhere.

@toxpal but do you have a QCA6174 ? iwlwifi is for intel, if I understood correctly ?

My adapter wasn't intel, but these 2 options somehow magically solved the issue for me.

I can't see iwlwifi options making any difference unless you were also perhaps using an Intel based bluetooth adapter. However, then I would think using the Bluetooth coexistence option would be more useful.

That doesn't make much sense if you're not using an Intel wifi/BT adapter. :man_shrugging:



I would test as many kernels as possible including the real time kernels to see if you can find one with improvement.



You could also try this:

Add the pcie_aspm=off grub boot parameter.

The following command will add that kernel boot parameter to /etc/default/grub:

sudo cp /etc/default/grub /etc/default/grub.bak && sudo sed '/^GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ pcie_aspm=off "/g' -i /etc/default/grub

After adding the boot parameter, run:

sudo update-grub 

Reboot, and then test your suspension for improvement.


If the change does not improve your connection time you can restore the file to its original state with:

sudo cp /etc/default/grub.bak /etc/default/grub


Hi!
I tried by editing the grub line directly on boot. I mean by pressing "e" in grub menu to edit the linux line and add the pcie_aspm=off then F10.
But no change.

I made a few timings measurement.
The connecting icon in gnome (the wifi icon with "..." on it) appears ~20 after pressing the power button when my laptops sleeps.
Then the wifi is connected about 5sec later (so 25sec after pressing the power button).

I tried the following command to check what happens:
journalctl --since "-3m" | grep 'Network\|wpa'

I see not explicit errors but there are some messages related to p2p-dev-wlan0 which I'm not sure if it's an issue or not.
Is this supposed to be an AP generated by laptop to share its connexion?
I don't use this.

Can it helps to share this log ?

I would try writing a service to shut down your network prior to suspend and restart at resume:

Not a fix, but it may speed things up if you limit sleep times in the service.

Hi!

I tried the ath10k here:

Without modification, it's even longer that currently, I guess due to delays.
if I remove then...well, It kills my wifi.
So I assume it will not help that much (If I reduce all delays to 1sec, it will not be faster than currently).

I really wonder what could delay this reconnect while other distro (ubuntu, solus), make it much faster.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by