2

I have problem my wifi doesnt work after resume.

I already tried lot of solution over google.

What currently I have:

cat /etc/pm/sleep.d/wakenet.sh

#!/bin/bash
case "$1" in
thaw|resume)
nmcli nm sleep false
pkill -f wpa_supplicant
;;
*)
;;
esac
exit $?

cat /etc/pm/config.d/config

SUSPEND_MODULES="ath10k_pci"

Error log after resume:

 ath10k_pci 0000:04:00.0: Refused to change power state, currently in D3
[   52.941724] ath10k_pci 0000:04:00.0: failed to wake target for write32 of 0x00000000 at 0x00034400: -110
[   52.952859] ath10k_pci 0000:04:00.0: failed to wake target for write32 of 0x00000000 at 0x00034404: -110
[   52.963313] ath10k_pci 0000:04:00.0: failed to wake target for read32 at 0x00034410: -110
[   52.973762] ath10k_pci 0000:04:00.0: failed to wake target for write32 of 0xffff0000 at 0x00034410: -110
[   52.984213] ath10k_pci 0000:04:00.0: failed to wake target for read32 at 0x0003444c: -110
[   52.994663] ath10k_pci 0000:04:00.0: failed to wake target for write32 of 0xffff0000 at 0x0003444c: -110
[   53.005114] ath10k_pci 0000:04:00.0: failed to wake target for write32 of 0x00000000 at 0x00034408: -110
[   53.015563] ath10k_pci 0000:04:00.0: failed to wake target for write32 of 0x00000000 at 0x0003440c: -110
[   53.026037] ath10k_pci 0000:04:00.0: failed to wake target for read32 at 0x00034450: -110
[   53.036495] ath10k_pci 0000:04:00.0: failed to wake target for write32 of 0xffff0000 at 0x00034450: -110
[   54.332051] ath10k_pci 0000:04:00.0: pci irq legacy interrupts 0 irq_mode 0 reset_mode 0
[   57.467798] ath10k_pci 0000:04:00.0: failed to read device register, device is gone
[   57.467809] ath10k_pci 0000:04:00.0: failed to reset chip: -5
[   57.478781] ath10k_pci: probe of 0000:04:00.0 failed with error -5

uname -a

Linux sahal 4.4.0-18-generic #34~14.04.1-Ubuntu SMP Thu Apr 7 18:31:54 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

I really need help now . Thank you !

2 Answers2

0

I found a solution finally! Just make this script to remove the module before suspend and reload after.

https://pastebin.com/93pAZC45

0

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.

Like Owais, 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.

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.

ScottH
  • 71
  • 1
  • 2