I'm having instability problems with my wifi, which apparently uses the iwlwifi driver that people have a lot of problems with.
Looking at the output of modinfo iwlwifi
, I see (among other things) this list:
filename: /lib/modules/4.2.0-34-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
However, I downloaded the a firmware from Intel, and I remember that it was iwlwifi-7260-13.ucode which I don't see in this list.
I suppose then, that this firmware is not being used. How can I verify this, and how can I make it being used?
EDIT
Adding more info. Output of ls /lib/firmware/iwlwifi-7260*
/lib/firmware/iwlwifi-7260-10.ucode
/lib/firmware/iwlwifi-7260-7.ucode /lib/firmware/iwlwifi-7260-12.ucode
/lib/firmware/iwlwifi-7260-8.ucode /lib/firmware/iwlwifi-7260-13.ucode
/lib/firmware/iwlwifi-7260-9.ucode
Output of dmesg | grep iwlwifi
:
[ 3.022242] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7260-15.ucode failed with error -2
[ 3.022266] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7260-14.ucode failed with error -2
[ 3.027457] iwlwifi 0000:01:00.0: loaded firmware version 25.30.13.0 op_mode iwlmvm
[ 3.054662] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless N 7260, REV=0x144
[ 3.054768] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.055031] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.564903] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.565165] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.756290] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[ 3.756555] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
EDIT:
Although not a perfect solution as he wifi still breaks some times, the suggestion in the comments of the accepted answer to use v 14 of the firmware, really improved the wifi connection! Now whenever it fails I just use sudo service network-manager restart
and everything is back to normal!
Your firmware has been loaded succesfully. You can see it here
It is not shown in
modinfo
for some reason but it does not affect anything. Probably themodinfo
binary should be updated.I am using Ubuntu 16.04 and it shows up to
13
. Yours is older and shows up to12
.See my output:
For those of you that keep getting wifi disconnects with the Intel 7260 firmware here are the steps I took to get this so the disconnects are not as frequent:
As suggested, version 14 of the firmware seems to be the most stable. You can get this file from here.
I actually did a
git clone
of the firmware like so:git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git
This wasn't as big of repo as I thought it would be. In the linux-firmware directory root are all the current versions for the 7260. From the cloned repo linux-firmware directory (or where you downloaded the file) you can copy the firmware into your local firmware lib like so:
sudo cp iwlwifi-7260-14.ucode /lib/firmware/iwlwifi-7260-14.ucode
will copy version 14 of firmware to your firmware directory.You can reboot to restart your wifi with ver 14 of the firmware, or do the following which can also be used to restart your misbehaving wireless adapter:
su
(sudo
will not work. You need to besu
)dmesg | grep iwlwifi
Output will look something like below. What we are interested in is the device # which in my case is: 0000:08:00.0[3775.484091] iwlwifi 0000:08:00.0: Direct firmware load for iwlwifi-7260-17.ucode failed with error -2
Run
echo 1 > /sys/bus/pci/devices/0000:08:00.0/remove
but substitute your device # where I have 0000:08:00.0IMPORTANT executing this will kill your wifi connection.
Execute
echo 1 > /sys/bus/pci/rescan
this will force your system to look for any any PCI devices that may be dead (like the one we killed in step 3).killall wpa_supplicant
This may not be necessary, but in my case it is.Use your system's applet or process to reconnect your wireless adapter. You may need to wait 10 or so seconds between commands for this to work.
Before when the wireless went south I had to reboot to restore the wifi. These steps are a royal pain. But it beats waiting for a reboot.