2

I'm having an iwlwifi issue where wifi works on reboot, but then stops working after a couple of hours and I cannot get it to work again without rebooting. I've searched extensively and tried various answers available on the web. On my previous laptop the solution that worked for me was to remove and reinsert the iwlwifi module:

$ sudo modprobe -rv iwlwifi
remove (/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) && /sbin/modprobe -r mac80211
rmmod mac80211
rmmod cfg80211

Wait a while and then:

$ sudo modprobe -v iwlwifi
insmod /lib/modules/4.2.0-42-generic/kernel/net/wireless/cfg80211.ko 
insmod /lib/modules/4.2.0-42-generic/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko 

But this doesn't work on this laptop (HP ZBook Studio G3, running Ubuntu 14.04.5 LTS). After trying various solutions, it appears that iwlfifi fails to start properly when I use modprobe iwlwifi. Specifically, after a reboot, dmesg shows the following:

$ sudo dmesg | grep iwlwifi
[ 30.556282] iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
[ 30.561394] iwlwifi 0000:02:00.0: Unsupported splx structure
[ 30.568246] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000C-15.ucode failed with error -2
[ 30.568336] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000C-14.ucode failed with error -2
[ 30.572378] iwlwifi 0000:02:00.0: loaded firmware version 25.30.13.0 op_mode iwlmvm
[ 30.608368] iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
[ 30.608652] iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
[ 30.609584] iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
[ 41.867030] iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
[ 41.867439] iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
[ 42.010695] iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
[ 42.010990] iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled

But after sudo modprobe -rv iwlwifi && sleep 20 && sudo modprobe -v iwlwifi, dmesg shows:

[26184.909877]  [<ffffffffc0b16f5a>] ? iwl_read32+0x1a/0x90 [iwlwifi]
[26184.909884]  [<ffffffffc0b19bde>] iwl_trans_pcie_grab_nic_access+0x10e/0x1e0 [iwlwifi]
[26184.909892]  [<ffffffffc0b1cb5d>] iwl_trans_pcie_alloc+0x4dd/0x690 [iwlwifi]
[26184.909899]  [<ffffffffc0b10291>] iwl_pci_probe+0x21/0x2a0 [iwlwifi]
[26184.909928]  [<ffffffffc0b10768>] iwl_pci_register_driver+0x28/0x50 [iwlwifi]
[26184.909935]  [<ffffffffc08f2085>] iwl_drv_init+0x85/0x8e [iwlwifi]
[26184.910708] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000D-15.ucode failed with error -2
[26184.910718] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000D-14.ucode failed with error -2
[26184.910726] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000D-13.ucode failed with error -2
[26184.910733] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000D-12.ucode failed with error -2
[26184.910734] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-8000D-12.ucode' failed.
[26184.910741] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000D-11.ucode failed with error -2
[26184.910742] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-8000D-11.ucode' failed.
[26184.910749] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000D-10.ucode failed with error -2
[26184.910750] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-8000D-10.ucode' failed.
[26184.910750] iwlwifi 0000:02:00.0: no suitable firmware found!
[26184.910791] iwlwifi 0000:02:00.0: Unsupported splx structure

It seems to me iwlwifi is working on reboot, but failing on modprobe. Some other info that may help:

$ uname -a
Linux {hostname removed} 4.2.0-42-generic #49~14.04.1-Ubuntu SMP Wed Jun 29 20:22:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ modinfo iwlwifi
filename: /lib/modules/4.2.0-42-generic/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
license: GPL
author: Copyright(c) 2003- 2015 Intel Corporation <[email protected]>
description: Intel(R) Wireless WiFi driver for Linux
firmware: iwlwifi-100-5.ucode
firmware: iwlwifi-1000-5.ucode
firmware: iwlwifi-135-6.ucode
firmware: iwlwifi-105-6.ucode
firmware: iwlwifi-2030-6.ucode
firmware: iwlwifi-2000-6.ucode
firmware: iwlwifi-5150-2.ucode
firmware: iwlwifi-5000-5.ucode
firmware: iwlwifi-6000g2b-6.ucode
firmware: iwlwifi-6000g2a-5.ucode
firmware: iwlwifi-6050-5.ucode
firmware: iwlwifi-6000-4.ucode
firmware: iwlwifi-7265D-12.ucode
firmware: iwlwifi-7265-12.ucode
firmware: iwlwifi-3160-12.ucode
firmware: iwlwifi-7260-12.ucode
firmware: iwlwifi-8000-12.ucode

$ cd /lib/firmware/; ls -l iwl*
-rw-r--r-- 1 root root 337520 Apr 25 05:55 iwlwifi-1000-5.ucode
-rw-r--r-- 1 root root 337572 Apr 25 05:55 iwlwifi-100-5.ucode
-rw-r--r-- 1 root root 689680 Apr 25 05:55 iwlwifi-105-6.ucode
-rw-r--r-- 1 root root 701228 Apr 25 05:55 iwlwifi-135-6.ucode
-rw-r--r-- 1 root root 695876 Apr 25 05:55 iwlwifi-2000-6.ucode
-rw-r--r-- 1 root root 707392 Apr 25 05:55 iwlwifi-2030-6.ucode
-rw-r--r-- 1 root root 609892 Apr 25 05:55 iwlwifi-3160-10.ucode
-rw-r--r-- 1 root root 683996 Apr 25 05:55 iwlwifi-3160-12.ucode
-rw-r--r-- 1 root root 688616 Apr 25 05:55 iwlwifi-3160-13.ucode
-rw-r--r-- 1 root root 918212 Jul 12 12:33 iwlwifi-3160-16.ucode
-rw-r--r-- 1 root root 918268 Mar 15 11:20 iwlwifi-3160-17.ucode
-rw-r--r-- 1 root root 670484 Apr 25 05:55 iwlwifi-3160-7.ucode
-rw-r--r-- 1 root root 667284 Apr 25 05:55 iwlwifi-3160-8.ucode
-rw-r--r-- 1 root root 669872 Apr 25 05:55 iwlwifi-3160-9.ucode
-rw-r--r-- 1 root root 150100 Apr 25 05:55 iwlwifi-3945-2.ucode
-rw-r--r-- 1 root root 187972 Apr 25 05:55 iwlwifi-4965-2.ucode
-rw-r--r-- 1 root root 340696 Jul 21 07:54 iwlwifi-5000-5.ucode
-rw-r--r-- 1 root root 337400 Apr 25 05:55 iwlwifi-5150-2.ucode
-rw-r--r-- 1 root root 454608 Apr 25 05:55 iwlwifi-6000-4.ucode
-rw-r--r-- 1 root root 444128 Apr 25 05:55 iwlwifi-6000g2a-5.ucode
-rw-r--r-- 1 root root 677296 Apr 25 05:55 iwlwifi-6000g2a-6.ucode
-rw-r--r-- 1 root root 679436 Apr 25 05:55 iwlwifi-6000g2b-6.ucode
-rw-r--r-- 1 root root 469780 Apr 25 05:55 iwlwifi-6050-5.ucode
-rw-r--r-- 1 root root 672352 Apr 25 05:55 iwlwifi-7260-10.ucode
-rw-r--r-- 1 root root 782300 Apr 25 05:55 iwlwifi-7260-12.ucode
-rw-r--r-- 1 root root 786920 Apr 25 05:55 iwlwifi-7260-13.ucode
-rw-r--r-- 1 root root 1049284 Jul 12 12:33 iwlwifi-7260-16.ucode
-rw-r--r-- 1 root root 1049340 Mar 15 11:20 iwlwifi-7260-17.ucode
-rw-r--r-- 1 root root 683236 Apr 25 05:55 iwlwifi-7260-7.ucode
-rw-r--r-- 1 root root 679780 Apr 25 05:55 iwlwifi-7260-8.ucode
-rw-r--r-- 1 root root 680508 Apr 25 05:55 iwlwifi-7260-9.ucode
-rw-r--r-- 1 root root 736844 Apr 25 05:55 iwlwifi-7265-10.ucode
-rw-r--r-- 1 root root 880604 Apr 25 05:55 iwlwifi-7265-12.ucode
-rw-r--r-- 1 root root 885224 Apr 25 05:55 iwlwifi-7265-13.ucode
-rw-r--r-- 1 root root 1180356 Jul 12 12:33 iwlwifi-7265-16.ucode
-rw-r--r-- 1 root root 1180412 Mar 15 11:20 iwlwifi-7265-17.ucode
-rw-r--r-- 1 root root 690452 Apr 25 05:55 iwlwifi-7265-8.ucode
-rw-r--r-- 1 root root 697828 Apr 25 05:55 iwlwifi-7265-9.ucode
lrwxrwxrwx 1 root root 21 Jul 12 12:33 iwlwifi-7265D-10.ucode -> iwlwifi-7265-10.ucode
-rw-r--r-- 1 root root 1002800 Apr 25 05:55 iwlwifi-7265D-12.ucode
-rw-r--r-- 1 root root 1008692 Apr 25 05:55 iwlwifi-7265D-13.ucode
-rw-r--r-- 1 root root 1384500 Jul 12 12:33 iwlwifi-7265D-16.ucode
-rw-r--r-- 1 root root 1383020 Mar 15 11:20 iwlwifi-7265D-17.ucode
-rw-r--r-- 1 root root 1745176 Apr 25 05:55 iwlwifi-8000C-13.ucode
-rw-r--r-- 1 root root 2351636 Jul 12 12:33 iwlwifi-8000C-16.ucode
-rw-r--r-- 1 root root 2390004 Mar 15 11:20 iwlwifi-8000C-17.ucode

Thanks, this is driving me nuts!

1 Answer 1

2

I found the bug and a work around. It seems to be a version of this bug, which can be worked around as described in this bug, specifically, the following worked for me:

# Kill wpa_supplicant
sudo killall wpa_supplicant 
# Find the network PCI device  
sudo lspci -vv | grep -i -A 50 network
# Remove it
sudo sh -c "echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/remove" 
# Rescan PCI
sudo sh -c "echo 1 > /sys/bus/pci/rescan" 
# Wait and Wifi should reconnect
1
  • Man... I hate linux more and more... and now even more... I spent 8 hours trying to reinstall/recompile wifi driver for Intel, manged to, didn't work... and now this worked... Note that in "Remove it" step you need to specify the ID right before network word: 02:00.0 Network controller:.
    – Cipi
    Jan 17, 2017 at 23:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .