From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20051118 Fedora/1.5-0.5.0.rc3 Firefox/1.5 Description of problem: Running rawhide, targeted/enforcing: Consecutive reboots either successfully loads the ipw2200 firwmware, or reports 'file not found'. Here is output from /var/log/messages for a successful boot: Nov 29 14:15:18 localhost kernel: ieee80211: 802.11 data/management/control stack, git-1.1.7 Nov 29 14:15:18 localhost kernel: ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno.com> Nov 29 14:15:18 localhost kernel: ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, git-1.0.8 Nov 29 14:15:18 localhost kernel: ipw2200: Copyright(c) 2003-2005 Intel Corporation Nov 29 14:15:19 localhost kernel: ACPI: PCI Interrupt 0000:02:05.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11 Nov 29 14:15:19 localhost kernel: ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection Nov 29 14:15:19 localhost kernel: Floppy drive(s): fd0 is 1.44M Nov 29 14:15:19 localhost kernel: ohci1394: $Rev: 1313 $ Ben Collins <bcollins> Nov 29 14:15:19 localhost kernel: PCI: Enabling device 0000:02:07.0 (0000 -> 0002) Nov 29 14:15:19 localhost kernel: ACPI: PCI Interrupt Link [LNKF] enabled at IRQ 11 Nov 29 14:15:19 localhost kernel: ACPI: PCI Interrupt 0000:02:07.0[A] -> Link [LNKF] -> GSI 11 (level, low) -> IRQ 11 Nov 29 14:15:19 localhost kernel: ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[11] MMIO=[fce06000-fce067ff] Max Packet=[2048] Nov 29 14:15:19 localhost kernel: floppy0: no floppy controllers found Nov 29 14:15:19 localhost kernel: Intel(R) PRO/1000 Network Driver - version 6.1.16-k2-NAPI Nov 29 14:15:19 localhost kernel: Copyright (c) 1999-2005 Intel Corporation. Nov 29 14:15:19 localhost kernel: ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 11 Nov 29 14:15:19 localhost kernel: ACPI: PCI Interrupt 0000:02:09.0[A] -> Link [LNKE] -> GSI 11 (level, low) -> IRQ 11 Nov 29 14:15:19 localhost kernel: e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection Here is /var/log/messages for an unsuccessful load of ipw2200 firmware: Nov 30 06:33:30 localhost kernel: ieee80211: 802.11 data/management/control stack, git-1.1.7 Nov 30 06:33:30 localhost kernel: ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno.com> Nov 30 06:33:30 localhost kernel: ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, git-1.0.8 Nov 30 06:33:30 localhost kernel: ipw2200: Copyright(c) 2003-2005 Intel Corporation Nov 30 06:33:30 localhost kernel: ACPI: PCI Interrupt 0000:02:05.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11 Nov 30 06:33:30 localhost kernel: ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection Nov 30 06:33:30 localhost kernel: Floppy drive(s): fd0 is 1.44M Nov 30 06:33:30 localhost kernel: floppy0: no floppy controllers found Nov 30 06:33:30 localhost kernel: ipw2200: ipw-2.4-boot.fw load failed: Reason -2 Nov 30 06:33:30 localhost kernel: ipw2200: Unable to load firmware: -2 Nov 30 06:33:30 localhost kernel: ipw2200: failed to register network device Nov 30 06:33:30 localhost kernel: ACPI: PCI interrupt for device 0000:02:05.0 disabled Nov 30 06:33:30 localhost kernel: ipw2200: probe of 0000:02:05.0 failed with error -5 Version-Release number of selected component (if applicable): kernel-2.6.14-1.1719_FC5 How reproducible: Always Steps to Reproduce: 1. boot 2. check /var/log/messages 3. Additional info:
Followed suggestion on ipw2200.sf.net to increase value of /sys/class/firmware/timeout to 100, to no effect. [I added the following line to rc.sysinit: echo -n $" storage" echo 100 >/sys/class/firmware/timeout # Network pushd /etc/sysconfig/network-scripts >/dev/null 2>&1 interfaces=`ls ifcfg* | LC_ALL=C egrep -v '(ifcfg-lo|:|rpmsave|rpmorig|rpmnew)' | ---------------------------------------------------- Firmware files fail to load even if installed In some kernel configurations (users have most frequently reported the problem only with 2.6.9), the default timeout value for the hotplug subsystem is too low. You may have this problem if you see the following in your kernel log (via dmesg or /var/log/messages): ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.1 ipw2200: Copyright(c) 2003-2004 Intel Corporation ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection ipw2200: ipw-2.2-boot.fw load failed: Reason -2 ipw2200: Unable to load firmware: 0xFFFFFFFE ipw2200: failed to register network device ipw2200: probe of 0000:00:0b.0 failed with error -5 To work around this, you can increase the default timeout value: echo 100 > /sys/class/firmware/timeout and then reload the ipw2200 module. If this corrects your problem, you may wish to add the above line to your system startup scripts prior to the point at which the driver module would be loaded.
OK. I tried again with the /sys/class/firmware/timeout 'fix', and the following seems to make the firmware load correctly: --- /tmp/rc.sysinit 2005-12-01 06:58:27.000000000 -0800 +++ ./rc.sysinit 2005-11-30 07:23:17.000000000 -0800 @@ -25,6 +25,8 @@ fi mount -n -t sysfs /sys /sys >/dev/null 2>&1 +echo 500 >/sys/class/firmware/timeout + . /etc/init.d/functions # Check SELinux status That is, moving the setting of the increased timeout value to the very beginning of rc.sysinit (just after mounting /sys). I'm not sure if a value less than 500 will work.
500 seems a bit excessive. (If we take 8 minutes to load firmware, we have big problems!) I've added a patch that increases the kernel timeout to 100 seconds by default. Ideally though the ipw driver should be using the asynchronous feature of the firmware loader so that timeouts become irrelevant.
thinko, I actually set it to '60', please let me know if that works in your script.
I changed the script to use 60, and it seems to work (loaded correctly during boot a few consecutive times).
Appears to be fixed in both 1737 and 1739. Thanks for the fix. Closing.....