Bug 14676

Summary: BRCMFMAC SDIO firmware doesn't copy to target
Product: buildroot Reporter: Daniel Martin <dmanlfc>
Component: OtherAssignee: unassigned
Status: RESOLVED MOVED    
Severity: major CC: buildroot, yann.morin.1998
Priority: P5    
Version: 2022.02   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Host: Target:
Build:

Description Daniel Martin 2022-03-22 12:35:05 UTC
package BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI doesn't copy the firmware to the target directory.

My workaround:

config BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI
	bool "brcmfmac-sdio-firmware-rpi"
	depends on BR2_arm || BR2_aarch64
	select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT        # batocera - BR fix
	select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI      # batocera - BR fix
	help
	  Raspberry Broadcom Bluetooth and Wifi firmware.

Alternatively remove the ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT),y) & ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI),y) conditionals from the makefile.

Dan
Comment 1 Fabrice Fontaine 2022-03-22 18:55:11 UTC
Hi,

Thanks for your bug report, however this is not a bug but an expected behavior.

With your proposal, the user won't be able to select if we wants to install bluetooth firmware, wifi firmware or both firmwares. Moreover, the Wifi firmware can't always be installed as it conflicts with linux-firmware Broadcom BRCM bcm43xx.

So, I would advise to update the batocera defconfigs (e.g. https://github.com/batocera-linux/batocera.linux/tree/master/configs) with:

BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y 
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y

Best Regards,

Fabrice
Comment 2 Daniel Martin 2022-03-22 22:34:04 UTC
Thanks Fabrice.
Yeah that makes sense - we don't use linux-firmware.
Tested. Please close.
Comment 3 Yann E. MORIN 2022-03-23 08:13:06 UTC
Daniel, All,

As Fabrice explained, the goal is for a user to be able to choose either
firmware to install. However, when that the package does nothing by default
is indeed not very nice; it might be good to ensure that at least one of
the firmwares is installed, with something like (elided for brevity):

    config BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI
        bool "brcmfmac-sdio-firmware-rpi"
        select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI \
               if !BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT

Care to send a proper patch to the list, please?
Comment 4 Peter Seiderer 2022-03-23 18:58:19 UTC
(In reply to Yann E. MORIN from comment #3)

As Fabrice said the user 'wants to install bluetooth firmware, wifi firmware or both firmwares', the user should select which one he would like to install...

Why select one by default? Why handle differently as e.g. linux-firmware options?
Comment 5 Yann E. MORIN 2024-06-15 15:00:58 UTC
Thank you for your report.

The issue tracker for the Buildroot project has been moved to
the Gitlab.com issue tracker:
    https://gitlab.com/buildroot.org/buildroot/-/issues

We are taking this opportunity to close old issues in this old
tracker. If you believe your issue is still relevant, please
open one in the new issue tracker.

Thank you!