mac80211: brcmsmac: use firmware extracted from proprietary driver
The firmware from linux-firmware does not support the rev 17 core found in a bcm4716. The firmware extracted from the proprietary driver supports this core. Use this firmware instead by default. SVN-Revision: 33669
This commit is contained in:
parent
d14c6b29eb
commit
8086b7a750
3 changed files with 34 additions and 2 deletions
|
@ -1079,6 +1079,13 @@ define KernelPackage/brcmutil/config
|
||||||
endmenu
|
endmenu
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
PKG_BRCMSMAC_FW_NAME:=broadcom-wl
|
||||||
|
PKG_BRCMSMAC_FW_VERSION:=5.100.138
|
||||||
|
PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
|
||||||
|
PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
|
||||||
|
PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
|
||||||
|
PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
|
||||||
|
|
||||||
define KernelPackage/brcmsmac
|
define KernelPackage/brcmsmac
|
||||||
$(call KernelPackage/mac80211/Default)
|
$(call KernelPackage/mac80211/Default)
|
||||||
TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
|
TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
|
||||||
|
@ -1086,12 +1093,32 @@ define KernelPackage/brcmsmac
|
||||||
DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
|
DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
|
||||||
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
|
||||||
AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
|
AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
|
||||||
|
MENU:=1
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define KernelPackage/brcmsmac/description
|
define KernelPackage/brcmsmac/description
|
||||||
Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
|
Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/brcmsmac/config
|
||||||
|
menu "Configuration"
|
||||||
|
depends on PACKAGE_kmod-brcmsmac
|
||||||
|
|
||||||
|
config BRCMSMAC_USE_FW_FROM_WL
|
||||||
|
bool "Use firmware extracted from broadcom proprietary driver"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Instead of using the official brcmsmac firmware a firmware
|
||||||
|
version 666.2 extracted from the proprietary Broadcom driver
|
||||||
|
is used. This is needed to get core rev 17 used in bcm4716
|
||||||
|
to work.
|
||||||
|
|
||||||
|
If unsure, say Y.
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
define KernelPackage/brcmfmac
|
define KernelPackage/brcmfmac
|
||||||
$(call KernelPackage/mac80211/Default)
|
$(call KernelPackage/mac80211/Default)
|
||||||
TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
|
TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
|
||||||
|
@ -1521,10 +1548,15 @@ endef
|
||||||
|
|
||||||
define KernelPackage/brcmsmac/install
|
define KernelPackage/brcmsmac/install
|
||||||
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
||||||
|
ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
|
||||||
|
tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
|
||||||
|
b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
|
||||||
|
else
|
||||||
$(INSTALL_DATA) \
|
$(INSTALL_DATA) \
|
||||||
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
|
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
|
||||||
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
|
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
|
||||||
$(1)/lib/firmware/brcm/
|
$(1)/lib/firmware/brcm/
|
||||||
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define KernelPackage/brcmfmac/install
|
define KernelPackage/brcmfmac/install
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
/* recognized BCMA Core IDs */
|
/* recognized BCMA Core IDs */
|
||||||
static struct bcma_device_id brcms_coreid_table[] = {
|
static struct bcma_device_id brcms_coreid_table[] = {
|
||||||
+// BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 17, BCMA_ANY_CLASS),
|
+ BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 17, BCMA_ANY_CLASS),
|
||||||
BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 23, BCMA_ANY_CLASS),
|
BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 23, BCMA_ANY_CLASS),
|
||||||
BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 24, BCMA_ANY_CLASS),
|
BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_80211, 24, BCMA_ANY_CLASS),
|
||||||
BCMA_CORETABLE_END
|
BCMA_CORETABLE_END
|
||||||
|
|
|
@ -25,7 +25,7 @@ ifneq ($(CONFIG_TARGET_ar71xx),)
|
||||||
tools-y += lzma-old squashfs
|
tools-y += lzma-old squashfs
|
||||||
endif
|
endif
|
||||||
tools-y += lzma squashfs4
|
tools-y += lzma squashfs4
|
||||||
ifneq ($(CONFIG_PACKAGE_kmod-b43)$(CONFIG_PACKAGE_kmod-b43legacy),)
|
ifneq ($(CONFIG_PACKAGE_kmod-b43)$(CONFIG_PACKAGE_kmod-b43legacy)$(CONFIG_BRCMSMAC_USE_FW_FROM_WL),)
|
||||||
tools-y += b43-tools
|
tools-y += b43-tools
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue