Red Hat Bugzilla – Bug 488289
[Intel 5.4 FEAT] Update wireless iwl3945 uCode
Last modified: 2009-09-02 05:10:34 EDT
+++ This bug was initially created as a clone of Bug #476869 +++
Update the micro-code (aka firmware) for the iwl4965 wireless card.
One difficult issue made it to the top 10 kerneloops.org which resulted in releasing a new version of the 4965 uCode to fix it.
Q: should OSVs pick up the new version of 4965 uCode?
[Majid ] yes indeed
Arjan tells me that it is very important to get resolving lots of issue reports.
[Majid ] there is a long nasty difficult bug took a long time to resolve, and it ended up to be in the uCode. This new uCode fixes the kernel oops – even thought it’s hard to reproduce it.
Q: what has to go along with it? new driver? the new driver would include support for 3 drivers? would this mean new uCode for 3945 and 5000 would also be needed?
[Majid ] no, it’s the same driver, even the driver in 2.6.27 was impacted.
--- Additional comment from firstname.lastname@example.org on 2008-12-17 11:44:49 EDT ---
Microcode can be downloaded from:
--- Additional comment from email@example.com on 2008-12-17 11:51:37 EDT ---
Created an attachment (id=327268)
Latest iwl4965 microcode as of 17-Dec-2008
It seems the latest iwl3945 uCode (version No.iwlwifi-3945-ucode-184.108.40.206) is imcompitable with kernel-2.6.18-138.el5.jwltest.x86_64 under RHEL 5.3 RC2 OS, we get following message from dmesg:
Apr 9 16:22:06 osve-sr kernel: PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
Apr 9 16:22:06 osve-sr kernel: ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 177
Apr 9 16:22:06 osve-sr kernel: iwl3945: iwlwifi-3945-1.ucode firmware file req failed: Reason -2
Apr 9 16:22:06 osve-sr kernel: iwl3945: Could not read microcode: -2
Apr 9 16:22:06 osve-sr kernel: ACPI: PCI interrupt for device 0000:01:00.0 disabled
Apr 9 16:22:06 osve-sr firmware_helper: Loading of /lib/firmware/iwlwifi-3945-1.ucode for iwl3945 driver failed: No such file or directory.
To enable the latest iwl3945 uCode (version No.iwlwifi-3945-ucode-220.127.116.11), we need upgrade iwl3945 driver (which is being merged into iwlagn now)to the latest version?
or we keep current iwl3945 driver and iwl3945 uCode?
Grrr...the iwl3945-firmware update includes "Update the iwlwifi-3945-1.ucode from 18.104.22.168 to 22.214.171.124."
Reinette (or others from Intel), can you confirm that the 2.6.27-based iwl3945 is incompatible with the 126.96.36.199, despite the iwlwifi-3945-1.ucode naming scheme that was supposed to protect us from such things?
Few things going on here ...
- first comment talks about updating 4965 ucode. Why is update of 3945 ucode needed? Reason I ask is that I think the problem talked about in comment 1 is the "wrong command queue" issue that was fixed in 4965 ucode. We are working on getting 5k ucode out the door that fixes it for 5k hardware. This issue is not in 3945.
- the protection mentioned in comment 6 is clearly not in driver that was tested in comment 5. our backward compatibility support always tries to load the highest supported API first and if that fails it tries to load lower supported API versions. in the test in comment 5 the only version tried was version 1 so that is what that driver supports.
- considering all the above ... do you still want to update the 3945 ucode? If so, it may help to know that 188.8.131.52 and 184.108.40.206 are actually identical (apart from the API version number). this is because the API number was incremented not because of an actual API change, but because of an incompatibility with the driver. The driver supporting APIv2 will request direct scans on passive channels which will cause SYSASSERT on ucode prior to 220.127.116.11.
This bug was originally cloned from an "update iwl4965" bug. The references to iwl4965 can be ignored.
The impetus to update the firmware was simply that a later version existed.
The iwl3945 package contains iwlwifi-3945-1.ucode.
[savage]:> rpm -qpl ~/cvs/rpm/RPMS/noarch/iwl3945-firmware-18.104.22.168-2.noarch.rpm
Dongpo, are you sure you have the right iwl3945-firmware package installed?
I removed the default iwlwifi uCode (iwl3945-firmware-22.214.171.124-2.noarch) from RHEL 5.3 Client Supplimentary ISO before doing this compatiblity test.
then installed iwlwifi-3945-ucode-126.96.36.199 from http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-3945-ucode-188.8.131.52.tgz,see as follows:
[root@osve-sr ~]# ls -al /lib/firmware/ | grep iwlwifi
-rw-r----- 1 root root 163840 Apr 9 14:53 iwlwifi-3945-ucode-184.108.40.206
-rw-r--r-- 1 root root 187608 Jul 3 2008 iwlwifi-4965-1.ucode
-rw-r--r-- 1 root root 187672 Jul 3 2008 iwlwifi-4965-2.ucode
-rw-r--r-- 1 root root 191332 Jul 15 2007 iwlwifi-4965.ucode
That clearly seems like the source of the problem. :-) You don't have a /lib/firmware/iwlwifi-3945-1.ucode file...
Do you have access to iwl3945-firmware-220.127.116.11-2.noarch.rpm? If not, I can try to get it to you (perhaps through John V.).
I donot have the iwl3945-firmware-18.104.22.168-2.noarch.rpm, pls give one to me. thanks
I sent you the package in private email.
After installed the iwl3945-firmware-22.214.171.124-2.noarch.rpm, iwl3945 interface can be found by RHEL OS.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.