# [SOLVED]  iwlwifi-7260-17.ucode isse with linux kernel 4.9

## libfab

I have lately built and installed linux kernel 4.9 with no issue except for wifi support.

I own a motherboard equipped with the Intel wireless 7260 driver (id 808608b1)

I followed instructions given by the gentoo page on iwlwifi (https://wiki.gentoo.org/wiki/Iwlwifi)

I tried both module and in-kernel builds of the driver.

It did not work either way.

The cause seems to stem from driver versoning. On loading, the 4.9 kernel requests version 17 of the driver according to dmesg

>[    5.314625] Copyright(c) 2003- 2015 Intel Corporation

>[    5.315107] iwlwifi 0000:08:00.0: Direct firmware load for iwlwifi-7260-17.ucode failed with error -2

whilst eix says I can only install version 16

[I] sys-firmware/iwl7260-ucode

     Available versions:  

     (7)    ~0.7.1.22 ~0.7.1.22[1]

     (8)    ~0.8.15.22 ~0.8.15.22[1] ~0.8.24.22 ~0.8.24.22[1]

     (9)    ~0.9.214.23 ~0.9.214.23[1] ~0.9.228.25 ~0.9.228.25[1]

     (10)   ~0.10.11.23 ~0.10.11.23[1] ~0.10.15.23 ~0.10.15.23[1]

     (12)   ~0.12.16.25 ~0.12.16.25[1] ~0.12.17.25 ~0.12.17.25[1]

     (13)   ~0.13.30.25 ~0.13.30.25[1]

     (15)   ~0.15.227938 ~0.15.227938[1]

     (16)   (~)0.16.242414 (~)0.16.242414[1]

  {bluetooth}

     Installed versions:  0.16.242414(16)(20:21:14 17/12/2016)(bluetooth)

     Homepage:            https://wireless.kernel.org/en/users/Drivers/iwlwifi

     Description:         Firmware for Intel (R) Dual Band Wireless-AC 7260

So the bottom line is please update the sys-firmware/iwl7260-ucode  package to version 17.

Now before I send this request to maintainers, is there any forum member out there who may have found a better way out using portage as is?

Note : system was freshly sync'd with the the gentoo overlay on board.Last edited by libfab on Sun Dec 18, 2016 3:14 am; edited 2 times in total

----------

## NeddySeagoon

libfab,

Welcome to Gentoo

The version you need is in linux-firmware.  You will need to remove sys-firmware/iwl7260-ucode before you can install linux-firmware.

At least, they should be mutual blockers since they install at least some of the same files.

linux-firmware is rather large.  You can customise what you will install after its installed.

I have version 20161005.

----------

## libfab

Thanks for replying so quickly.

It worked for me, using the latest 20161205 linux-firmware version (in-kernel build).

Aaaah yes. gentoo-sources version 4.9 is the latest ~amd64 version so it's only natural to use the latest ~amd64 linux-firmware version and update my old one.

So much for the noob   :Wink: 

----------

## EoD

I have an identical issue after upgrading from 4.8 to 4.9. I am using sys-kernel/linux-firmware-9999 already though.

Any ideas?

----------

## saturnalia0

I have the exact same error after updating to 4.9:

```

Feb  8 22:07:18 sula kernel: [    8.108276] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-6000-6.ucode failed with error -2

```

Though it works on 4.4.39. I have sys-kernel/linux-firmware-20161205 and have always that package.

Some IWLWIFI settings seem to have disappeared from my kernel config file:

```

sula:/usr/src/linux colordiff .config ~/config-4.4.39-gentoo  | grep -i -e intel -e iw                                                                   22:15:56 sula x +- ...

> CONFIG_PERF_EVENTS_INTEL_UNCORE=y

< # CONFIG_X86_INTEL_MID is not set

< CONFIG_PERF_EVENTS_INTEL_UNCORE=y

< CONFIG_PERF_EVENTS_INTEL_RAPL=y

< CONFIG_PERF_EVENTS_INTEL_CSTATE=y

< CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y

< # CONFIG_INTEL_MEI is not set

< # CONFIG_INTEL_MEI_ME is not set

< # CONFIG_INTEL_MEI_TXE is not set

< # CONFIG_INTEL_XWAY_PHY is not set

< # CONFIG_WLAN_VENDOR_INTEL is not set

> CONFIG_IWLWIFI=m

> CONFIG_IWLWIFI_LEDS=y

> CONFIG_IWLDVM=m

> # CONFIG_IWLMVM is not set

> CONFIG_IWLWIFI_OPMODE_MODULAR=y

> # CONFIG_IWLWIFI_DEBUG is not set

> CONFIG_IWLWIFI_DEVICE_TRACING=y

> # CONFIG_IWL4965 is not set

> # CONFIG_IWL3945 is not set

< # Intel ISH HID support

< # CONFIG_INTEL_ISH_HID is not set

< # CONFIG_INTEL_HID_EVENT is not set

< # CONFIG_INTEL_VBTN is not set

< # CONFIG_INTEL_PMC_CORE is not set

< # CONFIG_INTEL_PUNIT_IPC is not set

```

I tried manually adding them back, rebuilding (make ; make modules_install ; make install ; (grub updates)), but the configs are removed again (I also tried make silentoldconfig instead of make). Not sure what's going on.

----------

## EoD

I reported the bug:

https://bugs.gentoo.org/show_bug.cgi?id=608668

[Moderator edit: changed tag [b] to tag [bug] to enable readers to view the report without needing to copy the URL first. -Hu]

----------

## vasettoo

I don't think it's a bug. Newer kernels demand firmware to be injected in the kernel config and not set as a module:

```
...

[    8.342526] Intel(R) Wireless WiFi driver for Linux

[    8.342528] Copyright(c) 2003- 2015 Intel Corporation

[    8.342599] iwlwifi 0000:02:00.0: enabling device (0100 -> 0102)

[    8.343956] iwlwifi 0000:02:00.0: loaded firmware version 17.352738.0 op_mode iwlmvm

...
```

```
# uname -r

4.9.6-gentoo-r1
```

Mine kernel config for 4.9.6-r1 looks this way:

```
...

CONFIG_DEVTMPFS=y

# CONFIG_DEVTMPFS_MOUNT is not set

CONFIG_STANDALONE=y

CONFIG_PREVENT_FIRMWARE_BUILD=y

CONFIG_FW_LOADER=y

CONFIG_FIRMWARE_IN_KERNEL=y

CONFIG_EXTRA_FIRMWARE="iwlwifi-7260-17.ucode"

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"

# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set

...
```

----------

## saturnalia0

For me the issue was solved by activating the driver via menuconfig. For some reason it got deactivated during the update and adding the old config back manually to .config did not work.

That is, it sufficed to activate: Device drivers -> Network dd support -> Wireless LAN -> Intel -> iwlwifi -> follow the warning msg that is displayed

Here is my current (working) diff (compare it to the last one):

```

> CONFIG_PERF_EVENTS_INTEL_UNCORE=y

< # CONFIG_X86_INTEL_MID is not set

< CONFIG_PERF_EVENTS_INTEL_UNCORE=y

< CONFIG_PERF_EVENTS_INTEL_RAPL=y

< CONFIG_PERF_EVENTS_INTEL_CSTATE=y

< CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y

< # CONFIG_INTEL_MEI is not set

< # CONFIG_INTEL_MEI_ME is not set

< # CONFIG_INTEL_MEI_TXE is not set

< # CONFIG_INTEL_XWAY_PHY is not set

< CONFIG_WLAN_VENDOR_INTEL=y

< # CONFIG_IWL4965 is not set

< # CONFIG_IWL3945 is not set

> # CONFIG_IWL4965 is not set

> # CONFIG_IWL3945 is not set

< # Intel ISH HID support

< # CONFIG_INTEL_ISH_HID is not set

< # CONFIG_INTEL_HID_EVENT is not set

< # CONFIG_INTEL_VBTN is not set

< # CONFIG_INTEL_PMC_CORE is not set

< # CONFIG_INTEL_PUNIT_IPC is not set

```

PS: It's still loaded as a module.Last edited by saturnalia0 on Fri Feb 10, 2017 12:09 pm; edited 1 time in total

----------

## EoD

 *vasettoo wrote:*   

> I don't think it's a bug. Newer kernels demand firmware to be injected in the kernel config and not set as a module:
> 
> Mine kernel config for 4.9.6-r1 looks this way:
> 
> ```
> ...

 

Mine looked identical, except for the actual firmware. Apparently I configured the "iwlwifi-7260-16" version instead. Sorry for the noise.

----------

