From: Marcel Holtmann <holtmann@linux.intel.com>
To: Jeff Mahoney <jeffm@suse.com>
Cc: David Miller <davem@davemloft.net>,
dwmw2@infradead.org, linux-kernel@vger.kernel.org,
akpm@linux-foundation.org, torvalds@linux-foundation.org
Subject: Re: [PATCH] firmware: Allow release-specific firmware dir
Date: Thu, 11 Sep 2008 18:09:10 +0200 [thread overview]
Message-ID: <1221149350.6309.29.camel@californication> (raw)
In-Reply-To: <48C8D33F.2050804@suse.com>
Hi Jeff,
> >>> It's definitely not something we should be doing upstream though.
> >> So you think it's ok that every Debian user has to learn this
> >> magic incantation just to use current kernels?
> >>
> >> I don't think it's nice to break things like this on people,
> >> especially such a large group. Getting this stuff to work is hard
> >> enough, and we're just putting yet another barrier into the situation
> >> and that can only mean less testers and contributors.
> >>
> >> I do know several people who aren't testing and contributing because
> >> the whole firmware shakeup is so bolixed and they really are exasperated
> >> after spending hours trying to get it to work.
> >
> > it is that the Debian maintainer screwed this up. Upstream never
> > promoted kernel versioned directories for the firmware. I had a long
> > discussion with Dave about it at OLS and using the kernel version is
> > just plain wrong. The driver maintainers should version the firmware if
> > they break it in an API incompatible way.
>
> They "should," but is that happening now? Out of all the firmware blobs
> installed with 2.6.27-rcX, only the edgeport drier actually versions
> them - and they're versioned because the driver requires different
> versions for different hardware.
let me repeat this, if a driver depends on newer firmware version, then
it should make sure that the firmware itself is versioned. Everything
else will break eventually.
The Intel wireless drivers started to version their firmware a long time
ago. That is the way to go. How will a user tell different firmwares
apart otherwise.
> > To shed some light into the problem with Debian/Ubuntu. They install the
> > firmware in /lib/firmware/`uname -r`/ and everytime they bump their ABI
> > number, they have to install all the firmware again. This is just
> > braindead. Their udev script actually checks /lib/firmware first and
> > then the kernel versioned directory. So that is just fine.
>
> Well, what we're doing is including the firmware blobs inside the kernel
> packages. So, yeah, we install all the firmware blobs again, but they're
> installed with the modules that we're installing all over again anyway.
> All the firmware blobs currently included in 2.6.27-rcs total about
> 540k, so the wasted disk space is largely negligible when compared to
> the size of installing an additional kernel and module set.
>
> We check /lib/firmware/$(uname -r) /lib/firmware
> /usr/local/lib/firmware, in that order.
Checking /lib/firmware/$(uname -r) is not the issue. The issue is that
when installing a self-compiled kernel, the firmware is not present
in /lib/firmware.
> > Problem comes when installing let say 2.6.27 since then the firmware
> > will be looked up in /lib/firmware/ and /lib/firmware/2.6.27/ and
> > actually it will not be found. Since it is in /lib/firmware/2.6.26-xx/
> > or something similar.
>
> In what case? After you install a new kernel and then reboot? You have
> the same problem with the modules that need the firmware blobs.
If the firmware is not in /lib/firmware (especially external firmware)
it will not be found and the module will be useless if it depends on
that firmware. And the biggest part of the firmware is not distributed
with the kernel because of GPL restrictions. So whatever we decide for
the kernel right now helps nothing if the user needs external firmware
for their devices.
Just take the Intel wireless drivers as an example. If I boot my own
kernel, I have to make sure I either copied or linked them from the
distro directory to /lib/firmware or downloaded them. Whatever the
kernel firmware prefix is makes no difference here.
> > So having the kernel install everything in /lib/firmware works just fine
> > with every distro. However looking for firmware that is not shipped with
> > the kernel, we have a problem since Debian/Ubuntu just not installs it
> > in the right directory. And there is nothing the kernel can do about it
> > since it will not touch firmware it doesn't ship. The distro has to fix
> > their firmware or the users have to place a copy in /lib/firmware/ where
> > it actually should have been in the first place.
>
> It works just fine until the user wants to install an additional, newer,
> kernel and the blob has changed but the filename hasn't.
That is the whole point and Dave and I discussed this deeply. If the
blob changes in an incompatible way or if a driver needs a newer
firmware, the firmware filename should change.
Regards
Marcel
next prev parent reply other threads:[~2008-09-11 16:09 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-09 14:15 Jeff Mahoney
2008-09-10 22:35 ` Andrew Morton
2008-09-11 13:37 ` Greg KH
2008-09-10 23:01 ` David Woodhouse
2008-09-10 23:05 ` David Miller
2008-09-10 23:15 ` David Woodhouse
2008-09-10 23:24 ` Andrew Morton
2008-09-11 2:55 ` Theodore Tso
2008-09-10 23:24 ` David Miller
2008-09-10 23:36 ` David Woodhouse
2008-09-10 23:42 ` David Miller
2008-09-11 0:23 ` Herbert Xu
2008-09-11 0:39 ` David Woodhouse
2008-09-11 7:44 ` Marcel Holtmann
2008-09-11 8:13 ` Jeff Mahoney
2008-09-11 16:09 ` Marcel Holtmann [this message]
2008-09-11 8:29 ` Faidon Liambotis
2008-09-11 16:12 ` Marcel Holtmann
2008-09-11 8:58 ` Frans Pop
2008-09-11 16:16 ` Marcel Holtmann
2008-09-11 8:43 ` Frans Pop
2008-09-11 9:52 ` Frans Pop
2008-09-11 14:50 ` David Woodhouse
2008-09-11 15:24 ` Frans Pop
2008-09-11 15:31 ` David Woodhouse
2008-09-11 15:49 ` Frans Pop
2008-09-11 15:57 ` Linus Torvalds
2008-09-11 16:32 ` Frans Pop
2008-09-11 17:49 ` Linus Torvalds
2008-09-11 18:24 ` Frans Pop
2008-09-11 16:01 ` David Woodhouse
2008-09-11 4:00 ` David Newall
2008-09-11 6:35 ` Faidon Liambotis
2008-09-11 7:15 ` Jeff Mahoney
2008-09-11 13:38 ` Theodore Tso
2008-09-11 14:36 ` Jeff Mahoney
2008-09-11 16:29 ` Marcel Holtmann
2008-09-11 16:20 ` Marcel Holtmann
2008-09-11 11:29 ` Thierry Vignaud
2008-09-11 13:40 ` Greg KH
2008-09-11 16:39 ` Marcel Holtmann
2008-09-11 16:45 ` David Woodhouse
2008-09-11 20:18 ` Greg KH
2008-09-11 20:15 ` Greg KH
2008-09-11 20:38 ` David Woodhouse
2008-09-11 20:57 ` Greg KH
2008-09-11 21:15 ` David Woodhouse
2008-09-11 22:07 ` Greg KH
2008-09-11 22:25 ` David Woodhouse
2008-09-12 8:39 ` Joseph Fannin
2008-09-12 13:50 ` Gene Heskett
2008-09-12 14:32 ` David Woodhouse
2008-09-12 20:24 ` Kai Henningsen
2011-02-25 2:39 Jeff Mahoney
2011-02-25 5:01 ` Michael Tokarev
2011-02-25 15:03 ` Jeff Mahoney
2011-02-25 16:54 ` David Woodhouse
2011-03-01 0:48 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1221149350.6309.29.camel@californication \
--to=holtmann@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=dwmw2@infradead.org \
--cc=jeffm@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome