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

  • What does "occasionally it works" mean? – Pilot6 Aug 30 '17 at 12:17
  • Can you give us details of your machine? – WinEunuuchs2Unix Aug 30 '17 at 12:17
  • @Pilot6 By occasionally works, The wifi networks show up after using the service restart command like about 10 times, 20 times, etc – user7693981 Aug 30 '17 at 12:58
  • @WinEunuuchs2Unix Can you let me know the kind of details expected. I am kind of new here. Any command's output? – user7693981 Aug 30 '17 at 12:59
  • @WinEunuuchs2Unix When I use lshw -C network I get the above as mentioned now in the question – user7693981 Aug 30 '17 at 13:03

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:


# 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.



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

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.