Ubuntu – Intel Corporation Wireless-N 7260 card dies randomly

driversfirmwareintel-wirelesspower-managementwireless

On Ubuntu 14.04 32bit, after some up-time my wireless card stops working. Sometimes it helps to stop WiFi in the nm-applett (at the top right corner) and restart it to get a new connection to my WiFi, but mostly this doesn't help anymore – you have to reboot to use the card again.

I had this at several different locations so it was definitely a problem with my card.

The kernel at the moment:

$ uname -rp
3.14.1-031401-generic i686

My guess is that the wireless power save option that is set by powertop might cause some problems, so I added this to my /etc/rc.local so the end part looked like this:

# By default this script does nothing.

#####################################################
# tune all power save settings to >good<
powertop --auto-tune

once I disabled that option again, the wireless card seems to work better, but not all the time.

When in the crashed state and if I try to re-enable WiFi in the nm-applet I get this error in /var/log/syslog:

iwlwifi 0000:01:00.0: Failed to load firmware chunk!

I collected some data with the help of this answer:

##### lspci #####

01:00.0 Network controller [0280]: Intel Corporation Wireless 7260 [8086:08b2] (rev 6b)
  Subsystem: Intel Corporation Wireless-N 7260 [8086:c262]
  Kernel driver in use: iwlwifi

full results

If I look for locate 7260|grep -i wifi, I find the same module /lib/firmware/iwlwifi-7260-8.ucode. It doesn't use the latest drivers from wireless.kernel.org because the iwlwifi-7260-9.ucode is not supported yet.)

How can I fix this problem on my Lenovo Yoga 2 Pro? Maybe it is possible to reload the kernel module somehow to re-enable it with a script if it died?

Best Answer

You need to disable the power management and possibly the 802.11n extension. These changes worked for me.

For the power management create a file in

sudo gedit /etc/pm/power.d/wireless

with the following content

#!/bin/sh 
/sbin/iwconfig wlan0 power off

and make it executable:

sudo chmod +x /etc/pm/power.d/wireless

To disable the 11n extension, try the following

sudo su
echo "options iwlwifi 11n_disable=1" >> /etc/modprobe.d/iwlwifi.conf

You need to reboot after those changes. Running iwconfig should show:

wlan0     IEEE 802.11abg

and

Power Management:off

What definitely worked for me was to upgrade to one of the latest kernel from

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17-rc4-utopic/