Bug 74526

Summary: IPW2100 fails to load firmware when booting on battery
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Magnus Boman <mboman>
Component: Mobile DevicesAssignee: Joachim Gleissner <joachim.gleissner>
Status: VERIFIED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: aj, behlert, gholmer, hare, ralf
Version: unspecified   
Target Milestone: ---   
Hardware: i686   
OS: All   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: /etc/modprobe.d/firmware
increase loading timeout to proposed value

Description Magnus Boman 2005-03-25 12:46:17 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
Comment 1 Magnus Boman 2005-03-26 23:33:37 UTC
This is the same in RC3
Comment 2 Stefan Behlert 2005-03-29 11:30:53 UTC
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. 
Comment 3 Magnus Boman 2005-03-29 11:46:50 UTC
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.
Comment 4 Magnus Boman 2005-03-29 11:49:15 UTC
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.
Comment 5 Magnus Boman 2005-03-29 11:56:33 UTC
And no, does not always happen! But more often than not...
Comment 6 Ralf Haferkamp 2005-03-30 07:19:14 UTC
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. 
Comment 7 Magnus Boman 2005-03-30 07:44:50 UTC
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!
Comment 8 Stefan Behlert 2005-03-30 08:17:57 UTC
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. 
Comment 9 Stefan Behlert 2005-03-30 10:43:15 UTC
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. 
Comment 10 Stefan Behlert 2005-03-30 11:48:54 UTC
Ok, using 30 it is working with ipw2100, too. 
Comment 11 Stefan Behlert 2005-03-31 09:44:12 UTC
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 :) 
 
Comment 12 Stefan Behlert 2005-03-31 09:47:24 UTC
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.
Comment 13 Magnus Boman 2005-03-31 10:07:17 UTC
Works perfectly with the firmware file in /etc/modprobe.d!

Cheers!
Comment 14 Ralf Haferkamp 2005-03-31 10:14:35 UTC
Works here as well! 
Comment 15 Stefan Behlert 2005-04-04 06:24:42 UTC
Joe: Didn't had time to create a YOU, still has to be done. Just for your 
information. 
Comment 16 Glenn Holmer 2005-04-07 12:08:59 UTC
This also fixes the problem on a ThinkPad T40 (2373 19U), where it was failing
on every boot.
Comment 17 Joachim Gleissner 2005-04-20 10:27:23 UTC
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.   
Comment 18 Stefan Behlert 2005-04-20 10:30:22 UTC
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) 
Comment 19 Joachim Gleissner 2005-04-26 14:18:17 UTC
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? 
Comment 20 Andreas Jaeger 2005-04-26 21:03:21 UTC
Yes, online update approved, SM-Tracker-1074
Comment 21 Joachim Gleissner 2005-06-21 14:28:42 UTC
It's fixed since some time in 9.3, but I'll leave the bug open for 10.0.
Comment 22 Stefan Behlert 2005-07-12 15:08:55 UTC
Joe, please verify that this is fixed in preview1. 
Comment 23 Joachim Gleissner 2005-08-05 08:22:33 UTC
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. 
Comment 24 Hubert Mantel 2005-08-05 09:44:17 UTC
Created attachment 44951 [details]
increase loading timeout to proposed value

Thix fix has been committed to the SL10 kernel.
Comment 25 Hubert Mantel 2005-08-05 09:44:46 UTC
Fix is in.
Comment 26 Olaf Hering 2006-01-21 20:20:40 UTC
retest with SLES10.
Comment 27 Andreas Jaeger 2006-01-21 20:24:59 UTC
This works.
Comment 28 Olaf Hering 2006-01-22 09:26:24 UTC
http://lkml.org/lkml/2006/1/21/109

there is also a sysfs variable. patch dropped.
Comment 29 Joachim Gleissner 2006-02-09 18:25:35 UTC
Reopening as the patch was dropped.
Comment 30 Joachim Gleissner 2006-02-09 18:27:02 UTC
Can anybody confirm that this is broken again with 10.1?
Comment 31 Ralf Haferkamp 2006-02-10 12:04:49 UTC
With Beta3 it still worked as expected on an nx5000.
Comment 32 Joachim Gleissner 2006-03-10 09:12:28 UTC
Ok, resolving as FIXED.