wifi still sleeping when resume

When I put my desktop in hybernate and then put it back on the wifi is gone. It is simular to the problem described here. But to fix it you have to run a command sudo nmcli nm sleep false. But the nm thing is not working anymore. It has been removed from nmcli (Describe here). So what could you do to fix it?

I am using ubuntu gnome 4.2


Solution 1:

Please open a terminal and do:

gksudo gedit  /etc/systemd/system/wifi-resume.service

Use nano or kate or leafpad if you don't have the text editor gedit. A new empty file will open. Add the following:

[Unit]
Description=Local system resume actions
After=suspend.target

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager.service

[Install]
WantedBy=suspend.target

Proofread carefully twice, save and close the text editor.

Now do:

sudo chmod +x  /etc/systemd/system/wifi-resume.service

And next:

sudo systemctl enable wifi-resume.service

I suggest you reboot. Test and let us hear your report.

Solution 2:

Another solution similar to the nmcli one Tristan T referenced in the question (without nm, which is no longer an option as Tristan mentioned):

nmcli radio wifi on

I used Owais Lone's answer to a similar question to enable automatic resume of wifi after suspension for my laptop (a Dell Precision) on 16.04 LTS.

I created /etc/pm/sleep.d/10_resume_wifi

#!/bin/sh

case "${1}" in
    resume|thaw)
      nmcli radio wifi off && nmcli radio wifi on;;
esac

followed by a sudo chmod +x /etc/pm/sleep.d/10_resume_wifi to make the file executable.

In case you're wondering about the double semicolons or the solitary close parenthesis like I was, see http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_03.html -- that's just how the case syntax works.