Bug 828050

Summary: Invalid firmware, out of date
Product: [Fedora] Fedora Reporter: Aaron W. Hsu <arcfide>
Component: linux-firmwareAssignee: Josh Boyer <jwboyer>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 17CC: arcfide, dwmw2, jarkko.torvinen, jforbes, kernel-maint, kwizart, linville, matthias
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-22 18:51:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Aaron W. Hsu 2012-06-04 06:57:42 UTC
Description of problem:

Current iwl6000g2b-firmware version 5 does not work with Intel 6235 wireless cards, causing a driver crash and disabling wireless capability.


Version-Release number of selected component (if applicable):

Version 5 of firmware.


How reproducible: Consistent, every time.


Steps to Reproduce:
1. Enable iwlwifi wireless for Intel 6235 card.
  
Actual results: Dmesg reports invalid version (tries to load version 6), and fails to load. Attempting to load older API results in a driver crash that renders wireless unusable.

Expected results: Wireless should load fine.


Additional info:

Upgrading the iwl6000g2b-firmware to the 6th version fixes the error and the driver works as expected.

Comment 1 Jarkko Torvinen 2012-06-04 07:27:23 UTC
can confirm this:

iwlwifi 0000:01:00.0: Detected Intel(R) Centrino(R) Advanced-N 6230 AGN, REV=0xB0
iwlwifi 0000:01:00.0: request for firmware file 'iwlwifi-6000g2b-6.ucode' failed.
iwlwifi 0000:01:00.0: Firmware has old API version, expected v6, got v5.

Though 6230 works "ok", with new firmware (iwlwifi-6000g2b-6.ucode) this error goes away

Comment 2 John W. Linville 2012-06-04 18:16:59 UTC
Intel is pushing all of their iwlwifi firmware into the upstream linux-firmware project.  But for some reason, the fedora linux-firmware package is deleting those files in favor of the legacy individual iwl*-firmware packages.

The linux-firmware package should _not_ remove the iwlwifi firmware.  Instead it should be marked as obsoleting the exising iwl*-firmware packages.

Comment 3 Josh Boyer 2012-06-04 19:32:41 UTC
Justin was looking at which stand-alone firmware packages can be replaced by linux-firmware.  I think he's still working on that.

In the meantime, I'll submit an update that simply doesn't remove the iwl-* firmware for linux-firmware.

Comment 4 Josh Boyer 2012-06-04 19:44:48 UTC
Actually, hang on a minute.

So John, you own 6 out of the 9 iwlxxxx-firmware packages.  Basically, all of the ones that are relevant to any recent or new hardware.  If you knew Intel was pushing _all_ of their firmware into linux-firmware, why didn't you file a bug to coordinate the obsoletion of those packages with the linux-firmware package?

I mean, I guess this bug can suffice for that but your comment comes off a bit wrong to me.

Anyway, I'll work on getting this into rawhide tomorrow.  You'll need to retire all the iwlxxxx-firmware packages with Rel-Eng.

We can look at fixing this for F17 after rawhide is sorted out.

Comment 5 David Woodhouse 2012-06-04 22:38:56 UTC
If Fedora is shipping *any* separate firmware packages other than the linux-firmware package (except perhaps for splitting linux-firmware into subpackages), that seems like a bug. We shouldn't be doing that at all.

Comment 6 Josh Boyer 2012-06-04 22:59:11 UTC
(In reply to comment #5)
> If Fedora is shipping *any* separate firmware packages other than the
> linux-firmware package (except perhaps for splitting linux-firmware into
> subpackages), that seems like a bug. We shouldn't be doing that at all.

Right.  Justin is looking at that part.

Comment 7 Josh Boyer 2012-06-05 12:16:58 UTC
OK. I think I have the Provides/Obsoletes worked out for all the iwlXXXX-firmware packages:

[jwboyer@zod linux-firmware]$ sudo yum localupdate --nogpg noarch/linux-firmware-20120510-0.2.git375e954.fc17.noarch.rpm 
Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
Examining noarch/linux-firmware-20120510-0.2.git375e954.fc17.noarch.rpm: linux-firmware-20120510-0.2.git375e954.fc17.noarch
Marking noarch/linux-firmware-20120510-0.2.git375e954.fc17.noarch.rpm as an update to linux-firmware-20120206-0.3.git06c8f81.fc17.noarch
brew                                                     |  951 B     00:00     
rhpkg                                                    | 2.6 kB     00:00     
rpmfusion-free-updates                                   | 3.3 kB     00:00     
rpmfusion-free-updates-debuginfo                         | 2.7 kB     00:00     
updates                                                  | 4.5 kB     00:00     
updates-debuginfo/metalink                               |  14 kB     00:00     
Resolving Dependencies
--> Running transaction check
---> Package iwl1000-firmware.noarch 1:39.31.5.1-2.fc17 will be obsoleted
---> Package iwl3945-firmware.noarch 0:15.32.2.9-6.fc17 will be obsoleted
---> Package iwl4965-firmware.noarch 0:228.61.2.24-4.fc17 will be obsoleted
---> Package iwl5000-firmware.noarch 0:8.83.5.1_1-2.fc17 will be obsoleted
---> Package iwl5150-firmware.noarch 0:8.24.2.2-3.fc17 will be obsoleted
---> Package iwl6000-firmware.noarch 0:9.221.4.1-3.fc17 will be obsoleted
---> Package iwl6000g2a-firmware.noarch 0:17.168.5.3-2.fc17 will be obsoleted
---> Package iwl6050-firmware.noarch 0:41.28.5.1-4.fc17 will be obsoleted
---> Package linux-firmware.noarch 0:20120206-0.3.git06c8f81.fc17 will be updated
---> Package linux-firmware.noarch 0:20120510-0.2.git375e954.fc17 will be obsoleting
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package
        Arch   Version
                      Repository                                           Size
================================================================================
Installing:
 linux-firmware
        noarch 20120510-0.2.git375e954.fc17
                      /linux-firmware-20120510-0.2.git375e954.fc17.noarch  37 M
     replacing  iwl1000-firmware.noarch 1:39.31.5.1-2.fc17
     replacing  iwl3945-firmware.noarch 15.32.2.9-6.fc17
     replacing  iwl4965-firmware.noarch 228.61.2.24-4.fc17
     replacing  iwl5000-firmware.noarch 8.83.5.1_1-2.fc17
     replacing  iwl5150-firmware.noarch 8.24.2.2-3.fc17
     replacing  iwl6000-firmware.noarch 9.221.4.1-3.fc17
     replacing  iwl6000g2a-firmware.noarch 17.168.5.3-2.fc17
     replacing  iwl6050-firmware.noarch 41.28.5.1-4.fc17

Transaction Summary
================================================================================
Install  1 Package

Total size: 37 M
Is this ok [y/N]: 


I'll commit this to git and get builds done for rawhide-F16 today.

Owners of the iwlXXXX-firmware packages will need to retire those with Rel-Eng.

Comment 8 Nicolas Chauvet (kwizart) 2012-06-05 12:37:43 UTC
Why theses single packages would be replaced ?
It's comes back from day to day that they would need replacement, but I disagree.

Firmware are sometime huge, specially when they are totally undeeded. Selecting the given set of firmware that is needed for a given system is very much usefull.

IIRC. Debian have a policy to split a firmware into another package if the size is big enought. This is a very good policy IMO.

Comment 9 Nicolas Chauvet (kwizart) 2012-06-05 12:43:34 UTC
(In reply to comment #5)
> If Fedora is shipping *any* separate firmware packages other than the
> linux-firmware package (except perhaps for splitting linux-firmware into
> subpackages), that seems like a bug. We shouldn't be doing that at all.

I would agree with subpackaging at least.
Sorting by component over vendor would be more appropriate. So that would give:
linux-dvb-firmware  / linux-wifi-firmware / linux-common-firmware and linux-firmware would install them all...

Comment 10 Josh Boyer 2012-06-05 12:44:15 UTC
(In reply to comment #8)
> Why theses single packages would be replaced ?

Because they're not going to get updated anymore and the upstream linux-firmware project contains the firmware they provide.

> Firmware are sometime huge, specially when they are totally undeeded.
> Selecting the given set of firmware that is needed for a given system is
> very much usefull.

Except we don't do that.  We install it all anyway in comps.  Otherwise I wouldn't have those packages on my system at all.

> IIRC. Debian have a policy to split a firmware into another package if the
> size is big enought. This is a very good policy IMO.

We can look at creating subpackages from linux-firmware, sure.

Comment 11 Josh Boyer 2012-06-05 12:46:20 UTC
(In reply to comment #9)
> (In reply to comment #5)
> > If Fedora is shipping *any* separate firmware packages other than the
> > linux-firmware package (except perhaps for splitting linux-firmware into
> > subpackages), that seems like a bug. We shouldn't be doing that at all.
> 
> I would agree with subpackaging at least.
> Sorting by component over vendor would be more appropriate. So that would
> give:
> linux-dvb-firmware  / linux-wifi-firmware / linux-common-firmware and
> linux-firmware would install them all...

Well, we can start with iwlXXXX-firmware subpackages.  Anything beyond that is for another time.  (And probably all pointless until comps is changed.)

Comment 12 John W. Linville 2012-06-05 13:33:19 UTC
Re: comment 4 -- sorry, I dropped the ball on the Fedora process.

Comment 13 Josh Boyer 2012-06-05 14:59:21 UTC
OK, so I think I have the subpackages created correctly now.  A yum localupdate of the results produces this:

================================================================================
 Package          Arch   Version
                            Repository                                     Size
================================================================================
Installing:
 iwl3945-firmware noarch 15.32.2.9-7.fc17
                            /iwl3945-firmware-15.32.2.9-7.fc17.noarch     206 k
     replacing  iwl3945-firmware.noarch 15.32.2.9-6.fc17
 iwl4965-firmware noarch 228.61.2.24-7.fc17
                            /iwl4965-firmware-228.61.2.24-7.fc17.noarch   243 k
     replacing  iwl4965-firmware.noarch 228.61.2.24-4.fc17
 iwl5000-firmware noarch 8.83.5.1_1-7.fc17
                            /iwl5000-firmware-8.83.5.1_1-7.fc17.noarch    1.0 M
     replacing  iwl5000-firmware.noarch 8.83.5.1_1-2.fc17
 iwl5150-firmware noarch 8.24.2.2-7.fc17
                            /iwl5150-firmware-8.24.2.2-7.fc17.noarch      389 k
     replacing  iwl5150-firmware.noarch 8.24.2.2-3.fc17
 iwl6000-firmware noarch 9.221.4.1-7.fc17
                            /iwl6000-firmware-9.221.4.1-7.fc17.noarch     504 k
     replacing  iwl6000-firmware.noarch 9.221.4.1-3.fc17
 iwl6000g2a-firmware
                  noarch 17.168.5.3-7.fc17
                            /iwl6000g2a-firmware-17.168.5.3-7.fc17.noarch 494 k
     replacing  iwl6000g2a-firmware.noarch 17.168.5.3-2.fc17
 iwl6050-firmware noarch 41.28.5.1-7.fc17
                            /iwl6050-firmware-41.28.5.1-7.fc17.noarch     971 k
     replacing  iwl6050-firmware.noarch 41.28.5.1-4.fc17
Updating:
 iwl100-firmware  noarch 39.31.5.1-7.fc17
                            /iwl100-firmware-39.31.5.1-7.fc17.noarch      389 k
 linux-firmware   noarch 20120510-0.3.git375e954.fc17
                            /linux-firmware-20120510-0.3.git375e954.fc17.noarch
                                                                           29 M

Transaction Summary
================================================================================
Install  7 Packages
Upgrade  2 Packages

Total size: 33 M
Is this ok [y/N]: 


Basically, all of the existing iwlXXXX-firmware packages were made subpackages with their corresponding version number, and a higher Release with the proper obsoletes.  There are even 4 new firmware packages to cover the addition of iwl105, iwl135, iwl2000, and iwl2030 Centrino adapters.

Does anyone have any issues with this before I go forward with it?  (The existing iwlXXXX-firmware pacakges will still need to be retired in rawhide.)

Comment 14 John W. Linville 2012-06-05 15:01:36 UTC
Looks great to me -- thanks, Josh!

Comment 15 Josh Boyer 2012-06-05 17:21:21 UTC
OK, committed and build in rawhide-F16.

I'll file updates for F16 and F17 after we make sure rawhide isn't totally hosed.

Comment 16 Fedora Update System 2012-06-06 21:09:39 UTC
linux-firmware-20120510-0.3.git375e954.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/linux-firmware-20120510-0.3.git375e954.fc17

Comment 17 Aaron W. Hsu 2012-06-07 06:23:38 UTC
Thank you for the quick response to this issue.

Comment 18 Fedora Update System 2012-06-07 23:13:44 UTC
Package linux-firmware-20120510-0.3.git375e954.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing linux-firmware-20120510-0.3.git375e954.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-9095/linux-firmware-20120510-0.3.git375e954.fc17
then log in and leave karma (feedback).

Comment 19 Aaron W. Hsu 2012-06-09 09:13:37 UTC
I have provided feedback there, but I can provide some here as well.  I note a couple of problems.  First, in the logs above, I do not see the iwl6000g2b-firmware package, which is the one that has the firmware that is out-dated.  Moreover, my run of the above package with the yum update command that you gave does update linux-firmware, but neither that package nor the iwl firmware packages have the version 6 firmware necessary for the wireless card to work, even after the update.

Comment 20 Josh Boyer 2012-06-09 13:37:33 UTC
(In reply to comment #19)
> I have provided feedback there, but I can provide some here as well.  I note
> a couple of problems.  First, in the logs above, I do not see the
> iwl6000g2b-firmware package, which is the one that has the firmware that is
> out-dated.  Moreover, my run of the above package with the yum update
> command that you gave does update linux-firmware, but neither that package
> nor the iwl firmware packages have the version 6 firmware necessary for the
> wireless card to work, even after the update.

All of the packages are provided.  They're in the build here:

http://koji.fedoraproject.org/koji/buildinfo?buildID=322160

As I said in bodhi, 'yum update linux-firmware' isn't enough to get the replacement subpackges.  You need to either just do a full 'yum update' or you need to do 'yum update \*-firmware' or 'yum update linux-firmware iwl\*-firmware'.

Comment 21 Aaron W. Hsu 2012-06-11 06:00:36 UTC
Okay, I see what you mean.  The instructions a few messages ago confused me.  If I update from the testing repo for the firmware, then I do indeed see what I expect.  Thanks.

Comment 22 Fedora Update System 2012-06-22 18:51:36 UTC
linux-firmware-20120510-0.3.git375e954.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.