[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: b43 firmware ABI change

Hi Ben,

kernel 3.2.x is arrived in unstable and it's time to discuss our open
point about b43-fwcutter package.

On Thu, 2011-11-24 at 09:38 +0100, Fabrizio Regalli wrote:
> Hi Ben,
> On Thu, 2011-11-24 at 04:54 +0000, Ben Hutchings wrote:
> > Fabrizio,
> > 
> > The newest versions of the b43 firmware (version 598 and higher) will
> > only work with Linux 3.2 or later.  Unfortunately, the upstream
> > developers of b43 and b43-fwcutter have *not* changed the file name used
> > for the firmware, which means there is no good way to have both old and
> > new versions coinstalled.  (It is possible to do, because udev will look
> > in /lib/firmware/$(uname -r) as well as /lib/firmware.  But those
> > directories would have to be populated for each installed kernel
> > version.)
> > 
> > If and when you intend to update b43-fwcutter to use a new firmware
> > version, please discuss it with the kernel team first so we can work out
> > how best to deal with the compatibility problem.  Or, even better, try
> > to convince the upstream developers to fix the file naming.
> Totally agree.
> When 3.2 kernel will be available on sid, we can discuss about best
> solution for updating b43-fwcutter package.
> Thanks for the advice.

Below is a summary of list of changes that I would like to introduce
with the new version of the package b43-fwcutter package:


  - The majority of firmware-b43-installer's postinst is moved to a script
    (firmware-b43-installer) installed to /usr/bin.

    * root is required to execute the firmware-b43-installer script.

  - Hooks are installed to /etc/kernel/post{inst,rm}.d, which call the above
    script with an argument (the kernel version) during kernel image package
    installation and removal.

  - A kernel-specific directory is created at /lib/firmware if it does not
    exist.  For example, /lib/firmware/3.2.0-1-686-pae is created when
    configuring linux-image-3.2.0-1-686-pae (the b43 subdirectory is created
    at this location during firmware extraction by the b43-fwcutter utility).

  - broadcom-wl 5.100.138 (firmware 666.2) is acquired and extracted for use
    with Linux 3.2 and later, broadcom-wl (firmware 508.1084)
    is used for Linux 3.1 and earlier.

    * Providing firmware 666.2 allows BCM4331 based devices to
      be supported, as b43 received an initial implementation at Linux 3.2
      (B43_PHY_HT was enabled at linux-2.6 3.2~rc4-1~experimental.1).

  - If the firmware-b43-installer script is not supplied with a kernel
    version argument (e.g. manual invocation by superuser), `$uname -r` is

  - chroot installs are still supported and are assumed to require the
    latest firmware; a message regarding use of Linux 3.2 for firmware 598
    and up is displayed, firmware is installed to /lib/firmware without a
    kernel version subdirectory.


I already have some draft scripts for these modifications but before I would like
to share these changes with you and kernel team.
Please let me know if this solution could be acceptable or if there is a better solution.

Thank you.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply to: