Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] iwlwifi fails to load after upgrade to 3.17.0
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Z12
n00b
n00b


Joined: 26 Sep 2014
Posts: 7

PostPosted: Thu Oct 09, 2014 11:18 am    Post subject: [SOLVED] iwlwifi fails to load after upgrade to 3.17.0 Reply with quote

Hello. newbie gentoo user here
So, i have upgraded kernel from 3.16.3 to 3.17.0 today.
Everything seems fine except i can't get wifi to work
Here is what dmesg says:
Code:
[    1.432541] iwlwifi 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control
[    1.433966] iwlwifi 0000:02:00.0: irq 25 for MSI/MSI-X
[    1.434197] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-2030-6.ucode failed with error -2
[    1.435521] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-2030-6.ucode' failed.
[    1.444479] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-2030-5.ucode failed with error -2
[    1.512125] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-2030-5.ucode' failed.
[    1.512127] iwlwifi 0000:02:00.0: no suitable firmware found!


I do not have this problem when booting from my old 3.16.3 kernel
ofcourse i checked and the ucode does exist in /lib/firmware
I tried building iwlwifi as a module but the results are the same.

A quick search revealed nothing and i am pretty sure i am doing something stupid (or not doing something). This would be my second kernel upgrade and i have followed the kernel/upgrade page from wiki
Any help is greatly appreciated


Last edited by Z12 on Sat Oct 11, 2014 7:39 am; edited 1 time in total
Back to top
View user's profile Send private message
photonic
n00b
n00b


Joined: 09 Feb 2014
Posts: 10

PostPosted: Fri Oct 10, 2014 6:31 am    Post subject: Reply with quote

I had the same problem, too. Now I have to use 3.16* kernel maybe it will be fixed in 3.17.1.
Back to top
View user's profile Send private message
nuku
n00b
n00b


Joined: 27 Jul 2005
Posts: 2

PostPosted: Fri Oct 10, 2014 6:20 pm    Post subject: Reply with quote

I had the same problem. You can use your WiFi with kernel 3.17.0 if you enable the following option in the kernel config:

Device Drivers ---> Generic Driver Options ---> Fallback user-helper invocation for firmware loading (CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y)

Take care.
Back to top
View user's profile Send private message
photonic
n00b
n00b


Joined: 09 Feb 2014
Posts: 10

PostPosted: Sat Oct 11, 2014 1:26 am    Post subject: Reply with quote

nuku wrote:
I had the same problem. You can use your WiFi with kernel 3.17.0 if you enable the following option in the kernel config:

Device Drivers ---> Generic Driver Options ---> Fallback user-helper invocation for firmware loading (CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y)

Take care.


Thank you nuku. Problem solved. So I guess it's the linux-firmware package needs to be updated?
Back to top
View user's profile Send private message
Z12
n00b
n00b


Joined: 26 Sep 2014
Posts: 7

PostPosted: Sat Oct 11, 2014 7:39 am    Post subject: Reply with quote

nuku wrote:
I had the same problem. You can use your WiFi with kernel 3.17.0 if you enable the following option in the kernel config:

Device Drivers ---> Generic Driver Options ---> Fallback user-helper invocation for firmware loading (CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y)

Take care.

Yep this fixed the issue.
Thanks.
Back to top
View user's profile Send private message
RAPHEAD
Tux's lil' helper
Tux's lil' helper


Joined: 20 Jun 2003
Posts: 134
Location: Germany

PostPosted: Thu Oct 30, 2014 8:04 am    Post subject: Reply with quote

Many thanks, that fixed it!
Back to top
View user's profile Send private message
Zephyrus
Apprentice
Apprentice


Joined: 01 Sep 2004
Posts: 202

PostPosted: Fri Oct 31, 2014 11:11 pm    Post subject: Reply with quote

I had this problem and I also resolved it by setting CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y.
However, now with udev-217 the user space helper is gone and therefore the issue has come back. I am trying to understand why the direct load fails, however for the moment I have no clue.

I have a 03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34) on a Lenovo W530.

By the way, are you using the linux-firmware or the iwlxxxx-ucode ebuilds?
Back to top
View user's profile Send private message
che
n00b
n00b


Joined: 20 Jul 2004
Posts: 24

PostPosted: Sat Nov 08, 2014 10:35 am    Post subject: Reply with quote

From what I've looked the firmware package supplies /lib/firmware/iwlwifi-5000-5.ucode, while kernel without userspace loader looks for iwlwifi-5000-4.ucode, (and -3, -2 and -1-suffixed files):

Oct 28 23:01:35 nok kernel: iwlwifi 0000:03:00.0: request for firmware file 'iwlwifi-5000-4.ucode' failed.
Oct 28 23:01:35 nok kernel: iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-5000-3.ucode failed with error -2
Oct 28 23:01:35 nok kernel: iwlwifi 0000:03:00.0: request for firmware file 'iwlwifi-5000-3.ucode' failed.
Oct 28 23:01:35 nok kernel: iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-5000-2.ucode failed with error -2
Oct 28 23:01:35 nok kernel: iwlwifi 0000:03:00.0: request for firmware file 'iwlwifi-5000-2.ucode' failed.
Oct 28 23:01:35 nok kernel: iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-5000-1.ucode failed with error -2
Oct 28 23:01:35 nok kernel: iwlwifi 0000:03:00.0: request for firmware file 'iwlwifi-5000-1.ucode' failed.

(error -2 is simple ENOENT, i.e. file not found)
Back to top
View user's profile Send private message
smove
n00b
n00b


Joined: 03 Jul 2005
Posts: 52
Location: Germany

PostPosted: Sun Nov 09, 2014 3:15 pm    Post subject: Reply with quote

Hey guys,

since CONFIG_FW_LOADER_USER_HELPER_FALLBACK is a deprecated way to load the firmware,
I found a better way to fix this problem (especially if you've got udev or systemd 217 installed) would be to build the firmware into the kernel.

Just go to
Code:

Device Drivers ---> Generic Driver Options ---> External firmware blobs to build into the kernel binary

and specify the firmware binary (in my case it was iwlwifi-6000-4.ucode)

You also need to specify the location (usually /lib/firmware) under
Code:

Device Drivers ---> Generic Driver Options ---> Firmware blobs root directory

This works fine for me and I'm not constrained by deprecated functionalities.

so long,
smove
Back to top
View user's profile Send private message
fistfullast33l
n00b
n00b


Joined: 26 May 2004
Posts: 28

PostPosted: Sun Nov 09, 2014 6:21 pm    Post subject: smove you saved my life Reply with quote

smove wrote:
Hey guys,

since CONFIG_FW_LOADER_USER_HELPER_FALLBACK is a deprecated way to load the firmware,
I found a better way to fix this problem (especially if you've got udev or systemd 217 installed) would be to build the firmware into the kernel.

Just go to
Code:

Device Drivers ---> Generic Driver Options ---> External firmware blobs to build into the kernel binary

and specify the firmware binary (in my case it was iwlwifi-6000-4.ucode)

You also need to specify the location (usually /lib/firmware) under
Code:

Device Drivers ---> Generic Driver Options ---> Firmware blobs root directory

This works fine for me and I'm not constrained by deprecated functionalities.

so long,
smove


I've been saved!!! Great job smove. Setting the file to iwlwifi-7260-9.ucode and the directory to /lib/firmware worked for me on 3.17.2. And gnome and systemd are happy.

I should also note for those using 7260, I had previously updated /lib/firmware/iwlwifi-7260-9.ucode to the latest available on the intel iwlwifi website.
Back to top
View user's profile Send private message
che
n00b
n00b


Joined: 20 Jul 2004
Posts: 24

PostPosted: Wed Nov 12, 2014 10:09 pm    Post subject: Reply with quote

After some debugging, I found another solution.

che wrote:
From what I've looked the firmware package supplies /lib/firmware/iwlwifi-5000-5.ucode, while kernel without userspace loader looks for iwlwifi-5000-4.ucode, (and -3, -2 and -1-suffixed files):

Oct 28 23:01:35 nok kernel: iwlwifi 0000:03:00.0: request for firmware file 'iwlwifi-5000-4.ucode' failed.
Oct 28 23:01:35 nok kernel: iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-5000-3.ucode failed with error -2
(...)

I was wrong above. The kernel does actually try to read the correct -5 ucode, but does it so early during the boot that:
1. the log message scrolls out of dmesg buffer
2. the system still runs from initramfs, where the ucode file is not included

So the solution for me is to add ucode file to initrams, which is done simply by passing another argument to dracut (if you happen to use dracut):
Code:
dracut --install /lib/firmware/iwlwifi-5000-5.ucode [...]
Back to top
View user's profile Send private message
omyang
n00b
n00b


Joined: 19 Dec 2014
Posts: 2
Location: China

PostPosted: Fri Dec 19, 2014 12:54 pm    Post subject: Reply with quote

Hello,

I followed all your instructions, but still failed with the wireless connection. Maybe there is still some problem with my .config file. Is it convenient for you to sent me a copy of your .config file? I just want to make sure the options for wireless network are all suitable.

Thank you very much!
Back to top
View user's profile Send private message
szczerb
Veteran
Veteran


Joined: 24 Feb 2007
Posts: 1690
Location: Poland => Lodz

PostPosted: Tue Dec 23, 2014 12:44 pm    Post subject: Reply with quote

I just run into the same issue. Enabling the userspace fallback worked.

But why does the kernel failed to load it?

I don't use an initramfs and /lib/firmware is on /dev/sda2 which is also /
Back to top
View user's profile Send private message
lucidium
n00b
n00b


Joined: 30 Dec 2014
Posts: 1

PostPosted: Tue Dec 30, 2014 10:32 pm    Post subject: Reply with quote

smove wrote:
Hey guys,

since CONFIG_FW_LOADER_USER_HELPER_FALLBACK is a deprecated way to load the firmware,
I found a better way to fix this problem (especially if you've got udev or systemd 217 installed) would be to build the firmware into the kernel.

Just go to
Code:

Device Drivers ---> Generic Driver Options ---> External firmware blobs to build into the kernel binary

and specify the firmware binary (in my case it was iwlwifi-6000-4.ucode)

You also need to specify the location (usually /lib/firmware) under
Code:

Device Drivers ---> Generic Driver Options ---> Firmware blobs root directory

This works fine for me and I'm not constrained by deprecated functionalities.

so long,
smove


This worked for me as well. Thank you so much! This was driving me crazy.
Back to top
View user's profile Send private message
otakugeek
n00b
n00b


Joined: 26 Jun 2014
Posts: 46

PostPosted: Fri Jan 02, 2015 7:03 pm    Post subject: Reply with quote

nuku wrote:
I had the same problem. You can use your WiFi with kernel 3.17.0 if you enable the following option in the kernel config:

Device Drivers ---> Generic Driver Options ---> Fallback user-helper invocation for firmware loading (CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y)

Take care.



Thanks, work for me kernel 3.17.7 :)
Back to top
View user's profile Send private message
freshgod
n00b
n00b


Joined: 13 Jan 2014
Posts: 1

PostPosted: Sun Jan 25, 2015 2:11 pm    Post subject: Reply with quote

Thanks, it works for me too !
Back to top
View user's profile Send private message
dark-wulf
n00b
n00b


Joined: 02 Feb 2006
Posts: 35

PostPosted: Sat Feb 14, 2015 3:22 pm    Post subject: Reply with quote

nuku wrote:
I had the same problem. You can use your WiFi with kernel 3.17.0 if you enable the following option in the kernel config:

Device Drivers ---> Generic Driver Options ---> Fallback user-helper invocation for firmware loading (CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y)

Take care.


Just had the same problem with kernel 3.18.0 and this solved it Thanks
_________________
Gentoo rulez!!!
Gentoo for every one!!!
Gentoo for president!!!
Back to top
View user's profile Send private message
spam3910807
n00b
n00b


Joined: 25 Mar 2015
Posts: 1

PostPosted: Wed Mar 25, 2015 11:34 am    Post subject: Reply with quote

Using the fallback helper is not actually required. Direct firmware loading works just fine, but the firmware must be available in /lib/firmware when the drivers are loaded. The problem is that if iwlwifi is compiled into the kernel (not a module) then the firmware is loaded before the filesystem is mounted. Two possible solutions: A) use initrd or B) compile iwlwifi as a module.

"Udev and firmware"
https://lwn.net/Articles/518942/

"firmware: teach the kernel to load firmware files directly from the filesystem"
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=abb139e75c2cdbb955e840d6331cb5863e409d0e
Back to top
View user's profile Send private message
cass00
n00b
n00b


Joined: 14 Apr 2015
Posts: 4

PostPosted: Tue Apr 14, 2015 9:45 am    Post subject: Reply with quote

Solved the problem by compiling the corresponding kernel drivers as modules and not directly in the kernel as before (see https://wiki.gentoo.org/wiki/Wifi). No fallback helper needed. Kernel version was 3.18.11.
Back to top
View user's profile Send private message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Mon May 11, 2015 7:26 am    Post subject: Reply with quote

Hi guys!
I am just experiencing a very similar thing, maybe the same: bought a laptop with intel ac 7260 chipset buit in.
After reading all related documentations and also trying every single hint given in this thread (i recompiled the kernel like 20 times now), the ONLY way to get this working for me, is this:
Code:

# Generic Driver Options
#
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y

CONFIG_IWLWIFI=y
CONFIG_IWLWIFI_LEDS=y
CONFIG_IWLDVM=m
CONFIG_IWLMVM=m
CONFIG_IWLWIFI_OPMODE_MODULAR=y
# CONFIG_IWLWIFI_BCAST_FILTERING is not set
# CONFIG_IWLWIFI_UAPSD is not set

This way, the iwl7260-10-ucode is loaded through the CONFIG_FW_LOADER_USER_HELPER_FALLBACK, which takes several minutes (very annoying). Even if the version 12 or 13 is available it doesn't get loaded (error -2).
ALL other options are failing to load the firmware. I have linux-firmware installed, all the corresponding files are within /lib/firmware.
Does anybody have an idea why direct loading, even with kernel-in-built firmware always fails for me? It's slowly driving me crazy here ;)
_________________
"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"
Back to top
View user's profile Send private message
allenh1
n00b
n00b


Joined: 16 Jun 2014
Posts: 16
Location: Brentwood, TN

PostPosted: Tue May 12, 2015 9:02 pm    Post subject: Reply with quote

@Martux

I'm having a similar issue. I'm using kernel 4.0.2-gentoo and a Funtoo install. My modules are working, but I cannot authenticate. No idea why this is happening. Any ideas?
Back to top
View user's profile Send private message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Wed May 13, 2015 6:10 am    Post subject: Reply with quote

For me it "solved" by downgrading to 3.9.17... :roll:
_________________
"Coincidence is God's way of remaining anonymous."
Albert Einstein
"The road to success is always under construction"
Back to top
View user's profile Send private message
dsonck92
n00b
n00b


Joined: 27 Jul 2015
Posts: 1

PostPosted: Mon Jul 27, 2015 11:01 am    Post subject: Reply with quote

Martux wrote:
Hi guys!
I am just experiencing a very similar thing, maybe the same: bought a laptop with intel ac 7260 chipset buit in.
After reading all related documentations and also trying every single hint given in this thread (i recompiled the kernel like 20 times now), the ONLY way to get this working for me, is this:
Code:

# Generic Driver Options
#
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y

CONFIG_IWLWIFI=y
CONFIG_IWLWIFI_LEDS=y
CONFIG_IWLDVM=m
CONFIG_IWLMVM=m
CONFIG_IWLWIFI_OPMODE_MODULAR=y
# CONFIG_IWLWIFI_BCAST_FILTERING is not set
# CONFIG_IWLWIFI_UAPSD is not set

This way, the iwl7260-10-ucode is loaded through the CONFIG_FW_LOADER_USER_HELPER_FALLBACK, which takes several minutes (very annoying). Even if the version 12 or 13 is available it doesn't get loaded (error -2).
ALL other options are failing to load the firmware. I have linux-firmware installed, all the corresponding files are within /lib/firmware.
Does anybody have an idea why direct loading, even with kernel-in-built firmware always fails for me? It's slowly driving me crazy here ;)


You seem to be compiling the kernel driver built in. Besides the firmware issue there are other implications of that like unable to unload the driver when it fails. The variable in question is CONFIG_IWLWIFI which is recommended =m
Back to top
View user's profile Send private message
majoron
Apprentice
Apprentice


Joined: 12 Oct 2005
Posts: 209
Location: Frankfurt

PostPosted: Thu Jul 30, 2015 10:34 am    Post subject: Reply with quote

smove wrote:
Hey guys,

since CONFIG_FW_LOADER_USER_HELPER_FALLBACK is a deprecated way to load the firmware,
I found a better way to fix this problem (especially if you've got udev or systemd 217 installed) would be to build the firmware into the kernel.

Just go to
Code:

Device Drivers ---> Generic Driver Options ---> External firmware blobs to build into the kernel binary

and specify the firmware binary (in my case it was iwlwifi-6000-4.ucode)

You also need to specify the location (usually /lib/firmware) under
Code:

Device Drivers ---> Generic Driver Options ---> Firmware blobs root directory

This works fine for me and I'm not constrained by deprecated functionalities.

so long,
smove


It also worked for me. Thank you for the research and for sharing it.

Best
_________________
Computers are like air conditioners, they stop working properly if you open Windows
Back to top
View user's profile Send private message
muhsinzubeir
l33t
l33t


Joined: 29 Sep 2007
Posts: 948
Location: /home/muhsin

PostPosted: Sun Sep 04, 2016 8:20 am    Post subject: Reply with quote

Martux wrote:
For me it "solved" by downgrading to 3.9.17... :roll:


Downgraded from 4.4.6 to 3.14.58-gentoo-r1 to resolve the issue,I spent lots of hours to try get it to work in the newer kernel with no luck.I think if I am right this must an issue inside the kernel where some ID's got messed up.

In my case the firmware is being loaded but the wireless button just never works and no info or error messages in dmesg watsoever.....Anyways its an old laptop will be my excuse to the downgrade :lol:
_________________
~x86
p5k-se
Intel Core 2 Duo
Nvidia GT200
http://www.zanbytes.com
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum