Bugzilla – Bug 74526
IPW2100 fails to load firmware when booting on battery
Last modified: 2007-06-05 10:04:56 UTC
Using a laptop Compaq NX7000 Most of the times when booting up the computer, the IPW2100 firmware fails to load. Doing a rmmod and insmod loads the firmware without any problems. The error message is: Mar 25 23:37:30 linux kernel: ipw2100: eth0: Firmware 'ipw2100-1.3.fw' not available or load failed. Mar 25 23:37:30 linux kernel: ipw2100: eth0: ipw2100_get_firmware failed: -2 Mar 25 23:37:30 linux kernel: ipw2100: eth0: Failed to power on the adapter. Mar 25 23:37:30 linux kernel: ipw2100: eth0: Failed to start the firmware. Mar 25 23:37:30 linux kernel: ipw2100Error calling register_netdev. Mar 25 23:37:31 linux kernel: ipw2100: probe of 0000:02:02.0 failed with error -5
This is the same in RC3
Did you update or was it a new installation? Does it always happen or only sometimes, as your report seems to imply? The behavior is not reproduceable here.
This was a new installation. Running RC3 at the moment and still have the issue. Happens on both cold and warm boot. If there's any debug logs I can turn on to help out on this, please let me know. Also, when this happens, the SUSE Watches never seems to initialize correctly (if it can be of any help)... it stays in a small window together with the YOU Update and never finishes.
Perhaps I should mention that I'm running GNOME and that's where I see the the small window in the upper left corner with the SUSE Watcher and YOU trying to start but never finishes.
And no, does not always happen! But more often than not...
I am seeing the same problem here on a Compaq nx5000. Strangely enough it fails reproducable when I run the laptop on battery power. While the firmware upload works correctly most of the times when connected to the AC-Adaptor. (?) I don't know if that helps anything to reproduce the problem.
Good observation! I just did 10 reboots of my laptop, 5 on AC and 5 on battery. It works perfectly on AC but never on battery!
Ah, we tested here with an nx5000, but since that unit had a broken battery only on AC... If it only happens on battery, this would explain why such a problem could go unnoticed.
I managed to reproduce it with ipw2200. I recompiled the firmware_class-module, and set the timeout (/sys/class/timeout) to 20 - no effect. With '60' it works :( With 30 - it works, too. Hannes, do you think we can get a kernel-fix for that? 60 seconds is way to long, but with 30 I think we can live? I'm currently testing it with a second machine with ipw2100.
Ok, using 30 it is working with ipw2100, too.
I'll append a file. Please save it as /etc/modprobe.d/firmware and try if your WLAN is working correctly after the next boot. This avoids to compile a new kernel :)
Created attachment 32971 [details] /etc/modprobe.d/firmware Please save this file as /etc/modprobe.d/firmware. This changes the timeout for loading the firmware.
Works perfectly with the firmware file in /etc/modprobe.d! Cheers!
Works here as well!
Joe: Didn't had time to create a YOU, still has to be done. Just for your information.
This also fixes the problem on a ThinkPad T40 (2373 19U), where it was failing on every boot.
Ok, when this modprobe file fixes it, we may should create a patch. The question is: which package should provide it? I can add it to wireless-tools, but as it might bite other modules and as it is imaginable that some people do not want to install wireless-tools at all, it could make sense to add it to a core package. OTOH, this case should be very rare.
That was my problem with the update, too :) I would put it into wireless-tools (aren't they installed on Laptops per default? Ok, not all wireless-cards are in Laptops, but most)
And you will need wireless-tools anyway if you want to use your WLAN card anyway. I'll add it to wireless-tools and make a patch for 9.3. For 10.0 we can try to fix this properly or at least increase the timeout in the kernel. Andreas, ok?
Yes, online update approved, SM-Tracker-1074
It's fixed since some time in 9.3, but I'll leave the bug open for 10.0.
Joe, please verify that this is fixed in preview1.
To finally fix this one in a sane way, please increase 'static int loading_timeout' in drivers/base/firmware_class.c . I think 30 seconds should suffice.
Created attachment 44951 [details] increase loading timeout to proposed value Thix fix has been committed to the SL10 kernel.
Fix is in.
retest with SLES10.
This works.
http://lkml.org/lkml/2006/1/21/109 there is also a sysfs variable. patch dropped.
Reopening as the patch was dropped.
Can anybody confirm that this is broken again with 10.1?
With Beta3 it still worked as expected on an nx5000.
Ok, resolving as FIXED.