Skip to content

Commit

Permalink
Bump RPi Bluetooth and Wifi firmwares (#69)
Browse files Browse the repository at this point in the history
Fixes issues with Bluetooth and Wifi on some devices
  • Loading branch information
nisargjhaveri committed Mar 1, 2024
1 parent 383642f commit 45cf917
Show file tree
Hide file tree
Showing 8 changed files with 79 additions and 12 deletions.
6 changes: 3 additions & 3 deletions aa_wireless_dongle/configs/raspberrypi0w_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH)/bo
BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="$(BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH)/board/raspberrypi/cmdline.txt"

# Wifi and Bluetooth firmware
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_BT=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_WIFI=y

# Required tools to create the SD image
BR2_PACKAGE_HOST_DOSFSTOOLS=y
Expand Down
6 changes: 3 additions & 3 deletions aa_wireless_dongle/configs/raspberrypi3a_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH)/bo
BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="$(BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH)/board/raspberrypi/cmdline.txt"

# Wifi and Bluetooth firmware
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_BT=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_WIFI=y

# Required tools to create the SD image
BR2_PACKAGE_HOST_DOSFSTOOLS=y
Expand Down
6 changes: 3 additions & 3 deletions aa_wireless_dongle/configs/raspberrypi4_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH)/bo
BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="$(BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH)/board/raspberrypi/cmdline.txt"

# Wifi and Bluetooth firmware
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_BT=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_WIFI=y

# Required tools to create the SD image
BR2_PACKAGE_HOST_DOSFSTOOLS=y
Expand Down
6 changes: 3 additions & 3 deletions aa_wireless_dongle/configs/raspberrypizero2w_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH)/bo
BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="$(BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH)/board/raspberrypi/cmdline.txt"

# Wifi and Bluetooth firmware
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_BT=y
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_WIFI=y

# Required tools to create the SD image
BR2_PACKAGE_HOST_DOSFSTOOLS=y
Expand Down
1 change: 1 addition & 0 deletions aa_wireless_dongle/package/Config.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
menu "Packages"
source "$BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH/package/aawg/Config.in"
source "$BR2_EXTERNAL_AA_WIRELESS_DONGLE_PATH/package/brcmfmac_sdio-firmware-rpi-custom/Config.in"
endmenu
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
config BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM
bool "brcmfmac-sdio-firmware-rpi-custom"
help
Raspberry Broadcom Bluetooth and Wifi firmware.

https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi

if BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM

config BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_BT
bool "brcmfmac-sdio-firmware-rpi-bt"
help
Raspberry Pi 3 and Zero W Broadcom BCM43438 Bluetooth module
firmware. Raspberry Pi 3 Model B+ Broadcom BCM4345C0
Bluetooth module firmware.

config BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_WIFI
bool "brcmfmac-sdio-firmware-rpi-wifi"
depends on !BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX
help
Raspberry Pi 3 and Zero W Broadcom BCM43430 wifi module
NVRAM data. Raspberry Pi 3 Model B+ Broadcom BCM43455
wifi module NVRAM data.

comment "brcmfmac-sdio-firmware-rpi-wifi conflicts with linux-firmware Broadcom BRCM bcm43xx"
depends on BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX

endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Locally calculated
sha256 2f0917b104739455dd488dd8f5af2ee4430801a7ac8fe8d9866e74bfbb185356 brcmfmac_sdio-firmware-rpi-custom-26ff205b45dc109b498a70aaf182804ad9dbfea5.tar.gz
sha256 ea8b7b7b6cfc6fd30587ed977100f6a542734ce53218b5b63de16180acddd599 LICENCE
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
################################################################################
#
# brcmfmac_sdio-firmware-rpi
#
################################################################################

BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_VERSION = 26ff205b45dc109b498a70aaf182804ad9dbfea5
BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_VERSION))
BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_LICENSE = PROPRIETARY
BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_LICENSE_FILES = LICENCE

ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_BT),y)
define BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_INSTALL_TARGET_BT
$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm $(TARGET_DIR)/lib/firmware/synaptics
cp --remove-destination --no-dereference $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm
cp --remove-destination --no-dereference $(@D)/firmware/synaptics/*.hcd $(TARGET_DIR)/lib/firmware/synaptics
chmod 644 $(TARGET_DIR)/lib/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/synaptics/*.hcd
endef
endif

ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_WIFI),y)
define BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_INSTALL_TARGET_WIFI
$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm $(TARGET_DIR)/lib/firmware/cypress
cp --remove-destination --no-dereference $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
cp --remove-destination --no-dereference $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress
chmod 644 $(TARGET_DIR)/lib/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/cypress/cyfmac*
endef
endif

define BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_INSTALL_TARGET_CMDS
$(BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_INSTALL_TARGET_BT)
$(BRCMFMAC_SDIO_FIRMWARE_RPI_CUSTOM_INSTALL_TARGET_WIFI)
endef

$(eval $(generic-package))

0 comments on commit 45cf917

Please sign in to comment.