All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
@ 2021-03-23 10:26 Laurentiu-Cristian Duca
  2021-03-23 19:46 ` Peter Seiderer
  0 siblings, 1 reply; 10+ messages in thread
From: Laurentiu-Cristian Duca @ 2021-03-23 10:26 UTC (permalink / raw
  To: buildroot

Hello buildroot community,

  Please tell me what option should be enabled
in buildroot 2020.11 in order to have for raspberry pi zero w:
output/target/lib/firmware/brcm/brcmfmac43430-sdio.bin
output/target/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi-rpi.txt
output/target/lib/firmware/brcm/brcmfmac43430-sdio.txt
  These are required by brcmfmac to have wifi working.
By default they are not installed, even if I do
make raspberrypi0w_defconfig

Thanks
L-C

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
  2021-03-23 10:26 Laurentiu-Cristian Duca
@ 2021-03-23 19:46 ` Peter Seiderer
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Seiderer @ 2021-03-23 19:46 UTC (permalink / raw
  To: buildroot

Hello Laurentiu-Cristian,

On Tue, 23 Mar 2021 12:26:16 +0200, Laurentiu-Cristian Duca <laurentiu.duca@gmail.com> wrote:

> Hello buildroot community,
>
>   Please tell me what option should be enabled
> in buildroot 2020.11 in order to have for raspberry pi zero w:
> output/target/lib/firmware/brcm/brcmfmac43430-sdio.bin
> output/target/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi-rpi.txt
> output/target/lib/firmware/brcm/brcmfmac43430-sdio.txt
>   These are required by brcmfmac to have wifi working.
> By default they are not installed, even if I do
> make raspberrypi0w_defconfig

Not the buildroot defconfigs are about a minimal starting point (not full featured for
the supported board)....

The option BR2_PACKAGE_RPI_WIFI_FIRMWARE should be the one:
	$ make menuconfig
		--> Target packages
			--> Hardware Handling
				--> Firmware
					--> rpi-wifi-firmware

Regards,
Peter


>
> Thanks
> L-C
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
       [not found] <mailman.13.1616500803.19462.buildroot@busybox.net>
@ 2021-03-24  6:37 ` Andreas Ziegler
  2021-03-24 22:27   ` Peter Seiderer
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Ziegler @ 2021-03-24  6:37 UTC (permalink / raw
  To: buildroot

Hello Laurentiu-Cristian,

> Subject: [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w

> output/target/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi-rpi.txt

The nvram file with 'raspberrypi' in its name is not present in the 
rpi-wifi-firmware blob; you need to create it yourself. As an example, 
this is what I use in a post-build script for a RPi4:

   ### create missing nvram file for Raspberry Pi 4
   _TARGET_DIR="${TARGET_DIR}/lib/firmware"
   src_file=brcm/brcmfmac43455-sdio.txt
   dst_file=brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
   if [ -f ${_TARGET_DIR}/${src_file} ] && ! [ -h 
${_TARGET_DIR}/${dst_file} ]; then
	ln -rs ${_TARGET_DIR}/${src_file} ${_TARGET_DIR}/${dst_file}
   fi

Kind regards,
Andreas

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
  2021-03-24  6:37 ` [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w Andreas Ziegler
@ 2021-03-24 22:27   ` Peter Seiderer
  2021-03-25  9:45     ` Andreas Ziegler
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Seiderer @ 2021-03-24 22:27 UTC (permalink / raw
  To: buildroot

Hello Laurentiu-Cristian, Andreas,

On Wed, 24 Mar 2021 06:37:23 +0000, Andreas Ziegler <br015@umbiko.net> wrote:

> Hello Laurentiu-Cristian,
>
> > Subject: [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
>
> > output/target/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi-rpi.txt
>
> The nvram file with 'raspberrypi' in its name is not present in the
> rpi-wifi-firmware blob; you need to create it yourself. As an example,
> this is what I use in a post-build script for a RPi4:
>
>    ### create missing nvram file for Raspberry Pi 4
>    _TARGET_DIR="${TARGET_DIR}/lib/firmware"
>    src_file=brcm/brcmfmac43455-sdio.txt
>    dst_file=brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
>    if [ -f ${_TARGET_DIR}/${src_file} ] && ! [ -h
> ${_TARGET_DIR}/${dst_file} ]; then
> 	ln -rs ${_TARGET_DIR}/${src_file} ${_TARGET_DIR}/${dst_file}
>    fi

Or use BR2_PACKAGE_LINUX_FIRMWARE/BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX
already containing the file brcmfmac43455-sdio.raspberrypi,4-model-b.txt
([1], but according to [2],[3],[4] the linux-firmware provided files are
'older than that used by the Raspbian distribution, and has (in certain situations)
significantly worse performance than it (and indeed with some APs, will not
associate at all).')?

Did not (yet) compare the various provided firmware files:

- http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
- github,LibreELEC,brcmfmac_sdio-firmware-rpi
- https://github.com/RPi-Distro/firmware-nonfree/tree/master/brcm

Regards,
Peter

[1] https://git.buildroot.net/buildroot/tree/package/linux-firmware/linux-firmware.mk#n602
[2] https://forums.gentoo.org/viewtopic-t-1108138-start-0.html
[3] https://forums.gentoo.org/viewtopic-p-8398532.html#8398532
[4] https://forum.manjaro.org/t/significant-wifi-speed-increase-with-latest-firmware/43607

>
> Kind regards,
> Andreas
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
  2021-03-24 22:27   ` Peter Seiderer
@ 2021-03-25  9:45     ` Andreas Ziegler
  2021-03-25 21:20       ` Peter Seiderer
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Ziegler @ 2021-03-25  9:45 UTC (permalink / raw
  To: buildroot

Hello Peter,

Thank you for this detailed information!

On 2021-03-24 22:27, Peter Seiderer wrote:

> Or use 
> BR2_PACKAGE_LINUX_FIRMWARE/BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX
> already containing the file 
> brcmfmac43455-sdio.raspberrypi,4-model-b.txt
> ([1], but according to [2],[3],[4] the linux-firmware provided files 
> are
> 'older than that used by the Raspbian distribution, and has (in
> certain situations)
> significantly worse performance than it (and indeed with some APs, will 
> not
> associate at all).')?
> 
> Did not (yet) compare the various provided firmware files:
> 

I performed some tests this morning; the linux-firmware version is 
indeed considerably older than the rpi-wifi-firmware one (buildroot 
2021.02-git):

rpi-wifi-firmware [1]
[raspi]# dmesg | grep brcm
[    1.016287] brcmfmac: brcmf_fw_alloc_request: using 
brcm/brcmfmac43455-sdio for chip BCM4345/6
[    1.163138] brcmfmac: brcmf_fw_alloc_request: using 
brcm/brcmfmac43455-sdio for chip BCM4345/6
[    1.170984] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: 
Mar 23 2020 02:19:54 version 7.45.206 (r725000 CY) FWID 01-88ee44ea

linux-firmwlare [2]
[raspi]# dmesg | grep brcmfmac
[    1.014318] brcmfmac: brcmf_fw_alloc_request: using 
brcm/brcmfmac43455-sdio for chip BCM4345/6
[    1.015164] usbcore: registered new interface driver brcmfmac
[    1.123380] brcmfmac: brcmf_fw_alloc_request: using 
brcm/brcmfmac43455-sdio for chip BCM4345/6
[    1.131265] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: 
Mar  1 2015 07:29:38 version 7.45.18 (r538002) FWID 01-6a2c8ad4

Both worked (at least on my hardware: 'Machine model: Raspberry Pi 4 
Model B Rev 1.1' running 5.10.21-rt33-v8) and data rate over WiFi was 
not different for both versions.

The version from [3] is quite recent:

RPi-Distro / firmware-nonfree
[raspi]# dmesg | grep brcmfmac
[    1.036680] brcmfmac: brcmf_fw_alloc_request: using 
brcm/brcmfmac43455-sdio for chip BCM4345/6
[    1.037717] usbcore: registered new interface driver brcmfmac
[    1.183610] brcmfmac: brcmf_fw_alloc_request: using 
brcm/brcmfmac43455-sdio for chip BCM4345/6
[    1.188657] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: 
Jan  4 2021 19:56:29 version 7.45.229 (617f1f5 CY) FWID 01-2dbd9d2e

Also here, no change in throughput.

The LibreELEC repository (rpi-wifi-firmware) seems to have adopted this 
version in commit 7dbd877545ae15069f2bd0e73893af942500e23d on Jan. 25.

Armbian-firmware, by the way, is on version 7.45.154 (2018-02-27).

There seem to be some bigger changes in the pipeline: linux-firmware 
removed the Broadcom redistributed binaries in January [4] for the 
20210208 release; instead Cypress firmware should be used. The upstream 
repository for this firmware seems to be murata-wireless /
cyw-fmac-fw [5]

I need to look into this in detail at some other time ...

Kind regards,
Andreas

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git 
(version 20201022)
[2] 
https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi/tree/9c0ffe9a7f0753b36ed88f7981905a989d940ea9
[3] https://github.com/RPi-Distro/firmware-nonfree/tree/master/brcm
[4] 
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?h=20210208&id=0f0aefd733f70beae4c0246edbd2c158d5ce974c
[5] https://github.com/murata-wireless/cyw-fmac-fw/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
  2021-03-25  9:45     ` Andreas Ziegler
@ 2021-03-25 21:20       ` Peter Seiderer
  2021-03-26 12:47         ` Andreas Ziegler
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Seiderer @ 2021-03-25 21:20 UTC (permalink / raw
  To: buildroot

Hello Andreas,

On Thu, 25 Mar 2021 09:45:09 +0000, Andreas Ziegler <br015@umbiko.net> wrote:

> Hello Peter,
>
> Thank you for this detailed information!
>
> On 2021-03-24 22:27, Peter Seiderer wrote:
>
> > Or use
> > BR2_PACKAGE_LINUX_FIRMWARE/BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX
> > already containing the file
> > brcmfmac43455-sdio.raspberrypi,4-model-b.txt
> > ([1], but according to [2],[3],[4] the linux-firmware provided files
> > are
> > 'older than that used by the Raspbian distribution, and has (in
> > certain situations)
> > significantly worse performance than it (and indeed with some APs, will
> > not
> > associate at all).')?
> >
> > Did not (yet) compare the various provided firmware files:
> >
>
> I performed some tests this morning; the linux-firmware version is
> indeed considerably older than the rpi-wifi-firmware one (buildroot
> 2021.02-git):

Many thanks for doing the tests!

>
> rpi-wifi-firmware [1]
> [raspi]# dmesg | grep brcm
> [    1.016287] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43455-sdio for chip BCM4345/6
> [    1.163138] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43455-sdio for chip BCM4345/6
> [    1.170984] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0:
> Mar 23 2020 02:19:54 version 7.45.206 (r725000 CY) FWID 01-88ee44ea
>
> linux-firmwlare [2]
> [raspi]# dmesg | grep brcmfmac
> [    1.014318] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43455-sdio for chip BCM4345/6
> [    1.015164] usbcore: registered new interface driver brcmfmac
> [    1.123380] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43455-sdio for chip BCM4345/6
> [    1.131265] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0:
> Mar  1 2015 07:29:38 version 7.45.18 (r538002) FWID 01-6a2c8ad4
>
> Both worked (at least on my hardware: 'Machine model: Raspberry Pi 4
> Model B Rev 1.1' running 5.10.21-rt33-v8) and data rate over WiFi was
> not different for both versions.
>
> The version from [3] is quite recent:
>
> RPi-Distro / firmware-nonfree
> [raspi]# dmesg | grep brcmfmac
> [    1.036680] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43455-sdio for chip BCM4345/6
> [    1.037717] usbcore: registered new interface driver brcmfmac
> [    1.183610] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43455-sdio for chip BCM4345/6
> [    1.188657] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0:
> Jan  4 2021 19:56:29 version 7.45.229 (617f1f5 CY) FWID 01-2dbd9d2e
>
> Also here, no change in throughput.
>
> The LibreELEC repository (rpi-wifi-firmware) seems to have adopted this
> version in commit 7dbd877545ae15069f2bd0e73893af942500e23d on Jan. 25.

So a good reason to stay with LibreELEC (and fix the firmware package to
provide raspberrypi,4-model-b.txt as a link or copy, do you know if missing
it has some disadvantages or produces only the firmware load warning or is
there a fallback to plain brcmfmac43455-sdio.txt?), keeping up with
RPi-Distro...

>
> Armbian-firmware, by the way, is on version 7.45.154 (2018-02-27).
>
> There seem to be some bigger changes in the pipeline: linux-firmware
> removed the Broadcom redistributed binaries in January [4] for the
> 20210208 release; instead Cypress firmware should be used. The upstream
> repository for this firmware seems to be murata-wireless /
> cyw-fmac-fw [5]
>
> I need to look into this in detail at some other time ...

Seems kind of (another) firmware mess...., different versions at different
repositories...., all with the same name (instead of clear version string)...

Regards,
Peter

>
> Kind regards,
> Andreas
>
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
> (version 20201022)
> [2]
> https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi/tree/9c0ffe9a7f0753b36ed88f7981905a989d940ea9
> [3] https://github.com/RPi-Distro/firmware-nonfree/tree/master/brcm
> [4]
> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?h=20210208&id=0f0aefd733f70beae4c0246edbd2c158d5ce974c
> [5] https://github.com/murata-wireless/cyw-fmac-fw/
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
  2021-03-25 21:20       ` Peter Seiderer
@ 2021-03-26 12:47         ` Andreas Ziegler
  2021-03-29 18:49           ` Peter Seiderer
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Ziegler @ 2021-03-26 12:47 UTC (permalink / raw
  To: buildroot

Hello Peter,

On 2021-03-25 21:20, Peter Seiderer wrote:
> 
> Many thanks for doing the tests!
> 

Not at all; after getting confused with different versions and 
repositories, I wanted to understand the reason behind this.

Short summary of my findings; I may state the obvious here, but it was 
new for me and maybe it helps someone with the same hazy knowledge about 
hardware engineering as myself:

Broadcom sold its RF division to Cypress in 2016. Cypress now supports 
the legacy wireless /bluetooth /radio hardware from Broadcom; that is 
the reason why BCM* and CYW* versions of firmware exist, and 
linux-firmware removed the original Broadcom supplied binaries.

Cypress does not directly sell to end customers, but provides silicon to 
hardware partners (AzureWave, Murata, ...), which in turn sell RF 
solutions. Cypress distributes firmware for their silicon chips 
(probably to same hardware partners).

End product is some type of SOC (subsystem on chip); the benefit is that 
tuning and regulatory issues have been taken care of. The SOC 
manufacturer is responsible for supplying bluetooth patch (HCD), 
regulatory data (CLM) and firmware configuration (TXT).

That means the firmware binary (BIN) can be obtained from any source, 
the other items (HCD, CLM, TXT) need to be sourced from the implementer.

>> The LibreELEC repository (rpi-wifi-firmware) seems to have adopted 
>> this
>> version in commit 7dbd877545ae15069f2bd0e73893af942500e23d on Jan. 25.
> 
> So a good reason to stay with LibreELEC (and fix the firmware package 
> to
> provide raspberrypi,4-model-b.txt as a link or copy, do you know if 
> missing
> it has some disadvantages or produces only the firmware load warning or 
> is
> there a fallback to plain brcmfmac43455-sdio.txt?), keeping up with
> RPi-Distro...

Yes, also my opinion to stay with LibreELEC. The repository is small, is 
updated in a timely manner, and is (slightly) better documented than 
RPi-Distro.

There is one thing (apart from providing the missing link) I would 
propose: merge rpi-bt-firmware and rpi-wifi-firmware into 
rpi-rf-firmware, combining the code from both .mk and Config.in files. 
Functionality would be identical, but one less firmware package. If 
anyone is interested, I could provide a patch.

In recent kernels, firmware load tries board-specific path first, then 
falls back to firmware derived path [1]. If I remember correctly, in 
kernels < 5.0 the firmware load failed.

>> There seem to be some bigger changes in the pipeline: linux-firmware
>> removed the Broadcom redistributed binaries in January [4] for the
>> 20210208 release; instead Cypress firmware should be used. The 
>> upstream
>> repository for this firmware seems to be murata-wireless /
>> cyw-fmac-fw [5]
>> 
>> I need to look into this in detail at some other time ...
> 
> Seems kind of (another) firmware mess...., different versions at 
> different
> repositories...., all with the same name (instead of clear version 
> string)...

There are at least three different versions available in Buildroot:

(available in Buildroot, repo 'master' version listed respectively)
   libreELEC		build 2021-01-04	version 7.45.229
   linux-firmware	build 2020-09-18	version 7.45.221
   murata-wireless	build 2020-09-18	version 7.45.221
(not in buildroot)
   rpi-distro		build 2021-01-04	version 7.45.229

> Regards,
> Peter

Kind regards,
Andreas

[1] 
https://elixir.bootlin.com/linux/v5.10.21/source/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c#L616

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
  2021-03-26 12:47         ` Andreas Ziegler
@ 2021-03-29 18:49           ` Peter Seiderer
  2021-03-30  8:20             ` Andreas Ziegler
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Seiderer @ 2021-03-29 18:49 UTC (permalink / raw
  To: buildroot

Hello Andreas,

On Fri, 26 Mar 2021 12:47:21 +0000, Andreas Ziegler <br015@umbiko.net> wrote:

> Hello Peter,
>
> On 2021-03-25 21:20, Peter Seiderer wrote:
> >
> > Many thanks for doing the tests!
> >
>
> Not at all; after getting confused with different versions and
> repositories, I wanted to understand the reason behind this.
>
> Short summary of my findings; I may state the obvious here, but it was
> new for me and maybe it helps someone with the same hazy knowledge about
> hardware engineering as myself:
>
> Broadcom sold its RF division to Cypress in 2016. Cypress now supports
> the legacy wireless /bluetooth /radio hardware from Broadcom; that is
> the reason why BCM* and CYW* versions of firmware exist, and
> linux-firmware removed the original Broadcom supplied binaries.
>
> Cypress does not directly sell to end customers, but provides silicon to
> hardware partners (AzureWave, Murata, ...), which in turn sell RF
> solutions. Cypress distributes firmware for their silicon chips
> (probably to same hardware partners).
>
> End product is some type of SOC (subsystem on chip); the benefit is that
> tuning and regulatory issues have been taken care of. The SOC
> manufacturer is responsible for supplying bluetooth patch (HCD),
> regulatory data (CLM) and firmware configuration (TXT).
>
> That means the firmware binary (BIN) can be obtained from any source,
> the other items (HCD, CLM, TXT) need to be sourced from the implementer.
>
> >> The LibreELEC repository (rpi-wifi-firmware) seems to have adopted
> >> this
> >> version in commit 7dbd877545ae15069f2bd0e73893af942500e23d on Jan. 25.
> >
> > So a good reason to stay with LibreELEC (and fix the firmware package
> > to
> > provide raspberrypi,4-model-b.txt as a link or copy, do you know if
> > missing
> > it has some disadvantages or produces only the firmware load warning or
> > is
> > there a fallback to plain brcmfmac43455-sdio.txt?), keeping up with
> > RPi-Distro...
>
> Yes, also my opinion to stay with LibreELEC. The repository is small, is
> updated in a timely manner, and is (slightly) better documented than
> RPi-Distro.
>
> There is one thing (apart from providing the missing link) I would
> propose: merge rpi-bt-firmware and rpi-wifi-firmware into
> rpi-rf-firmware, combining the code from both .mk and Config.in files.
> Functionality would be identical, but one less firmware package. If
> anyone is interested, I could provide a patch.

+1 from my side...

>
> In recent kernels, firmware load tries board-specific path first, then
> falls back to firmware derived path [1]. If I remember correctly, in
> kernels < 5.0 the firmware load failed.
>
> >> There seem to be some bigger changes in the pipeline: linux-firmware
> >> removed the Broadcom redistributed binaries in January [4] for the
> >> 20210208 release; instead Cypress firmware should be used. The
> >> upstream
> >> repository for this firmware seems to be murata-wireless /
> >> cyw-fmac-fw [5]
> >>
> >> I need to look into this in detail at some other time ...
> >
> > Seems kind of (another) firmware mess...., different versions at
> > different
> > repositories...., all with the same name (instead of clear version
> > string)...
>
> There are at least three different versions available in Buildroot:
>
> (available in Buildroot, repo 'master' version listed respectively)
>    libreELEC		build 2021-01-04	version 7.45.229
>    linux-firmware	build 2020-09-18	version 7.45.221
>    murata-wireless	build 2020-09-18	version 7.45.221
> (not in buildroot)
>    rpi-distro		build 2021-01-04	version 7.45.229
>
> > Regards,
> > Peter
>
> Kind regards,
> Andreas

Thanks again for the detailed information (and testing)!

Did just sent out an patch adding the convenience firmware configuration
links for RPi3A+, RPi3B+ and RPi4B (see [2])...

Regards,
Peter

[2] https://patchwork.ozlabs.org/project/buildroot/patch/20210329184503.10514-1-ps.report at gmx.net/

>
> [1]
> https://elixir.bootlin.com/linux/v5.10.21/source/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c#L616
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
  2021-03-29 18:49           ` Peter Seiderer
@ 2021-03-30  8:20             ` Andreas Ziegler
  2021-03-30 18:32               ` Peter Seiderer
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Ziegler @ 2021-03-30  8:20 UTC (permalink / raw
  To: buildroot

Hello Peter,

On 2021-03-29 18:49, Peter Seiderer wrote:
> Hello Andreas,
> 
> On Fri, 26 Mar 2021 12:47:21 +0000, Andreas Ziegler <br015@umbiko.net> 
> wrote:
> 
>> Hello Peter,
>> 
>> On 2021-03-25 21:20, Peter Seiderer wrote:
>> >
>> > Many thanks for doing the tests!
>> >
>> 
>> Not at all; after getting confused with different versions and
>> repositories, I wanted to understand the reason behind this.
>> 
>> Short summary of my findings; I may state the obvious here, but it was
>> new for me and maybe it helps someone with the same hazy knowledge 
>> about
>> hardware engineering as myself:
>> 
>> Broadcom sold its RF division to Cypress in 2016. Cypress now supports
>> the legacy wireless /bluetooth /radio hardware from Broadcom; that is
>> the reason why BCM* and CYW* versions of firmware exist, and
>> linux-firmware removed the original Broadcom supplied binaries.
>> 
>> Cypress does not directly sell to end customers, but provides silicon 
>> to
>> hardware partners (AzureWave, Murata, ...), which in turn sell RF
>> solutions. Cypress distributes firmware for their silicon chips
>> (probably to same hardware partners).
>> 
>> End product is some type of SOC (subsystem on chip); the benefit is 
>> that
>> tuning and regulatory issues have been taken care of. The SOC
>> manufacturer is responsible for supplying bluetooth patch (HCD),
>> regulatory data (CLM) and firmware configuration (TXT).
>> 
>> That means the firmware binary (BIN) can be obtained from any source,
>> the other items (HCD, CLM, TXT) need to be sourced from the 
>> implementer.
>> 
>> >> The LibreELEC repository (rpi-wifi-firmware) seems to have adopted
>> >> this
>> >> version in commit 7dbd877545ae15069f2bd0e73893af942500e23d on Jan. 25.
>> >
>> > So a good reason to stay with LibreELEC (and fix the firmware package
>> > to
>> > provide raspberrypi,4-model-b.txt as a link or copy, do you know if
>> > missing
>> > it has some disadvantages or produces only the firmware load warning or
>> > is
>> > there a fallback to plain brcmfmac43455-sdio.txt?), keeping up with
>> > RPi-Distro...
>> 
>> Yes, also my opinion to stay with LibreELEC. The repository is small, 
>> is
>> updated in a timely manner, and is (slightly) better documented than
>> RPi-Distro.
>> 
>> There is one thing (apart from providing the missing link) I would
>> propose: merge rpi-bt-firmware and rpi-wifi-firmware into
>> rpi-rf-firmware, combining the code from both .mk and Config.in files.
>> Functionality would be identical, but one less firmware package. If
>> anyone is interested, I could provide a patch.
> 
> +1 from my side...

I will propose something via the mailing list.


>> In recent kernels, firmware load tries board-specific path first, then
>> falls back to firmware derived path [1]. If I remember correctly, in
>> kernels < 5.0 the firmware load failed.
>> 
>> >> There seem to be some bigger changes in the pipeline: linux-firmware
>> >> removed the Broadcom redistributed binaries in January [4] for the
>> >> 20210208 release; instead Cypress firmware should be used. The
>> >> upstream
>> >> repository for this firmware seems to be murata-wireless /
>> >> cyw-fmac-fw [5]
>> >>
>> >> I need to look into this in detail at some other time ...
>> >
>> > Seems kind of (another) firmware mess...., different versions at
>> > different
>> > repositories...., all with the same name (instead of clear version
>> > string)...
>> 
>> There are at least three different versions available in Buildroot:
>> 
>> (available in Buildroot, repo 'master' version listed respectively)
>>    libreELEC		build 2021-01-04	version 7.45.229
>>    linux-firmware	build 2020-09-18	version 7.45.221
>>    murata-wireless	build 2020-09-18	version 7.45.221
>> (not in buildroot)
>>    rpi-distro		build 2021-01-04	version 7.45.229
>> 
>> > Regards,
>> > Peter
>> 
>> Kind regards,
>> Andreas
> 
> Thanks again for the detailed information (and testing)!
> 
> Did just sent out an patch adding the convenience firmware 
> configuration
> links for RPi3A+, RPi3B+ and RPi4B (see [2])...

Tested and works for me. Hardware used was RPi4B. I replied to your 
patch, adding two lines for additional boards using BCM43430 Hardware. 
One is in the Linux Firmware Repository (3B), the other is the one 
reported by Laurentiu Christian (0W). I hope this approach is 
acceptable.

> Regards,
> Peter
> 
> [2] 
> https://patchwork.ozlabs.org/project/buildroot/patch/20210329184503.10514-1-ps.report at gmx.net/
> 
>> 
>> [1]
>> https://elixir.bootlin.com/linux/v5.10.21/source/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c#L616
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot

Kind regards,
Andreas

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w
  2021-03-30  8:20             ` Andreas Ziegler
@ 2021-03-30 18:32               ` Peter Seiderer
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Seiderer @ 2021-03-30 18:32 UTC (permalink / raw
  To: buildroot

Hello Andreas,

On Tue, 30 Mar 2021 08:20:08 +0000, Andreas Ziegler <br015@umbiko.net> wrote:

> Hello Peter,
>
> On 2021-03-29 18:49, Peter Seiderer wrote:
> > Hello Andreas,
> >
> > On Fri, 26 Mar 2021 12:47:21 +0000, Andreas Ziegler <br015@umbiko.net>
> > wrote:
> >
> >> Hello Peter,
> >>
> >> On 2021-03-25 21:20, Peter Seiderer wrote:
> >> >
> >> > Many thanks for doing the tests!
> >> >
> >>
> >> Not at all; after getting confused with different versions and
> >> repositories, I wanted to understand the reason behind this.
> >>
> >> Short summary of my findings; I may state the obvious here, but it was
> >> new for me and maybe it helps someone with the same hazy knowledge
> >> about
> >> hardware engineering as myself:
> >>
> >> Broadcom sold its RF division to Cypress in 2016. Cypress now supports
> >> the legacy wireless /bluetooth /radio hardware from Broadcom; that is
> >> the reason why BCM* and CYW* versions of firmware exist, and
> >> linux-firmware removed the original Broadcom supplied binaries.
> >>
> >> Cypress does not directly sell to end customers, but provides silicon
> >> to
> >> hardware partners (AzureWave, Murata, ...), which in turn sell RF
> >> solutions. Cypress distributes firmware for their silicon chips
> >> (probably to same hardware partners).
> >>
> >> End product is some type of SOC (subsystem on chip); the benefit is
> >> that
> >> tuning and regulatory issues have been taken care of. The SOC
> >> manufacturer is responsible for supplying bluetooth patch (HCD),
> >> regulatory data (CLM) and firmware configuration (TXT).
> >>
> >> That means the firmware binary (BIN) can be obtained from any source,
> >> the other items (HCD, CLM, TXT) need to be sourced from the
> >> implementer.
> >>
> >> >> The LibreELEC repository (rpi-wifi-firmware) seems to have adopted
> >> >> this
> >> >> version in commit 7dbd877545ae15069f2bd0e73893af942500e23d on Jan. 25.
> >> >
> >> > So a good reason to stay with LibreELEC (and fix the firmware package
> >> > to
> >> > provide raspberrypi,4-model-b.txt as a link or copy, do you know if
> >> > missing
> >> > it has some disadvantages or produces only the firmware load warning or
> >> > is
> >> > there a fallback to plain brcmfmac43455-sdio.txt?), keeping up with
> >> > RPi-Distro...
> >>
> >> Yes, also my opinion to stay with LibreELEC. The repository is small,
> >> is
> >> updated in a timely manner, and is (slightly) better documented than
> >> RPi-Distro.
> >>
> >> There is one thing (apart from providing the missing link) I would
> >> propose: merge rpi-bt-firmware and rpi-wifi-firmware into
> >> rpi-rf-firmware, combining the code from both .mk and Config.in files.
> >> Functionality would be identical, but one less firmware package. If
> >> anyone is interested, I could provide a patch.
> >
> > +1 from my side...
>
> I will propose something via the mailing list.
>
>
> >> In recent kernels, firmware load tries board-specific path first, then
> >> falls back to firmware derived path [1]. If I remember correctly, in
> >> kernels < 5.0 the firmware load failed.
> >>
> >> >> There seem to be some bigger changes in the pipeline: linux-firmware
> >> >> removed the Broadcom redistributed binaries in January [4] for the
> >> >> 20210208 release; instead Cypress firmware should be used. The
> >> >> upstream
> >> >> repository for this firmware seems to be murata-wireless /
> >> >> cyw-fmac-fw [5]
> >> >>
> >> >> I need to look into this in detail at some other time ...
> >> >
> >> > Seems kind of (another) firmware mess...., different versions at
> >> > different
> >> > repositories...., all with the same name (instead of clear version
> >> > string)...
> >>
> >> There are at least three different versions available in Buildroot:
> >>
> >> (available in Buildroot, repo 'master' version listed respectively)
> >>    libreELEC		build 2021-01-04	version 7.45.229
> >>    linux-firmware	build 2020-09-18	version 7.45.221
> >>    murata-wireless	build 2020-09-18	version 7.45.221
> >> (not in buildroot)
> >>    rpi-distro		build 2021-01-04	version 7.45.229
> >>
> >> > Regards,
> >> > Peter
> >>
> >> Kind regards,
> >> Andreas
> >
> > Thanks again for the detailed information (and testing)!
> >
> > Did just sent out an patch adding the convenience firmware
> > configuration
> > links for RPi3A+, RPi3B+ and RPi4B (see [2])...
>
> Tested and works for me. Hardware used was RPi4B. I replied to your
> patch, adding two lines for additional boards using BCM43430 Hardware.
> One is in the Linux Firmware Repository (3B), the other is the one
> reported by Laurentiu Christian (0W). I hope this approach is
> acceptable.

A little bit unusual (but not completely out of the way)..., but some
remarks inline to the patch...., all in all I think an additional
patch (based on my one) would be easier...

Regards,
Peter


>
> > Regards,
> > Peter
> >
> > [2]
> > https://patchwork.ozlabs.org/project/buildroot/patch/20210329184503.10514-1-ps.report at gmx.net/
> >
> >>
> >> [1]
> >> https://elixir.bootlin.com/linux/v5.10.21/source/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c#L616
> >> _______________________________________________
> >> buildroot mailing list
> >> buildroot at busybox.net
> >> http://lists.busybox.net/mailman/listinfo/buildroot
>
> Kind regards,
> Andreas

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-03-30 18:32 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.13.1616500803.19462.buildroot@busybox.net>
2021-03-24  6:37 ` [Buildroot] Buildroot: enable lib/firmware/brcm for rpi0w Andreas Ziegler
2021-03-24 22:27   ` Peter Seiderer
2021-03-25  9:45     ` Andreas Ziegler
2021-03-25 21:20       ` Peter Seiderer
2021-03-26 12:47         ` Andreas Ziegler
2021-03-29 18:49           ` Peter Seiderer
2021-03-30  8:20             ` Andreas Ziegler
2021-03-30 18:32               ` Peter Seiderer
2021-03-23 10:26 Laurentiu-Cristian Duca
2021-03-23 19:46 ` Peter Seiderer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.