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.

8
  • 1
    possible duplicate of Wifi losing connection, weak signal, Intel 7260 adapter
    – Pilot6
    Sep 23, 2015 at 18:20
  • @Pilot6: Where exactly the firmware is being updated on the answer you provided on this post?
    – aldeb
    Sep 23, 2015 at 18:23
  • The firmware is not updated, but the problem with low quality connection is solved.
    – Pilot6
    Sep 23, 2015 at 18:24
  • No it's not. I already know how to disable 802.11n mode, that's not my question :)
    – aldeb
    Sep 23, 2015 at 18:25
  • 1
    OK. I will give you the answer.
    – Pilot6
    Sep 23, 2015 at 18:27

1 Answer 1

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.

13
  • 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, 2015 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, 2015 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, 2015 at 18:46
  • The kernel searches for 12 now. If you cheat it with 14 it may be improved.
    – Pilot6
    Sep 23, 2015 at 18:47
  • 1
    Rename 14 to 12 and put it to /lib/firmware. And report if this helps.
    – Pilot6
    Sep 23, 2015 at 18:51

You must log in to answer this question.

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