Help selecting/using Intel Wireless Firmware for Intel Wifi Pro 5300 AGN ?

The question is should I update the wireless firmware from iwlwifi-5000-2.ucode to iwlwifi-5000-5.ucode and if I make such an update, how do I use it ?

I’ve recently been thinking that it may be appropriate to update the firmware in my openSUSE for my Intel WiFi Link 5300 AGN wireless device in my laptop. My laptop currently runs a 64-bit openSUSE-11.3 with KDE-4.4.4 desktop and wireless works well with this device.

from ’ /usr/sbin/lspci -nnk ’


04:00.0 Network controller [0280]: Intel Corporation Ultimate N WiFi Link 5300 [8086:4235]
        Subsystem: Intel Corporation Device [8086:1121]
        Kernel driver in use: iwlagn

When I was testing 64-bit openSUSE-12.1 KDE liveCD I noted problems with KDE with the wifi. I reported on the problem here in post#18: 12.1 Milestone-2 - Post your experiences

in particular on openSUSE-12.1 M2 I noted the error message:


Jun 25 18:00:16 (none) kernel:    44.725915] iwlagn 0000:04:00.0: request for firmware file 'iwlwifi-5000-5.ucode' failed.
Jun 25 18:00:16 (none) kernel:    44.730952] iwlagn 0000:04:00.0: request for firmware file 'iwlwifi-5000-4.ucode' failed.
...
Jun 25 18:00:16 (none) kernel:    44.732711] iwlagn 0000:04:00.0: request for firmware file 'iwlwifi-5000-3.ucode' failed.
....
Jun 25 18:00:16 (none) kernel:    45.896168] iwlagn 0000:04:00.0: Firmware has old API version. Expected v5, got v2. New firmware can be obtained from http://www.intellinuxwireless.org.
Jun 25 18:00:16 (none) kernel:    45.896264] iwlagn 0000:04:00.0: loaded firmware version 8.24.2.12

When I went to Intel® Wireless WiFi Link drivers for Linux* I noted there was a relatively recent firmware update available in tarball iwlwifi-5000-ucode-8.83.5.1-1.tgz. Inside that tarball is iwlwifi-5000-5.ucode. The readme suggests that file needs to be copied to /lib/firmware.

On my older openSUSE-11.3 installation, when I look in /lib/firmware I note iwlwifi-5000-1.ucode and iwlwifi-5000-2.ucode and when I examine the content of my dmesg I note iwlwifi-5000-2.ucode is loaded:


    5.895477] iwlagn 0000:04:00.0: firmware: requesting iwlwifi-5000-2.ucode
    5.898753] iwlagn 0000:04:00.0: loaded firmware version 8.24.2.12

indicating the iwlwifi-5000-2.ucode is loaded. Copying the iwlwifi-5000-5.ucode to /lib/firmware and rebooting does not install that firmware, as the older iwlwifi-5000-2.ucode is still loaded.

Is there a package I need to install (or a configuration to set) in order to have the new firmware loaded on my openSUSE-11.3 install ?

I note my wireless works well now with the iwlwifi-5000-2.ucode on this openSUSE-11.3 installation, although its possibly not as fast as it should be. I do not have the dropouts that other users with this hardware have reported. BUT I also note that openSUSE-11.4 wireless did not work for me, and that suggests to me that I need to improve my knowledge here so that I can ultimately update openSUSE on this laptop.

Any suggestions/guidance here ?

I did did read somewhere that the file iwlwifi-5000-5.ucode needs kernel 2.6.38 in order to be useful, and I note openSUSE-11.3 has the 2.6.34 kernel. That does not leave any more the wiser … clearly there is more going on here that I need to learn.

and along those lines I discovered this:
https://build.opensuse.org/package/rdiff?commit=29&linkrev=base&package=kernel-firmware&project=Kernel%3AHEAD


 Url:            ftp://ftp.kernel.org/pub/linux/kernel/people/dwmw2/firmware/
 Source0:        %name-%{version}.tar.bz2
 Source1:        firmware.sh
-Source2:   iwlwifi-6000-4.ucode
+Source2:   iwlwifi-5000-5.ucode
....
!!! _service:recompress:tar_scm:kernel-firmware-2.6.38.tar.bz2 and _service:recompress:tar_scm:kernel-firmware-2.6.38.tar.bz2 differ
Index: kernel-firmware.changes
...

… etc … which makes me think I need not worry 'bout loading the iwlwifi-5000-5.ucode with the openSUSE-11.3 2.6.34 kernel, but it does make me think that what I encountered on openSUSE-12.1 milestone2 (M2) was indeed an openSUSE-12.1 M2 bug, and hence I need to write a bug report on openSUSE-12.1 M2 …

On 07/02/2011 07:06 AM, oldcpu wrote:

> indicating the iwlwifi-5000-2.ucode is loaded. Copying the
> iwlwifi-5000-5.ucode to /lib/firmware and rebooting does not install
> that firmware, as the older iwlwifi-5000-2.ucode is still loaded.
>
> Is there a package I need to install (or a configuration to set) in
> order to have the new firmware loaded on my openSUSE-11.3 install ?

If you have both -2 and -5 firmware in /lib/firmware, and the driver still loads
-2, then that clearly is what the driver wants. I’m not familiar with the
differences in the firmware versions for iwlwifi. It is possible that if you
were to install a newer version of the driver by using compat-wireless or a
2.6.39 kernel that it would need and use the -5 firmware.

Many times a firmware change needs a corresponding change in the driver. As they
changed the name in the process, it is likely the case here.

On 07/02/2011 11:06 AM, oldcpu wrote:
> … etc … which makes me think I need not worry 'bout loading the
> iwlwifi-5000-5.ucode with the openSUSE-11.3 2.6.34 kernel, but it does
> make me think that what I encountered on openSUSE-12.1 milestone2 (M2)
> was indeed an openSUSE-12.1 M2 bug, and hence I need to write a bug
> report on openSUSE-12.1 M2 …

You are correct on both points.

The latest version of linux-firmware contains both -2 and -5 versions. If 12.1
MS2 does not, then the appropriate package needs to be updated. A title
something like “openSUSE 12.1 MS2 fails to provide iwlwifi-5000-5.ucode” should
work.

I raised this bug report:
https://bugzilla.novell.com/show_bug.cgi?id=703593

I will track/support this and see where it leads. Thanks for the vote of confidence.