Subject: bug#23409: unable to load free firmware

From: Quilro Ordonez <[email-masked]>
Date: Wed, 11 May 2016 14:01:57 -0500

Hello:

This is my first oportunity to use my laptop with telecomunications. 
Below I comment with my reports. Thank you for your patience.

El 2016-05-05 03:42, Alex Kost escribió:
> Quilro Ordonez (2016-05-05 02:13 +0300) wrote:
> 
>> Same errors in dmesg.
> 
> If you mean after system reconfiguring, then it is expected, because
> nothing has changed, you just moved package definitions from you system
> config to another file, so that "guix build" and other commands could
> see these packages.
> 
> Or do you mean after modifying
> "/sys/module/firmware_class/parameters/path" and "insmod"-ing that
> firmware?

Sorry, I didn't test that yet. I did it now. The output is below the 
respective part of Ludo's message.

> Here is an excerpt of Ludo's message.  Please report after doing these
> steps.
> 
> Ludovic Courtès (2016-05-03 11:01 +0300) wrote:
> 
>> 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?

Here it is:

$ sudo bash
# export GUIX_PACKAGE_PATH=/home/quiliro/guix/packages
# echo -n $(guix build openfwwf-firmware) > 
/sys/module/firmware_class/parameters/path
substitute: updating list of substitutes from 
'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 
'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 
'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 
'https://mirror.hydra.gnu.org'... 100.0%
# cat /sys/module/firmware_class/parameters/path
/gnu/store/xcxhd2r2h3iz0721vn6c5wfqkd0r4xc0-openfwwf-firmware-5.2
# insmod b43-open
insmod: ERROR: could not load module b43-open: No such file or directory
# echo -n $(guix build openfwwf-firmware)/lib/firmware > 
/sys/module/firmware_class/parameters/path
# cat /sys/module/firmware_class/parameters/path
/gnu/store/xcxhd2r2h3iz0721vn6c5wfqkd0r4xc0-openfwwf-firmware-5.2/lib/firmware
o# insmod b43-open
insmod: ERROR: could not load module b43-open: No such file or directory
#

>> Also, can you show the output of:
>> 
>>   find $(guix build b43-firmware-whatever)/lib/firmware
>> 
>> ?
>> 
>> It should contain “b43-open/ucode5.fw”.

# find $(guix build b43-open)/lib/firmware
guix build: error: b43-open: unknown package
find: ‘/lib/firmware’: No existe el fichero o el directorio
# find $(guix build openfwwf-firmware)/lib/firmware
find: 
‘/gnu/store/xcxhd2r2h3iz0721vn6c5wfqkd0r4xc0-openfwwf-firmware-5.2/lib/firmware’: 
No existe el fichero o el directorio
# find $(guix build openfwwf-firmware)
/gnu/store/xcxhd2r2h3iz0721vn6c5wfqkd0r4xc0-openfwwf-firmware-5.2
/gnu/store/xcxhd2r2h3iz0721vn6c5wfqkd0r4xc0-openfwwf-firmware-5.2/b43-open
/gnu/store/xcxhd2r2h3iz0721vn6c5wfqkd0r4xc0-openfwwf-firmware-5.2/b43-open/b0g0initvals5.fw
/gnu/store/xcxhd2r2h3iz0721vn6c5wfqkd0r4xc0-openfwwf-firmware-5.2/b43-open/b0g0bsinitvals5.fw
/gnu/store/xcxhd2r2h3iz0721vn6c5wfqkd0r4xc0-openfwwf-firmware-5.2/b43-open/ucode5.fw
#