mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-16 18:00:53 +00:00
41d36bb2d0
- Binary files were renamed to cyfmac from brcmfmac, but the files needs
to be on the router with the previous naming
[ 6.656165] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 6.665182] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.bin failed with error -2
[ 6.674928] brcmfmac mmc1:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43455-sdio.bin
- Cypress were acquired by Infineon Technologies
Thus change the project URL and switch to download files from their
GitHub repository. This is much better than the previous solution, which
requires finding new threads on their community forum about new driver
updates, and it will be necessary to change the URL each time.
Unfortunately, it seems that there is not published changelog, but
according to this forum thread [1], be careful by opening the link from
solution since it contains ending bracket ), it brings fixes for various
security vulnerabilities, which were fixed in 7_45_234.
Fixes:
- FragAttacks
- Kr00k
Also add LICENSE file
Run tested on Seeedstudio router powered by Raspberry Pi 4 CM with
package cypress-firmware-43455-sdio.
Before:
root@OpenWrt:~# dmesg | grep 'Firmware: BCM4345/6'
[ 6.895050] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar 23 2020 02:20:01 version 7.45.206 (r725000 CY) FWID 01-febaba43
After:
root@OpenWrt:~# dmesg | grep 'Firmware: BCM4345/6'
[ 6.829805] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2
[1] https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/Outdated-brcmfmac-firmware-for-Raspberry-Pi-4-in-OpenWrt-21-02-1/m-p/331593#M2269
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit 7ca7e0b22d
)
318 lines
9.3 KiB
Makefile
318 lines
9.3 KiB
Makefile
#
|
|
# Copyright (C) 2019-2020 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=cypress-firmware
|
|
PKG_VERSION:=5.4.18-2021_0812
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://github.com/Infineon/ifx-linux-firmware/
|
|
PKG_MIRROR_HASH:=ac882b482dd401b53cdecc6004cd2bd3d65e888c19206dcf10931a28033ada4d
|
|
PKG_SOURCE_VERSION:=release-v$(PKG_VERSION)
|
|
|
|
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
|
|
PKG_LICENSE_FILES:=LICENCE
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/cypress-firmware-default
|
|
SECTION:=firmware
|
|
CATEGORY:=Firmware
|
|
URL:=https://community.infineon.com/
|
|
endef
|
|
|
|
define Build/Compile
|
|
true
|
|
endef
|
|
|
|
# Cypress 43012 SDIO Firmware
|
|
define Package/cypress-firmware-43012-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW43012 FullMac SDIO firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-43012-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43012-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac43012-sdio.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43012-sdio.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac43012-sdio.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-43012-sdio))
|
|
|
|
# Cypress 43340 SDIO Firmware
|
|
define Package/cypress-firmware-43340-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW43340 FullMac SDIO firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-43340-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43340-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac43340-sdio.bin
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-43340-sdio))
|
|
|
|
# Cypress 43362 SDIO Firmware
|
|
define Package/cypress-firmware-43362-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW43362 FullMac SDIO firmware
|
|
PROVIDES:=brcmfmac-firmware-43362-sdio
|
|
CONFLICTS:=brcmfmac-firmware-43362-sdio
|
|
endef
|
|
|
|
define Package/cypress-firmware-43362-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43362-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac43362-sdio.bin
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-43362-sdio))
|
|
|
|
# Cypress 4339 SDIO Firmware
|
|
define Package/cypress-firmware-4339-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW4339 FullMac SDIO firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-4339-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4339-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac4339-sdio.bin
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-4339-sdio))
|
|
|
|
# Cypress 43430 SDIO Firmware
|
|
define Package/cypress-firmware-43430-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW43430 FullMac SDIO firmware
|
|
PROVIDES:=brcmfmac-firmware-43430-sdio
|
|
CONFLICTS:=brcmfmac-firmware-43430-sdio
|
|
endef
|
|
|
|
define Package/cypress-firmware-43430-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43430-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43430-sdio.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-43430-sdio))
|
|
|
|
# Cypress 43455 SDIO Firmware
|
|
define Package/cypress-firmware-43455-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW43455 FullMac SDIO firmware
|
|
PROVIDES:=brcmfmac-firmware-43455-sdio
|
|
CONFLICTS:=brcmfmac-firmware-43455-sdio
|
|
endef
|
|
|
|
define Package/cypress-firmware-43455-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43455-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43455-sdio.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-43455-sdio))
|
|
|
|
# Cypress 4354 SDIO Firmware
|
|
define Package/cypress-firmware-4354-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW4354 FullMac SDIO firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-4354-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4354-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac4354-sdio.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4354-sdio.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac4354-sdio.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-4354-sdio))
|
|
|
|
# Cypress 4356 PCIe Firmware
|
|
define Package/cypress-firmware-4356-pcie
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW4356 FullMac PCIe firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-4356-pcie/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4356-pcie.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac4356-pcie.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4356-pcie.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac4356-pcie.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-4356-pcie))
|
|
|
|
# Cypress 4356 SDIO Firmware
|
|
define Package/cypress-firmware-4356-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW4356 FullMac SDIO firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-4356-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4356-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac4356-sdio.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4356-sdio.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac4356-sdio.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-4356-sdio))
|
|
|
|
# Cypress 43570 PCIe Firmware
|
|
define Package/cypress-firmware-43570-pcie
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW43570 FullMac PCIe firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-43570-pcie/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43570-pcie.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac43570-pcie.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac43570-pcie.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac43570-pcie.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-43570-pcie))
|
|
|
|
# Cypress 4359 PCIe Firmware
|
|
define Package/cypress-firmware-4359-pcie
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW4359 FullMac PCIe firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-4359-pcie/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4359-pcie.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac4359-pcie.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4359-pcie.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac4359-pcie.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-4359-pcie))
|
|
|
|
# Cypress 4359 SDIO Firmware
|
|
define Package/cypress-firmware-4359-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW4359 FullMac SDIO firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-4359-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4359-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac4359-sdio.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4359-sdio.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac4359-sdio.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-4359-sdio))
|
|
|
|
# Cypress 4373 SDIO Firmware
|
|
define Package/cypress-firmware-4373-sdio
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW4373 FullMac SDIO firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-4373-sdio/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4373-sdio.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac4373-sdio.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4373-sdio.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac4373-sdio.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-4373-sdio))
|
|
|
|
# Cypress 4373 USB Firmware
|
|
define Package/cypress-firmware-4373-usb
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW4373 FullMac USB firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-4373-usb/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4373-usb.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac4373-usb.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac4373.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac4373.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-4373-usb))
|
|
|
|
# Cypress 54591 PCIe Firmware
|
|
define Package/cypress-firmware-54591-pcie
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW54591 FullMac PCIe firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-54591-pcie/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac54591-pcie.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac54591-pcie.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac54591-pcie.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac54591-pcie.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-54591-pcie))
|
|
|
|
# Cypress 89459 PCIe Firmware
|
|
define Package/cypress-firmware-89459-pcie
|
|
$(Package/cypress-firmware-default)
|
|
TITLE:=CYW89459 FullMac PCIe firmware
|
|
endef
|
|
|
|
define Package/cypress-firmware-89459-pcie/install
|
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac89459-pcie.bin \
|
|
$(1)/lib/firmware/brcm/brcmfmac89459-pcie.bin
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/firmware/cyfmac89459-pcie.clm_blob \
|
|
$(1)/lib/firmware/brcm/brcmfmac89459-pcie.clm_blob
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,cypress-firmware-89459-pcie))
|