Intel wireless firmware updates for Ubuntu LTS

Grumbach, Emmanuel emmanuel.grumbach at intel.com
Thu Aug 7 17:02:54 UTC 2025


On Thu, 2025-08-07 at 18:25 +0200, Juerg Haefliger wrote:
> On Wed, 6 Aug 2025 20:09:55 +0000
> "Grumbach, Emmanuel" <emmanuel.grumbach at intel.com> wrote:
> 
> > Hi Ubuntu kernel team,
> > 
> > I am reaching out to you about the way to update the firmware for
> > Intel
> > wireless device in Ubuntu and more especially in Ubuntu LTS.
> > 
> > We maintain branches internally for the firmware in a way that is
> > very
> > similar to how linux-stable works.
> > iwlwifi-cc-a0-77.ucode for example is getting bug fixes that are
> > backward compatible towards the kernel: any kernel that worked with
> > the
> > old version can work with the new one.
> > This is why we'd be interested in Ubuntu LTS getting those updates.
> > 
> > Same is true for all the other files as well of course.
> > It makes total sense _not_ no include firmware files that cannot be
> > supported by the kernel being shipper in Ubuntu LTS, for example
> > iwlwifi-ty-a0-gf-a0-89.ucode is supported only starting from kernel
> > 6.10. But we can still safely update -83.ucode which is supported
> > by
> > kernel 6.6.
> > 
> > Is there a way we could make this happen?
> > 
> > Maybe it already happens and I missed something?
> > 
> > Any help I can provide?
> > 
> > Thank your for your time!
> 
> Thanks for reaching out but I'm not exactly sure what you're asking.
> We try to
> update our linux-firmware package to latest upstream as close to a
> new
> Ubuntu release as possible. From that point on we only update
> firmwares if
> there's a bug reported against it. We don't proactively update
> firmwares
> because a) we cannot test it and b) it could introduce regressions.

This is problematic in my eyes.
We fix a lot of issues that our validation teams and / or end users
report. I understand you cannot test all our changes, but then it means
that Ubuntu users can't benefit from our fixes.
My mail was triggered by a bug report from a big customer using a
distribution that forked from Ubuntu LTS and we discovered that they
ship a very old firmware  while there is a fixed version upstream for a
year.

> 
> Ubuntu LTS is a little special because it comes with 2 different
> kernels. The
> GA kernel and a rolling HWE kernel that will eventually settle on the
> version
> of the next LTS. So in Noble 24.04 we currently have 6.8 (the GA
> kernel) and
> HWE 6.14 (the version from Plucky). Later we will replace 6.14 with
> 6.17 from
> Questing [1] and then 6.20 (?) from R 26.04 which is the next LTS
> hence that
> kernel version will be the last to reach 24.04. If that makes sense
> :-)

You lost me here, but I don't believe we need to really that info to
clarify the issue being discussed here :)

> 
> Obviously we need to add firmwares for those rolling HWE kernels
> which we
> tend to do in a bulk update before a point release (which is when new
> HWE
> kernel are introduced). As a matter of fact, today is 24.04.3 release
> date
> which introduces 6.14 in 24.04. Here's the bug [2] that adds missing
> firmwares for that kernel (and yes, we probably missed a few which
> we'll add
> over time as bug reports come in).
> 
> The whole firmware update story is not great, mainly because they're
> binary
> blobs with no changelogs so no way for us to know what we're getting.
> We have
> to trust the firmware vendors to not introduce regressions with older
> kernels
> but it's not always working...

I totally understand that, and I feel your pain.

> 
> iwlwifi is also a little special in that it supports a range of
> versions and
> walks from newest to oldest until it finds one. That's great but hard
> to
> figure out what exact versions the kernel supports. It only
> advertises the
> max API but not the min and also some firmware names are dynamically
> generated and not advertised at all (via modinfo/MODILE_FIRMWARE). If
> I
> remember correctly, please correct me if I'm wrong.

I think we made some work to improve that, but I admit that it's not
always easy for us to advertise our supported versions via
MODULE_FIRMWARE accurately...

Now I'll try to explain my point:

We fork the development branch of the firmware every X weeks to release
branches (that we call "core" branches). Once a core branch has forked,
only bug fixes will get in. Once the validation is complete, we ship it
to linux-firmware.git (well, not all the core branches are shipped, but
you get the idea).
From time to time, we remove devices from our main development branch.
E.g. ax200/ax210 have been removed from our development branch, which
is why you'll never see iwlwifi-cc-a0-78.ucode. In the driver, this
translates to the MAX being advertised as 77 for ax200 and 89 for
ax210.

NOW... the fact that we shipped -77.ucode once doesn't mean we won't
update it. git log on -77.ucode has gotten a lot of updates as you can
see here:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/log/iwlwifi-cc-a0-77.ucode
and this is what I'm really after.

How can we have you deploy the latest stable versions?



> 
> Hope that helps.
> 
> ...Juerg
> 
> 
> [1]
> https://discourse.ubuntu.com/t/announcing-6-17-kernel-for-ubuntu-25-10-questing-quokka/61484
> [2] https://bugs.launchpad.net/bugs/2116729


More information about the kernel-team mailing list