1
  *-network               
       description: Wireless interface
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlp2s0
       version: 99
       serial: e0:94:67:f7:76:73
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=4.4.0-93-generic firmware=17.352738.0 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn
       resources: irq:330 memory:d2200000-d2201fff

Ubuntu 16.04 was showing all wifi networks available. Suddenly, none of the networks are showing up. I did sudo network-manager service restart and occasionally it works.

Can someone help me with a permanent fix? Thanks

Pilot6
  • 90,100
  • 91
  • 213
  • 324

1 Answers1

1

Reset WiFi after long suspend period

A few months ago some of us discovered the network card (Ethernet) and wifi card would not reconnect if the laptop was suspended for a long period (+2 hours IIRC). For the 8 months prior to that, suspending and resuming worked perfectly.

This script is written for iwlwifi` which is the common Intel driver name. If your's is different change that name below:

#!/bin/sh

NAME: /lib/systemd/system-sleep/iwlwifi-reset

DESC: Resets Intel WiFi which can be flakey after a long suspend.

DATE: Apr 1, 2017. Modified August 30, 2017.

MYNAME=$0

exit

restart_wifi() { /usr/bin/logger $MYNAME 'restart_wifi BEGIN' /sbin/modprobe -v -r iwldvm # This removes iwlwifi too /sbin/modprobe -v iwlwifi # This starts iwldvm too

systemctl restart NetworkManager.service

/usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESSED)'
/usr/bin/logger $MYNAME 'restart_wifi END'

}

/usr/bin/logger $MYNAME 'case=[' ${1}' ]' case "${1}/${2}" in hibernate|suspend|pre) ;; resume|thaw|post) restart_wifi;; esac

NOTE: Sometimes simply resetting network manager is all that is needed. In that case un-comment the line above by removing #. Then comment out the two lines above it by putting # at the beginning of those two lines.

You'll need to create this script, called iwlwifi-reset, with sudo powers and save it into the directory /lib/systemd/system-sleep. Then mark it executable using:

chmod a+x /lib/systemd/system-sleep/iwlwifi-reset