Subject: Re: bug#23409: unable to load free firmware

From: [email-masked] (Ludovic Courtès)
Date: Tue, 03 May 2016 10:01:42 +0200

Eric Bavier <[email-masked]> skribis:

> On Sun, 01 May 2016 15:19:34 +0200
> [email-masked] (Ludovic Courtès) wrote:
>
>> Quilro Ordonez <[email-masked]> skribis:
>> 
>> > I am trying to lo use Broadcom wireless device on GuixSD. It is
>> > confirmed to work with free drivers and free firmware. It works
>> > correctly in Trisquel too.
>> >
>> > dmesg gives the following messages. I have included only the relevant
>> > parts:  
>> 
>> [...]
>> 
>> > [   20.591158] b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not
>> > found
>> > [   21.313688] b43-phy0 ERROR: /*(DEBLOBBED)*/  
>> 
>> “DEBLOBBED” would suggest that Linux-libre’s deblobbing script viewed it
>> as an opaque binary blob and thus patched it, which may be an issue
>> here, no?
>
> Does deblobbing happen at runtime too?  I thought it was only during
> build time.

Right, it’s at at build time, but the “deblobbing script” leaves those
“DEBLOBBED” messages in places where it has removed firmware loading
capabilities.

It may be worth checking with the Linux-libre team what happens in this
particular case—i.e., whether this code is erroneously deblobbed, or
something else.

Quilíro: firmware files are searched for in the directory specified in
the /sys/module/firmware_class/parameters/path pseudo-file (see the (gnu
build activation) module.)

Could you try, as root, something like (use the right package and module
name below):

  echo -n $(guix build b43-firmware-whatever)/lib/firmware \
     > /sys/module/firmware_class/parameters/path
  insmod b43-module-whatever-its-called
  dmesg | tail

… and report back?

Also, can you show the output of:

  find $(guix build b43-firmware-whatever)/lib/firmware

?

It should contain “b43-open/ucode5.fw”.

>> I assume you used the firmware packages that Leo copied.  Could you get
>> its author to submit it?  :-)
>
> That would be me :)

Ah ha!  I suspected it but wasn’t sure.  :-)

> But I don't have the hardware to test it out on, and qemu doesn't
> offer emulation of the broadcomm cards.

Good point.  Let’s test it with Quilíro.

Thanks!

Ludo’.