Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 359445

Summary: sys-firmware/iwl5000-ucode- requires kernel >=2.6.38 hence may break many systems and need newer slot
Product: Gentoo Linux Reporter: Maciej Piechotka <uzytkownik2>
Component: New packagesAssignee: No maintainer - Look at if you want to take care of it <maintainer-needed>
Severity: major CC: gengor, gregkh, it, laurento.frittella, mobile+disabled, toralf
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 393447    

Description Maciej Piechotka 2011-03-19 04:25:23 UTC
net-wireless/iwl5000-ucode- changes API/ABI and is not compatible with 2.6.37 kernel. If someone have not updated kernel for any reason the update makes system not connecting to WiFi (thus making the downgrade painful).

I cannot find changes since previous version so I am not sure if it should be keyworded, masked etc. but probably there should be some safeguards as even ~arch does not necessary have newest kernels.

Reproducible: Always
Comment 1 Tony Vroon (RETIRED) gentoo-dev 2011-03-24 10:29:53 UTC
Thilo, please take maintainership of this package. I am now on IWL6000 hardware.
Comment 2 Toralf Förster gentoo-dev 2011-04-03 15:30:49 UTC
I'm wondering whether this package should be slotted in this case to let people run different kernel versions.
Comment 3 Gordon Malm (RETIRED) gentoo-dev 2011-05-23 01:02:44 UTC adds support for =net-wireless/iwl5000-ucode-  I suspect other "stable" series kernels released around this time do the same.

This bug relates a bit to bug #363807.  =net-wireless/iwl5000-ucode- should have incremented SLOT, the two can be safely installed in parallel.  iwlagn in any given kernel will attempt to load latest it supports first and traverse downward (by API version) until a supported firmware is found.
Comment 4 Gordon Malm (RETIRED) gentoo-dev 2011-06-15 19:58:15 UTC
I learned this awhile ago, forgot to note it here.  So it ends up 2.6.32.x is still not usable with latest ucode.  That makes it a bad example for the all remaining recommendations about parallel installability, but they still remain valid going forward and for current kernels.

Sorry for the minor hijack, but this also serves purpose to explain the situation/correction of my previous comments.  CC'ing gregkh here as 2.6.32.x longterm-series kernel maintainer (will ping him via other means if he does not acknowledge receipt of this comment soonish).  This patch[1] alone is not sufficient to support API v5 firmware.  Looked into it a bit and the firmware format changed entirely between 2 and 5.  The API version is even stored in a different place and the new firmware is entirely zero'd where the API version information was previously kept.  This triggers newer kernels to use an alternate loader method (that knows the new firmware format), but the 2.6.32.x does not have these additional patches/routines backported.  It simply reads it as API v0 firmware and fails to load.

So when both firmwares are installed, this can break previously working setups because iwlwifi-5000-5 named ucode takes precedence over iwl5000-2 when loading.  Here's someone else who's noticed:

I'm clearly not the longterm maintainer, so I defer entirely to you Greg, but fwiw it looked fairly hairy to bring the alternate loader back into 2.6.32.x -- so its a revert-the-patch-situation I suspect.

Comment 5 Gordon Malm (RETIRED) gentoo-dev 2011-07-06 16:43:07 UTC
Quick update: Kernel fixes the aforementioned problems with attempting to load greater than API v2 firmwares.  It is once again safe/possible to install multiple firmware versions in parallel on the 2.6.32.x kernel series (it just won't use what it doesn't recognize).
Comment 6 Pacho Ramos gentoo-dev 2012-11-18 13:49:45 UTC
*** Bug 363807 has been marked as a duplicate of this bug. ***
Comment 7 Pacho Ramos gentoo-dev 2012-12-15 20:47:48 UTC
+*iwl5000-ucode- (15 Dec 2012)
+  15 Dec 2012; Pacho Ramos <> +iwl5000-ucode-,
+  -iwl5000-ucode-, -iwl5000-ucode-
+  Version bump using updated tarball (#383541 by Toralf Förster), using its own
+  SLOT as it's for kernels >= 2.6.38 (#359445 by Maciej Piechotka). Drop old
+  versions, including old slot for kernels < 2.6.30.