2

Because of a really unstable Wifi connection, I think upgrading the firmware of my Intel(R) Wireless N 7260 from 7260-10 to 7260-14 could possibly fix the problem.

I stumbled upon this post, where the top answerer wrote this:

Have you tried

sudo cp /lib/firmware/iwlwifi-7260-10.ucode /lib/firmware/iwlwifi-7260-10.ucode.bak
sudo cp /lib/firmware/iwlwifi-7260-12.ucode /lib/firmware/iwlwifi-7260-10.ucode

Then reboot, renaming the file works sometimes

You could edit the source from the backports by going into the backports directory and into /driver/net/wireless/iwlwifi and edit iwl-7000.c line 72 as it should be

#define IWL7260_UCODE_API_MAX   10

and change it to

#define IWL7260_UCODE_API_MAX   12

I tried renaming the files as proposed, without success (after rebooting, modinfo iwlwifi and dmesg indicates that the version stays the same).

I would like to try the second option, so if I correctly understood, I have to recompile the iwl-7000.c source file as explained and reinstall the backports, but I really don't know how to do that. Also the iwl-7000.c source file is currently not present on my system.

Could anybody explain me how to do that?

Ps: My kernel's version is 3.19.0-28-generic.

aldeb
  • 137

1 Answers1

1

The first solution with the replacement of iwlwifi-7260-10.ucode with iwlwifi-7260-12.ucode is a "cheat" for the kernel.

The module iwl-7000.c is searching for maximum version iwlwifi-7260-10.ucode and loads it. When you replace the file it loads the new firmware.

In this case you do not need to edit the kernel source. If that solution does not improve your wireless connection, then the firmware update does not help.

The second "option" is not an option. It is the patch to iwl-7000.c to get it search for iwlwifi-7260-12.ucode instead of iwlwifi-7260-10.ucode. That will not improve anything, it will just load the original firmware file without renaming.

You will not find kernel source in your system. To patch the source you will need to download the kernel source, patch it, and then compile the kernel or just iwlwifi module.

You can find a lot of guides how to compile Linux kernel in the net or even some specific kernel modules. But it is not worth studying in this case, because the first "option" does the same for you.

In addition, in kernel 3.19 that patch is already there, so you do not need to rename the file. That is why it does not work.

See iwl-7000.c in Ubuntu kernel 3.19.

Just leave the original iwlwifi-7260-12.ucode file name.

P.S. You found an old solution. Now the latest firmware is already iwlwifi-7260-13.ucode and it is available in Ubuntu 14.04 and 15.04 already. But still there are issues with this wireless adapter.

So I suggest using the workaround.

P.P.S You can try to replace iwlwifi-7260-12.ucode with iwlwifi-7260-14.ucode the 3.19 kernel tries to load the version 12, but 14 may have some improvements or not.

Pilot6
  • 90,100
  • 91
  • 213
  • 324
  • Thanks for the answer! I wanted to upgrade to 7260-14 and I didn't see that this patch was already there. – aldeb Sep 23 '15 at 18:43
  • 1
    @SamBruns You can replace iwlwifi-7260-12.ucode with iwlwifi-7260-14.ucode and test it. IT MAY WORK. – Pilot6 Sep 23 '15 at 18:46
  • I see. So upgrading will not help in my case.. Anyway for educational purposes, could you redirect me to some material explaining how to recompile a module? I did some search on Google but I'm quite lost because of the abundance of results :p – aldeb Sep 23 '15 at 18:46
  • The kernel searches for 12 now. If you cheat it with 14 it may be improved. – Pilot6 Sep 23 '15 at 18:47
  • Look for kernel compile https://help.ubuntu.com/community/Kernel/Compile – Pilot6 Sep 23 '15 at 18:49
  • I'll try renaming the file then. And thanks for the link! – aldeb Sep 23 '15 at 18:50
  • 1
    Rename 14 to 12 and put it to /lib/firmware. And report if this helps. – Pilot6 Sep 23 '15 at 18:51
  • I renamed. dmesg | grep iwl says [ 4.686647] iwlwifi 0000:04:00.0: loaded firmware version 25.17.12.0 op_mode. I suppose this is ok? – aldeb Sep 23 '15 at 19:05
  • It looks that it has been loaded. Now test how it works. – Pilot6 Sep 23 '15 at 19:07
  • It seems to be great :) – aldeb Sep 23 '15 at 20:37
  • Really? Then please write an answer with the description of what you did. I will improve it, if needed and award a bounty for you. @SamBruns Please give a link to the firmware you've downloaded, etc. – Pilot6 Sep 23 '15 at 20:38
  • Ok. :) First I will let it run for some time to see how it behaves. – aldeb Sep 23 '15 at 20:41
  • @SamBruns: how log is "some time"? People want to reward you for your work! – Fabby Sep 30 '15 at 22:12