Debian Bug report logs - #797779
firmware-brcm80211: failed to load brcm/brcmfmac4330-sdio.txt

version graph

Package: firmware-brcm80211; Maintainer for firmware-brcm80211 is Debian Kernel Team <debian-kernel@lists.debian.org>; Source for firmware-brcm80211 is src:firmware-nonfree (PTS, buildd, popcon).

Reported by: Rainer Dorsch <ml@bokomoko.de>

Date: Wed, 2 Sep 2015 13:36:02 UTC

Severity: normal

Tags: upstream

Found in version firmware-nonfree/0.43

Done: Ben Hutchings <ben@decadent.org.uk>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#797779; Package firmware-brcm80211. (Wed, 02 Sep 2015 13:36:05 GMT) (full text, mbox, link).


Acknowledgement sent to Rainer Dorsch <ml@bokomoko.de>:
New Bug report received and forwarded. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>. (Wed, 02 Sep 2015 13:36:05 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Rainer Dorsch <ml@bokomoko.de>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: firmware-brcm80211: failed to load brcm/brcmfmac4330-sdio.txt
Date: Wed, 02 Sep 2015 15:16:21 +0200
Package: firmware-brcm80211
Version: 0.43
Severity: normal


Dear Maintainer,

I installed linux-image-4.2.0-trunk-armmp on a cubox-i with an imx.6 CPU.

For the first time the wireless interface should be supported by a stock kernel.

Installing the Debian package results in the error in the modprobe of the brcmfmac_sdio during boot and there is no wireless module visible:

rd@home:~$ dmesg |grep brcm
[    2.092789] brcm_reg: disabling
[    6.744194] usbcore: registered new interface driver brcmfmac
[    6.798042] brcmfmac_sdio mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac4330-sdio.bin
[    6.816911] brcmfmac_sdio mmc0:0001:1: firmware: failed to load brcm/brcmfmac4330-sdio.txt (-2)
[    6.847619] brcmfmac_sdio mmc0:0001:1: Direct firmware load for brcm/brcmfmac4330-sdio.txt failed with error -2
[    6.847627] brcmfmac_sdio mmc0:0001:1: Falling back to user helper
[    7.876909] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[    8.888865] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
rd@home:~$ /sbin/ifconfig -a
eth1      Link encap:Ethernet  Hardware Adresse d0:63:b4:00:2b:ac  
          inet Adresse:192.168.178.29  Bcast:192.168.178.255  Maske:255.255.255.0
          inet6-Adresse: fd00::d263:b4ff:fe00:2bac/64 Gültigkeitsbereich:Global
          inet6-Adresse: fe80::d263:b4ff:fe00:2bac/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:1561 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1222 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:246316 (240.5 KiB)  TX bytes:1150073 (1.0 MiB)

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:2718 (2.6 KiB)  TX bytes:2718 (2.6 KiB)

rd@home:~$ 



-- System Information:
Debian Release: 8.1
  APT prefers stable
  APT policy: (500, 'stable'), (400, 'testing'), (300, 'unstable'), (250, 'experimental')
Architecture: armhf (armv7l)

Kernel: Linux 4.2.0-trunk-armmp (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

firmware-brcm80211 depends on no packages.

firmware-brcm80211 recommends no packages.

Versions of packages firmware-brcm80211 suggests:
ii  initramfs-tools  0.120

-- no debconf information



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#797779; Package firmware-brcm80211. (Wed, 02 Sep 2015 14:36:08 GMT) (full text, mbox, link).


Acknowledgement sent to Rainer Dorsch <ml@bokomoko.de>:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>. (Wed, 02 Sep 2015 14:36:08 GMT) (full text, mbox, link).


Message #10 received at 797779@bugs.debian.org (full text, mbox, reply):

From: Rainer Dorsch <ml@bokomoko.de>
To: 797779@bugs.debian.org
Subject: brcmfmac4330-sdio.txt from OpenElec fixes the issue
Date: Wed, 02 Sep 2015 15:54:46 +0200
Hi,

I copied brcmfmac4330-sdio.txt from OpenElec

https://github.com/OpenELEC/wlan-firmware/blob/master/firmware/brcm/brcmfmac4330-sdio.txt

to /lib/firmware/brcm

which fixes the issue

rd@home:~$ dmesg |grep brcm
[    2.092917] brcm_reg: disabling
[    6.786725] usbcore: registered new interface driver brcmfmac
[    6.846286] brcmfmac_sdio mmc0:0001:1: firmware: direct-loading firmware 
brcm/brcmfmac4330-sdio.bin
[    6.879810] brcmfmac_sdio mmc0:0001:1: firmware: direct-loading firmware 
brcm/brcmfmac4330-sdio.txt
[    7.225901] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 25 
2011 19:34:12 version 5.90.125.104
[    7.258702] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code
[   11.484505] brcmfmac: brcmf_add_if: ERROR: netdev:wlan0 already exists
[   11.491109] brcmfmac: brcmf_add_if: ignore IF event
rd@home:~$ /sbin/ifconfig -a
eth1      Link encap:Ethernet  Hardware Adresse d0:63:b4:00:2b:ac  
          inet Adresse:192.168.178.29  Bcast:192.168.178.255  
Maske:255.255.255.0
          inet6-Adresse: fd00::d263:b4ff:fe00:2bac/64 
Gültigkeitsbereich:Global
          inet6-Adresse: fe80::d263:b4ff:fe00:2bac/64 
Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:6800 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5344 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:1065692 (1.0 MiB)  TX bytes:5224223 (4.9 MiB)

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX packets:56 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:5946 (5.8 KiB)  TX bytes:5946 (5.8 KiB)

wlan0     Link encap:Ethernet  Hardware Adresse b8:5a:f7:82:aa:c2  
          UP BROADCAST MULTICAST  MTU:1500  Metrik:1
          RX packets:490 errors:0 dropped:490 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:233292 (227.8 KiB)  TX bytes:0 (0.0 B)

rd@home:~$ 

Thanks,
Rainer

-- 
Rainer Dorsch
http://bokomoko.de/



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#797779; Package firmware-brcm80211. (Wed, 02 Sep 2015 17:39:03 GMT) (full text, mbox, link).


Acknowledgement sent to Stefan Lippers-Hollmann <s.l-h@gmx.de>:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>. (Wed, 02 Sep 2015 17:39:03 GMT) (full text, mbox, link).


Message #15 received at 797779@bugs.debian.org (full text, mbox, reply):

From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
To: Rainer Dorsch <ml@bokomoko.de>
Cc: 797779@bugs.debian.org
Subject: Re: Bug#797779: brcmfmac4330-sdio.txt from OpenElec fixes the issue
Date: Wed, 2 Sep 2015 19:37:13 +0200
[Message part 1 (text/plain, inline)]
Hi

On 2015-09-02, Rainer Dorsch wrote:
> Hi,
> 
> I copied brcmfmac4330-sdio.txt from OpenElec
> 
> https://github.com/OpenELEC/wlan-firmware/blob/master/firmware/brcm/brcmfmac4330-sdio.txt
> 
> to /lib/firmware/brcm
> 
> which fixes the issue
[...]

brcmfmac4330-sdio.txt is OEM, respectively even device specific[1], 
nothing that would be generic enough (for all bcm4330 devices) to be 
shipped by Debian's firmware packages. 

On x86 systems this blob is typically provided in a UEFI variable (but not
found automatically by the kernel, so you need to copy it from the UEFI 
variable to /lib/firmware). On embedded devices it needs to be provided by 
the manufacturer (not Broadcom, but the OEM vendor) of your wlan card 
(respectively the devboard).

Regards
	Stefan Lippers-Hollmann

[1]	These blobs contain calibration data, regulatory domain settings
	and similar information, which is highly specific to your exact 
	device. Using data from a different device would make it run out
	of its specifications (getting you in trouble with FCC, ETSI, 
	etc.) and could even physically damage your device.
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#797779; Package firmware-brcm80211. (Wed, 02 Sep 2015 18:51:04 GMT) (full text, mbox, link).


Acknowledgement sent to Rainer Dorsch <ml@bokomoko.de>:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>. (Wed, 02 Sep 2015 18:51:04 GMT) (full text, mbox, link).


Message #20 received at 797779@bugs.debian.org (full text, mbox, reply):

From: Rainer Dorsch <ml@bokomoko.de>
To: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Cc: 797779@bugs.debian.org, debian-arm@lists.debian.org
Subject: Re: Bug#797779: brcmfmac4330-sdio.txt from OpenElec fixes the issue
Date: Wed, 02 Sep 2015 20:47:29 +0200
Hi Stefan,

I copied the debian-arm list, because this should be an issue which is present 
on almost any ARM based SoC and there might exist solutions for other SoCs 
already.

On Wednesday 02 September 2015 19:37:13 Stefan Lippers-Hollmann wrote:
> Hi
> 
> On 2015-09-02, Rainer Dorsch wrote:
> > Hi,
> > 
> > I copied brcmfmac4330-sdio.txt from OpenElec
> > 
> > https://github.com/OpenELEC/wlan-firmware/blob/master/firmware/brcm/brcmfm
> > ac4330-sdio.txt
> > 
> > to /lib/firmware/brcm
> > 
> > which fixes the issue
> 
> [...]
> 
> brcmfmac4330-sdio.txt is OEM, respectively even device specific[1],
> nothing that would be generic enough (for all bcm4330 devices) to be
> shipped by Debian's firmware packages.
> 
> On x86 systems this blob is typically provided in a UEFI variable (but not
> found automatically by the kernel, so you need to copy it from the UEFI
> variable to /lib/firmware). On embedded devices it needs to be provided by
> the manufacturer (not Broadcom, but the OEM vendor) of your wlan card
> (respectively the devboard).
> 
> Regards
> 	Stefan Lippers-Hollmann
> 
> [1]	These blobs contain calibration data, regulatory domain settings
> 	and similar information, which is highly specific to your exact
> 	device. Using data from a different device would make it run out
> 	of its specifications (getting you in trouble with FCC, ETSI,
> 	etc.) and could even physically damage your device.

Are you saying that I opened the bugreport against the wrong package or that 
this is not a bug at all?

Doesn't on an ARM system the device tree file contain embedded device specific 
information, which is shipped with the kernel itself? And would this txt file 
not fit perfectly in this category of information?

How is this issue addressed for other ARM SoCs?

Thanks
Rainer

-- 
Rainer Dorsch
http://bokomoko.de/



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#797779; Package firmware-brcm80211. (Wed, 02 Sep 2015 21:15:06 GMT) (full text, mbox, link).


Acknowledgement sent to Stefan Lippers-Hollmann <s.l-h@gmx.de>:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>. (Wed, 02 Sep 2015 21:15:06 GMT) (full text, mbox, link).


Message #25 received at 797779@bugs.debian.org (full text, mbox, reply):

From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
To: Rainer Dorsch <ml@bokomoko.de>
Cc: 797779@bugs.debian.org, debian-arm@lists.debian.org
Subject: Re: Bug#797779: brcmfmac4330-sdio.txt from OpenElec fixes the issue
Date: Wed, 2 Sep 2015 23:10:42 +0200
[Message part 1 (text/plain, inline)]
Hi

On 2015-09-02, Rainer Dorsch wrote:
> Hi Stefan,
> 
> I copied the debian-arm list, because this should be an issue which is present 
> on almost any ARM based SoC and there might exist solutions for other SoCs 
> already.

It's not really arm specific, as this particular SDIO based wlan chipset
is used on multiple architectures (including many windows 8.x based Intel
Atom tablets).

> On Wednesday 02 September 2015 19:37:13 Stefan Lippers-Hollmann wrote:
> > On 2015-09-02, Rainer Dorsch wrote:
[...]
> Are you saying that I opened the bugreport against the wrong package or that 
> this is not a bug at all?

As far as I see it, this is not a /software/ bug and not actionable 
from within Debian, the data blob in question can only be provided
by the OEM/ systems integrator manufacturing the devboard or the 
vendor producing the wlan card in question (e.g. AMPAK for the AP6120
wlan/ BT daughterboard using the Broadcom BCM4329 SDIO chipset found 
on many armhf devboards). It is calibration data for your particular 
wlan card and not a generic firmware image. 

At best (and this is pretty questionable as well) you could create a 
dedicated firmware image providing brcmfmac4329-sdio.txt for each
particular devboard, conflicting with all other providers of this
file.

If I were the Debian maintainer for firmware-brcm80211, I'd see no 
other option than to close this bug - likewise I don't think that it 
can be re-assigned to any other package in Debian.

On more traditional PCI/ PCIe or USB wlan cards, this type of 
calibration data is typically stored in a small EEPROM chip, together
with the device's MAC address, but in the embedded space, vendors try
to save the last cent and reuse other kinds of (independent) storage.

- on x86 Atom Baytrail-T tablets (many of which use this exact, 
  bcm4329, wlan chipset), this calibration data is usually stored in 
  the mainboard firmware (vulgo BIOS) and exposed to the Windows driver 
  as UEFI (nvram-) variable; brcmfmac does not look there on its own.
- on Atheros based (mips) routers, the calibration data usually goes
  into a dedicated mtd partition of the main flash ("ART", aka Atheros
  Radio Test), here it is unique (based on the OEM calibration) to each
  specific router (or at least small batches of the production).
- on most armhf devices originally shipping with Android, it is usually
  presented as firmware file shipped in the original Android system
  partition (e.g. /system/etc/wifi/nvram_net.txt) and then used by the 
  bcmhd driver on Android, respectively its mainline counterpart and 
  successor brcmfmac via /lib/firmware/brcm/brcmfmac4329-sdio.txt.
  you need to extract /system/etc/wifi/nvram_net.txt from your original
  Android image and copy it to /lib/firmware/brcm/brcmfmac4329-sdio.txt
  or ask the manufacturer of your board for it.

> Doesn't on an ARM system the device tree file contain embedded device specific 
> information, which is shipped with the kernel itself? And would this txt file 
> not fit perfectly in this category of information?

I'm not a specialist on device tree syntax, but I'd guess that it's a 
bit too much information to be injected via DT.

> How is this issue addressed for other ARM SoCs?

Many ARM devboards go a simpler route, by simply using a USB based
daughterboard (which includes all these implementation details in an
EEPROM of the USB daughterboard itself). Android smartphones, which 
are more likely to use SDIO based wlan cards (and bcmhd as its driver),
store it as /system/etc/wifi/nvram_net.txt and alternative firmwares 
either need to take care of not overwriting it, or to ship it 
themselves. 

The few devboards using SDIO based BCM4329 wlan cards either provide
nvram_net.txt/ brcmfmac4329-sdio.txt somewhere (which is specific to
their particular device, respectively production batch) or punt the
task of extracting it from the original Android based firmware to the
user.

See the situation for x86 tablets and mips routers above.

Regards
	Stefan Lippers-Hollmann
[Message part 2 (application/pgp-signature, inline)]

Added tag(s) upstream. Request was from Ben Hutchings <ben@decadent.org.uk> to control@bugs.debian.org. (Sun, 18 Oct 2015 19:42:10 GMT) (full text, mbox, link).


Reply sent to Ben Hutchings <ben@decadent.org.uk>:
You have taken responsibility. (Wed, 21 Oct 2015 03:42:05 GMT) (full text, mbox, link).


Notification sent to Rainer Dorsch <ml@bokomoko.de>:
Bug acknowledged by developer. (Wed, 21 Oct 2015 03:42:05 GMT) (full text, mbox, link).


Message #32 received at 797779-done@bugs.debian.org (full text, mbox, reply):

From: Ben Hutchings <ben@decadent.org.uk>
To: 797779-done@bugs.debian.org
Cc: Stefan Lippers-Hollmann <s.l-h@gmx.de>, debian-arm@lists.debian.org
Subject: Re: Bug#797779: brcmfmac4330-sdio.txt from OpenElec fixes the issue
Date: Wed, 21 Oct 2015 04:39:30 +0100
[Message part 1 (text/plain, inline)]
On Wed, 2 Sep 2015 23:10:42 +0200 Stefan Lippers-Hollmann <s.l-h@gmx.de> wrote:
[...]
> > On Wednesday 02 September 2015 19:37:13 Stefan Lippers-Hollmann wrote:
> > > On 2015-09-02, Rainer Dorsch wrote:
> [...]
> > Are you saying that I opened the bugreport against the wrong package or that 
> > this is not a bug at all?
> 
> As far as I see it, this is not a /software/ bug and not actionable 
> from within Debian, the data blob in question can only be provided
> by the OEM/ systems integrator manufacturing the devboard or the 
> vendor producing the wlan card in question (e.g. AMPAK for the AP6120
> wlan/ BT daughterboard using the Broadcom BCM4329 SDIO chipset found 
> on many armhf devboards). It is calibration data for your particular 
> wlan card and not a generic firmware image. 
[...]

Exactly.  These board-specific blobs have not been submitted to linux-
firmware.git and are also unsuitable for inclusion in firmware-nonfree.

Ben.

-- 
Ben Hutchings
Unix is many things to many people,
but it's never been everything to anybody.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#797779; Package firmware-brcm80211. (Fri, 06 Nov 2015 15:54:03 GMT) (full text, mbox, link).


Acknowledgement sent to Pau Garcia i Quiles <pgquiles@elpauer.org>:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>. (Fri, 06 Nov 2015 15:54:03 GMT) (full text, mbox, link).


Message #37 received at 797779@bugs.debian.org (full text, mbox, reply):

From: Pau Garcia i Quiles <pgquiles@elpauer.org>
To: 797779@bugs.debian.org
Date: Fri, 6 Nov 2015 16:50:57 +0100
[Message part 1 (text/plain, inline)]
You can get the .txt file from this EFI variable:

/sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113

as explained in the kernel documentation:

https://wireless.wiki.kernel.org/en/users/Drivers/brcm80211#firmware_installation1

Problem is brcmfmac does not do that automatically :-(

-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)
[Message part 2 (text/html, inline)]

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sat, 05 Dec 2015 07:36:35 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Mon Sep 25 12:16:34 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.