WiFi not working after restoring from hibernation (authentication times out)

5,219

Solution 1

Take a look at the output from this command to confirm what drivers/modules the kernel is using for your given hardware.

$ lshw -C network
...
  *-network
       description: Wireless interface
       product: Centrino Wireless-N 1000 [Condor Peak]
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: wlp3s0
       version: 00  
       serial: 00:26:c7:85:a7:20
       width: 64 bits
       clock: 33MHz 
       capabilities: bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=3.14.4-100.fc19.x86_64 firmware=39.31.5.1 build 35138 ip=192.168.1.161 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn  
       resources: irq:42 memory:f2400000-f2401fff

The names of the driver is listed in the `configuration line:

driver=iwlwifi

Check and see what other drivers may be in use by this higher level driver:

$ lsmod | grep iwlwifi
iwlwifi               116346  1 iwldvm
cfg80211              513095  3 iwlwifi,mac80211,iwldvm

Try unloading all these rmmod <name> and then reloading them:

$ sudo modprobe iwlwifi

That should load the top level driver + any lower level ones automatically.

Disabling wireless-N

I've had many issues with most of my Thinkpad laptops where wireless would act flaky. The only solution I've found that works is to disable the Wireless-N feature of the iwlwifi module. You can find out the name/options of this parameter to the module like so:

$ modinfo iwlwifi | grep dis
parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm:           wd_disable:Disable stuck queue watchdog timer 0=system default, 1=disable, 2=enable (default: 0) (int)
parm:           power_save:enable WiFi power management (default: disable) (bool)

So after removing the module when you're ready to reload it via modprobe include the option 11n_disable. For example:

$ sudo modprobe iwlwifi 11n_disable=1

You can make this permanent through your modprobe.d directory from boot to boot.

Solution 2

This following steps resolved the problem.

Run once (restarts the machine):

echo "options iwlwifi 11n_disable=1" > /etc/modprobe.d/iwlwifi.conf
/usr/sbin/update-initramfs -u
reboot

Then the following script must be re-run every time restoring from hibernation or booting the system.

/bin/systemctl stop network-manager
/sbin/modprobe -r iwldvm iwlwifi mac80211
/bin/systemctl start network-manager
/sbin/modprobe iwlwifi

The important part being that network manager must be running before loading the kernel drivers.

Share:
5,219

Related videos on Youtube

vald
Author by

vald

I’m pretty much like every other users on StackExchange. Looking for answers to life’s many small and hopefully quantifiable and answerable questions. I host my own email and other services. Specialist in obscure details.

Updated on September 18, 2022

Comments

  • vald
    vald over 1 year

    My Intel 6205 wireless network card does not work after hibernating. It sometimes also does not work on boot, failing in the same way. Occasionally, it also stops working after ~10 minutes of continuous use.

    I have experimented with combinations of: modprobe -r iwlwifi before and after hibernating (or when the problem otherwise occurs), followed by modprobe iwlwifi; and then systemctl restart network-manager and systemctl restart NetworkManager. These solutions are what all search results for the symptoms focuses on.

    What else should I try?

    Configuration:

    • Debian Jessie
    • kernel 3.14.4-1
    • networkmanager 0.9.8.10
    • Intel 6205 rev 96 (iwlwifi)
    • Lenovo ThinkPad X1 Carbon
    $ dmesg
    wlan0: authenticate with 47:f2:2f:91:db:7b
    wlan0: Wrong control channel: center-freq: 5500 ht-cfreq: 5180 ht->primary_chan: 36 band: 1 - Disabling HT
    wlan0: direct probe to 47:f2:2f:91:db:7b (try 1/3)
    wlan0: direct probe to 47:f2:2f:91:db:7b (try 2/3)
    wlan0: direct probe to 47:f2:2f:91:db:7b (try 3/3)
    wlan0: authentication with 47:f2:2f:91:db:7b timed out
    wlan0: authenticate with 47:f2:2f:91:db:7b
    wlan0: send auth to 47:f2:2f:91:db:7b (try 1/3)
    wlan0: send auth to 47:f2:2f:91:db:7b (try 2/3)
    wlan0: send auth to 47:f2:2f:91:db:7b (try 3/3)
    wlan0: authentication with 47:f2:2f:91:db:7b timed out
    # the last 5 messages repeat indefinitely as connection is reattempted
    
  • vald
    vald almost 10 years
    This is what I said that I had already treid. I have confirmed the driver, hence the mention of it by name.
  • slm
    slm almost 10 years
    @Aeyoun - the lower level drivers are what I was encouraging you to remove as well. It isn't enough to just remove iwlwifi!
  • slm
    slm almost 10 years
    I would also encourage you to disable Wireless-N. I show how in several Q's on this site. I too have a thinkpad (T410) and the wireless cards used in these and other laptops are notoriously touchy when N is enabled. Same problems as you + others.
  • slm
    slm almost 10 years
    @Aeyoun - see updates.
  • prax0r
    prax0r over 4 years
    I would prefer to have solutions in separate answers. People apparently found the solution here and upvoted this answer. But which of the two solutions was the one that worked for them?