From: Zlatko Calusic <zcalusic@bitsync.net>
To: b43-dev@lists.infradead.org
Subject: Trouble loading firmware (error -2)
Date: Sun, 4 Oct 2015 22:46:01 +0200 [thread overview]
Message-ID: <56119009.80508@bitsync.net> (raw)
In-Reply-To: <CAP-bSRadqeM0iL_j_XETfyoAScnmdLo=SmvLD4cYzzBYPZsNeg@mail.gmail.com>
On 03.10.2015 13:43, Chris Bainbridge wrote:
> On 2 October 2015 at 18:23, Zlatko Calusic <zcalusic@bitsync.net> wrote:
>> Hello,
>>
>> please help with this issue, the error message is cryptic I don't know what
>> error -2 means:
>>
>> b43 bcma0:1: Direct firmware load for b43/ucode30_mimo.fw failed with error
>> -2
>> b43 bcma0:1: Direct firmware load for b43/ucode30_mimo.fw failed with error
>> -2
>> b43 bcma0:1: Direct firmware load for b43-open/ucode30_mimo.fw failed with
>> error -2
>> b43 bcma0:1: Direct firmware load for b43-open/ucode30_mimo.fw failed with
>> error -2
>> b43-phy0 ERROR: Firmware file "b43/ucode30_mimo.fw" not found
>> b43-phy0 ERROR: Firmware file "b43-open/ucode30_mimo.fw" not found
>> b43-phy0 ERROR: You must go to
>> http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download
>> the correct firmware for this driver version. Please carefully read all
>> instructions on this website.
>>
>> Yet, ls -al /lib/firmware/b43/ucode30_mimo.fw:
>>
>> -rw-r--r-- 1 root root 39632 Apr 6 18:09 /lib/firmware/b43/ucode30_mimo.fw
>>
>> it's there, as put by b43-fwcutter package (Debian 1:019-2). Though I don't
>> have b43-open directory, tried symlinking it, didn't help.
>>
>> The kernel is virgin 4.2.0 Linus, custom compiled, relevant config entries
>> below, am I missing something?
>>
>> CONFIG_B43=y
>
> Are you using an initrd? The b43 driver tries to load the firmware
> when it is initialised. If b43 is builtin (not a module) then the load
> will happen at boot time - when the initrd is mounted, but before the
> real root - and the firmware won't be found. The solution is to either
> copy the firmware to the initrd, or build b43 as a module and make
> sure the module isn't on the initrd.
>
>> CONFIG_FIRMWARE_IN_KERNEL=y
>
> Trying to include the firmware blobs in to the kernel binary is
> unlikely to work for b43, because b43/main.c only defines 7 firmware
> files in MODULE_FIRMWARE(). There are ~117 firmware files in
> /lib/firmware/b43 and your wifi card requires some subset of those,
> probably not the 7 that are defined.
>
Thank you very much Chris for this great reply. I would've spent lots of
time trying to figure this out alone.
First I set CONFIG_FIRMWARE_IN_KERNEL=n as it obviously doesn't help my
case. Still it didn't work because initramfs is not pulling the needed
firmware. This I solved with a simple /etc/initramfs-tools/hooks/b43 hook:
#! /bin/sh -e
mkdir -p "${DESTDIR}/lib/firmware"
cp -a /lib/firmware/b43 "${DESTDIR}/lib/firmware"
And now all is well, firmware gets loaded, wifi works.
Best regards,
--
Zlatko
prev parent reply other threads:[~2015-10-04 20:46 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-02 17:23 Trouble loading firmware (error -2) Zlatko Calusic
2015-10-03 11:43 ` Chris Bainbridge
2015-10-04 20:46 ` Zlatko Calusic [this message]
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=56119009.80508@bitsync.net \
--to=zcalusic@bitsync.net \
--cc=b43-dev@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).