Ken Moffat wrote:
Now that we have some time before the next release, I would like to
question whether our treatment of firmware is adequate.

In the old days, (most) firmware was in the kernel - and then the
licence police took exception to that (and some 'libre'
distributions deliberately omit it).  Now, most firmware is in
linux-firmware, or its upstreams such as Dave Airlie's
freedesktop.org page.  AFAICS, there are three main users of
external firmware:

1. radeon graphics cards, R300 through to Sea Islands [ and probably
the newer high-end stuff, amdkfd I think it is called in the kernel
- but for the moment that is barely in the kernel and has no Xorg
driver ].  The firmware for R200 and earlier is still in the kernel.

For these, we cover it in the Xorg ATI video driver (with a link to
Dave Airlie's freedesktop page) under 'Kernel configuration for
additional firmware'.

Now that I look at this, I'll not that I really don't like links witt the valut "this" or similar. The displayed link should be a proper url: http://people.freedesktop.org/~agd5f/radeon_ucode/

Please note that nowadays, the kernel default
for radeon DRM is with KMS (Kernel ModeSetting) enabled, and for
that the firmware is required when the text console tries to move to
a framebuffer.  Either build it in (slightly quicker if there is a
lot of firmware, e.g. my Kaveri uses 9 blobs - building it in means I
can see the penguins just before they scroll out, but making it a
module and letting it load from /lib/firmware means I never get to
see them, and probably miss some of the message.

The messages are available in the kernel ring buffer -- aka via dmesg.

2. some wired network adaptors, particularly those using the R8169
driver - these are different, the kernel complains if the desired
firmware is not found, but they appear to work.  Oddly, if I build
the driver in, but point to /lib/firmware in the kernel's .config,
and put the required item there, it seems to find the firmware (i.e.
no message in dmesg).

3. wifi drivers.  My netbook uses the brcm/bcm43xx*.fw files.
Without these, the wifi cannot be brought up [ that is definitely a
BLFS issue, arguably the other two could be seen as part of LFS ].

For all of these, the key thing is to point the kernel's
CONFIG_FIRMWARE_DIR to /lib/firmware instead of "firmware"

At the moment, we only mention firmware under the Xorg ATI driver.
I would like to see it moved to a more general place, perhaps at the
end of chapter 3.  If we had a firmware page there, it could also
cover CPU microcode - if anybody wants to cover that (last time I
looked, the latest intel and AMD microcode updates did not apply to
my CPUs).

But maybe you are all using things which do not need extra firmware
:)


I didn't need any firmware until I got may laptop last summer.  Now I have:

bdubbs@toshiba-lfs [ /lib/firmware ]$ ls -R
.:
cpia2  intel  iwlwifi-7260-7.ucode  iwlwifi-7260-9.ucode

./cpia2:
stv0672_vp4.bin

./intel:
ibt-hw-37.7.10-fw-1.80.2.3.d.bseq

The wifi is for an Intel wireless card. I probably don't need both -7 and -9, but dmesg indicates I need the -9 version.

The ibt-hw firmware is for bluetooth. It needs to be in the intel subdirectory. That's where the kernel driver looks to find it.

The stv0672 firmware is for the camera which is on the usb bus even though it's built into the laptop. It needs to be in the cpia2 directory.

My new system does not need any firmware. The wireless and usb camera (Logitech plugin) work fine without.

The bottom line is that firmware is very hardware dependent and we really can't say much specific about it except in the xorg drivers page as you have done or in other minor areas such as alsa-firmware.

I suppose we could add a page to show general techniques for finding the appropriate firmware, but what I've generally done is to look at dmesg for clues. My best guess for a location would be a new section in Chapter 8 or Chapter 9.

  -- Bruce



--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to